pipewire: 1.4.10 -> 1.6.0, pipewire and wireplumber: move to by-name, modernize (#492490)
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
cmake,
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "libldac-dec";
|
||||
version = "0.0.2-unstable-2024-11-12";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "O2C14";
|
||||
repo = "libldac-dec";
|
||||
rev = "8c15f53b97c8322c18cff3fddf6d7129dbd3d349";
|
||||
hash = "sha256-pdeEtQXxL2pd9qTfLOEmPDn3POgo5qxRqbK807WN98s=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
# Upstream CMakeLists.txt doesn't have install rules
|
||||
postPatch = ''
|
||||
cat >> CMakeLists.txt <<'EOF'
|
||||
install(TARGETS ldacBT_dec LIBRARY DESTINATION ''${CMAKE_INSTALL_LIBDIR})
|
||||
EOF
|
||||
'';
|
||||
|
||||
cmakeFlags = [
|
||||
"-DCMAKE_INSTALL_LIBDIR=lib"
|
||||
];
|
||||
|
||||
passthru.updateScript = nix-update-script { extraArgs = [ "--version=branch" ]; };
|
||||
|
||||
meta = {
|
||||
description = "LDAC decoding library implemented in another way";
|
||||
homepage = "https://github.com/O2C14/libldac-dec";
|
||||
license = lib.licenses.mit;
|
||||
platforms = lib.platforms.unix;
|
||||
maintainers = with lib.maintainers; [ qweered ];
|
||||
};
|
||||
}
|
||||
+26
-8
@@ -37,7 +37,11 @@
|
||||
libcamera,
|
||||
libdrm,
|
||||
gst_all_1,
|
||||
ffmpeg,
|
||||
# ffmpeg depends on SDL2 which depends on pipewire by default.
|
||||
# Break the cycle by depending on ffmpeg-headless.
|
||||
# Pipewire only uses libavcodec (via an SPA plugin), which isn't
|
||||
# affected by the *-headless changes.
|
||||
ffmpeg-headless,
|
||||
fftwFloat,
|
||||
bluezSupport ? stdenv.hostPlatform.isLinux,
|
||||
bluez,
|
||||
@@ -47,8 +51,12 @@
|
||||
fdk_aac,
|
||||
libopus,
|
||||
ldacbt,
|
||||
libldac-dec,
|
||||
spandsp,
|
||||
modemmanager,
|
||||
libpulseaudio,
|
||||
onnxruntimeSupport ? false,
|
||||
onnxruntime,
|
||||
zeroconfSupport ? true,
|
||||
avahi,
|
||||
raopSupport ? true,
|
||||
@@ -80,7 +88,7 @@ in
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "pipewire";
|
||||
version = "1.4.10";
|
||||
version = "1.6.0";
|
||||
|
||||
outputs = [
|
||||
"out"
|
||||
@@ -95,8 +103,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
domain = "gitlab.freedesktop.org";
|
||||
owner = "pipewire";
|
||||
repo = "pipewire";
|
||||
rev = finalAttrs.version;
|
||||
sha256 = "sha256-/Av2iXWInsY6S+PdbfCm1AFtHEFt4LXhgRJ6r9lqOpM=";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-Xc5ouBvT8v0hA3lPfCjhCicoem0jk4knevj7LJJipJ4=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
@@ -107,6 +115,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
];
|
||||
|
||||
strictDeps = true;
|
||||
__structuredAttrs = true;
|
||||
|
||||
depsBuildBuild = [ buildPackages.stdenv.cc ];
|
||||
nativeBuildInputs = [
|
||||
docutils
|
||||
@@ -121,7 +131,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
buildInputs = [
|
||||
dbus
|
||||
ffmpeg
|
||||
ffmpeg-headless
|
||||
fftwFloat
|
||||
glib
|
||||
gst_all_1.gst-plugins-base
|
||||
@@ -156,7 +166,10 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
]
|
||||
++ lib.optional webrtcAudioProcessingSupport webrtc-audio-processing
|
||||
++ lib.optional stdenv.hostPlatform.isLinux alsa-lib
|
||||
++ lib.optional ldacbtSupport ldacbt
|
||||
++ lib.optionals ldacbtSupport [
|
||||
ldacbt
|
||||
libldac-dec
|
||||
]
|
||||
++ lib.optional libcameraSupport libcamera
|
||||
++ lib.optional zeroconfSupport avahi
|
||||
++ lib.optional raopSupport openssl
|
||||
@@ -178,9 +191,11 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
liblc3
|
||||
sbc
|
||||
fdk_aac
|
||||
spandsp
|
||||
]
|
||||
++ lib.optional ffadoSupport ffado
|
||||
++ lib.optional stdenv.hostPlatform.isLinux libselinux
|
||||
++ lib.optional onnxruntimeSupport onnxruntime
|
||||
++ lib.optional modemmanagerSupport modemmanager;
|
||||
|
||||
# Valgrind binary is required for running one optional test.
|
||||
@@ -208,7 +223,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
(lib.mesonEnable "avb" stdenv.hostPlatform.isLinux)
|
||||
(lib.mesonEnable "v4l2" stdenv.hostPlatform.isLinux)
|
||||
(lib.mesonEnable "pipewire-v4l2" stdenv.hostPlatform.isLinux)
|
||||
(lib.mesonEnable "systemd" enableSystemd)
|
||||
(lib.mesonEnable "libsystemd" enableSystemd)
|
||||
(lib.mesonEnable "systemd-system-service" enableSystemd)
|
||||
(lib.mesonEnable "udev" (!enableSystemd && stdenv.hostPlatform.isLinux))
|
||||
(lib.mesonEnable "ffmpeg" true)
|
||||
@@ -237,6 +252,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
(lib.mesonEnable "compress-offload" true)
|
||||
(lib.mesonEnable "man" true)
|
||||
(lib.mesonEnable "snap" false) # we don't currently have a working snapd
|
||||
(lib.mesonEnable "onnxruntime" onnxruntimeSupport)
|
||||
];
|
||||
|
||||
# Fontconfig error: Cannot load default config file
|
||||
@@ -249,8 +265,9 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
patchShebangs doc/*.py
|
||||
patchShebangs doc/input-filter-h.sh
|
||||
|
||||
# Remove installed-test that runs forever
|
||||
# Remove problematic installed-tests
|
||||
sed -i -e "/test-pipewire-alsa-stress/d" pipewire-alsa/tests/meson.build
|
||||
sed -i -e "/benchmark-aec/d" spa/tests/meson.build
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
@@ -272,6 +289,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
platforms = lib.platforms.linux ++ lib.platforms.freebsd;
|
||||
maintainers = with lib.maintainers; [
|
||||
k900
|
||||
qweered
|
||||
];
|
||||
pkgConfigModules = [
|
||||
"libpipewire-0.3"
|
||||
+10
-4
@@ -23,7 +23,7 @@
|
||||
enableGI ? true,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "wireplumber";
|
||||
version = "0.5.13";
|
||||
|
||||
@@ -37,10 +37,13 @@ stdenv.mkDerivation rec {
|
||||
domain = "gitlab.freedesktop.org";
|
||||
owner = "pipewire";
|
||||
repo = "wireplumber";
|
||||
rev = version;
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-iQpMT01mRroaA48spA11zdb47L5AcVmigE4nJuJRaUo=";
|
||||
};
|
||||
|
||||
strictDeps = true;
|
||||
__structuredAttrs = true;
|
||||
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
pkg-config
|
||||
@@ -90,6 +93,9 @@ stdenv.mkDerivation rec {
|
||||
homepage = "https://pipewire.org";
|
||||
license = lib.licenses.mit;
|
||||
platforms = lib.platforms.linux;
|
||||
maintainers = with lib.maintainers; [ k900 ];
|
||||
maintainers = with lib.maintainers; [
|
||||
k900
|
||||
qweered
|
||||
];
|
||||
};
|
||||
}
|
||||
})
|
||||
@@ -5283,16 +5283,6 @@ with pkgs;
|
||||
|
||||
pipx = with python3.pkgs; toPythonApplication pipx;
|
||||
|
||||
pipewire = callPackage ../development/libraries/pipewire {
|
||||
# ffmpeg depends on SDL2 which depends on pipewire by default.
|
||||
# Break the cycle by depending on ffmpeg-headless.
|
||||
# Pipewire only uses libavcodec (via an SPA plugin), which isn't
|
||||
# affected by the *-headless changes.
|
||||
ffmpeg = ffmpeg-headless;
|
||||
};
|
||||
|
||||
wireplumber = callPackage ../development/libraries/pipewire/wireplumber.nix { };
|
||||
|
||||
racket-minimal = callPackage ../by-name/ra/racket/minimal.nix {
|
||||
stdenv = stdenvAdapters.makeStaticLibraries stdenv;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user