Commit Graph

132 Commits

Author SHA1 Message Date
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
470a4b15e1 pulseaudio-hsphfpd: drop 2022-04-02 22:15:45 +02:00
Ryan Burns
e839c8e0cb pulseaudio: 14.2 -> 15.0, switch to meson, enable tests 2022-04-02 22:15:45 +02:00
K900
cb2cfba6f7 treewide: switch all desktop file generators to new API
Notably:
- remove explicit arguments that match the defaults
- convert everything to the right Nix types
2022-02-25 13:40:38 -08: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
Profpatsch
4a7f99d55d treewide: with stdenv.lib; in meta -> with lib;
Part of: https://github.com/NixOS/nixpkgs/issues/108938

meta = with stdenv.lib;

is a widely used pattern. We want to slowly remove
the `stdenv.lib` indirection and encourage people
to use `lib` directly. Thus let’s start with the meta
field.

This used a rewriting script to mostly automatically
replace all occurances of this pattern, and add the
`lib` argument to the package header if it doesn’t
exist yet.

The script in its current form is available at
https://cs.tvl.fyi/depot@2f807d7f141068d2d60676a89213eaa5353ca6e0/-/blob/users/Profpatsch/nixpkgs-rewriter/default.nix
2021-01-11 10:38:22 +01: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
github-actions[bot]
e729ab0408
Merge master into staging-next 2020-12-08 18:15:38 +00:00
Domen Kožar
02698c9618
hsphfpd: 2020-11-27 -> 2020-12-05 2020-12-08 17:15:05 +01:00
Gabriel Ebner
a474f0d1e6
Merge pull request #105275 from lukegb/nixpkgs-pa14
pulseaudio: 13.0 -> 14.0
2020-12-07 22:45:47 +01:00
Gabriel Ebner
ad6e8d14ad hsphfpd: 2020-10-25 -> 2020-11-27 2020-12-03 17:19:15 +01:00
Luke Granger-Brown
b4ca0dd5f5 pulseaudio: 13.0 -> 14.0 2020-11-29 13:27:45 +00:00
Edmund Wu
0f83b301aa hsphfpd: init at 2020-10-25 2020-11-10 20:53:13 +01:00
Edmund Wu
0e4d0d95d0 treewide: generate pulseaudio pulseDir 2020-11-09 19:24:42 +01:00
Edmund Wu
33784354b9 pulseaudio-hsphfpd: init at 2020-11-02 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
Orivej Desh
d5f9b0199d qpaeq: add AudioVideo category
Audio without AudioVideo is deprecated.
2020-03-31 04:10:58 +00:00
Orivej Desh
ee5f8636fe qpaeq: fix build with desktop file validation after #75729
Audio;Mixer; puts it near KMix which has Categories=Qt;KDE;AudioVideo;Audio;Mixer;
2020-03-30 23:24:18 +00: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
11a2d3925b
qpaeq: init at 13.0 2020-01-21 09:57:06 +01:00
Maciej Krüger
674efe45dd
pulseaudio: remove qpaeq 2020-01-21 09:57:05 +01:00