From a6cba048e6604a404ba421bf8731a14a94c153ab Mon Sep 17 00:00:00 2001 From: wxt <3264117476@qq.com> Date: Wed, 30 Oct 2024 18:13:54 +0800 Subject: [PATCH 1/3] zfp: move to by-name --- .../compression/zfp/default.nix => by-name/zf/zfp/package.nix} | 0 pkgs/top-level/all-packages.nix | 2 -- 2 files changed, 2 deletions(-) rename pkgs/{tools/compression/zfp/default.nix => by-name/zf/zfp/package.nix} (100%) diff --git a/pkgs/tools/compression/zfp/default.nix b/pkgs/by-name/zf/zfp/package.nix similarity index 100% rename from pkgs/tools/compression/zfp/default.nix rename to pkgs/by-name/zf/zfp/package.nix diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 92bc0ac82acb..cd9757483871 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -13973,8 +13973,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 { }; From 412f8116f9d429ee17aafe2db2529a67142bd704 Mon Sep 17 00:00:00 2001 From: wxt <3264117476@qq.com> Date: Wed, 30 Oct 2024 18:14:05 +0800 Subject: [PATCH 2/3] zfp: nixfmt --- pkgs/by-name/zf/zfp/package.nix | 43 ++++++++++++++++++++++++--------- 1 file changed, 31 insertions(+), 12 deletions(-) diff --git a/pkgs/by-name/zf/zfp/package.nix b/pkgs/by-name/zf/zfp/package.nix index 8df75d48eb56..db675acd3712 100644 --- a/pkgs/by-name/zf/zfp/package.nix +++ b/pkgs/by-name/zf/zfp/package.nix @@ -1,11 +1,20 @@ -{ 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 { pname = "zfp"; @@ -20,10 +29,18 @@ stdenv.mkDerivation rec { 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 +52,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" From 205324547b5cb8ce7075dad5a9cdfe5c6cb8b409 Mon Sep 17 00:00:00 2001 From: wxt <3264117476@qq.com> Date: Wed, 30 Oct 2024 18:17:30 +0800 Subject: [PATCH 3/3] zfp: fix build --- pkgs/by-name/zf/zfp/package.nix | 22 +++++++++------ pkgs/by-name/zf/zfp/python312.patch | 43 +++++++++++++++++++++++++++++ 2 files changed, 57 insertions(+), 8 deletions(-) create mode 100644 pkgs/by-name/zf/zfp/python312.patch diff --git a/pkgs/by-name/zf/zfp/package.nix b/pkgs/by-name/zf/zfp/package.nix index db675acd3712..01919156fc80 100644 --- a/pkgs/by-name/zf/zfp/package.nix +++ b/pkgs/by-name/zf/zfp/package.nix @@ -16,17 +16,23 @@ 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 = @@ -64,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 +