Unverified Commit 7e8b0bac authored by Gaétan Lepage's avatar Gaétan Lepage Committed by GitHub
Browse files

python3Packages.pyequihash: init at 1.0.10 (#432985)

parents 725451f3 2fca0f4f
Loading
Loading
Loading
Loading
+36 −0
Original line number Diff line number Diff line
{
  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;
  };
})
+50 −0
Original line number Diff line number Diff line
{
  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
      ;
  };
}
+2 −0
Original line number Diff line number Diff line
@@ -12823,6 +12823,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 { };