From 3ed4d1426974b7a2950e4df63f39aba510e6e4fa Mon Sep 17 00:00:00 2001 From: Ethan Carter Edwards Date: Mon, 11 Aug 2025 23:10:08 -0400 Subject: [PATCH 1/2] equihash: init at 1.0.10 Signed-off-by: Ethan Carter Edwards --- pkgs/by-name/eq/equihash/package.nix | 36 ++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 pkgs/by-name/eq/equihash/package.nix diff --git a/pkgs/by-name/eq/equihash/package.nix b/pkgs/by-name/eq/equihash/package.nix new file mode 100644 index 000000000000..f1cb8668978c --- /dev/null +++ b/pkgs/by-name/eq/equihash/package.nix @@ -0,0 +1,36 @@ +{ + lib, + stdenv, + fetchFromGitHub, + libsodium, + nix-update-script, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "equihash"; + version = "1.0.10"; + + src = fetchFromGitHub { + owner = "stef"; + repo = "equihash"; + tag = "v${finalAttrs.version}"; + hash = "sha256-s16MwWH/xYLl7MSayXLoQUtuTv4GsQgq+qbI14igcv8="; + }; + + strictDeps = true; + + buildInputs = [ libsodium ]; + + makeFlags = [ "PREFIX=$(out)" ]; + + passthru.updateScript = nix-update-script { }; + + meta = { + description = "Memory-hard PoW with fast verification"; + homepage = "https://github.com/stef/equihash/"; + license = lib.licenses.cc0; + teams = [ lib.teams.ngi ]; + # ld -z not available on darwin + platforms = lib.platforms.linux; + }; +}) From 2fca0f4f91cef96dcd53772f8366d88d9fe66c39 Mon Sep 17 00:00:00 2001 From: Ethan Carter Edwards Date: Mon, 11 Aug 2025 23:26:52 -0400 Subject: [PATCH 2/2] python3Packages.pyequihash: init at 1.0.10 Signed-off-by: Ethan Carter Edwards --- .../python-modules/pyequihash/default.nix | 50 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 52 insertions(+) create mode 100644 pkgs/development/python-modules/pyequihash/default.nix diff --git a/pkgs/development/python-modules/pyequihash/default.nix b/pkgs/development/python-modules/pyequihash/default.nix new file mode 100644 index 000000000000..54b033d2b89e --- /dev/null +++ b/pkgs/development/python-modules/pyequihash/default.nix @@ -0,0 +1,50 @@ +{ + lib, + stdenv, + buildPythonPackage, + equihash, + setuptools, + python, +}: + +buildPythonPackage rec { + pname = "pyequihash"; + pyproject = true; + + inherit (equihash) + version + src + ; + + sourceRoot = "${src.name}/python"; + + postPatch = + let + soext = stdenv.hostPlatform.extensions.sharedLibrary; + in + '' + substituteInPlace ./equihash/__init__.py --replace-fail \ + "ctypes.util.find_library('equihash') or ctypes.util.find_library('libequihash')" "'${lib.getLib equihash}/lib/libequihash${soext}'" + ''; + + build-system = [ setuptools ]; + + pythonImportsCheck = [ "equihash" ]; + + checkPhase = '' + runHook preCheck + + ${python.interpreter} test.py + + runHook postCheck + ''; + + meta = { + inherit (equihash.meta) + description + homepage + license + teams + ; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 19828a5367b9..63f34f2743bf 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -12777,6 +12777,8 @@ self: super: with self; { pyepsg = callPackage ../development/python-modules/pyepsg { }; + pyequihash = callPackage ../development/python-modules/pyequihash { }; + pyerfa = callPackage ../development/python-modules/pyerfa { }; pyeverlights = callPackage ../development/python-modules/pyeverlights { };