diff --git a/pkgs/os-specific/linux/nvidia-x11/nvidia-setttings-parallel-build.patch b/pkgs/os-specific/linux/nvidia-x11/nvidia-setttings-parallel-build.patch new file mode 100644 index 000000000000..ed3fe7b6d6df --- /dev/null +++ b/pkgs/os-specific/linux/nvidia-x11/nvidia-setttings-parallel-build.patch @@ -0,0 +1,12 @@ +diff --git a/src/Makefile b/src/Makefile +index acbb1b8..fe97103 100644 +--- a/src/Makefile ++++ b/src/Makefile +@@ -242,6 +242,7 @@ endif + + define BINARY_DATA_HEADER_RULE + $$(OUTPUTDIR)/$(notdir $(1)).h: ++ $(at_if_quiet)$(MKDIR) $$(OUTPUTDIR) + $(at_if_quiet){ \ + $$(PRINTF) "extern const char _binary_$(subst .,_,$(notdir $(1)))_start[];\n"; \ + $$(PRINTF) "extern const char _binary_$(subst .,_,$(notdir $(1)))_end[];\n"; \ diff --git a/pkgs/os-specific/linux/nvidia-x11/settings.nix b/pkgs/os-specific/linux/nvidia-x11/settings.nix index d5bbf40e2b8a..f75e3aff1734 100644 --- a/pkgs/os-specific/linux/nvidia-x11/settings.nix +++ b/pkgs/os-specific/linux/nvidia-x11/settings.nix @@ -45,6 +45,12 @@ stdenv.mkDerivation { version = nvidia_x11.settingsVersion; inherit src; + patches = [ + # Fix a race condition in parallel builds. + # https://github.com/NVIDIA/nvidia-settings/issues/59#issuecomment-770302032 + ./nvidia-setttings-parallel-build.patch + ]; + nativeBuildInputs = [ pkg-config m4 ]; buildInputs = [ jansson libXv libXrandr libXext libXxf86vm libvdpau nvidia_x11 gtk2 dbus ]