Commit Graph

130 Commits

Author SHA1 Message Date
Artturin
e0464e4788 treewide: replace stdenv.is with stdenv.hostPlatform.is
In preparation for the deprecation of `stdenv.isX`.

These shorthands are not conducive to cross-compilation because they
hide the platforms.

Darwin might get cross-compilation for which the continued usage of `stdenv.isDarwin` will get in the way

One example of why this is bad and especially affects compiler packages
https://www.github.com/NixOS/nixpkgs/pull/343059

There are too many files to go through manually but a treewide should
get users thinking when they see a `hostPlatform.isX` in a place where it
doesn't make sense.

```
fd --type f "\.nix" | xargs sd --fixed-strings "stdenv.is" "stdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "stdenv'.is" "stdenv'.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "clangStdenv.is" "clangStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "gccStdenv.is" "gccStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "stdenvNoCC.is" "stdenvNoCC.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "inherit (stdenv) is" "inherit (stdenv.hostPlatform) is"
fd --type f "\.nix" | xargs sd --fixed-strings "buildStdenv.is" "buildStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "effectiveStdenv.is" "effectiveStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "originalStdenv.is" "originalStdenv.hostPlatform.is"
```
2024-09-25 00:04:37 +03:00
Peder Bergebakken Sundt
e471916645
treewide: passthru nixos test (#334491) 2024-08-18 00:29:43 +02:00
Jan Tojnar
eb04659fc2 treewide: wrapGAppsHook → wrapGAppsHook3
This was achieved using the following command:

    sd 'wrapGAppsHook\b' wrapGAppsHook3 (rg -l 'wrapGAppsHook\b')

And then manually reverted the following changes:

- alias in top-level.nix
- function name in wrap-gapps-hook.sh
- comment in postFixup of at-spi2-core
- comment in gtk4
- comment in preFixup of 1password-gui/linux.nix
- comment in postFixup of qgis/unwrapped-ltr.nix and qgis/unwrapped.nix
- comment in postFixup of telegram-desktop
- comment in postFixup of fwupd
- buildCommand of mongodb-compass
- postFixup of xflux-gui
- comment in a patch in kdePackages.kde-gtk-config and plasma5Packages.kde-gtk-config
- description of programs.sway.wrapperFeatures.gtk NixOS option (manual rebuild)
2024-04-27 02:23:22 +02:00
Luflosi
28248506ae
pulseaudio: fix crash with alsa_ucm devices
Pulseaudio 17 crashes in certain situations with alsa_ucm devices, see https://gitlab.archlinux.org/archlinux/packaging/packages/pulseaudio/-/issues/4.
This happens for example on the PinePhone, leaving it with no audio.
Applying the two patches as done on Arch Linux solves this for me.
2024-03-16 13:25:42 +01:00
Weijia Wang
d470972117 pulseaudio: 16.1 -> 17.0 2024-02-11 18:30:39 +01:00
Weijia Wang
ddacaab612 pulseaudio: refactor meson flags 2023-10-25 09:49:55 +02:00
github-actions[bot]
708561b6ea
Merge master into staging-next 2023-10-01 18:01:08 +00:00
Alyssa Ross
09fed847aa pkgsStatic.pulseaudio: mark unsupported
Looks like getting it supported would just be a case of somebody
changing the Meson files and testing that it works!
2023-10-01 15:49:31 +00:00
lucasew
eb1266e756 pulseaudio: expose config.h used in the build
Signed-off-by: lucasew <lucas59356@gmail.com>
2023-09-17 10:03:15 -03:00
Felix Buehler
cdb39a86e0 treewide: use optionalString 2023-02-13 21:52:34 +01:00
Adam Joseph
42815b4a0c treewide: systemdSupport: use lib.meta.availableOn
Many packages have some kind of flag indicating whether or not to build with
systemd support.  Most of these default to `stdenv.isLinux`, but systemd does
not build on (and is marked `broken` for) `isStatic`.  Only a few packages have
the needed `&& !isStatic` in the default value for their parameter.

This commit moves the logic for the default value of these flags into
`systemd.meta.{platforms,badPlatforms}` and evaluates those conditions using
`lib.meta.availableOn`.

This provides three benefits:

1. The default values are set correctly (i.e. including `&& isStatic`)

2. The default values are set consistently

3. The way is paved for any future non-Linux systemd platforms (FreeBSD is
   reported to have experimental systemd support)
2023-01-22 00:27:19 -08:00
Weijia Wang
05eb854be3 pulseaudio: mark patches as merged 2022-12-07 21:43:50 +01:00
Bjørn Forsman
c26ff1ed9b pulseaudio: reference wrapped binaries in service files
Since commit 3871f8be8d
("pulseaudioFull: fix wrapGApp wrapping"), the pulseaudio service files
have been referencing *unwrapped* binaries. This mostly hurts
pulseaudioFull, where using unwrapped binaries means there's no High
Fidelity A2DP profile at all. Plain pulseaudio (not -full) seems able to
use A2DP profile with SBC codec, but not aptX, as the latter requires
gstreamer / wrapper.

Since the wrapping of pulseaudio is a bit complicated (see referenced
commit), let's just fix the service files manually in preFixup.

Ref https://github.com/NixOS/nixpkgs/issues/203919.
2022-12-04 11:28:24 +01:00
Sergei Trofimovich
31c87e7d77 pulseaudio: use xorg.* packages directly instead of xlibsWrapper indirection
Validated as no change in `out` and `dev` outputs with diffoscope on
`pulseaudio.override { x11Support = true; }` expression.
2022-10-02 19:13:38 +01:00
github-actions[bot]
0ae3aa5345
Merge master into staging-next 2022-10-02 17:45:43 +00:00
Sergei Trofimovich
0bed7c059f pulseaudio: use xlibsWrapper instead of xorg.xlibsWrapper 2022-10-02 15:38:31 +01:00
Jörg Thalheim
b140a67163
Merge pull request #180976 from Yarny0/pulseaudio-wrapper
pulseaudioFull: fix wrapGApp wrapping, fix vm tests
2022-09-17 14:45:26 +02:00
Weijia Wang
c882c08f9c pulseaudio: remove compat for 15.0 2022-08-27 22:02:19 +02:00
sternenseemann
eee1754df0 pulseaudio: fix evaluation with Nix 2.3
Path interpolation syntax has been introduced in Nix 2.4 and may not be
used in nixpkgs which needs to be able to be evaluated with Nix 2.3.
2022-08-27 10:11:01 +02:00
Yarny0
3871f8be8d pulseaudioFull: fix wrapGApp wrapping
Since

7a2605e0f3

the pulseaudio build recipe incorporates the `wrapGAppsHook`
wrapper setup-hook if `advancedBluetoothCodecs` are enabled.
This wrapper setup-hook -- like most wrappers --
wraps binaries in `$out/bin` by first renaming them,
then placing a wrapper script where the original binary was.

Unfortunatelly, pulseaudio doesn't like its
binary moved around after installation:
It records the binaries path during installation time

e5ad31e873/meson.build (L154)

then checks the path in `/proc/self/exe` and complains

> Jun 16 19:06:48 nixosb pulseaudio[2219]: W: [.pulseaudio-wra] main.c: /proc/self/exe does not point to /nix/store/bqfyzxwpxa2ydmyvh3j32xrm4chxbj22-pulseaudio-15.0/bin/pulseaudio, cannot self execute. Are you playing games?

if they don't match

e5ad31e873/src/daemon/main.c (L577)

Somehow, this also results in a real bug:
`pacmd` fails to connect to the pulseaudio server, see

https://github.com/NixOS/nixpkgs/issues/177915

To fix this issue, the commit at hand changes the
installation directory for binaries to `$out/.bin-unwrapped`.
After the installation, `$out/bin` is created by hand and
populated with symlinks to files in `$out/.bin-unwrapped`.
`wrapGAppsHook` doesn't know or care about the `.bin-unwrapped`
directory; it just sees all the symlinks in `bin`,
renames them and places wrapper scripts beside them.

Effectively, this leaves the original
binary in `.bin-unwrapped` unchanged!
So pulseaudio will find itself still in its oritinal place,
and "users" of the package can call pulseaudio
via the wrapper script in `bin` as usual.
2022-08-18 16:51:18 +02:00
Vladimír Čunát
f0ccee4a6d
Merge #184329: pulseaudio: add darwin support (into staging) 2022-08-15 13:47:43 +02:00
Weijia Wang
fd031c0299 pulseaudio: add darwin support 2022-08-02 18:39:28 +02:00
R. Ryantm
b408d0f602 pulseaudio: 15.0 -> 16.1 2022-08-01 06:35:57 +00:00
pennae
e18ca9a910 pulseaudio: fix !bluetoothSupport build 2022-05-29 22:50:18 +02:00
Thiago Kenji Okada
ee67a98c58 libpulseaudio: make darwin changes conditionally to avoid mass-rebuild 2022-05-10 14:26:37 +01:00
Andrew Childs
9cf2c67910 libpulseaudio: fix build on x86_64-darwin
Signed-off-by: Thiago Kenji Okada <thiagokokada@gmail.com>
2022-05-10 10:04:43 +01:00
Alex Habich
629a74477f
libpulseaudio: preserve vapi files
The current postInstall removes all of $out/share, which also includes pulse's
vapi/deps files. Certain projects (budgie-desktop, for example) require these
definitions, but do not require the full pulseaudio server. Preserving these
files allows these projects to only depend on libpulseaudio.

Fixes #73463.
2022-04-26 11:05:33 -05:00
Trolli Schmittlauch
d62bf28b76
pulseaudio: hide advanced bluetooth codecs behind default-false feature flag
pulseaudioFull enables this feature flag, but the plain pulseaudio attribute does not
2022-04-20 15:07:16 +02:00
Trolli Schmittlauch
7a2605e0f3
pulseaudio: support advanced codecs when enabling bluetooth support
- this relies on gstreamer for encoding
- advanced bluetooth
  codecs include LDAC and aptX
2022-04-20 15:07:16 +02:00
Ryan Burns
e839c8e0cb pulseaudio: 14.2 -> 15.0, switch to meson, enable tests 2022-04-02 22:15:45 +02:00
Mark Vainomaa
17dbf56cea
libpulseaudio: fix aarch64-darwin build
Removes darwin Libc buildInput, which does not appear to be needed on
x86_64, and which does not support aarch64 at all (too old)
2022-01-02 17:05:17 +02:00
Felix Buehler
da10de797c pulseaudio: replace name with pname&version 2021-12-03 19:38:53 +01:00
toonn
40b7dd7cce pulseaudio: Stop passing sdk argument 2021-11-24 15:17:13 -08:00
toonn
7eaf240e72 pulseaudio: Drop Apple SDK dependency
The x86_64 and aarch64 SDK attributes are named differently and don't
have the same contents. This was the motivation to try dropping the SDK
dependency altogether, relying only on the Libc and some frameworks.
2021-11-24 15:17:13 -08:00
toonn
18ba22baba pulseaudio: Remove /usr/include impurity on Darwin 2021-11-24 15:17:13 -08:00
Artturin
f7effe330a pulseaudio: fix build with strictDeps 2021-11-05 19:57:04 +02:00
Angus Trau
85a09cf3a3 pulseaudio: fix build on aarch64-darwin 2021-08-01 19:15:40 +10:00
AndersonTorres
e9e5f5f84d Change all alsaLib references to alsa-lib 2021-06-10 01:12:49 -03:00
R. RyanTM
d34e3142b2 libpulseaudio: 14.0 -> 14.2 2021-01-22 21:33:54 +01:00
Jonathan Ringer
9bb3fccb5b treewide: pkgs.pkgconfig -> pkgs.pkg-config, move pkgconfig to alias.nix
continuation of #109595

pkgconfig was aliased in 2018, however, it remained in
all-packages.nix due to its wide usage. This cleans
up the remaining references to pkgs.pkgsconfig and
moves the entry to aliases.nix.

python3Packages.pkgconfig remained unchanged because
it's the canonical name of the upstream package
on pypi.
2021-01-19 01:16:25 -08:00
Florian Klink
767252d232 pulseaudio: fix cross compilation by disabling gsettings when cross-compiling
When cross-compiling, pulseaudio seems to not find some m4 macro
providing GSETTINGS_RULES.

However, apart from the obviously missing gsettings support, this works
just fine.
2021-01-01 23:17:56 +01:00
Luke Granger-Brown
b4ca0dd5f5 pulseaudio: 13.0 -> 14.0 2020-11-29 13:27:45 +00:00
Edmund Wu
0e4d0d95d0 treewide: generate pulseaudio pulseDir 2020-11-09 19:24:42 +01:00
Matthew Bauer
8f0c1adda2 pulseaudio: use prefixed pkg-config 2020-06-25 00:09:22 -04:00
Piotr Bogdan
e7d4b315da pulseaudio: enable soxr (resampler) support 2020-05-15 13:58:04 +01:00
Michael Reilly
84cf00f980
treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
adisbladis
e41f3d9ef3
pulseaudio: Enable bluetooth support by default
It only increases the closure size by 0.5M and users who do not set
the NixOS option `hardware.pulseaudio.package = pkgs.pulseaudioFull;`
will be stumped by their bluetooth audio not working.
2020-03-30 14:36:06 +01:00
Maciej Krüger
674efe45dd
pulseaudio: remove qpaeq 2020-01-21 09:57:05 +01:00
Jan Tojnar
8cbc862b83
dconf: move to top-level 2019-12-01 01:01:40 +01:00
Will Dietz
5d49ee3e5d pulseaudio: 12.2 -> 13.0
https://www.freedesktop.org/wiki/Software/PulseAudio/Notes/13.0/
2019-09-24 22:32:30 -04:00