summaryrefslogtreecommitdiff
path: root/pkgs/development/libraries/science
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/libraries/science')
-rw-r--r--pkgs/development/libraries/science/astronomy/indilib/default.nix4
-rw-r--r--pkgs/development/libraries/science/astronomy/indilib/indi-3rdparty.nix52
-rw-r--r--pkgs/development/libraries/science/astronomy/indilib/indi-firmware.nix66
-rw-r--r--pkgs/development/libraries/science/astronomy/indilib/indi-full.nix27
-rw-r--r--pkgs/development/libraries/science/astronomy/indilib/indi-with-drivers.nix4
-rw-r--r--pkgs/development/libraries/science/astronomy/stellarsolver/default.nix2
-rw-r--r--pkgs/development/libraries/science/math/cudnn/default.nix6
-rw-r--r--pkgs/development/libraries/science/math/cudnn/generic.nix13
-rw-r--r--pkgs/development/libraries/science/math/libtorch/bin.nix2
-rw-r--r--pkgs/development/libraries/science/math/libtorch/binary-hashes.nix6
-rw-r--r--pkgs/development/libraries/science/math/libtorch/test/default.nix5
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
'';
}