Skip to content

Commit 0d53485

Browse files
committed
staging-next 2025-03-03 (#386822)
2 parents 5a59e70 + cc157d6 commit 0d53485

File tree

211 files changed

+1651
-5071
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

211 files changed

+1651
-5071
lines changed

nixos/modules/services/desktops/pipewire/pipewire.nix

Lines changed: 10 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -58,15 +58,12 @@ let
5858

5959
configPackages = cfg.configPackages;
6060

61-
extraConfigPkg =
62-
extraConfigPkgFromFiles [ "pipewire" "client" "client-rt" "jack" "pipewire-pulse" ]
63-
(
64-
mapToFiles "pipewire" cfg.extraConfig.pipewire
65-
// mapToFiles "client" cfg.extraConfig.client
66-
// mapToFiles "client-rt" cfg.extraConfig.client-rt
67-
// mapToFiles "jack" cfg.extraConfig.jack
68-
// mapToFiles "pipewire-pulse" cfg.extraConfig.pipewire-pulse
69-
);
61+
extraConfigPkg = extraConfigPkgFromFiles [ "pipewire" "client" "jack" "pipewire-pulse" ] (
62+
mapToFiles "pipewire" cfg.extraConfig.pipewire
63+
// mapToFiles "client" cfg.extraConfig.client
64+
// mapToFiles "jack" cfg.extraConfig.jack
65+
// mapToFiles "pipewire-pulse" cfg.extraConfig.pipewire-pulse
66+
);
7067

7168
configs = pkgs.buildEnv {
7269
name = "pipewire-configs";
@@ -205,27 +202,6 @@ in
205202
[wiki]: https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/Config-client
206203
'';
207204
};
208-
client-rt = mkOption {
209-
type = attrsOf json.type;
210-
default = { };
211-
example = {
212-
"10-alsa-linear-volume" = {
213-
"alsa.properties" = {
214-
"alsa.volume-method" = "linear";
215-
};
216-
};
217-
};
218-
description = ''
219-
Additional configuration for the PipeWire client library, used by real-time applications and legacy ALSA clients.
220-
221-
Every item in this attrset becomes a separate drop-in file in `/etc/pipewire/client-rt.conf.d`.
222-
223-
See the [PipeWire wiki][wiki] for examples of general configuration, and [PipeWire wiki - ALSA][wiki-alsa] for ALSA clients.
224-
225-
[wiki]: https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/Config-client
226-
[wiki-alsa]: https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/Config-ALSA
227-
'';
228-
};
229205
jack = mkOption {
230206
type = attrsOf json.type;
231207
default = { };
@@ -341,6 +317,10 @@ in
341317
pipewire-media-session is no longer supported upstream and has been removed.
342318
Please switch to `services.pipewire.wireplumber` instead.
343319
'')
320+
(mkRemovedOptionModule [ "services" "pipewire" "extraConfig" "client-rt" ] ''
321+
`services.pipewire.extraConfig.client-rt` is no longer applicable, as `client-rt.conf` has been
322+
removed upstream. Please move your customizations to `services.pipewire.extraConfig.client`.
323+
'')
344324
];
345325

346326
###### implementation

