From 9bb2ef14aad39acaa225705fd2c7b7f639e37e56 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Fri, 27 May 2022 22:26:46 +0200 Subject: [PATCH] pycryptodome,pycryptodomex: execute tests, unify --- .../python-modules/pycryptodome/default.nix | 31 ++++++++++++++----- .../default.nix => pycryptodome/vectors.nix} | 0 .../python-modules/pycryptodomex/default.nix | 26 ++++------------ pkgs/top-level/python-aliases.nix | 1 + pkgs/top-level/python-packages.nix | 2 -- 5 files changed, 30 insertions(+), 30 deletions(-) rename pkgs/development/python-modules/{pycryptodome-test-vectors/default.nix => pycryptodome/vectors.nix} (100%) diff --git a/pkgs/development/python-modules/pycryptodome/default.nix b/pkgs/development/python-modules/pycryptodome/default.nix index e3e4e6c3a03a..ef7b571170f3 100644 --- a/pkgs/development/python-modules/pycryptodome/default.nix +++ b/pkgs/development/python-modules/pycryptodome/default.nix @@ -1,28 +1,43 @@ { lib , buildPythonPackage -, fetchPypi -, pycryptodome-test-vectors +, callPackage +, fetchFromGitHub +, cffi +, gmp }: +let + test-vectors = callPackage ./vectors.nix { }; +in buildPythonPackage rec { pname = "pycryptodome"; version = "3.14.1"; format = "setuptools"; - src = fetchPypi { - inherit pname version; - hash = "sha256-4E5Ap/jBZpGVU2o3l53YfaLDLb3HPW/jXwB3sMF8gDs="; + src = fetchFromGitHub { + owner = "Legrandin"; + repo = "pycryptodome"; + rev = "v${version}"; + hash = "sha256-0GjpKNyALe2Q1R3dEjeAEn6E8hxYDic/vbN1YkVaUfs="; }; + postPatch = '' + substituteInPlace lib/Crypto/Math/_IntegerGMP.py \ + --replace 'load_lib("gmp"' 'load_lib("${gmp}/lib/libgmp.so.10"' + ''; + + checkInputs = [ + test-vectors + ]; + pythonImportsCheck = [ "Crypto" ]; meta = with lib; { - description = "Python Cryptography Toolkit"; - homepage = "https://www.pycryptodome.org/"; + description = "Self-contained cryptographic library"; + homepage = "https://github.com/Legrandin/pycryptodome"; license = with licenses; [ bsd2 /* and */ asl20 ]; maintainers = with maintainers; [ fab ]; - platforms = platforms.unix; }; } diff --git a/pkgs/development/python-modules/pycryptodome-test-vectors/default.nix b/pkgs/development/python-modules/pycryptodome/vectors.nix similarity index 100% rename from pkgs/development/python-modules/pycryptodome-test-vectors/default.nix rename to pkgs/development/python-modules/pycryptodome/vectors.nix diff --git a/pkgs/development/python-modules/pycryptodomex/default.nix b/pkgs/development/python-modules/pycryptodomex/default.nix index 934c021ed909..9d476ea4728c 100644 --- a/pkgs/development/python-modules/pycryptodomex/default.nix +++ b/pkgs/development/python-modules/pycryptodomex/default.nix @@ -1,27 +1,13 @@ -{ lib -, buildPythonPackage -, fetchPypi -, pycryptodome-test-vectors -}: +{ pycryptodome }: -buildPythonPackage rec { +(pycryptodome.overrideAttrs (oldAttrs: rec { pname = "pycryptodomex"; - version = "3.14.1"; - format = "setuptools"; - src = fetchPypi { - inherit pname version; - hash = "sha256-LOdu0Agf1qyMdO3HW50U7KIGQXOveYQ8JPpiVzJjwfI="; - }; + postPatch = '' + touch .separate_namespace + ''; pythonImportsCheck = [ "Cryptodome" ]; - - meta = with lib; { - description = "A self-contained cryptographic library for Python"; - homepage = "https://www.pycryptodome.org"; - license = with licenses; [ bsd2 /* and */ asl20 ]; - maintainers = with maintainers; [ fab ]; - }; -} +})) diff --git a/pkgs/top-level/python-aliases.nix b/pkgs/top-level/python-aliases.nix index 2018b1b8b994..de20bc861c83 100644 --- a/pkgs/top-level/python-aliases.nix +++ b/pkgs/top-level/python-aliases.nix @@ -108,6 +108,7 @@ mapAliases ({ pur = throw "pur has been renamed to pkgs.pur"; # added 2021-11-08 pyGtkGlade = throw "Glade support for pygtk has been removed"; # added 2022-01-15 pycallgraph = throw "pycallgraph has been removed, it was using setuptools 2to3 translation feature, which has been removed in setuptools 58"; # added 2022-01-18 + pycryptodome-test-vectors = throw "pycryptodome-test-vectors has been removed because it is an internal package to pycryptodome"; # added 2022-05-28 pylibgen = throw "pylibgen is unmaintained upstreamed, and removed from nixpkgs"; # added 2020-06-20 pymssql = throw "pymssql has been abandoned upstream."; # added 2020-05-04 pyreadability = readability-lxml; # added 2022-05-24 diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 188e6c11b5e4..646a47e91496 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -7109,8 +7109,6 @@ in { pycryptodome = callPackage ../development/python-modules/pycryptodome { }; - pycryptodome-test-vectors = callPackage ../development/python-modules/pycryptodome-test-vectors { }; - pycryptodomex = callPackage ../development/python-modules/pycryptodomex { }; pyct = callPackage ../development/python-modules/pyct { };