From 033cfcce150fb295274a08c1e18dbdfd4ec110c5 Mon Sep 17 00:00:00 2001 From: Florian Klink Date: Fri, 1 Jan 2021 22:08:35 +0100 Subject: [PATCH 1/2] alsa-plugins: don't build with libjack2 support when cross-compiling libjack2 doesn't cross-compile, see https://github.com/NixOS/nixpkgs/issues/96548. The pulseaudio NixOS module uses pkgs.alsaPlugins to create its asound.conf, so let's make sure that one can be built when cross-compiling. --- pkgs/os-specific/linux/alsa-plugins/default.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/alsa-plugins/default.nix b/pkgs/os-specific/linux/alsa-plugins/default.nix index a69d86c5c4d..54d7ce6222a 100644 --- a/pkgs/os-specific/linux/alsa-plugins/default.nix +++ b/pkgs/os-specific/linux/alsa-plugins/default.nix @@ -15,13 +15,14 @@ stdenv.mkDerivation rec { buildInputs = [ alsaLib libogg ] ++ lib.optional (libpulseaudio != null) libpulseaudio - ++ lib.optional (libjack2 != null) libjack2; + # https://github.com/NixOS/nixpkgs/issues/96548 + ++ lib.optional (libjack2 != null && (stdenv.buildPlatform == stdenv.hostPlatform)) libjack2; meta = with lib; { description = "Various plugins for ALSA"; homepage = "http://alsa-project.org/"; license = licenses.lgpl21; - maintainers = [maintainers.marcweber]; + maintainers = [ maintainers.marcweber ]; platforms = platforms.linux; }; } From 767252d232503a56c64e6f71fbb7c9bb8e030be4 Mon Sep 17 00:00:00 2001 From: Florian Klink Date: Fri, 1 Jan 2021 22:11:29 +0100 Subject: [PATCH 2/2] pulseaudio: fix cross compilation by disabling gsettings when cross-compiling When cross-compiling, pulseaudio seems to not find some m4 macro providing GSETTINGS_RULES. However, apart from the obviously missing gsettings support, this works just fine. --- pkgs/servers/pulseaudio/default.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/pulseaudio/default.nix b/pkgs/servers/pulseaudio/default.nix index 70a964039fc..625e2e0e8ca 100644 --- a/pkgs/servers/pulseaudio/default.nix +++ b/pkgs/servers/pulseaudio/default.nix @@ -93,7 +93,8 @@ stdenv.mkDerivation rec { ] ++ lib.optional (jackaudioSupport && !libOnly) "--enable-jack" ++ lib.optional stdenv.isDarwin "--with-mac-sysroot=/" - ++ lib.optional (stdenv.isLinux && useSystemd) "--with-systemduserunitdir=${placeholder "out"}/lib/systemd/user"; + ++ lib.optional (stdenv.isLinux && useSystemd) "--with-systemduserunitdir=${placeholder "out"}/lib/systemd/user" + ++ lib.optional (stdenv.buildPlatform != stdenv.hostPlatform) "--disable-gsettings"; enableParallelBuilding = true; @@ -118,7 +119,7 @@ stdenv.mkDerivation rec { rm -f $out/bin/qpaeq # this is packaged by the "qpaeq" package now, because of missing deps ''; - preFixup = lib.optionalString stdenv.isLinux '' + preFixup = lib.optionalString (stdenv.isLinux && (stdenv.hostPlatform == stdenv.buildPlatform)) '' wrapProgram $out/libexec/pulse/gsettings-helper \ --prefix XDG_DATA_DIRS : "$out/share/gsettings-schemas/${name}" \ --prefix GIO_EXTRA_MODULES : "${lib.getLib dconf}/lib/gio/modules"