diff --git a/nixos/modules/hardware/video/nvidia.nix b/nixos/modules/hardware/video/nvidia.nix index 2b9221ec5d72..325aa5f093f8 100644 --- a/nixos/modules/hardware/video/nvidia.nix +++ b/nixos/modules/hardware/video/nvidia.nix @@ -11,7 +11,8 @@ let # FIXME: should introduce an option like # ‘hardware.video.nvidia.package’ for overriding the default NVIDIA # driver. - enabled = elem "nvidia" drivers || elem "nvidiaLegacy173" drivers || elem "nvidiaLegacy304" drivers; + enabled = elem "nvidia" drivers || elem "nvidiaLegacy173" drivers + || elem "nvidiaLegacy304" drivers || elem "nvidiaLegacy340" drivers; nvidia_x11 = if elem "nvidia" drivers then @@ -20,6 +21,8 @@ let config.boot.kernelPackages.nvidia_x11_legacy173 else if elem "nvidiaLegacy304" drivers then config.boot.kernelPackages.nvidia_x11_legacy304 + else if elem "nvidiaLegacy340" drivers then + config.boot.kernelPackages.nvidia_x11_legacy340 else throw "impossible"; in diff --git a/nixos/tests/containers.nix b/nixos/tests/containers.nix index 331324139a1a..e0add8a936fc 100644 --- a/nixos/tests/containers.nix +++ b/nixos/tests/containers.nix @@ -91,6 +91,13 @@ import ./make-test.nix { # Execute commands via the root shell. $machine->succeed("nixos-container run $id1 -- uname") =~ /Linux/ or die; + # Stop and start (regression test for #4989) + $machine->succeed("nixos-container stop $id1"); + $machine->succeed("nixos-container start $id1"); + + # Execute commands via the root shell. + $machine->succeed("nixos-container run $id1 -- uname") =~ /Linux/ or die; + # Destroy the containers. $machine->succeed("nixos-container destroy $id1"); $machine->succeed("nixos-container destroy $id2"); diff --git a/pkgs/applications/graphics/openimageio/default.nix b/pkgs/applications/graphics/openimageio/default.nix index 00ba14d98af6..b0abecc7caee 100644 --- a/pkgs/applications/graphics/openimageio/default.nix +++ b/pkgs/applications/graphics/openimageio/default.nix @@ -4,11 +4,11 @@ stdenv.mkDerivation rec { name = "oiio-${version}"; - version = "1.4.13"; + version = "1.4.14"; src = fetchurl { url = "https://github.com/OpenImageIO/oiio/archive/Release-${version}.zip"; - sha256 = "1idscm2qqdjgv362l7xk9v162axji7hqh7xdnd3i0wcxwjpgygca"; + sha256 = "1wn51d7044wyh25bwykxiw8rysb0v0sy2cfj6pyk5fg6rsr9cx51"; }; buildInputs = [ diff --git a/pkgs/applications/networking/instant-messengers/pidgin/default.nix b/pkgs/applications/networking/instant-messengers/pidgin/default.nix index a5f286d4705f..5e8f266930ff 100644 --- a/pkgs/applications/networking/instant-messengers/pidgin/default.nix +++ b/pkgs/applications/networking/instant-messengers/pidgin/default.nix @@ -13,11 +13,11 @@ stdenv.mkDerivation rec { name = "pidgin-${version}"; majorVersion = "2"; - version = "${majorVersion}.10.10"; + version = "${majorVersion}.10.11"; src = fetchurl { url = "mirror://sourceforge/pidgin/${name}.tar.bz2"; - sha256 = "0bc2bk2g3w90mpz9sn9j95c71z4i2i3wxaqa2zpmmixf5r8rasyw"; + sha256 = "01s0q30qrjlzj7kkz6f8lvrwsdd55a9yjh2xjjwyyxzw849j3bpj"; }; inherit nss ncurses; diff --git a/pkgs/os-specific/linux/nvidia-x11/builder-legacy.sh b/pkgs/os-specific/linux/nvidia-x11/builder-legacy173.sh similarity index 100% rename from pkgs/os-specific/linux/nvidia-x11/builder-legacy.sh rename to pkgs/os-specific/linux/nvidia-x11/builder-legacy173.sh diff --git a/pkgs/os-specific/linux/nvidia-x11/builder.sh b/pkgs/os-specific/linux/nvidia-x11/builder-legacy340.sh similarity index 100% rename from pkgs/os-specific/linux/nvidia-x11/builder.sh rename to pkgs/os-specific/linux/nvidia-x11/builder-legacy340.sh diff --git a/pkgs/os-specific/linux/nvidia-x11/legacy173.nix b/pkgs/os-specific/linux/nvidia-x11/legacy173.nix index 0014a5d2ee53..9182139c0a83 100644 --- a/pkgs/os-specific/linux/nvidia-x11/legacy173.nix +++ b/pkgs/os-specific/linux/nvidia-x11/legacy173.nix @@ -1,6 +1,6 @@ {stdenv, fetchurl, kernel, xlibs, zlib, gtk, atk, pango, glib, gdk_pixbuf}: -let +let versionNumber = "173.14.39"; @@ -8,9 +8,9 @@ in stdenv.mkDerivation { name = "nvidia-x11-${versionNumber}-${kernel.version}"; - - builder = ./builder-legacy.sh; - + + builder = ./builder-legacy173.sh; + src = if stdenv.system == "i686-linux" then fetchurl { diff --git a/pkgs/os-specific/linux/nvidia-x11/default.nix b/pkgs/os-specific/linux/nvidia-x11/legacy340.nix similarity index 78% rename from pkgs/os-specific/linux/nvidia-x11/default.nix rename to pkgs/os-specific/linux/nvidia-x11/legacy340.nix index c89846db72cf..ad0c0c0b367a 100644 --- a/pkgs/os-specific/linux/nvidia-x11/default.nix +++ b/pkgs/os-specific/linux/nvidia-x11/legacy340.nix @@ -12,26 +12,29 @@ assert (!libsOnly) -> kernel != null; let - versionNumber = "340.32"; - + versionNumber = "340.58"; + /* This branch is needed for G8x, G9x, and GT2xx GPUs, and motherboard chipsets based on them. + Ongoing support for new Linux kernels and X servers, as well as fixes for critical bugs, + will be included in 340.* legacy releases through the end of 2019. + */ inherit (stdenv.lib) makeLibraryPath; in stdenv.mkDerivation { name = "nvidia-x11-${versionNumber}${optionalString (!libsOnly) "-${kernel.version}"}"; - builder = ./builder.sh; + builder = ./builder-legacy340.sh; src = if stdenv.system == "i686-linux" then fetchurl { url = "http://us.download.nvidia.com/XFree86/Linux-x86/${versionNumber}/NVIDIA-Linux-x86-${versionNumber}.run"; - sha256 = "1xcm8czz4bmnlzkl3al58flw6jmbrg1y77cxjjdjqcsvbk1qj10x"; + sha256 = "0nzvfqn3cv2n486i38r3badd5jlmfv7x6k9s47calrqnd3q8zi3w"; } else if stdenv.system == "x86_64-linux" then fetchurl { url = "http://us.download.nvidia.com/XFree86/Linux-x86_64/${versionNumber}/NVIDIA-Linux-x86_64-${versionNumber}-no-compat32.run"; - sha256 = "1nfrpx73817y1z0wkqqh02xjg65r0f05h9801mqm8ki2gxqv9vq0"; + sha256 = "0h78wmb1yyr1xah6x22ifk9gzd2jvg3vhhg091nvyhcvpmbjq806"; } else throw "nvidia-x11 does not support platform ${stdenv.system}"; diff --git a/pkgs/os-specific/linux/systemd/fixes.patch b/pkgs/os-specific/linux/systemd/fixes.patch index 592ea59ad6cb..ff31b4a75d48 100644 --- a/pkgs/os-specific/linux/systemd/fixes.patch +++ b/pkgs/os-specific/linux/systemd/fixes.patch @@ -44,6 +44,15 @@ diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c index b6d9bc6..04fbe57 100644 --- a/src/nspawn/nspawn.c +++ b/src/nspawn/nspawn.c +@@ -758,7 +758,7 @@ static int mount_binds(const char *dest, + * and char devices. */ + if (S_ISDIR(source_st.st_mode)) { + r = mkdir_label(where, 0755); +- if (r < 0) { ++ if (r < 0 && r != -EEXIST) { + log_error("Failed to create mount point %s: %s", where, strerror(-r)); + + return r; @@ -3073,6 +3073,7 @@ int main(int argc, char *argv[]) { goto finish; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f10a097b4f8b..bebdfab1b546 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8290,10 +8290,11 @@ let nvidiabl = callPackage ../os-specific/linux/nvidiabl { }; - nvidia_x11 = callPackage ../os-specific/linux/nvidia-x11 { }; + nvidia_x11 = self.nvidia_x11_legacy340; nvidia_x11_legacy173 = callPackage ../os-specific/linux/nvidia-x11/legacy173.nix { }; nvidia_x11_legacy304 = callPackage ../os-specific/linux/nvidia-x11/legacy304.nix { }; + nvidia_x11_legacy340 = callPackage ../os-specific/linux/nvidia-x11/legacy340.nix { }; openafsClient = callPackage ../servers/openafs-client { };