Merge pull request #184654 from ncfavier/nvidia-settings-390

linuxPackages.nvidia_x11_legacy390.settings: fix build

authored by superherointj and committed by GitHub d370bd73 dddd0bdf

+19 -10
+19 -10
pkgs/os-specific/linux/nvidia-x11/settings.nix
··· 1 1 nvidia_x11: sha256: 2 2 3 - { stdenv, lib, fetchFromGitHub, pkg-config, m4, jansson, gtk2, dbus, gtk3, libXv, libXrandr, libXext, libXxf86vm, libvdpau 3 + { stdenv, lib, fetchFromGitHub, fetchpatch, pkg-config, m4, jansson, gtk2, dbus, gtk3 4 + , libXv, libXrandr, libXext, libXxf86vm, libvdpau 4 5 , librsvg, wrapGAppsHook 5 6 , withGtk2 ? false, withGtk3 ? true 6 7 }: ··· 43 44 stdenv.mkDerivation { 44 45 pname = "nvidia-settings"; 45 46 version = nvidia_x11.settingsVersion; 47 + 46 48 inherit src; 47 49 48 - nativeBuildInputs = [ pkg-config m4 ]; 50 + patches = lib.optional (lib.versionOlder nvidia_x11.settingsVersion "440") 51 + (fetchpatch { 52 + # fixes "multiple definition of `VDPAUDeviceFunctions'" linking errors 53 + url = "https://github.com/NVIDIA/nvidia-settings/commit/a7c1f5fce6303a643fadff7d85d59934bd0cf6b6.patch"; 54 + hash = "sha256-ZwF3dRTYt/hO8ELg9weoz1U/XcU93qiJL2d1aq1Jlak="; 55 + }); 49 56 50 - buildInputs = [ jansson libXv libXrandr libXext libXxf86vm libvdpau nvidia_x11 gtk2 dbus ] 51 - ++ lib.optionals withGtk3 [ gtk3 librsvg wrapGAppsHook ]; 57 + postPatch = lib.optionalString nvidia_x11.useProfiles '' 58 + sed -i 's,/usr/share/nvidia/,${nvidia_x11.bin}/share/nvidia/,g' src/gtk+-2.x/ctkappprofile.c 59 + ''; 52 60 53 61 enableParallelBuilding = true; 54 62 makeFlags = nvidia_x11.makeFlags ++ [ "NV_USE_BUNDLED_LIBJANSSON=0" ]; 55 - installFlags = [ "PREFIX=$(out)" ]; 56 - 57 - postPatch = lib.optionalString nvidia_x11.useProfiles '' 58 - sed -i 's,/usr/share/nvidia/,${nvidia_x11.bin}/share/nvidia/,g' src/gtk+-2.x/ctkappprofile.c 59 - ''; 60 63 61 64 preBuild = '' 62 65 if [ -e src/libXNVCtrl/libXNVCtrl.a ]; then ··· 65 68 ) 66 69 fi 67 70 ''; 71 + 72 + nativeBuildInputs = [ pkg-config m4 ]; 73 + 74 + buildInputs = [ jansson libXv libXrandr libXext libXxf86vm libvdpau nvidia_x11 gtk2 dbus ] 75 + ++ lib.optionals withGtk3 [ gtk3 librsvg wrapGAppsHook ]; 76 + 77 + installFlags = [ "PREFIX=$(out)" ]; 68 78 69 79 postInstall = '' 70 80 ${lib.optionalString (!withGtk2) '' ··· 87 97 ''; 88 98 89 99 binaryName = if withGtk3 then ".nvidia-settings-wrapped" else "nvidia-settings"; 90 - 91 100 postFixup = '' 92 101 patchelf --set-rpath "$(patchelf --print-rpath $out/bin/$binaryName):$out/lib:${libXv}/lib" \ 93 102 $out/bin/$binaryName