diff options
Diffstat (limited to 'pkgs/development/libraries')
21 files changed, 223 insertions, 101 deletions
diff --git a/pkgs/development/libraries/audio/lv2/default.nix b/pkgs/development/libraries/audio/lv2/default.nix index 616ad5b0c89..d0ef2e65c59 100644 --- a/pkgs/development/libraries/audio/lv2/default.nix +++ b/pkgs/development/libraries/audio/lv2/default.nix @@ -1,24 +1,50 @@ -{ lib, stdenv, fetchurl, gtk2, libsndfile, pkg-config, python3, wafHook }: +{ stdenv +, lib +, fetchurl +, libsndfile +, pkg-config +, python3 +, wafHook +, pipewire +}: stdenv.mkDerivation rec { pname = "lv2"; version = "1.18.2"; + outputs = [ "out" "dev" ]; + src = fetchurl { url = "https://lv2plug.in/spec/${pname}-${version}.tar.bz2"; sha256 = "sha256-TokfvHRMBYVb6136gugisUkX3Wbpj4K4Iw29HHqy4F4="; }; - nativeBuildInputs = [ pkg-config wafHook ]; - buildInputs = [ gtk2 libsndfile python3 ]; + nativeBuildInputs = [ + pkg-config + wafHook + ]; + + buildInputs = [ + libsndfile + python3 + ]; - wafConfigureFlags = lib.optionals stdenv.isDarwin [ "--lv2dir=${placeholder "out"}/lib/lv2" ]; + wafConfigureFlags = [ + "--includedir=${placeholder "dev"}/include" + "--bindir=${placeholder "dev"}/bin" + ] ++ lib.optionals stdenv.isDarwin [ + "--lv2dir=${placeholder "out"}/lib/lv2" + ]; + + passthru.tests = { + inherit pipewire; + }; meta = with lib; { homepage = "https://lv2plug.in"; description = "A plugin standard for audio systems"; license = licenses.mit; - maintainers = [ maintainers.goibhniu ]; + maintainers = with maintainers; [ goibhniu ]; platforms = platforms.unix; }; } diff --git a/pkgs/development/libraries/bctoolbox/default.nix b/pkgs/development/libraries/bctoolbox/default.nix index c4abb634ca8..aaa7c9e048b 100644 --- a/pkgs/development/libraries/bctoolbox/default.nix +++ b/pkgs/development/libraries/bctoolbox/default.nix @@ -7,7 +7,7 @@ stdenv.mkDerivation rec { pname = "bctoolbox"; - version = "5.1.0"; + version = "5.1.10"; nativeBuildInputs = [ cmake bcunit ]; buildInputs = [ mbedtls ]; @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { group = "BC"; repo = pname; rev = version; - sha256 = "sha256-h+JeyZSXCuV6MtOrWxvpg7v3BXks5T70Cy2gP+If0A8="; + sha256 = "sha256-BOJ/NUJnoTeDuURH8Lx6S4RlNZPfsQX4blJkpUdraBg="; }; # Do not build static libraries diff --git a/pkgs/development/libraries/belcard/default.nix b/pkgs/development/libraries/belcard/default.nix index 12253427424..740dbeee648 100644 --- a/pkgs/development/libraries/belcard/default.nix +++ b/pkgs/development/libraries/belcard/default.nix @@ -7,7 +7,7 @@ stdenv.mkDerivation rec { pname = "belcard"; - version = "5.0.55"; + version = "5.1.10"; src = fetchFromGitLab { domain = "gitlab.linphone.org"; @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { group = "BC"; repo = pname; rev = version; - sha256 = "sha256-5KHmyNplrVADVlD2IBPwEe3vbEjAMNlz+p5aIBHb6kI="; + sha256 = "sha256-ZxO0Y4R04T+3K+08fEJ9krWfYSodQLrjBZYbGrKOrXI="; }; buildInputs = [ bctoolbox belr ]; diff --git a/pkgs/development/libraries/belr/default.nix b/pkgs/development/libraries/belr/default.nix index c841b6d3e48..05d6573beb8 100644 --- a/pkgs/development/libraries/belr/default.nix +++ b/pkgs/development/libraries/belr/default.nix @@ -6,7 +6,7 @@ stdenv.mkDerivation rec { pname = "belr"; - version = "5.0.55"; + version = "5.1.3"; src = fetchFromGitLab { domain = "gitlab.linphone.org"; @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { group = "BC"; repo = pname; rev = version; - sha256 = "sha256-P3oDlaT3rN1lRhpKjbGBk7a0hJAQGQcWydFM45GMUU4="; + sha256 = "sha256-0JDwNKqPkzbXqDhgMV+okPMHPFJwmLwLsDrdD55Jcs4="; }; buildInputs = [ bctoolbox ]; diff --git a/pkgs/development/libraries/exiv2/default.nix b/pkgs/development/libraries/exiv2/default.nix index f352714d237..7a79e597beb 100644 --- a/pkgs/development/libraries/exiv2/default.nix +++ b/pkgs/development/libraries/exiv2/default.nix @@ -52,6 +52,7 @@ stdenv.mkDerivation rec { cmakeFlags = [ "-DEXIV2_ENABLE_NLS=ON" "-DEXIV2_BUILD_DOC=ON" + "-DEXIV2_ENABLE_BMFF=ON" ]; buildFlags = [ diff --git a/pkgs/development/libraries/gdal/default.nix b/pkgs/development/libraries/gdal/default.nix index 3e5ae303dd7..bfa1c75b483 100644 --- a/pkgs/development/libraries/gdal/default.nix +++ b/pkgs/development/libraries/gdal/default.nix @@ -7,13 +7,13 @@ with lib; stdenv.mkDerivation rec { pname = "gdal"; - version = "3.4.1"; + version = "3.4.2"; src = fetchFromGitHub { owner = "OSGeo"; repo = "gdal"; rev = "v${version}"; - sha256 = "11rjdaxmsp9n3r9xhmgd7ksy8bh5fazwsxdj0xvl4hsy6bcn4n97"; + sha256 = "sha256-bE55VV0SrG8nxCLdpODRalnuAkn+olRdMLUjduavj6M="; }; sourceRoot = "source/gdal"; diff --git a/pkgs/development/libraries/igraph/default.nix b/pkgs/development/libraries/igraph/default.nix index 06aad781bc7..441646c4395 100644 --- a/pkgs/development/libraries/igraph/default.nix +++ b/pkgs/development/libraries/igraph/default.nix @@ -21,13 +21,13 @@ stdenv.mkDerivation rec { pname = "igraph"; - version = "0.9.6"; + version = "0.9.7"; src = fetchFromGitHub { owner = "igraph"; repo = pname; rev = version; - sha256 = "sha256-nMM4ZQLIth9QHlLu+sXE4AXoDlq1UP20+YuBi+Op+go="; + sha256 = "sha256-SL9PcT18vFvykCv4VRXxXtlcDAcybmwEImnnKXMciFQ="; }; # Normally, igraph wants us to call bootstrap.sh, which will call diff --git a/pkgs/development/libraries/intel-gmmlib/default.nix b/pkgs/development/libraries/intel-gmmlib/default.nix index d9ac5e4da3f..79ff2c4ee5f 100644 --- a/pkgs/development/libraries/intel-gmmlib/default.nix +++ b/pkgs/development/libraries/intel-gmmlib/default.nix @@ -6,13 +6,13 @@ stdenv.mkDerivation rec { pname = "intel-gmmlib"; - version = "22.0.3"; + version = "22.1.0"; src = fetchFromGitHub { owner = "intel"; repo = "gmmlib"; rev = "intel-gmmlib-${version}"; - sha256 = "sha256-cXolz4hKLSTs8K9tCxaKnC2Pr0lQ0M+pPeF2w6bOAR8="; + sha256 = "sha256-4LFBokMEhhobKIMzZYlt3Nn88lX60l+IZZ0gi+o7Tds="; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/development/libraries/libarchive-qt/default.nix b/pkgs/development/libraries/libarchive-qt/default.nix index 62b425bba05..ae74fd3028a 100644 --- a/pkgs/development/libraries/libarchive-qt/default.nix +++ b/pkgs/development/libraries/libarchive-qt/default.nix @@ -1,19 +1,20 @@ -{ mkDerivation, lib, fetchFromGitLab, libarchive, xz, zlib, bzip2, cmake, ninja }: +{ mkDerivation, lib, fetchFromGitLab, libarchive, xz, zlib, bzip2, meson, pkg-config, ninja }: mkDerivation rec { pname = "libarchive-qt"; - version = "2.0.6"; + version = "2.0.7"; src = fetchFromGitLab { owner = "marcusbritanicus"; repo = pname; rev = "v${version}"; - sha256 = "sha256-Z+2zjQolV1Ncr6v9r7fGrc/fEMt0iMtGwv9eZ2Tu2cA="; + sha256 = "sha256-KRywB+Op44N00q9tgO2WNCliRgUDRvrCms1O8JYt62o="; }; nativeBuildInputs = [ - cmake + meson ninja + pkg-config ]; buildInputs = [ diff --git a/pkgs/development/libraries/libctl/default.nix b/pkgs/development/libraries/libctl/default.nix new file mode 100644 index 00000000000..d7fed2415df --- /dev/null +++ b/pkgs/development/libraries/libctl/default.nix @@ -0,0 +1,31 @@ +{ lib +, stdenv +, fetchFromGitHub +, autoreconfHook +, gfortran +, guile +, pkg-config +}: + +stdenv.mkDerivation rec { + pname = "libctl"; + version = "4.5.1"; + + src = fetchFromGitHub { + owner = "NanoComp"; + repo = pname; + rev = "v${version}"; + sha256 = "uOydBWYPXSBUi+4MM6FNx6B5l2to7Ny9Uc1MMTV9bGA="; + }; + + nativeBuildInputs = [ autoreconfHook gfortran guile pkg-config ]; + + configureFlags = [ "--enable-shared" ]; + + meta = with lib; { + description = "Guile-based library for supporting flexible control files in scientific simulations"; + homepage = "https://github.com/NanoComp/libctl"; + license = licenses.gpl2Only; + maintainers = with maintainers; [ carpinchomug ]; + }; +} diff --git a/pkgs/development/libraries/libqalculate/default.nix b/pkgs/development/libraries/libqalculate/default.nix index bb70ffcd32a..55132d15523 100644 --- a/pkgs/development/libraries/libqalculate/default.nix +++ b/pkgs/development/libraries/libqalculate/default.nix @@ -3,13 +3,13 @@ stdenv.mkDerivation rec { pname = "libqalculate"; - version = "4.0.0"; + version = "4.1.0"; src = fetchFromGitHub { owner = "qalculate"; repo = "libqalculate"; rev = "v${version}"; - sha256 = "sha256-aRHwkdAbM164diIAIyBp1Kt6u/GLyCWTtwF4eFaWbGU="; + sha256 = "sha256-P3mb5HEj9gHq2mABdIRxF6ZukrPd70sy0DRLT0qKDqk="; }; outputs = [ "out" "dev" "doc" ]; diff --git a/pkgs/development/libraries/libressl/default.nix b/pkgs/development/libraries/libressl/default.nix index 7a2718c0153..1ad63db733d 100644 --- a/pkgs/development/libraries/libressl/default.nix +++ b/pkgs/development/libraries/libressl/default.nix @@ -86,12 +86,8 @@ let }; in { - libressl_3_2 = generic { - version = "3.2.7"; - sha256 = "112bjfrwwqlk0lak7fmfhcls18ydf62cp7gxghf4gklpfl1zyckw"; - }; libressl_3_4 = generic { - version = "3.4.2"; - sha256 = "sha256-y4LKfVRzNpFzUvvSPbL8SDxsRNNRV7MngCFOx0GXs84="; + version = "3.4.3"; + sha256 = "sha256-/4i//jVIGLPM9UXjyv5FTFAxx6dyFwdPUzJx1jw38I0="; }; } diff --git a/pkgs/development/libraries/lime/default.nix b/pkgs/development/libraries/lime/default.nix index 6d6e8c519de..7e7edff6bff 100644 --- a/pkgs/development/libraries/lime/default.nix +++ b/pkgs/development/libraries/lime/default.nix @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { pname = "lime"; - version = "5.0.0"; + version = "5.0.53"; src = fetchFromGitLab { domain = "gitlab.linphone.org"; @@ -19,7 +19,7 @@ stdenv.mkDerivation rec { group = "BC"; repo = pname; rev = version; - sha256 = "sha256-11vvvA+pud/eOyYsbRKVvGfiyhwdhNPfRQSfaquUro8="; + sha256 = "sha256-M+KdauIVsN3c+cEPw4CaMzXnQZwAPNXeJCriuk9NCWM="; }; buildInputs = [ bctoolbox soci belle-sip sqlite boost ]; diff --git a/pkgs/development/libraries/lpcnetfreedv/default.nix b/pkgs/development/libraries/lpcnetfreedv/default.nix index ac12d3a5fd6..33b295b9a1e 100644 --- a/pkgs/development/libraries/lpcnetfreedv/default.nix +++ b/pkgs/development/libraries/lpcnetfreedv/default.nix @@ -30,5 +30,6 @@ in stdenv.mkDerivation rec { description = "Experimental Neural Net speech coding for FreeDV"; license = licenses.bsd3; maintainers = with maintainers; [ mvs ]; + platforms = platforms.all; }; } diff --git a/pkgs/development/libraries/mysocketw/default.nix b/pkgs/development/libraries/mysocketw/default.nix index 62bd7cea1a1..32987d64992 100644 --- a/pkgs/development/libraries/mysocketw/default.nix +++ b/pkgs/development/libraries/mysocketw/default.nix @@ -1,27 +1,38 @@ -{ lib, stdenv, fetchFromGitHub, openssl, cmake }: +{ lib +, stdenv +, fetchFromGitHub +, openssl +, cmake +}: stdenv.mkDerivation rec { pname = "mysocketw"; - version = "3.10.27"; + version = "3.11.0"; src = fetchFromGitHub { owner = "RigsOfRods"; repo = "socketw"; rev = version; - sha256 = "0xqcgwb1lyc2d8834sq5adbmggyn6vvb26jw20862sxa15j0qfd4"; + hash = "sha256-mpfhmKE2l59BllkOjmURIfl17lAakXpmGh2x9SFSaAo="; }; - nativeBuildInputs = [ cmake ]; - buildInputs = [ openssl ]; + nativeBuildInputs = [ + cmake + ]; + + buildInputs = [ + openssl + ]; postPatch = lib.optionalString stdenv.isDarwin '' substituteInPlace src/Makefile \ --replace -Wl,-soname, -Wl,-install_name,$out/lib/ ''; - meta = { + meta = with lib; { description = "Cross platform (Linux/FreeBSD/Unix/Win32) streaming socket C++"; - license = lib.licenses.lgpl21Plus; - platforms = lib.platforms.all; + homepage = "https://github.com/RigsOfRods/socketw"; + license = licenses.lgpl21Plus; + maintainers = with maintainers; [ ]; }; } diff --git a/pkgs/development/libraries/science/astronomy/cfitsio/default.nix b/pkgs/development/libraries/science/astronomy/cfitsio/default.nix index 9f9545e52f3..3be249531bb 100644 --- a/pkgs/development/libraries/science/astronomy/cfitsio/default.nix +++ b/pkgs/development/libraries/science/astronomy/cfitsio/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "cfitsio"; - version = "4.0.0"; + version = "4.1.0"; src = fetchurl { url = "https://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c/cfitsio-${version}.tar.gz"; - sha256 = "sha256-sqjvugufhtPhvWGfZipHbsGBErTyfMRBzGgKTjd3Ql4="; + sha256 = "sha256-s2fGldKDGVjnFmkhw7NW1d+lGx7O5QW5dBa6OdG2wXo="; }; buildInputs = [ bzip2 zlib ]; diff --git a/pkgs/development/libraries/science/math/cudnn/default.nix b/pkgs/development/libraries/science/math/cudnn/default.nix index 663d61494c7..d05cc3f90ec 100644 --- a/pkgs/development/libraries/science/math/cudnn/default.nix +++ b/pkgs/development/libraries/science/math/cudnn/default.nix @@ -1,23 +1,29 @@ # The following version combinations are supported: # * cuDNN 7.4.2, cudatoolkit 10.0 -# * cuDNN 7.6.5, cudatoolkit 10.2 -# * cuDNN 8.1.1, cudatoolkit 11.0-11.2 -# * cuDNN 8.3.0, cudatoolkit 11.0-11.5 +# * cuDNN 7.6.5, cudatoolkit 10.0-10.1 +# * cuDNN 8.1.1, cudatoolkit 10.2-11.2 +# * cuDNN 8.3.2, cudatoolkit 10.2-11.5 { callPackage +, cudatoolkit_10 , cudatoolkit_10_0 +, cudatoolkit_10_1 , cudatoolkit_10_2 +, cudatoolkit_11 , cudatoolkit_11_0 , cudatoolkit_11_1 , cudatoolkit_11_2 , cudatoolkit_11_3 , cudatoolkit_11_4 , cudatoolkit_11_5 +, fetchurl +, lib }: let generic = args: callPackage (import ./generic.nix (removeAttrs args [ "cudatoolkit" ])) { inherit (args) cudatoolkit; }; + urlPrefix = "https://developer.download.nvidia.com/compute/redist/cudnn"; in rec { # cuDNN 7.x @@ -25,53 +31,88 @@ rec { cudnn_7_4_cudatoolkit_10_0 = generic rec { version = "7.4.2"; cudatoolkit = cudatoolkit_10_0; - srcName = "cudnn-${cudatoolkit.majorVersion}-linux-x64-v7.4.2.24.tgz"; - sha256 = "18ys0apiz9afid2s6lvy9qbyi8g66aimb2a7ikl1f3dm09mciprf"; + # See https://docs.nvidia.com/deeplearning/cudnn/archives/cudnn_742/cudnn-support-matrix/index.html#cudnn-cuda-hardware-versions__table-cudnn-cuda-hardware-versions. + minCudaVersion = "9.2.88"; + maxCudaVersion = "10.0.99999"; + mkSrc = _: fetchurl { + url = "${urlPrefix}/v${version}/cudnn-10.0-linux-x64-v7.4.2.24.tgz"; + hash = "sha256-Lt/IagK1DRfojEeJVaMy5qHoF05+U6NFi06lH68C2qM="; + }; }; + # The only overlap between supported and packaged CUDA versions is 10.0. - # The `cudnn` alias still points to this in all-packages.nix. It should be - # upgraded at some point. - cudnn_7_6_cudatoolkit_10_2 = generic rec { + cudnn_7_6_cudatoolkit_10_0 = generic rec { version = "7.6.5"; - cudatoolkit = cudatoolkit_10_2; - srcName = "cudnn-${cudatoolkit.majorVersion}-linux-x64-v7.6.5.32.tgz"; - sha256 = "084c13vzjdkb5s1996yilybg6dgav1lscjr1xdcgvlmfrbr6f0k0"; + cudatoolkit = cudatoolkit_10_0; + # See https://docs.nvidia.com/deeplearning/cudnn/archives/cudnn_765/cudnn-support-matrix/index.html#cudnn-versions-763-765. + minCudaVersion = "9.2.148"; + maxCudaVersion = "10.1.243"; + mkSrc = cudatoolkit: fetchurl { + url = "${urlPrefix}/v${version}/cudnn-${cudatoolkit.majorVersion}-linux-x64-v7.6.5.32.tgz"; + hash = { + "10.0" = "sha256-KDVeOV8LK5OsLIO2E2CzW6bNA3fkTni+GXtrYbS0kro="; + "10.1" = "sha256-fq7IA5osMKsLx1jTA1iHZ2k972v0myJIWiwAvy4TbLM="; + }."${cudatoolkit.majorVersion}"; + }; }; - - cudnn_7_6_cudatoolkit_10 = cudnn_7_6_cudatoolkit_10_2; + cudnn_7_6_cudatoolkit_10_1 = cudnn_7_6_cudatoolkit_10_0.override { cudatoolkit = cudatoolkit_10_1; }; # cuDNN 8.x # cuDNN 8.1 is still used by tensorflow at the time of writing (2022-02-17). # See https://github.com/NixOS/nixpkgs/pull/158218 for more info. - cudnn_8_1_cudatoolkit_11_0 = generic rec { + cudnn_8_1_cudatoolkit_10_2 = generic rec { version = "8.1.1"; - cudatoolkit = cudatoolkit_11_0; - # 8.1.0 is compatible with CUDA 11.0-11.2: - # https://docs.nvidia.com/deeplearning/cudnn/archives/cudnn-811/support-matrix/index.html - srcName = "cudnn-11.2-linux-x64-v8.1.1.33.tgz"; - hash = "sha256-mKh4TpKGLyABjSDCgbMNSgzZUfk2lPZDPM9K6cUCumo="; + cudatoolkit = cudatoolkit_10_2; + # See https://docs.nvidia.com/deeplearning/cudnn/archives/cudnn-811/support-matrix/index.html#cudnn-versions-810-811. + minCudaVersion = "10.2.00000"; + maxCudaVersion = "11.2.99999"; + mkSrc = cudatoolkit: + let v = if lib.versions.majorMinor cudatoolkit.version == "10.2" then "10.2" else "11.2"; in + fetchurl { + url = "${urlPrefix}/v${version}/cudnn-${v}-linux-x64-v8.1.1.33.tgz"; + hash = { + "10.2" = "sha256-Kkp7mabpv6aQ6xm7QeSVU/KnpJGls6v8rpAOFmxbbr0="; + "11.2" = "sha256-mKh4TpKGLyABjSDCgbMNSgzZUfk2lPZDPM9K6cUCumo="; + }."${v}"; + }; }; - cudnn_8_1_cudatoolkit_11_1 = cudnn_8_1_cudatoolkit_11_0.override { cudatoolkit = cudatoolkit_11_1; }; - cudnn_8_1_cudatoolkit_11_2 = cudnn_8_1_cudatoolkit_11_0.override { cudatoolkit = cudatoolkit_11_2; }; - cudnn_8_1_cudatoolkit_11 = cudnn_8_1_cudatoolkit_11_2; + cudnn_8_1_cudatoolkit_11_0 = cudnn_8_1_cudatoolkit_10_2.override { cudatoolkit = cudatoolkit_11_0; }; + cudnn_8_1_cudatoolkit_11_1 = cudnn_8_1_cudatoolkit_10_2.override { cudatoolkit = cudatoolkit_11_1; }; + cudnn_8_1_cudatoolkit_11_2 = cudnn_8_1_cudatoolkit_10_2.override { cudatoolkit = cudatoolkit_11_2; }; + + cudnn_8_1_cudatoolkit_10 = cudnn_8_1_cudatoolkit_10_2.override { cudatoolkit = cudatoolkit_10; }; + cudnn_8_1_cudatoolkit_11 = cudnn_8_1_cudatoolkit_10_2.override { cudatoolkit = cudatoolkit_11; }; # cuDNN 8.3 is necessary for the latest jaxlib, esp. jaxlib-bin. See # https://github.com/google/jax/discussions/9455 for more info. - cudnn_8_3_cudatoolkit_11_0 = generic rec { - # 8.3.0 is the last version to respect the folder structure that generic.nix - # expects. Later versions have files in a subdirectory `local_installers`. - # See eg https://developer.download.nvidia.com/compute/redist/cudnn/v8.3.1/. - version = "8.3.0"; - cudatoolkit = cudatoolkit_11_0; - # 8.3.0 is compatible with CUDA 11.0-11.5: - # https://docs.nvidia.com/deeplearning/cudnn/archives/cudnn-830/support-matrix/index.html - srcName = "cudnn-11.5-linux-x64-v8.3.0.98.tgz"; - hash = "sha256-RMb1rVyxL7dPoMmh58qvTwTXVa3xGi5bbJ5BfaN2srI="; - }; - cudnn_8_3_cudatoolkit_11_1 = cudnn_8_3_cudatoolkit_11_0.override { cudatoolkit = cudatoolkit_11_1; }; - cudnn_8_3_cudatoolkit_11_2 = cudnn_8_3_cudatoolkit_11_0.override { cudatoolkit = cudatoolkit_11_2; }; - cudnn_8_3_cudatoolkit_11_3 = cudnn_8_3_cudatoolkit_11_0.override { cudatoolkit = cudatoolkit_11_3; }; - cudnn_8_3_cudatoolkit_11_4 = cudnn_8_3_cudatoolkit_11_0.override { cudatoolkit = cudatoolkit_11_4; }; - cudnn_8_3_cudatoolkit_11_5 = cudnn_8_3_cudatoolkit_11_0.override { cudatoolkit = cudatoolkit_11_5; }; - cudnn_8_3_cudatoolkit_11 = cudnn_8_3_cudatoolkit_11_5; + cudnn_8_3_cudatoolkit_10_2 = + generic + rec { + version = "8.3.2"; + cudatoolkit = cudatoolkit_10_2; + # See https://docs.nvidia.com/deeplearning/cudnn/archives/cudnn-832/support-matrix/index.html#cudnn-cuda-hardware-versions. + minCudaVersion = "10.2.00000"; + maxCudaVersion = "11.5.99999"; + mkSrc = cudatoolkit: + let v = if lib.versions.majorMinor cudatoolkit.version == "10.2" then "10.2" else "11.5"; in + fetchurl { + # Starting at version 8.3.1 there's a new directory layout including + # a subdirectory `local_installers`. + url = "https://developer.download.nvidia.com/compute/redist/cudnn/v${version}/local_installers/${v}/cudnn-linux-x86_64-8.3.2.44_cuda${v}-archive.tar.xz"; + hash = { + "10.2" = "sha256-1vVu+cqM+PketzIQumw9ykm6REbBZhv6/lXB7EC2aaw="; + "11.5" = "sha256-VQCVPAjF5dHd3P2iNPnvvdzb5DpTsm3AqCxyP6FwxFc="; + }."${v}"; + }; + } + ; + cudnn_8_3_cudatoolkit_11_0 = cudnn_8_3_cudatoolkit_10_2.override { cudatoolkit = cudatoolkit_11_0; }; + cudnn_8_3_cudatoolkit_11_1 = cudnn_8_3_cudatoolkit_10_2.override { cudatoolkit = cudatoolkit_11_1; }; + cudnn_8_3_cudatoolkit_11_2 = cudnn_8_3_cudatoolkit_10_2.override { cudatoolkit = cudatoolkit_11_2; }; + cudnn_8_3_cudatoolkit_11_3 = cudnn_8_3_cudatoolkit_10_2.override { cudatoolkit = cudatoolkit_11_3; }; + cudnn_8_3_cudatoolkit_11_4 = cudnn_8_3_cudatoolkit_10_2.override { cudatoolkit = cudatoolkit_11_4; }; + cudnn_8_3_cudatoolkit_11_5 = cudnn_8_3_cudatoolkit_10_2.override { cudatoolkit = cudatoolkit_11_5; }; + + cudnn_8_3_cudatoolkit_10 = cudnn_8_3_cudatoolkit_10_2.override { cudatoolkit = cudatoolkit_10; }; + cudnn_8_3_cudatoolkit_11 = cudnn_8_3_cudatoolkit_10_2.override { cudatoolkit = cudatoolkit_11; }; } diff --git a/pkgs/development/libraries/science/math/cudnn/generic.nix b/pkgs/development/libraries/science/math/cudnn/generic.nix index 13fc0b67997..a5272e56ab6 100644 --- a/pkgs/development/libraries/science/math/cudnn/generic.nix +++ b/pkgs/development/libraries/science/math/cudnn/generic.nix @@ -1,11 +1,9 @@ -{ version -, srcName -, hash ? null -, sha256 ? null +{ minCudaVersion +, maxCudaVersion +, mkSrc +, version }: -assert (hash != null) || (sha256 != null); - { stdenv , lib , cudatoolkit @@ -25,19 +23,18 @@ stdenv.mkDerivation { name = "cudatoolkit-${cudatoolkit.majorVersion}-cudnn-${version}"; inherit version; - - src = let - hash_ = if hash != null then { inherit hash; } else { inherit sha256; }; - in fetchurl ({ - # URL from NVIDIA docker containers: https://gitlab.com/nvidia/cuda/blob/centos7/7.0/runtime/cudnn4/Dockerfile - url = "https://developer.download.nvidia.com/compute/redist/cudnn/v${version}/${srcName}"; - } // hash_); + # It's often the case that the src depends on the version of cudatoolkit it's + # being linked against, so we pass in `cudatoolkit` as an argument to `mkSrc`. + src = mkSrc cudatoolkit; nativeBuildInputs = [ addOpenGLRunpath ]; # Some cuDNN libraries depend on things in cudatoolkit, eg. # libcudnn_ops_infer.so.8 tries to load libcublas.so.11. So we need to patch # cudatoolkit into RPATH. See also https://github.com/NixOS/nixpkgs/blob/88a2ad974692a5c3638fcdc2c772e5770f3f7b21/pkgs/development/python-modules/jaxlib/bin.nix#L78-L98. + # + # Note also that version <=8.3.0 contained a subdirectory "lib64/" but in + # version 8.3.2 it seems to have been renamed to simply "lib/". installPhase = '' runHook preInstall @@ -46,14 +43,16 @@ stdenv.mkDerivation { patchelf --set-rpath "''${p:+$p:}${lib.makeLibraryPath [ stdenv.cc.cc cudatoolkit.lib ]}:${cudatoolkit}/lib:\$ORIGIN/" $1 } - for lib in lib64/lib*.so; do - fixRunPath $lib + for sofile in {lib,lib64}/lib*.so; do + fixRunPath $sofile done mkdir -p $out cp -a include $out/include - cp -a lib64 $out/lib64 + [ -d "lib/" ] && cp -a lib $out/lib + [ -d "lib64/" ] && cp -a lib64 $out/lib64 '' + lib.optionalString removeStatic '' + rm -f $out/lib/*.a rm -f $out/lib64/*.a '' + '' runHook postInstall @@ -77,10 +76,21 @@ stdenv.mkDerivation { }; meta = with lib; { + # Check that the cudatoolkit version satisfies our min/max constraints (both + # inclusive). We mark the package as broken if it fails to satisfies the + # official version constraints (as recorded in default.nix). In some cases + # you _may_ be able to smudge version constraints, just know that you're + # embarking into unknown and unsupported territory when doing so. + broken = let cudaVer = lib.getVersion cudatoolkit; in + !( + lib.versionAtLeast cudaVer minCudaVersion + && lib.versionAtLeast maxCudaVersion cudaVer + ); + description = "NVIDIA CUDA Deep Neural Network library (cuDNN)"; homepage = "https://developer.nvidia.com/cudnn"; license = licenses.unfree; platforms = [ "x86_64-linux" ]; - maintainers = with maintainers; [ mdaiter ]; + maintainers = with maintainers; [ mdaiter samuela ]; }; } diff --git a/pkgs/development/libraries/science/math/suitesparse-graphblas/default.nix b/pkgs/development/libraries/science/math/suitesparse-graphblas/default.nix index bf5251d1aed..eea7c146ca3 100644 --- a/pkgs/development/libraries/science/math/suitesparse-graphblas/default.nix +++ b/pkgs/development/libraries/science/math/suitesparse-graphblas/default.nix @@ -6,7 +6,7 @@ stdenv.mkDerivation rec { pname = "suitesparse-graphblas"; - version = "6.2.2"; + version = "6.2.5"; outputs = [ "out" "dev" ]; @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { owner = "DrTimothyAldenDavis"; repo = "GraphBLAS"; rev = "v${version}"; - sha256 = "sha256-uSPE7uFiG4xbsAeo/UmOP5Ns+3yZ7kKL2bNxzd8mzP8="; + sha256 = "sha256-N4yFlTxV+lVz70PSHPuWEEFLp0dpsImXYDLUYEo2JQI="; }; nativeBuildInputs = [ diff --git a/pkgs/development/libraries/vte/default.nix b/pkgs/development/libraries/vte/default.nix index eae934a4ebb..aae30390ee4 100644 --- a/pkgs/development/libraries/vte/default.nix +++ b/pkgs/development/libraries/vte/default.nix @@ -22,6 +22,7 @@ , icu , systemd , systemdSupport ? stdenv.hostPlatform.isLinux +, nixosTests }: stdenv.mkDerivation rec { @@ -91,6 +92,9 @@ stdenv.mkDerivation rec { packageName = pname; versionPolicy = "odd-unstable"; }; + tests = { + inherit (nixosTests.terminal-emulators) gnome-terminal lxterminal mlterm roxterm sakura stupidterm terminator termite xfce4-terminal; + }; }; meta = with lib; { diff --git a/pkgs/development/libraries/yder/default.nix b/pkgs/development/libraries/yder/default.nix index 49544a37468..9dd55482300 100644 --- a/pkgs/development/libraries/yder/default.nix +++ b/pkgs/development/libraries/yder/default.nix @@ -11,13 +11,13 @@ stdenv.mkDerivation rec { pname = "yder"; - version = "1.4.14"; + version = "1.4.15"; src = fetchFromGitHub { owner = "babelouest"; repo = pname; rev = "v${version}"; - sha256 = "sha256-4FSUBFqrxTbqg2EKYuXv4gUeE40ViNZRk5gHv+C2p9o="; + sha256 = "sha256-hPAL1UngodNbQCCdKulaF5faI0JOjmWdz3q8oyPH7C4="; }; patches = [ |