diff --git a/pkgs/tools/compression/zfp/default.nix b/pkgs/by-name/zf/zfp/package.nix similarity index 59% rename from pkgs/tools/compression/zfp/default.nix rename to pkgs/by-name/zf/zfp/package.nix index 8df75d48eb56..01919156fc80 100644 --- a/pkgs/tools/compression/zfp/default.nix +++ b/pkgs/by-name/zf/zfp/package.nix @@ -1,29 +1,52 @@ -{ cmake, cudatoolkit, fetchFromGitHub, gfortran, lib, llvmPackages, python3Packages, stdenv -, config -, enableCfp ? true -, enableCuda ? config.cudaSupport -, enableFortran ? builtins.elem stdenv.hostPlatform.system gfortran.meta.platforms -, enableOpenMP ? true -, enablePython ? true -, enableUtilities ? true }: +{ + cmake, + cudatoolkit, + fetchFromGitHub, + gfortran, + lib, + llvmPackages, + python3Packages, + stdenv, + config, + enableCfp ? true, + enableCuda ? config.cudaSupport, + enableFortran ? builtins.elem stdenv.hostPlatform.system gfortran.meta.platforms, + enableOpenMP ? true, + enablePython ? true, + enableUtilities ? true, +}: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "zfp"; version = "1.0.1"; src = fetchFromGitHub { owner = "LLNL"; repo = "zfp"; - rev = version; - sha256 = "sha256-iZxA4lIviZQgaeHj6tEQzEFSKocfgpUyf4WvUykb9qk="; + rev = finalAttrs.version; + hash = "sha256-iZxA4lIviZQgaeHj6tEQzEFSKocfgpUyf4WvUykb9qk="; }; + patches = [ + # part of https://github.com/LLNL/zfp/pull/217 + # Remove distutils + ./python312.patch + ]; + nativeBuildInputs = [ cmake ]; - buildInputs = lib.optional enableCuda cudatoolkit + buildInputs = + lib.optional enableCuda cudatoolkit ++ lib.optional enableFortran gfortran ++ lib.optional enableOpenMP llvmPackages.openmp - ++ lib.optionals enablePython (with python3Packages; [ cython numpy python ]); + ++ lib.optionals enablePython ( + with python3Packages; + [ + cython + numpy + python + ] + ); # compile CUDA code for all extant GPUs so the binary will work with any GPU # and driver combination. to be ultimately solved upstream: @@ -35,8 +58,10 @@ stdenv.mkDerivation rec { ) ''; - cmakeFlags = [ - ] ++ lib.optional enableCfp "-DBUILD_CFP=ON" + cmakeFlags = + [ + ] + ++ lib.optional enableCfp "-DBUILD_CFP=ON" ++ lib.optional enableCuda "-DZFP_WITH_CUDA=ON" ++ lib.optional enableFortran "-DBUILD_ZFORP=ON" ++ lib.optional enableOpenMP "-DZFP_WITH_OPENMP=ON" @@ -45,13 +70,13 @@ stdenv.mkDerivation rec { doCheck = true; - meta = with lib; { + meta = { homepage = "https://computing.llnl.gov/projects/zfp"; description = "Library for random-access compression of floating-point arrays"; - license = licenses.bsd3; - maintainers = [ maintainers.spease ]; + license = lib.licenses.bsd3; + maintainers = [ lib.maintainers.spease ]; # 64-bit only - platforms = platforms.aarch64 ++ platforms.x86_64; + platforms = lib.platforms.aarch64 ++ lib.platforms.x86_64; mainProgram = "zfp"; }; -} +}) diff --git a/pkgs/by-name/zf/zfp/python312.patch b/pkgs/by-name/zf/zfp/python312.patch new file mode 100644 index 000000000000..acd5a9127c72 --- /dev/null +++ b/pkgs/by-name/zf/zfp/python312.patch @@ -0,0 +1,43 @@ +From 6610107a865ddaf988a29fe0f07ece05949a0c77 Mon Sep 17 00:00:00 2001 +From: wxt <3264117476@qq.com> +Date: Wed, 30 Oct 2024 18:20:51 +0800 +Subject: [PATCH] a + +--- + python/scikit-build-cmake/FindPythonExtensions.cmake | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/python/scikit-build-cmake/FindPythonExtensions.cmake b/python/scikit-build-cmake/FindPythonExtensions.cmake +index 59b30c2..d06c9ad 100644 +--- a/python/scikit-build-cmake/FindPythonExtensions.cmake ++++ b/python/scikit-build-cmake/FindPythonExtensions.cmake +@@ -254,7 +254,7 @@ endif() + include(targetLinkLibrariesWithDynamicLookup) + + set(_command " +-import distutils.sysconfig ++import sysconfig + import itertools + import os + import os.path +@@ -266,7 +266,7 @@ rel_result = None + candidate_lists = [] + + try: +- candidate_lists.append((distutils.sysconfig.get_python_lib(),)) ++ candidate_lists.append((sysconfig.get_paths()['purelib'],)) + except AttributeError: pass + + try: +@@ -293,7 +293,7 @@ sys.stdout.write(\";\".join(( + sys.prefix, + result, + rel_result, +- distutils.sysconfig.get_config_var('EXT_SUFFIX') ++ sysconfig.get_config_var('EXT_SUFFIX') + ))) + ") + +-- +2.46.1 + diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e62ac36a9367..cd95773e335f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -13956,8 +13956,6 @@ with pkgs; zet = callPackage ../tools/text/zet { }; - zfp = callPackage ../tools/compression/zfp { }; - zfs-autobackup = callPackage ../tools/backup/zfs-autobackup { }; zfsbackup = callPackage ../tools/backup/zfsbackup { };