diff options
author | Alyssa Ross <hi@alyssa.is> | 2024-02-13 12:25:07 +0100 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2024-02-13 12:25:07 +0100 |
commit | a5e1520e4538e29ecfbd4b168306f890566d7bfd (patch) | |
tree | 28099c268b5d4b1e33c2b29f0714c45f0b961382 /nixpkgs/pkgs/development/libraries/dlib | |
parent | 822f7c15c04567fbdc27020e862ea2b70cfbf8eb (diff) | |
parent | 3560d1c8269d0091b9aae10731b5e85274b7bbc1 (diff) | |
download | nixlib-a5e1520e4538e29ecfbd4b168306f890566d7bfd.tar nixlib-a5e1520e4538e29ecfbd4b168306f890566d7bfd.tar.gz nixlib-a5e1520e4538e29ecfbd4b168306f890566d7bfd.tar.bz2 nixlib-a5e1520e4538e29ecfbd4b168306f890566d7bfd.tar.lz nixlib-a5e1520e4538e29ecfbd4b168306f890566d7bfd.tar.xz nixlib-a5e1520e4538e29ecfbd4b168306f890566d7bfd.tar.zst nixlib-a5e1520e4538e29ecfbd4b168306f890566d7bfd.zip |
Merge branch 'nixos-unstable-small' of https://github.com/NixOS/nixpkgs
Conflicts: nixpkgs/nixos/modules/services/mail/rss2email.nix nixpkgs/pkgs/build-support/go/module.nix
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/dlib')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/dlib/default.nix | 60 |
1 files changed, 46 insertions, 14 deletions
diff --git a/nixpkgs/pkgs/development/libraries/dlib/default.nix b/nixpkgs/pkgs/development/libraries/dlib/default.nix index 32356fd9ccab..50709cae8c0b 100644 --- a/nixpkgs/pkgs/development/libraries/dlib/default.nix +++ b/nixpkgs/pkgs/development/libraries/dlib/default.nix @@ -3,28 +3,27 @@ , fetchFromGitHub , cmake , pkg-config -, fftw , libpng , libjpeg , libwebp -, openblas +, blas +, lapack +, config , guiSupport ? false , libX11 - - # see http://dlib.net/compile.html , sse4Support ? stdenv.hostPlatform.sse4_1Support , avxSupport ? stdenv.hostPlatform.avxSupport -, cudaSupport ? true -}: - -stdenv.mkDerivation rec { +, cudaSupport ? config.cudaSupport +, cudaPackages +}@inputs: +(if cudaSupport then cudaPackages.backendStdenv else inputs.stdenv).mkDerivation rec { pname = "dlib"; version = "19.24.2"; src = fetchFromGitHub { owner = "davisking"; repo = "dlib"; - rev ="v${version}"; + rev = "v${version}"; sha256 = "sha256-Z1fScuaIHjj2L1uqLIvsZ7ARKNjM+iaA8SAtWUTPFZk="; }; @@ -33,20 +32,53 @@ stdenv.mkDerivation rec { ''; cmakeFlags = [ - (lib.cmakeBool "USE_DLIB_USE_CUDA" cudaSupport) (lib.cmakeBool "USE_SSE4_INSTRUCTIONS" sse4Support) (lib.cmakeBool "USE_AVX_INSTRUCTIONS" avxSupport) + (lib.cmakeBool "DLIB_USE_CUDA" cudaSupport) + ] ++ lib.optionals cudaSupport [ + (lib.cmakeFeature "DLIB_USE_CUDA_COMPUTE_CAPABILITIES" (builtins.concatStringsSep "," (with cudaPackages.flags; map dropDot cudaCapabilities))) ]; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ] ++ lib.optionals cudaSupport (with cudaPackages; [ + cuda_nvcc + ]); buildInputs = [ - fftw libpng libjpeg libwebp - openblas - ] ++ lib.optional guiSupport libX11; + blas + lapack + ] + ++ lib.optionals guiSupport [ libX11 ] + ++ lib.optionals config.cudaSupport (with cudaPackages; [ + cuda_cudart.dev + cuda_cudart.lib + cuda_cudart.static + cuda_nvcc.dev + libcublas.dev + libcublas.lib + libcublas.static + libcurand.dev + libcurand.lib + libcurand.static + libcusolver.dev + libcusolver.lib + libcusolver.static + cudnn.dev + cudnn.lib + cudnn.static + cuda_cccl.dev + ]); + + passthru = { + inherit + cudaSupport cudaPackages + sse4Support avxSupport; + }; meta = with lib; { description = "A general purpose cross-platform C++ machine learning library"; |