git.iko.soy/typeable/nixpkgs
on master help sign in
Merge pull request #139451 from jansol/master

pipewire: 0.3.36 -> 0.3.38

commit21b1cfe68404faf6082e8266d7ee1e10171a4fea authorDomen Kožar <domen@dev.si> dateSat 2 Oct 2021, 19:30 (5 years ago) parent796670a56ebbc4
6 files changed+30−267
nixos/modules/services/desktops/pipewire/bluez-hardware.conf.json−250 nixos/modules/services/desktops/pipewire/pipewire-media-session.nix−6 pkgs/development/libraries/libcamera/default.nix+4−4 pkgs/development/libraries/pipewire/0090-pipewire-config-template-paths.patch+3−3 pkgs/development/libraries/pipewire/0095-spa-data-dir.patch+12 pkgs/development/libraries/pipewire/default.nix+11−4
nixos/modules/services/desktops/pipewire/bluez-hardware.conf.jsondeleted−250
@@ -1,250 +0,0 @@
1−{
2− "bluez5.features.device": [
3− {
4− "name": "Air 1 Plus",
5− "no-features": [
6− "hw-volume-mic"
7− ]
8− },
9− {
10− "name": "AirPods",
11− "no-features": [
12− "msbc-alt1",
13− "msbc-alt1-rtl"
14− ]
15− },
16− {
17− "name": "AirPods Pro",
18− "no-features": [
19− "msbc-alt1",
20− "msbc-alt1-rtl"
21− ]
22− },
23− {
24− "name": "AXLOIE Goin",
25− "no-features": [
26− "msbc-alt1",
27− "msbc-alt1-rtl"
28− ]
29− },
30− {
31− "name": "BAA 100",
32− "no-features": [
33− "hw-volume"
34− ]
35− },
36− {
37− "name": "D50s",
38− "address": "~^00:13:ef:",
39− "no-features": [
40− "hw-volume"
41− ]
42− },
43− {
44− "name": "JBL Endurance RUN BT",
45− "no-features": [
46− "msbc-alt1",
47− "msbc-alt1-rtl",
48− "sbc-xq"
49− ]
50− },
51− {
52− "name": "JBL LIVE650BTNC"
53− },
54− {
55− "name": "Motorola DC800",
56− "no-features": [
57− "sbc-xq"
58− ]
59− },
60− {
61− "name": "Motorola S305",
62− "no-features": [
63− "sbc-xq"
64− ]
65− },
66− {
67− "name": "Soundcore Life P2-L",
68− "no-features": [
69− "msbc-alt1",
70− "msbc-alt1-rtl"
71− ]
72− },
73− {
74− "name": "Urbanista Stockholm Plus",
75− "no-features": [
76− "msbc-alt1",
77− "msbc-alt1-rtl"
78− ]
79− },
80− {
81− "address": "~^94:16:25:",
82− "no-features": [
83− "hw-volume"
84− ]
85− },
86− {
87− "address": "~^9c:64:8b:",
88− "no-features": [
89− "hw-volume"
90− ]
91− },
92− {
93− "address": "~^a0:e9:db:",
94− "no-features": [
95− "hw-volume"
96− ]
97− },
98− {
99− "address": "~^0c:a6:94:",
100− "no-features": [
101− "hw-volume"
102− ]
103− },
104− {
105− "address": "~^00:14:02:",
106− "no-features": [
107− "hw-volume"
108− ]
109− },
110− {
111− "address": "~^44:5e:f3:",
112− "no-features": [
113− "hw-volume"
114− ]
115− },
116− {
117− "address": "~^d4:9c:28:",
118− "no-features": [
119− "hw-volume"
120− ]
121− },
122− {
123− "address": "~^00:18:6b:",
124− "no-features": [
125− "hw-volume"
126− ]
127− },
128− {
129− "address": "~^b8:ad:3e:",
130− "no-features": [
131− "hw-volume"
132− ]
133− },
134− {
135− "address": "~^a0:e9:db:",
136− "no-features": [
137− "hw-volume"
138− ]
139− },
140− {
141− "address": "~^00:24:1c:",
142− "no-features": [
143− "hw-volume"
144− ]
145− },
146− {
147− "address": "~^00:11:b1:",
148− "no-features": [
149− "hw-volume"
150− ]
151− },
152− {
153− "address": "~^a4:15:66:",
154− "no-features": [
155− "hw-volume"
156− ]
157− },
158− {
159− "address": "~^00:14:f1:",
160− "no-features": [
161− "hw-volume"
162− ]
163− },
164− {
165− "address": "~^00:26:7e:",
166− "no-features": [
167− "hw-volume"
168− ]
169− },
170− {
171− "address": "~^90:03:b7:",
172− "no-features": [
173− "hw-volume"
174− ]
175− }
176− ],
177− "bluez5.features.adapter": [
178− {
179− "bus-type": "usb",
180− "vendor-id": "usb:0bda"
181− },
182− {
183− "bus-type": "usb",
184− "no-features": [
185− "msbc-alt1-rtl"
186− ]
187− },
188− {
189− "no-features": [
190− "msbc-alt1-rtl"
191− ]
192− }
193− ],
194− "bluez5.features.kernel": [
195− {
196− "sysname": "Linux",
197− "release": "~^[0-4]\\.",
198− "no-features": [
199− "msbc-alt1",
200− "msbc-alt1-rtl"
201− ]
202− },
203− {
204− "sysname": "Linux",
205− "release": "~^5\\.[1-7]\\.",
206− "no-features": [
207− "msbc-alt1",
208− "msbc-alt1-rtl"
209− ]
210− },
211− {
212− "sysname": "Linux",
213− "release": "~^5\\.(8|9)\\.",
214− "no-features": [
215− "msbc-alt1"
216− ]
217− },
218− {
219− "sysname": "Linux",
220− "release": "~^5\\.10\\.(1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|51|52|53|54|55|56|57|58|59|60|61)($|[^0-9])",
221− "no-features": [
222− "msbc-alt1"
223− ]
224− },
225− {
226− "sysname": "Linux",
227− "release": "~^5\\.12\\.(18|19)($|[^0-9])",
228− "no-features": [
229− "msbc-alt1"
230− ]
231− },
232− {
233− "sysname": "Linux",
234− "release": "~^5\\.13\\.(3|4|5|6|7|8|9|10|11|12|13)($|[^0-9])",
235− "no-features": [
236− "msbc-alt1"
237− ]
238− },
239− {
240− "sysname": "Linux",
241− "release": "~^5\\.14($|[^0-9])",
242− "no-features": [
243− "msbc-alt1"
244− ]
245− },
246− {
247− "no-features": []
248− }
249− ]
250−}
nixos/modules/services/desktops/pipewire/pipewire-media-session.nix−6
@@ -15,7 +15,6 @@ let
1515 defaults = {
1616 alsa-monitor = (builtins.fromJSON (builtins.readFile ./alsa-monitor.conf.json));
1717 bluez-monitor = (builtins.fromJSON (builtins.readFile ./bluez-monitor.conf.json));
18− bluez-hardware = (builtins.fromJSON (builtins.readFile ./bluez-hardware.conf.json));
1918 media-session = (builtins.fromJSON (builtins.readFile ./media-session.conf.json));
2019 v4l2-monitor = (builtins.fromJSON (builtins.readFile ./v4l2-monitor.conf.json));
2120 };
@@ -23,7 +22,6 @@ let
2322 configs = {
2423 alsa-monitor = recursiveUpdate defaults.alsa-monitor cfg.config.alsa-monitor;
2524 bluez-monitor = recursiveUpdate defaults.bluez-monitor cfg.config.bluez-monitor;
26− bluez-hardware = defaults.bluez-hardware;
2725 media-session = recursiveUpdate defaults.media-session cfg.config.media-session;
2826 v4l2-monitor = recursiveUpdate defaults.v4l2-monitor cfg.config.v4l2-monitor;
2927 };
@@ -122,10 +120,6 @@ in {
122120 mkIf config.services.pipewire.pulse.enable {
123121 source = json.generate "bluez-monitor.conf" configs.bluez-monitor;
124122 };
125− environment.etc."pipewire/media-session.d/bluez-hardware.conf" =
126− mkIf config.services.pipewire.pulse.enable {
127− source = json.generate "bluez-hardware.conf" configs.bluez-hardware;
128− };
129123
130124 environment.etc."pipewire/media-session.d/with-jack" =
131125 mkIf config.services.pipewire.jack.enable {
pkgs/development/libraries/libcamera/default.nix+4−4
@@ -19,12 +19,12 @@
1919
2020stdenv.mkDerivation {
2121 pname = "libcamera";
22− version = "unstable-2021-06-02";
22+ version = "unstable-2021-09-24";
2323
2424 src = fetchgit {
25− url = "git://linuxtv.org/libcamera.git";
26− rev = "143b252462b9b795a1286a30349348642fcb87f5";
27− sha256 = "0mlwgd3rxagzhmc94lnn6snriyqvfdpz8r8f58blcf16859galyl";
25+ url = "https://git.libcamera.org/libcamera/libcamera.git";
26+ rev = "40f5fddca7f774944a53f58eeaebc4db79c373d8";
27+ sha256 = "0jklgdv5ma4nszxibms5lkf5d2ips7ncynwa1flglrhl5bl4wkzz";
2828 };
2929
3030 postPatch = ''
pkgs/development/libraries/pipewire/0090-pipewire-config-template-paths.patch+3−3
@@ -1,5 +1,5 @@
11diff --git a/src/daemon/pipewire.conf.in b/src/daemon/pipewire.conf.in
2−index 95632c250..a88aac6e2 100644
2+index 648e13069..50f767f0c 100644
33--- a/src/daemon/pipewire.conf.in
44+++ b/src/daemon/pipewire.conf.in
55@@ -131,7 +131,7 @@ context.modules = [
@@ -15,8 +15,8 @@ index 95632c250..a88aac6e2 100644
1515 # but it is better to start it as a systemd service.
1616 # Run the session manager with -h for options.
1717 #
18−- @sm_comment@{ path = "@session_manager_path@" args = "@session_manager_args@" }
19−+ @sm_comment@{ path = "<session_manager_path>" args = "@session_manager_args@" }
18+- @sm_comment@{ path = "@session_manager_path@" args = "@session_manager_args@" }
19++ @sm_comment@{ path = "<session_manager_path>" args = "@session_manager_args@" }
2020 #
2121 # You can optionally start the pulseaudio-server here as well
2222 # but it is better to start it as a systemd service.
pkgs/development/libraries/pipewire/0095-spa-data-dir.patchnew file+12
@@ -0,0 +1,12 @@
1+diff --git a/meson.build b/meson.build
2+index 56599ebd1..3bed2d3e3 100644
3+--- a/meson.build
4++++ b/meson.build
5+@@ -54,7 +54,7 @@ else
6+ endif
7+
8+ spa_plugindir = pipewire_libdir / spa_name
9+-spa_datadir = pipewire_datadir / spa_name
10++spa_datadir = pipewire_libdir / spa_name
11+
12+ alsadatadir = pipewire_datadir / 'alsa-card-profile' / 'mixer'
pkgs/development/libraries/pipewire/default.nix+11−4
@@ -24,10 +24,14 @@
2424, vulkan-loader
2525, webrtc-audio-processing
2626, ncurses
27+, readline81 # meson can't find <7 as those versions don't have a .pc file
2728, makeFontsConf
2829, callPackage
2930, nixosTests
3031, withMediaSession ? true
32+, libcameraSupport ? true
33+, libcamera
34+, libdrm
3135, gstreamerSupport ? true
3236, gst_all_1 ? null
3337, ffmpegSupport ? true
@@ -58,7 +62,7 @@ let
5862
5963 self = stdenv.mkDerivation rec {
6064 pname = "pipewire";
61− version = "0.3.36";
65+ version = "0.3.38";
6266
6367 outputs = [
6468 "out"
@@ -77,7 +81,7 @@ let
7781 owner = "pipewire";
7882 repo = "pipewire";
7983 rev = version;
80− sha256 = "sha256-kwoffB0Hi84T4Q0NaxLxsCyPV4R0LayX9kHmXU/vRPA=";
84+ sha256 = "sha256-QENz4MVyKuPJynA+NBdmKa6g1GrcRg9vzXLJ1/i3VJU=";
8185 };
8286
8387 patches = [
@@ -93,6 +97,8 @@ let
9397 ./0080-pipewire-config-dir.patch
9498 # Remove output paths from the comments in the config templates to break dependency cycles
9599 ./0090-pipewire-config-template-paths.patch
100+ # Place SPA data files in lib output to avoid dependency cycles
101+ ./0095-spa-data-dir.patch
96102 ];
97103
98104 nativeBuildInputs = [
@@ -113,6 +119,7 @@ let
113119 libusb1
114120 libsndfile
115121 ncurses
122+ readline81
116123 udev
117124 vulkan-headers
118125 vulkan-loader
@@ -121,6 +128,7 @@ let
121128 SDL2
122129 systemd
123130 ] ++ lib.optionals gstreamerSupport [ gst_all_1.gst-plugins-base gst_all_1.gstreamer ]
131+ ++ lib.optionals libcameraSupport [ libcamera libdrm ]
124132 ++ lib.optional ffmpegSupport ffmpeg
125133 ++ lib.optionals bluezSupport [ bluez libfreeaptx ldacbt sbc fdk_aac ]
126134 ++ lib.optional pulseTunnelSupport libpulseaudio
@@ -128,14 +136,13 @@ let
128136
129137 mesonFlags = [
130138 "-Ddocs=enabled"
131− "-Dexamples=${mesonEnable withMediaSession}" # only needed for `pipewire-media-session`
132139 "-Dudevrulesdir=lib/udev/rules.d"
133140 "-Dinstalled_tests=enabled"
134141 "-Dinstalled_test_prefix=${placeholder "installedTests"}"
135142 "-Dpipewire_pulse_prefix=${placeholder "pulse"}"
136143 "-Dmedia-session-prefix=${placeholder "mediaSession"}"
137144 "-Dlibjack-path=${placeholder "jack"}/lib"
138− "-Dlibcamera=disabled"
145+ "-Dlibcamera=${mesonEnable libcameraSupport}"
139146 "-Droc=disabled"
140147 "-Dlibpulse=${mesonEnable pulseTunnelSupport}"
141148 "-Davahi=${mesonEnable zeroconfSupport}"