diff options
Diffstat (limited to 'pkgs/development/libraries/science')
11 files changed, 146 insertions, 41 deletions
diff --git a/pkgs/development/libraries/science/astronomy/indilib/default.nix b/pkgs/development/libraries/science/astronomy/indilib/default.nix index f7966046fa87..7a9a5a80700f 100644 --- a/pkgs/development/libraries/science/astronomy/indilib/default.nix +++ b/pkgs/development/libraries/science/astronomy/indilib/default.nix @@ -15,13 +15,13 @@ stdenv.mkDerivation rec { pname = "indilib"; - version = "1.8.9"; + version = "1.9.0"; src = fetchFromGitHub { owner = "indilib"; repo = "indi"; rev = "v${version}"; - sha256 = "sha256-W6LfrKL56K1B6srEfbNcq1MZwg7Oj8qoJkQ83ZhYhFs="; + sha256 = "sha256-YdVBzhz+Gim27/Js5MhEJNukoXp5eK9/dZ+JQVyls0M="; }; nativeBuildInputs = [ diff --git a/pkgs/development/libraries/science/astronomy/indilib/indi-3rdparty.nix b/pkgs/development/libraries/science/astronomy/indilib/indi-3rdparty.nix index 34ef40887135..5909a06cfb59 100644 --- a/pkgs/development/libraries/science/astronomy/indilib/indi-3rdparty.nix +++ b/pkgs/development/libraries/science/astronomy/indilib/indi-3rdparty.nix @@ -1,6 +1,5 @@ { stdenv , lib -, fetchFromGitHub , cmake , cfitsio , libusb1 @@ -18,39 +17,54 @@ , libdc1394 , gpsd , ffmpeg +, version +, src +, withFirmware ? false +, firmware ? null }: stdenv.mkDerivation rec { pname = "indi-3rdparty"; - version = "1.8.9"; - src = fetchFromGitHub { - owner = "indilib"; - repo = pname; - rev = "v${version}"; - sha256 = "0klvknhp7l6y2ab4vyv4jq7znk1gjl5b3709kyplm7dsh4b8bppy"; - }; + inherit version src; + + nativeBuildInputs = [ cmake ]; + + buildInputs = [ + indilib libnova curl cfitsio libusb1 zlib boost gsl gpsd + libjpeg libgphoto2 libraw libftdi1 libdc1394 ffmpeg fftw + ] ++ lib.optionals withFirmware [ + firmware + ]; + + postPatch = '' + for f in indi-qsi/CMakeLists.txt \ + indi-dsi/CMakeLists.txt \ + indi-armadillo-platypus/CMakeLists.txt + do + substituteInPlace $f \ + --replace "/lib/udev/rules.d" "lib/udev/rules.d" \ + --replace "/etc/udev/rules.d" "lib/udev/rules.d" \ + --replace "/lib/firmware" "lib/firmware" + done + ''; cmakeFlags = [ - "-DINDI_DATA_DIR=\${CMAKE_INSTALL_PREFIX}/share/indi" + "-DINDI_DATA_DIR=share/indi" "-DCMAKE_INSTALL_LIBDIR=lib" "-DUDEVRULES_INSTALL_DIR=lib/udev/rules.d" "-DRULES_INSTALL_DIR=lib/udev/rules.d" + # Pentax, Atik, and SX cmakelists are currently broken + "-DWITH_PENTAX=off" + "-DWITH_ATIK=off" "-DWITH_SX=off" - "-DWITH_SBIG=off" + ] ++ lib.optionals (!withFirmware) [ "-DWITH_APOGEE=off" - "-DWITH_FISHCAMP=off" "-DWITH_DSI=off" "-DWITH_QHY=off" "-DWITH_ARMADILLO=off" - "-DWITH_PENTAX=off" - ]; - - nativeBuildInputs = [ cmake ]; - - buildInputs = [ - indilib libnova curl cfitsio libusb1 zlib boost gsl gpsd - libjpeg libgphoto2 libraw libftdi1 libdc1394 ffmpeg fftw + "-DWITH_FISHCAMP=off" + "-DWITH_SBIG=off" ]; meta = with lib; { diff --git a/pkgs/development/libraries/science/astronomy/indilib/indi-firmware.nix b/pkgs/development/libraries/science/astronomy/indilib/indi-firmware.nix new file mode 100644 index 000000000000..d23673ac37ae --- /dev/null +++ b/pkgs/development/libraries/science/astronomy/indilib/indi-firmware.nix @@ -0,0 +1,66 @@ +{ stdenv +, lib +, cmake +, cfitsio +, libusb1 +, zlib +, boost +, libnova +, curl +, libjpeg +, gsl +, fftw +, indilib +, libgphoto2 +, libraw +, libftdi1 +, libdc1394 +, gpsd +, ffmpeg +, version +, src +}: + +stdenv.mkDerivation rec { + pname = "indi-firmware"; + + inherit version src; + + nativeBuildInputs = [ cmake ]; + + buildInputs = [ + indilib libnova curl cfitsio libusb1 zlib boost gsl gpsd + libjpeg libgphoto2 libraw libftdi1 libdc1394 ffmpeg fftw + ]; + + cmakeFlags = [ + "-DINDI_DATA_DIR=\${CMAKE_INSTALL_PREFIX}/share/indi" + "-DCMAKE_INSTALL_LIBDIR=lib" + "-DUDEVRULES_INSTALL_DIR=lib/udev/rules.d" + "-DRULES_INSTALL_DIR=lib/udev/rules.d" + "-DFIRMWARE_INSTALL_DIR=\${CMAKE_INSTALL_PREFIX}/lib/firmware" + "-DCONF_DIR=etc" + "-DBUILD_LIBS=1" + "-DWITH_PENTAX=off" + ]; + + postPatch = '' + for f in libfishcamp/CMakeLists.txt libsbig/CMakeLists.txt + do + substituteInPlace $f --replace "/lib/firmware" "lib/firmware" + done + ''; + + postFixup = '' + rm $out/lib/udev/rules.d/99-fli.rules + ''; + + meta = with lib; { + homepage = "https://www.indilib.org/"; + description = "Third party firmware for the INDI astronomical software suite"; + changelog = "https://github.com/indilib/indi-3rdparty/releases/tag/v${version}"; + license = licenses.lgpl2Plus; + maintainers = with maintainers; [ hjones2199 ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/development/libraries/science/astronomy/indilib/indi-full.nix b/pkgs/development/libraries/science/astronomy/indilib/indi-full.nix index e52da9f2eab1..50aa9fb8b4ac 100644 --- a/pkgs/development/libraries/science/astronomy/indilib/indi-full.nix +++ b/pkgs/development/libraries/science/astronomy/indilib/indi-full.nix @@ -1,11 +1,30 @@ -{ callPackage, indilib, indi-3rdparty }: +{ stdenv, lib, callPackage, fetchFromGitHub, indilib }: let - indi-with-drivers = ./indi-with-drivers.nix; + indi-version = "1.9.0"; + indi-3rdparty-src = fetchFromGitHub { + owner = "indilib"; + repo = "indi-3rdparty"; + rev = "v${indi-version}"; + sha256 = "sha256-5VR1MN52a0ZtaHYw4lD6LWmnvc1oHlfE5GLGbfBKvqE="; + }; + indi-firmware = callPackage ./indi-firmware.nix { + version = indi-version; + src = indi-3rdparty-src; + }; + indi-3rdparty = callPackage ./indi-3rdparty.nix { + version = indi-version; + src = indi-3rdparty-src; + withFirmware = stdenv.isx86_64; + firmware = indi-firmware; + }; in -callPackage indi-with-drivers { - pkgName = "indi-full"; +callPackage ./indi-with-drivers.nix { + pname = "indi-full"; + version = indi-version; extraDrivers = [ indi-3rdparty + ] ++ lib.optionals stdenv.isx86_64 [ + indi-firmware ]; } diff --git a/pkgs/development/libraries/science/astronomy/indilib/indi-with-drivers.nix b/pkgs/development/libraries/science/astronomy/indilib/indi-with-drivers.nix index 27ac86ddbadf..5ec1acdf21e9 100644 --- a/pkgs/development/libraries/science/astronomy/indilib/indi-with-drivers.nix +++ b/pkgs/development/libraries/science/astronomy/indilib/indi-with-drivers.nix @@ -1,7 +1,7 @@ -{ buildEnv, indilib ? indilib, extraDrivers ? null , pkgName ? "indi-with-drivers" }: +{ buildEnv, indilib ? indilib, pname ? "indi-with-drivers", version ? null, extraDrivers ? null }: buildEnv { - name = pkgName; + name = "${pname}-${version}"; paths = [ indilib ] diff --git a/pkgs/development/libraries/science/astronomy/stellarsolver/default.nix b/pkgs/development/libraries/science/astronomy/stellarsolver/default.nix index f55c72bd2095..c3a63c637c34 100644 --- a/pkgs/development/libraries/science/astronomy/stellarsolver/default.nix +++ b/pkgs/development/libraries/science/astronomy/stellarsolver/default.nix @@ -25,6 +25,6 @@ mkDerivation rec { description = "Astrometric plate solving library"; license = licenses.gpl3Plus; maintainers = with maintainers; [ hjones2199 ]; - platforms = [ "x86_64-linux" ]; + platforms = platforms.linux; }; } diff --git a/pkgs/development/libraries/science/math/cudnn/default.nix b/pkgs/development/libraries/science/math/cudnn/default.nix index d4c7fcac9785..d2a5a8c2a790 100644 --- a/pkgs/development/libraries/science/math/cudnn/default.nix +++ b/pkgs/development/libraries/science/math/cudnn/default.nix @@ -30,12 +30,12 @@ in rec { cudnn_cudatoolkit_10 = cudnn_cudatoolkit_10_2; cudnn_cudatoolkit_11_0 = generic rec { - version = "8.1.0"; + version = "8.1.1"; cudatoolkit = cudatoolkit_11_0; # 8.1.0 is compatible with CUDA 11.0, 11.1, and 11.2: # https://docs.nvidia.com/deeplearning/cudnn/support-matrix/index.html#cudnn-cuda-hardware-versions - srcName = "cudnn-11.2-linux-x64-v8.1.0.77.tgz"; - sha256 = "sha256-2+gvrwcdkbqbzwBIAUatM/RiSC3+5WyvRHnBuNq+Pss="; + srcName = "cudnn-11.2-linux-x64-v8.1.1.33.tgz"; + hash = "sha256-mKh4TpKGLyABjSDCgbMNSgzZUfk2lPZDPM9K6cUCumo="; }; cudnn_cudatoolkit_11_1 = cudnn_cudatoolkit_11_0.override { diff --git a/pkgs/development/libraries/science/math/cudnn/generic.nix b/pkgs/development/libraries/science/math/cudnn/generic.nix index d9c19e6790c6..f5a4fac1a908 100644 --- a/pkgs/development/libraries/science/math/cudnn/generic.nix +++ b/pkgs/development/libraries/science/math/cudnn/generic.nix @@ -1,8 +1,11 @@ { version , srcName -, sha256 +, hash ? null +, sha256 ? null }: +assert (hash != null) || (sha256 != null); + { stdenv , lib , cudatoolkit @@ -22,11 +25,13 @@ stdenv.mkDerivation { name = "cudatoolkit-${cudatoolkit.majorVersion}-cudnn-${version}"; inherit version; - src = fetchurl { + + 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}"; - inherit sha256; - }; + } // hash_); nativeBuildInputs = [ addOpenGLRunpath ]; diff --git a/pkgs/development/libraries/science/math/libtorch/bin.nix b/pkgs/development/libraries/science/math/libtorch/bin.nix index 481836a4e115..87b5835aa9ef 100644 --- a/pkgs/development/libraries/science/math/libtorch/bin.nix +++ b/pkgs/development/libraries/science/math/libtorch/bin.nix @@ -18,7 +18,7 @@ let # this derivation. However, we should ensure on version bumps # that the CUDA toolkit for `passthru.tests` is still # up-to-date. - version = "1.8.0"; + version = "1.8.1"; device = if cudaSupport then "cuda" else "cpu"; srcs = import ./binary-hashes.nix version; unavailable = throw "libtorch is not available for this platform"; diff --git a/pkgs/development/libraries/science/math/libtorch/binary-hashes.nix b/pkgs/development/libraries/science/math/libtorch/binary-hashes.nix index 208e0b7adab8..ec4522a75592 100644 --- a/pkgs/development/libraries/science/math/libtorch/binary-hashes.nix +++ b/pkgs/development/libraries/science/math/libtorch/binary-hashes.nix @@ -1,14 +1,14 @@ version: { x86_64-darwin-cpu = { url = "https://download.pytorch.org/libtorch/cpu/libtorch-macos-${version}.zip"; - hash = "sha256-V1lbztMB09wyWjdiJrwVwJ00DT8Kihy/TC2cKmdBLIE="; + hash = "sha256-FYgnd5zlycjCYnP5bZcjpMdGYXrRERwhFFBYo/SJgzs="; }; x86_64-linux-cpu = { url = "https://download.pytorch.org/libtorch/cpu/libtorch-cxx11-abi-shared-with-deps-${version}%2Bcpu.zip"; - hash = "sha256-xBaNyI7eiQnSArHMITonrQQLZnZCZK/SWKOTWnxzdpc="; + hash = "sha256-xneCcVrY25Whgbs/kPbwdS1Lc0e6RxsDRpA5lHTZigc="; }; x86_64-linux-cuda = { url = "https://download.pytorch.org/libtorch/cu111/libtorch-cxx11-abi-shared-with-deps-${version}%2Bcu111.zip"; - hash = "sha256-uQ7ptOuzowJ0JSPIvJHyNotBfpsqAnxpMDLq7Vl6L00="; + hash = "sha256-VW+TW00nD49GBztCyxHE4dTyy81aN/kfYE3hKQOIm50="; }; } diff --git a/pkgs/development/libraries/science/math/libtorch/test/default.nix b/pkgs/development/libraries/science/math/libtorch/test/default.nix index 60f9b5ad8846..eaea649d4340 100644 --- a/pkgs/development/libraries/science/math/libtorch/test/default.nix +++ b/pkgs/development/libraries/science/math/libtorch/test/default.nix @@ -42,8 +42,9 @@ in stdenv.mkDerivation { touch $out ''; - checkPhase = '' + checkPhase = lib.optionalString cudaSupport '' LD_LIBRARY_PATH=${cudaStub}''${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH \ - ./test + '' + '' + ./test ''; } |
