diff --git a/pkgs/development/python-modules/intbitset/default.nix b/pkgs/development/python-modules/intbitset/default.nix new file mode 100644 index 000000000000..db98be8276c5 --- /dev/null +++ b/pkgs/development/python-modules/intbitset/default.nix @@ -0,0 +1,44 @@ +{ lib +, fetchPypi +, buildPythonPackage +, six +, nose +}: +buildPythonPackage rec { + pname = "intbitset"; + version = "2.4.1"; + + src = fetchPypi { + inherit pname version; + sha256 = "44bca80b8cc702d5a56f0686f2bb5e028ab4d0c2c1761941589d46b7fa2c701c"; + }; + + patches = [ + # fixes compilation on aarch64 and determinism (uses -march=core2 and + # -mtune=native) + ./remove-impure-tuning.patch + ]; + + propagatedBuildInputs = [ + six + ]; + + checkInputs = [ + nose + ]; + + checkPhase = '' + nosetests + ''; + + pythonImportsCheck = [ + "intbitset" + ]; + + meta = with lib; { + description = "C-based extension implementing fast integer bit sets"; + homepage = "https://github.com/inveniosoftware/intbitset"; + license = licenses.lgpl3Only; + maintainers = teams.determinatesystems.members; + }; +} diff --git a/pkgs/development/python-modules/intbitset/remove-impure-tuning.patch b/pkgs/development/python-modules/intbitset/remove-impure-tuning.patch new file mode 100644 index 000000000000..4747b87b806c --- /dev/null +++ b/pkgs/development/python-modules/intbitset/remove-impure-tuning.patch @@ -0,0 +1,24 @@ +From 2ea60bdf4d7b0344fc6ff5c97c675842fedccfa8 Mon Sep 17 00:00:00 2001 +From: Cole Helbling +Date: Fri, 23 Apr 2021 09:02:22 -0700 +Subject: [PATCH] setup.py: remove impure tuning + +--- + setup.py | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/setup.py b/setup.py +index 7840022..3922aa5 100644 +--- a/setup.py ++++ b/setup.py +@@ -48,7 +48,6 @@ setup( + ext_modules=[ + Extension("intbitset", + ["intbitset/intbitset.c", "intbitset/intbitset_impl.c"], +- extra_compile_args=['-O3', '-march=core2', '-mtune=native'] + # For debug -> '-ftree-vectorizer-verbose=2' + ) + ], +-- +2.30.1 + diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 7488dfd8fd36..5afd7a841b47 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -3395,6 +3395,8 @@ in { intake = callPackage ../development/python-modules/intake { }; + intbitset = callPackage ../development/python-modules/intbitset { }; + intelhex = callPackage ../development/python-modules/intelhex { }; internetarchive = callPackage ../development/python-modules/internetarchive { };