summary refs log tree commit diff
diff options
context:
space:
mode:
authorNaïm Favier <n@monade.li>2022-08-02 01:14:18 +0200
committerNaïm Favier <n@monade.li>2022-08-02 15:34:12 +0200
commit80602db395b13be833133f762d17c8e34a21d579 (patch)
tree643a51065b53c3a5de29fed7d798022bf058c836
parentd287ee149d5d03008b1d868a14ffecb5df5b6ad4 (diff)
downloadnixpkgs-80602db395b13be833133f762d17c8e34a21d579.tar
nixpkgs-80602db395b13be833133f762d17c8e34a21d579.tar.gz
nixpkgs-80602db395b13be833133f762d17c8e34a21d579.tar.bz2
nixpkgs-80602db395b13be833133f762d17c8e34a21d579.tar.lz
nixpkgs-80602db395b13be833133f762d17c8e34a21d579.tar.xz
nixpkgs-80602db395b13be833133f762d17c8e34a21d579.tar.zst
nixpkgs-80602db395b13be833133f762d17c8e34a21d579.zip
linuxPackages.nvidia_x11_legacy390.settings: fix build
https://aur.archlinux.org/pkgbase/nvidia-390xx-settings#comment-753829
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/settings.nix29
1 files changed, 19 insertions, 10 deletions
diff --git a/pkgs/os-specific/linux/nvidia-x11/settings.nix b/pkgs/os-specific/linux/nvidia-x11/settings.nix
index 873e09df8df..884ccdd6c52 100644
--- a/pkgs/os-specific/linux/nvidia-x11/settings.nix
+++ b/pkgs/os-specific/linux/nvidia-x11/settings.nix
@@ -1,6 +1,7 @@
 nvidia_x11: sha256:
 
-{ stdenv, lib, fetchFromGitHub, pkg-config, m4, jansson, gtk2, dbus, gtk3, libXv, libXrandr, libXext, libXxf86vm, libvdpau
+{ stdenv, lib, fetchFromGitHub, fetchpatch, pkg-config, m4, jansson, gtk2, dbus, gtk3
+, libXv, libXrandr, libXext, libXxf86vm, libvdpau
 , librsvg, wrapGAppsHook
 , withGtk2 ? false, withGtk3 ? true
 }:
@@ -43,21 +44,23 @@ in
 stdenv.mkDerivation {
   pname = "nvidia-settings";
   version = nvidia_x11.settingsVersion;
-  inherit src;
-
-  nativeBuildInputs = [ pkg-config m4 ];
 
-  buildInputs = [ jansson libXv libXrandr libXext libXxf86vm libvdpau nvidia_x11 gtk2 dbus ]
-             ++ lib.optionals withGtk3 [ gtk3 librsvg wrapGAppsHook ];
+  inherit src;
 
-  enableParallelBuilding = true;
-  makeFlags = nvidia_x11.makeFlags ++ [ "NV_USE_BUNDLED_LIBJANSSON=0" ];
-  installFlags = [ "PREFIX=$(out)" ];
+  patches = lib.optional (lib.versionOlder nvidia_x11.settingsVersion "440")
+    (fetchpatch {
+      # fixes "multiple definition of `VDPAUDeviceFunctions'" linking errors
+      url = "https://github.com/NVIDIA/nvidia-settings/commit/a7c1f5fce6303a643fadff7d85d59934bd0cf6b6.patch";
+      hash = "sha256-ZwF3dRTYt/hO8ELg9weoz1U/XcU93qiJL2d1aq1Jlak=";
+    });
 
   postPatch = lib.optionalString nvidia_x11.useProfiles ''
     sed -i 's,/usr/share/nvidia/,${nvidia_x11.bin}/share/nvidia/,g' src/gtk+-2.x/ctkappprofile.c
   '';
 
+  enableParallelBuilding = true;
+  makeFlags = nvidia_x11.makeFlags ++ [ "NV_USE_BUNDLED_LIBJANSSON=0" ];
+
   preBuild = ''
     if [ -e src/libXNVCtrl/libXNVCtrl.a ]; then
       ( cd src/libXNVCtrl
@@ -66,6 +69,13 @@ stdenv.mkDerivation {
     fi
   '';
 
+  nativeBuildInputs = [ pkg-config m4 ];
+
+  buildInputs = [ jansson libXv libXrandr libXext libXxf86vm libvdpau nvidia_x11 gtk2 dbus ]
+             ++ lib.optionals withGtk3 [ gtk3 librsvg wrapGAppsHook ];
+
+  installFlags = [ "PREFIX=$(out)" ];
+
   postInstall = ''
     ${lib.optionalString (!withGtk2) ''
       rm -f $out/lib/libnvidia-gtk2.so.*
@@ -87,7 +97,6 @@ stdenv.mkDerivation {
   '';
 
   binaryName = if withGtk3 then ".nvidia-settings-wrapped" else "nvidia-settings";
-
   postFixup = ''
     patchelf --set-rpath "$(patchelf --print-rpath $out/bin/$binaryName):$out/lib:${libXv}/lib" \
       $out/bin/$binaryName