nixos/modules/system/boot/systemd.nix

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,7 @@ let
8888
"sys-fs-fuse-connections.mount"
8989
] ++ (optional (!config.boot.isContainer) "sys-kernel-config.mount") ++ [
9090
"sys-kernel-debug.mount"
91+
"sys-kernel-tracing.mount"
9192

9293
# Maintaining state across reboots.
9394
"systemd-random-seed.service"
Lines changed: 23 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,32 @@
1-
{ pkgs, makeInstalledTest, ... }:
1+
{
2+
lib,
3+
pkgs,
4+
makeInstalledTest,
5+
...
6+
}:
27

38
makeInstalledTest {
49
tested = pkgs.xdg-desktop-portal;
510

6-
# Red herring
7-
# Failed to load RealtimeKit property: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.RealtimeKit1 was not provided by any .service files
8-
# Maybe a red herring, enabling PipeWire doesn't fix the location test.
9-
# Failed connect to PipeWire: Couldn't connect to PipeWire
1011
testConfig = {
1112
environment.variables = {
12-
TEST_IN_CI = 1;
13-
XDG_DATA_DIRS = "${pkgs.xdg-desktop-portal.installedTests}/share/installed-tests/xdg-desktop-portal/share";
13+
GI_TYPELIB_PATH = lib.makeSearchPath "lib/girepository-1.0" [
14+
pkgs.glib.out
15+
pkgs.umockdev.out
16+
];
17+
# need to set this ourselves, because the tests will set LD_PRELOAD=libumockdev-preload.so,
18+
# which can't be found because it's not in default rpath
19+
LD_PRELOAD = "${pkgs.umockdev.out}/lib/libumockdev-preload.so";
20+
XDP_TEST_IN_CI = 1;
1421
};
15-
# Broken, see comment in the package file.
16-
#services.geoclue2 = {
17-
# enable = true;
18-
# enableDemoAgent = true;
19-
#};
20-
#location.provider = "geoclue2";
22+
environment.systemPackages = with pkgs; [
23+
umockdev
24+
wireless-regdb
25+
];
26+
services.geoclue2 = {
27+
enable = true;
28+
enableDemoAgent = true;
29+
};
30+
location.provider = "geoclue2";
2131
};
2232
}

pkgs/applications/audio/ardour/7.nix

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@
5252
soundtouch,
5353
sratom,
5454
suil,
55-
taglib,
55+
taglib_1,
5656
vamp-plugin-sdk,
5757
wafHook,
5858
xjadeo,
@@ -166,7 +166,7 @@ stdenv.mkDerivation rec {
166166
soundtouch
167167
sratom
168168
suil
169-
taglib
169+
taglib_1
170170
vamp-plugin-sdk
171171
]
172172
++ lib.optionals videoSupport [

pkgs/applications/audio/clementine/default.nix

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
qtbase,
1212
qtx11extras,
1313
qttools,
14-
taglib,
14+
taglib_1,
1515
fftw,
1616
glew,
1717
qjson,
@@ -92,7 +92,7 @@ stdenv.mkDerivation (finalAttrs: {
9292
qtx11extras
9393
qttools
9494
sqlite
95-
taglib
95+
taglib_1
9696
alsa-lib
9797
]
9898
# gst_plugins needed for setup-hooks

pkgs/applications/audio/soundkonverter/default.nix

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
kxmlgui,
2020
qtbase,
2121
phonon,
22-
taglib,
22+
taglib_1,
2323
# optional backends
2424
withCD ? true,
2525
cdparanoia,
@@ -131,7 +131,7 @@ mkDerivation rec {
131131
qtbase
132132
phonon
133133
];
134-
buildInputs = [ taglib ] ++ runtimeDeps;
134+
buildInputs = [ taglib_1 ] ++ runtimeDeps;
135135
# encoder plugins go to ${out}/lib so they're found by kbuildsycoca5
136136
cmakeFlags = [ "-DCMAKE_INSTALL_PREFIX=$out" ];
137137
sourceRoot = "${src.name}/src";

pkgs/applications/editors/vim/common.nix

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{ lib, fetchFromGitHub }:
22
rec {
3-
version = "9.1.1046";
3+
version = "9.1.1122";
44

55
outputs = [
66
"out"
@@ -11,7 +11,7 @@ rec {
1111
owner = "vim";
1212
repo = "vim";
1313
rev = "v${version}";
14-
hash = "sha256-bH3p78fWUNQRhluUvqQ5uJ+PxNhz7T7wA/4zxUDH130=";
14+
hash = "sha256-Eaxia/FLRCnr8MVDvt+ZUFwIQD5Pqq7SsmWZeQdjuXs=";
1515
};
1616

1717
enableParallelBuilding = true;

pkgs/applications/networking/browsers/chromium/common.nix

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -445,6 +445,9 @@ let
445445
./patches/cross-compile.patch
446446
# Optional patch to use SOURCE_DATE_EPOCH in compute_build_timestamp.py (should be upstreamed):
447447
./patches/no-build-timestamps.patch
448+
# Fix build with Pipewire 1.4
449+
# Submitted upstream: https://webrtc-review.googlesource.com/c/src/+/380500
450+
./patches/webrtc-pipewire-1.4.patch
448451
]
449452
++ lib.optionals (packageName == "chromium") [
450453
# This patch is limited to chromium and ungoogled-chromium because electron-source sets
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
--- a/third_party/webrtc/modules/video_capture/linux/pipewire_session.cc
2+
+++ b/third_party/webrtc/modules/video_capture/linux/pipewire_session.cc
3+
@@ -87,7 +87,7 @@ PipeWireNode::PipeWireNode(PipeWireSession* session,
4+
.param = OnNodeParam,
5+
};
6+
7+
- pw_node_add_listener(proxy_, &node_listener_, &node_events, this);
8+
+ pw_node_add_listener(reinterpret_cast<pw_node*>(proxy_), &node_listener_, &node_events, this);
9+
}
10+
11+
// static
12+
@@ -119,7 +119,7 @@ void PipeWireNode::OnNodeInfo(void* data, const pw_node_info* info) {
13+
uint32_t id = info->params[i].id;
14+
if (id == SPA_PARAM_EnumFormat &&
15+
info->params[i].flags & SPA_PARAM_INFO_READ) {
16+
- pw_node_enum_params(that->proxy_, 0, id, 0, UINT32_MAX, nullptr);
17+
+ pw_node_enum_params(reinterpret_cast<pw_node*>(that->proxy_), 0, id, 0, UINT32_MAX, nullptr);
18+
break;
19+
}
20+
}
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
--- a/src/modules/video_capture/linux/pipewire_session.cc
2+
+++ b/src/modules/video_capture/linux/pipewire_session.cc
3+
@@ -87,7 +87,7 @@ PipeWireNode::PipeWireNode(PipeWireSession* session,
4+
.param = OnNodeParam,
5+
};
6+
7+
- pw_node_add_listener(proxy_, &node_listener_, &node_events, this);
8+
+ pw_node_add_listener(reinterpret_cast<pw_node*>(proxy_), &node_listener_, &node_events, this);
9+
}
10+
11+
// static
12+
@@ -119,7 +119,7 @@ void PipeWireNode::OnNodeInfo(void* data, const pw_node_info* info) {
13+
uint32_t id = info->params[i].id;
14+
if (id == SPA_PARAM_EnumFormat &&
15+
info->params[i].flags & SPA_PARAM_INFO_READ) {
16+
- pw_node_enum_params(that->proxy_, 0, id, 0, UINT32_MAX, nullptr);
17+
+ pw_node_enum_params(reinterpret_cast<pw_node*>(that->proxy_), 0, id, 0, UINT32_MAX, nullptr);
18+
break;
19+
}
20+
}

0 commit comments

Comments
 (0)