pipewire: 0.3.27 -> 0.3.30

(cherry picked from commit c702cc43213dce2573adb924ab9c67522616aea6)
This commit is contained in:
Jan Solanti
2021-06-11 14:52:30 +00:00
committed by github-actions[bot]
parent 39c1857cd5
commit c2628780fc
4 changed files with 86 additions and 23 deletions
+34 -10
View File
@@ -2,6 +2,7 @@
, lib
, fetchFromGitLab
, removeReferencesTo
, python3
, meson
, ninja
, systemd
@@ -19,6 +20,7 @@
, SDL2
, vulkan-headers
, vulkan-loader
, webrtc-audio-processing
, ncurses
, makeFontsConf
, callPackage
@@ -31,6 +33,8 @@
, nativeHfpSupport ? true
, ofonoSupport ? true
, hsphfpdSupport ? true
, pulseTunnelSupport ? true, libpulseaudio ? null
, zeroconfSupport ? true, avahi ? null
}:
let
@@ -42,7 +46,7 @@ let
self = stdenv.mkDerivation rec {
pname = "pipewire";
version = "0.3.27";
version = "0.3.30";
outputs = [
"out"
@@ -60,7 +64,7 @@ let
owner = "pipewire";
repo = "pipewire";
rev = version;
sha256 = "sha256-GfcMODQWtcahBvXnZ98/PKIm4pkqLaz09oOy7zQR4IA=";
sha256 = "sha256-DnaPvZoDaegjtJNKBmCJEAZe5FQBnSER79FPnxiWQUE=";
};
patches = [
@@ -72,8 +76,10 @@ let
./0055-pipewire-media-session-path.patch
# Move installed tests into their own output.
./0070-installed-tests-path.patch
# Add flag to specify configuration directory (different from the installation directory).
# Add option for changing the config install directory
./0080-pipewire-config-dir.patch
# Remove output paths from the comments in the config templates to break dependency cycles
./0090-pipewire-config-template-paths.patch
];
nativeBuildInputs = [
@@ -82,6 +88,7 @@ let
meson
ninja
pkg-config
python3
];
buildInputs = [
@@ -94,12 +101,15 @@ let
udev
vulkan-headers
vulkan-loader
webrtc-audio-processing
valgrind
SDL2
systemd
] ++ lib.optionals gstreamerSupport [ gst_all_1.gst-plugins-base gst_all_1.gstreamer ]
++ lib.optional ffmpegSupport ffmpeg
++ lib.optionals bluezSupport [ bluez libopenaptx ldacbt sbc fdk_aac ];
++ lib.optionals bluezSupport [ bluez libopenaptx ldacbt sbc fdk_aac ]
++ lib.optional pulseTunnelSupport libpulseaudio
++ lib.optional zeroconfSupport avahi;
mesonFlags = [
"-Ddocs=enabled"
@@ -112,6 +122,8 @@ let
"-Dmedia-session-prefix=${placeholder "mediaSession"}"
"-Dlibjack-path=${placeholder "jack"}/lib"
"-Dlibcamera=disabled"
"-Dlibpulse=${mesonEnable pulseTunnelSupport}"
"-Davahi=${mesonEnable zeroconfSupport}"
"-Dgstreamer=${mesonEnable gstreamerSupport}"
"-Dffmpeg=${mesonEnable ffmpegSupport}"
"-Dbluez5=${mesonEnable bluezSupport}"
@@ -119,24 +131,35 @@ let
"-Dbluez5-backend-hfp-native=${mesonEnable nativeHfpSupport}"
"-Dbluez5-backend-ofono=${mesonEnable ofonoSupport}"
"-Dbluez5-backend-hsphfpd=${mesonEnable hsphfpdSupport}"
"-Dpipewire_config_dir=/etc/pipewire"
"-Dsysconfdir=/etc"
"-Dpipewire_confdata_dir=${placeholder "lib"}/share/pipewire"
];
FONTCONFIG_FILE = fontsConf; # Fontconfig error: Cannot load default config file
doCheck = true;
postUnpack = ''
patchShebangs source/doc/strip-static.sh
patchShebangs source/spa/tests/gen-cpp-test.py
'';
postInstall = ''
pushd .
cd $out
pushd $lib/share
mkdir -p $out/nix-support/etc/pipewire
for f in etc/pipewire/*.conf; do bin/spa-json-dump "$f" > "$out/nix-support/$f.json"; done
for f in pipewire/*.conf; do
echo "Generating JSON from $f"
$out/bin/spa-json-dump "$f" > "$out/nix-support/etc/$f.json"
done
mkdir -p $mediaSession/nix-support/etc/pipewire/media-session.d
for f in etc/pipewire/media-session.d/*.conf; do bin/spa-json-dump "$f" > "$mediaSession/nix-support/$f.json"; done
for f in pipewire/media-session.d/*.conf; do
echo "Generating JSON from $f"
$out/bin/spa-json-dump "$f" > "$mediaSession/nix-support/etc/$f.json"
done
popd
moveToOutput "etc/pipewire/media-session.d/*.conf" "$mediaSession"
moveToOutput "share/pipewire/media-session.d/*.conf" "$mediaSession"
moveToOutput "share/systemd/user/pipewire-media-session.*" "$mediaSession"
moveToOutput "lib/systemd/user/pipewire-media-session.*" "$mediaSession"
moveToOutput "bin/pipewire-media-session" "$mediaSession"
@@ -155,6 +178,7 @@ let
test-paths = callPackage ./test-paths.nix {
paths-out = [
"share/alsa/alsa.conf.d/50-pipewire.conf"
"nix-support/etc/pipewire/client-rt.conf.json"
"nix-support/etc/pipewire/client.conf.json"
"nix-support/etc/pipewire/jack.conf.json"
"nix-support/etc/pipewire/pipewire.conf.json"