mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2024-12-29 14:57:28 +03:00
22750b36fd
Closes #22666.
63 lines
1.7 KiB
Nix
63 lines
1.7 KiB
Nix
nvidia_x11: sha256:
|
|
|
|
{ stdenv, lib, fetchurl, pkgconfig, m4, jansson, gtk2, gtk3, libXv, libXrandr, libvdpau
|
|
, librsvg, wrapGAppsHook
|
|
, withGtk2 ? false, withGtk3 ? true
|
|
}:
|
|
|
|
stdenv.mkDerivation rec {
|
|
name = "nvidia-settings-${nvidia_x11.version}";
|
|
inherit (nvidia_x11) version;
|
|
|
|
src = fetchurl {
|
|
url = "ftp://download.nvidia.com/XFree86/nvidia-settings/${name}.tar.bz2";
|
|
inherit sha256;
|
|
};
|
|
|
|
nativeBuildInputs = [ pkgconfig m4 ];
|
|
|
|
buildInputs = [ jansson libXv libXrandr libvdpau nvidia_x11 gtk2 ]
|
|
++ lib.optionals withGtk3 [ gtk3 librsvg wrapGAppsHook ];
|
|
|
|
NIX_LDFLAGS = [ "-lvdpau" "-lXrandr" "-lXv" "-lnvidia-ml" ];
|
|
|
|
makeFlags = [ "NV_USE_BUNDLED_LIBJANSSON=0" ];
|
|
installFlags = [ "PREFIX=$(out)" ];
|
|
|
|
postPatch = lib.optionalString nvidia_x11.useProfiles ''
|
|
sed -i 's,/usr/share/nvidia/,${nvidia_x11.bin}/share/nvidia/,g' src/gtk+-2.x/ctkappprofile.c
|
|
'';
|
|
|
|
preBuild = ''
|
|
if [ -e src/libXNVCtrl/libXNVCtrl.a ]; then
|
|
( cd src/libXNVCtrl
|
|
make
|
|
)
|
|
fi
|
|
'';
|
|
|
|
postInstall = ''
|
|
${lib.optionalString (!withGtk2) ''
|
|
rm -f $out/lib/libnvidia-gtk2.so.*
|
|
''}
|
|
${lib.optionalString (!withGtk3) ''
|
|
rm -f $out/lib/libnvidia-gtk3.so.*
|
|
''}
|
|
'';
|
|
|
|
binaryName = if withGtk3 then ".nvidia-settings-wrapped" else "nvidia-settings";
|
|
|
|
postFixup = ''
|
|
patchelf --set-rpath "$(patchelf --print-rpath $out/bin/$binaryName):$out/lib" \
|
|
$out/bin/$binaryName
|
|
'';
|
|
|
|
meta = with stdenv.lib; {
|
|
homepage = "http://www.nvidia.com/object/unix.html";
|
|
description = "Settings application for NVIDIA graphics cards";
|
|
license = licenses.unfreeRedistributable;
|
|
platforms = platforms.linux;
|
|
maintainers = with maintainers; [ abbradar ];
|
|
};
|
|
}
|