pipewire: 0.3.38 -> 0.3.39
Split pipewire-media-session into its own package
This commit is contained in:
parent
15aca14b46
commit
24e5cb9ba5
|
@ -22,12 +22,11 @@ let
|
|||
# Use upstream config files passed through spa-json-dump as the base
|
||||
# Patched here as necessary for them to work with this module
|
||||
defaults = {
|
||||
client = builtins.fromJSON (builtins.readFile ./client.conf.json);
|
||||
client-rt = builtins.fromJSON (builtins.readFile ./client-rt.conf.json);
|
||||
jack = builtins.fromJSON (builtins.readFile ./jack.conf.json);
|
||||
# Remove session manager invocation from the upstream generated file, it points to the wrong path
|
||||
pipewire = builtins.fromJSON (builtins.readFile ./pipewire.conf.json);
|
||||
pipewire-pulse = builtins.fromJSON (builtins.readFile ./pipewire-pulse.conf.json);
|
||||
client = builtins.fromJSON (builtins.readFile ./daemon/client.conf.json);
|
||||
client-rt = builtins.fromJSON (builtins.readFile ./daemon/client-rt.conf.json);
|
||||
jack = builtins.fromJSON (builtins.readFile ./daemon/jack.conf.json);
|
||||
pipewire = builtins.fromJSON (builtins.readFile ./daemon/pipewire.conf.json);
|
||||
pipewire-pulse = builtins.fromJSON (builtins.readFile ./daemon/pipewire-pulse.conf.json);
|
||||
};
|
||||
|
||||
configs = {
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
diff --git a/meson_options.txt b/meson_options.txt
|
||||
index 66791f3a..93b5e2a9 100644
|
||||
index 71c2e35e9..a0f380c04 100644
|
||||
--- a/meson_options.txt
|
||||
+++ b/meson_options.txt
|
||||
@@ -172,6 +172,9 @@ option('udev',
|
||||
@@ -176,6 +176,9 @@ option('udev',
|
||||
option('udevrulesdir',
|
||||
type : 'string',
|
||||
description : 'Directory for udev rules (defaults to /lib/udev/rules.d)')
|
||||
|
@ -13,7 +13,7 @@ index 66791f3a..93b5e2a9 100644
|
|||
type : 'string',
|
||||
description : 'Directory for user systemd units (defaults to /usr/lib/systemd/user)')
|
||||
diff --git a/src/daemon/systemd/user/meson.build b/src/daemon/systemd/user/meson.build
|
||||
index aa30a86f..1edebb2d 100644
|
||||
index 5bd134537..5a3ca9ed5 100644
|
||||
--- a/src/daemon/systemd/user/meson.build
|
||||
+++ b/src/daemon/systemd/user/meson.build
|
||||
@@ -9,7 +9,7 @@ install_data(
|
||||
|
@ -22,6 +22,6 @@ index aa30a86f..1edebb2d 100644
|
|||
systemd_config.set('PW_BINARY', pipewire_bindir / 'pipewire')
|
||||
-systemd_config.set('PW_PULSE_BINARY', pipewire_bindir / 'pipewire-pulse')
|
||||
+systemd_config.set('PW_PULSE_BINARY', get_option('pipewire_pulse_prefix') / 'bin/pipewire-pulse')
|
||||
systemd_config.set('PW_MEDIA_SESSION_BINARY', pipewire_bindir / 'pipewire-media-session')
|
||||
|
||||
configure_file(input : 'pipewire.service.in',
|
||||
output : 'pipewire.service',
|
||||
|
|
|
@ -1,24 +0,0 @@
|
|||
diff --git a/meson_options.txt b/meson_options.txt
|
||||
index 93b5e2a9..1b915ac3 100644
|
||||
--- a/meson_options.txt
|
||||
+++ b/meson_options.txt
|
||||
@@ -200,3 +200,6 @@ option('media-session',
|
||||
type: 'feature',
|
||||
value: 'auto')
|
||||
+option('media-session-prefix',
|
||||
+ description: 'Install directory for pipewire-media-session and its support files',
|
||||
+ type: 'string')
|
||||
option('session-managers',
|
||||
diff --git a/src/daemon/systemd/user/meson.build b/src/daemon/systemd/user/meson.build
|
||||
index 1edebb2d..251270eb 100644
|
||||
--- a/src/daemon/systemd/user/meson.build
|
||||
+++ b/src/daemon/systemd/user/meson.build
|
||||
@@ -10,7 +10,7 @@ install_data(
|
||||
systemd_config = configuration_data()
|
||||
systemd_config.set('PW_BINARY', pipewire_bindir / 'pipewire')
|
||||
systemd_config.set('PW_PULSE_BINARY', get_option('pipewire_pulse_prefix') / 'bin/pipewire-pulse')
|
||||
-systemd_config.set('PW_MEDIA_SESSION_BINARY', pipewire_bindir / 'pipewire-media-session')
|
||||
+systemd_config.set('PW_MEDIA_SESSION_BINARY', get_option('media-session-prefix') / 'bin/pipewire-media-session')
|
||||
|
||||
configure_file(input : 'pipewire.service.in',
|
||||
output : 'pipewire.service',
|
|
@ -1,6 +1,7 @@
|
|||
{ stdenv
|
||||
, lib
|
||||
, fetchFromGitLab
|
||||
, fetchpatch
|
||||
, removeReferencesTo
|
||||
, python3
|
||||
, meson
|
||||
|
@ -59,7 +60,7 @@ let
|
|||
|
||||
self = stdenv.mkDerivation rec {
|
||||
pname = "pipewire";
|
||||
version = "0.3.38";
|
||||
version = "0.3.39";
|
||||
|
||||
outputs = [
|
||||
"out"
|
||||
|
@ -69,7 +70,6 @@ let
|
|||
"dev"
|
||||
"doc"
|
||||
"man"
|
||||
"mediaSession"
|
||||
"installedTests"
|
||||
];
|
||||
|
||||
|
@ -78,7 +78,7 @@ let
|
|||
owner = "pipewire";
|
||||
repo = "pipewire";
|
||||
rev = version;
|
||||
sha256 = "sha256-QENz4MVyKuPJynA+NBdmKa6g1GrcRg9vzXLJ1/i3VJU=";
|
||||
sha256 = "sha256-peTS1+NuQxZg1rrv8DrnJW5BR9yReleqooIwhZWHLjM=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
@ -86,8 +86,6 @@ let
|
|||
./0040-alsa-profiles-use-libdir.patch
|
||||
# Change the path of the pipewire-pulse binary in the service definition.
|
||||
./0050-pipewire-pulse-path.patch
|
||||
# Change the path of the pipewire-media-session binary in the service definition.
|
||||
./0055-pipewire-media-session-path.patch
|
||||
# Move installed tests into their own output.
|
||||
./0070-installed-tests-path.patch
|
||||
# Add option for changing the config install directory
|
||||
|
@ -96,6 +94,12 @@ let
|
|||
./0090-pipewire-config-template-paths.patch
|
||||
# Place SPA data files in lib output to avoid dependency cycles
|
||||
./0095-spa-data-dir.patch
|
||||
# Fix compilation on some architectures
|
||||
# XXX: REMOVE ON NEXT RELEASE
|
||||
(fetchpatch {
|
||||
url = "https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/651f0decea5f83730c271e9bed03cdd0048fcd49.diff";
|
||||
sha256 = "1bmpi5qn750mcspaw7m57ww0503sl9781jswqby4gr0f7c5wmqvj";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -136,7 +140,6 @@ let
|
|||
"-Dinstalled_tests=enabled"
|
||||
"-Dinstalled_test_prefix=${placeholder "installedTests"}"
|
||||
"-Dpipewire_pulse_prefix=${placeholder "pulse"}"
|
||||
"-Dmedia-session-prefix=${placeholder "mediaSession"}"
|
||||
"-Dlibjack-path=${placeholder "jack"}/lib"
|
||||
"-Dlibcamera=disabled"
|
||||
"-Droc=disabled"
|
||||
|
@ -151,7 +154,8 @@ let
|
|||
"-Dbluez5-backend-hsphfpd=${mesonEnable hsphfpdSupport}"
|
||||
"-Dsysconfdir=/etc"
|
||||
"-Dpipewire_confdata_dir=${placeholder "lib"}/share/pipewire"
|
||||
"-Dsession-managers=${mesonList (lib.optional withMediaSession "media-session")}"
|
||||
"-Dsession-managers="
|
||||
"-Dvulkan=enabled"
|
||||
];
|
||||
|
||||
FONTCONFIG_FILE = fontsConf; # Fontconfig error: Cannot load default config file
|
||||
|
@ -160,29 +164,20 @@ let
|
|||
|
||||
postUnpack = ''
|
||||
patchShebangs source/doc/strip-static.sh
|
||||
patchShebangs source/doc/input-filter.sh
|
||||
patchShebangs source/doc/input-filter-h.sh
|
||||
patchShebangs source/spa/tests/gen-cpp-test.py
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
pushd $lib/share
|
||||
mkdir -p $out/nix-support/etc/pipewire
|
||||
for f in pipewire/*.conf; do
|
||||
mkdir $out/nix-support
|
||||
pushd $lib/share/pipewire
|
||||
for f in *.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 pipewire/media-session.d/*.conf; do
|
||||
echo "Generating JSON from $f"
|
||||
$out/bin/spa-json-dump "$f" > "$mediaSession/nix-support/etc/$f.json"
|
||||
$out/bin/spa-json-dump "$f" > "$out/nix-support/$f.json"
|
||||
done
|
||||
popd
|
||||
|
||||
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"
|
||||
|
||||
moveToOutput "share/systemd/user/pipewire-pulse.*" "$pulse"
|
||||
moveToOutput "lib/systemd/user/pipewire-pulse.*" "$pulse"
|
||||
moveToOutput "bin/pipewire-pulse" "$pulse"
|
||||
|
@ -194,21 +189,14 @@ let
|
|||
installedTests = nixosTests.installed-tests.pipewire;
|
||||
|
||||
# This ensures that all the paths used by the NixOS module are found.
|
||||
test-paths = callPackage ./test-paths.nix {
|
||||
test-paths = callPackage ./test-paths.nix { package = self; } {
|
||||
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"
|
||||
"nix-support/etc/pipewire/pipewire-pulse.conf.json"
|
||||
];
|
||||
paths-out-media-session = [
|
||||
"nix-support/etc/pipewire/media-session.d/alsa-monitor.conf.json"
|
||||
"nix-support/etc/pipewire/media-session.d/bluez-monitor.conf.json"
|
||||
"nix-support/etc/pipewire/media-session.d/bluez-hardware.conf.json"
|
||||
"nix-support/etc/pipewire/media-session.d/media-session.conf.json"
|
||||
"nix-support/etc/pipewire/media-session.d/v4l2-monitor.conf.json"
|
||||
"nix-support/client-rt.conf.json"
|
||||
"nix-support/client.conf.json"
|
||||
"nix-support/jack.conf.json"
|
||||
"nix-support/pipewire.conf.json"
|
||||
"nix-support/pipewire-pulse.conf.json"
|
||||
];
|
||||
paths-lib = [
|
||||
"lib/alsa-lib/libasound_module_pcm_pipewire.so"
|
||||
|
|
Loading…
Reference in New Issue