From b5a2cf21230b4df88642b15439530f8fb1f5f025 Mon Sep 17 00:00:00 2001 From: Cole Helbling Date: Wed, 21 Apr 2021 17:32:57 -0700 Subject: [PATCH 01/19] python3.pkgs.dparse: add missing dependency This fixes builds on aarch64. --- .../python-modules/dparse/default.nix | 27 ++++++++++++++++--- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/pkgs/development/python-modules/dparse/default.nix b/pkgs/development/python-modules/dparse/default.nix index 6433e0d17a72..59fed703e227 100644 --- a/pkgs/development/python-modules/dparse/default.nix +++ b/pkgs/development/python-modules/dparse/default.nix @@ -1,4 +1,12 @@ -{ lib, buildPythonPackage, fetchPypi, isPy27, pytest, toml, pyyaml }: +{ lib +, buildPythonPackage +, fetchPypi +, isPy27 +, toml +, pyyaml +, packaging +, pytestCheckHook +}: buildPythonPackage rec { pname = "dparse"; @@ -10,13 +18,24 @@ buildPythonPackage rec { sha256 = "a1b5f169102e1c894f9a7d5ccf6f9402a836a5d24be80a986c7ce9eaed78f367"; }; - propagatedBuildInputs = [ toml pyyaml ]; + propagatedBuildInputs = [ + toml + pyyaml + packaging + ]; - checkInputs = [ pytest ]; + checkInputs = [ + pytestCheckHook + ]; + + disabledTests = [ + # requires unpackaged dependency pipenv + "test_update_pipfile" + ]; meta = with lib; { description = "A parser for Python dependency files"; - homepage = "https://github.com/pyupio/safety"; + homepage = "https://github.com/pyupio/dparse"; license = licenses.mit; maintainers = with maintainers; [ thomasdesr ]; }; From 20d7a471d1f05d502fac233bea2199ed36672ab0 Mon Sep 17 00:00:00 2001 From: Cole Helbling Date: Mon, 19 Apr 2021 20:25:09 -0700 Subject: [PATCH 02/19] python3.pkgs.intbitset: init at 2.4.1 --- .../python-modules/intbitset/default.nix | 44 +++++++++++++++++++ .../intbitset/remove-impure-tuning.patch | 24 ++++++++++ pkgs/top-level/python-packages.nix | 2 + 3 files changed, 70 insertions(+) create mode 100644 pkgs/development/python-modules/intbitset/default.nix create mode 100644 pkgs/development/python-modules/intbitset/remove-impure-tuning.patch 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 { }; From 1afb06b2da70cce6975a28554e46c3f439abe1f7 Mon Sep 17 00:00:00 2001 From: Cole Helbling Date: Mon, 19 Apr 2021 20:28:30 -0700 Subject: [PATCH 03/19] python3.pkgs.saneyaml: init at 0.5.2 --- .../python-modules/saneyaml/default.nix | 41 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 43 insertions(+) create mode 100644 pkgs/development/python-modules/saneyaml/default.nix diff --git a/pkgs/development/python-modules/saneyaml/default.nix b/pkgs/development/python-modules/saneyaml/default.nix new file mode 100644 index 000000000000..e92e464a9c91 --- /dev/null +++ b/pkgs/development/python-modules/saneyaml/default.nix @@ -0,0 +1,41 @@ +{ lib +, fetchPypi +, buildPythonPackage +, setuptools-scm +, pyyaml +, pytestCheckHook +}: +buildPythonPackage rec { + pname = "saneyaml"; + version = "0.5.2"; + + src = fetchPypi { + inherit pname version; + sha256 = "d6074f1959041342ab41d74a6f904720ffbcf63c94467858e0e22e17e3c43d41"; + }; + + dontConfigure = true; + + nativeBuildInputs = [ + setuptools-scm + ]; + + propagatedBuildInputs = [ + pyyaml + ]; + + checkInputs = [ + pytestCheckHook + ]; + + pythonImportsCheck = [ + "saneyaml" + ]; + + meta = with lib; { + description = "A PyYaml wrapper with sane behaviour to read and write readable YAML safely"; + homepage = "https://github.com/nexB/saneyaml"; + license = licenses.asl20; + maintainers = teams.determinatesystems.members; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 5afd7a841b47..adf96c1cff1c 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -7616,6 +7616,8 @@ in { inherit (pkgs) sane-backends; }; + saneyaml = callPackage ../development/python-modules/saneyaml { }; + sampledata = callPackage ../development/python-modules/sampledata { }; samplerate = callPackage ../development/python-modules/samplerate { }; From 68f660dc197c463681fc11b44a32370b30f5e0e3 Mon Sep 17 00:00:00 2001 From: Cole Helbling Date: Mon, 19 Apr 2021 20:30:17 -0700 Subject: [PATCH 04/19] python3.pkgs.commoncode: init at 21.1.21 --- .../python-modules/commoncode/default.nix | 55 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 57 insertions(+) create mode 100644 pkgs/development/python-modules/commoncode/default.nix diff --git a/pkgs/development/python-modules/commoncode/default.nix b/pkgs/development/python-modules/commoncode/default.nix new file mode 100644 index 000000000000..dfb82cccea3a --- /dev/null +++ b/pkgs/development/python-modules/commoncode/default.nix @@ -0,0 +1,55 @@ +{ lib +, fetchPypi +, buildPythonPackage +, setuptools-scm +, click +, requests +, attrs +, intbitset +, saneyaml +, text-unidecode +, beautifulsoup4 +, pytestCheckHook +, pytest-xdist +}: +buildPythonPackage rec { + pname = "commoncode"; + version = "21.1.21"; + + src = fetchPypi { + inherit pname version; + sha256 = "6e2daa34fac2d91307b23d9df5f01a6168fdffb12bf5d161bd6776bade29b479"; + }; + + dontConfigure = true; + + nativeBuildInputs = [ + setuptools-scm + ]; + + propagatedBuildInputs = [ + click + requests + attrs + intbitset + saneyaml + text-unidecode + beautifulsoup4 + ]; + + checkInputs = [ + pytestCheckHook + pytest-xdist + ]; + + pythonImportsCheck = [ + "commoncode" + ]; + + meta = with lib; { + description = "A set of common utilities, originally split from ScanCode"; + homepage = "https://github.com/nexB/commoncode"; + license = licenses.asl20; + maintainers = teams.determinatesystems.members; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index adf96c1cff1c..d243e5f3e2ab 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1513,6 +1513,8 @@ in { commandparse = callPackage ../development/python-modules/commandparse { }; + commoncode = callPackage ../development/python-modules/commoncode { }; + CommonMark = callPackage ../development/python-modules/commonmark { }; compiledb = callPackage ../development/python-modules/compiledb { }; From f72f9ff62489c0438ee8196ec9a9ec7554cd271a Mon Sep 17 00:00:00 2001 From: Cole Helbling Date: Mon, 19 Apr 2021 20:42:35 -0700 Subject: [PATCH 05/19] python3.pkgs.plugincode: init at 21.1.21 --- .../python-modules/plugincode/default.nix | 47 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 49 insertions(+) create mode 100644 pkgs/development/python-modules/plugincode/default.nix diff --git a/pkgs/development/python-modules/plugincode/default.nix b/pkgs/development/python-modules/plugincode/default.nix new file mode 100644 index 000000000000..7270685f41b1 --- /dev/null +++ b/pkgs/development/python-modules/plugincode/default.nix @@ -0,0 +1,47 @@ +{ lib +, fetchPypi +, buildPythonPackage +, setuptools-scm +, click +, commoncode +, pluggy +, pytestCheckHook +, pytest-xdist +}: +buildPythonPackage rec { + pname = "plugincode"; + version = "21.1.21"; + + src = fetchPypi { + inherit pname version; + sha256 = "97b5a2c96f0365c80240be103ecd86411c68b11a16f137913cbea9129c54907a"; + }; + + dontConfigure = true; + + nativeBuildInputs = [ + setuptools-scm + ]; + + propagatedBuildInputs = [ + click + commoncode + pluggy + ]; + + checkInputs = [ + pytestCheckHook + pytest-xdist + ]; + + pythonImportsCheck = [ + "plugincode" + ]; + + meta = with lib; { + description = "A library that provides plugin functionality for ScanCode toolkit"; + homepage = "https://github.com/nexB/plugincode"; + license = licenses.asl20; + maintainers = teams.determinatesystems.members; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index d243e5f3e2ab..7b7accd9b5be 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -5329,6 +5329,8 @@ in { pluggy = callPackage ../development/python-modules/pluggy { }; + plugincode = callPackage ../development/python-modules/plugincode { }; + pluginbase = callPackage ../development/python-modules/pluginbase { }; plugnplay = callPackage ../development/python-modules/plugnplay { }; From 44559894241d88d6f9f696c27310def847a38c52 Mon Sep 17 00:00:00 2001 From: Cole Helbling Date: Mon, 19 Apr 2021 20:43:45 -0700 Subject: [PATCH 06/19] python3.pkgs.typecode: init at 21.2.24 --- .../python-modules/typecode/default.nix | 53 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 55 insertions(+) create mode 100644 pkgs/development/python-modules/typecode/default.nix diff --git a/pkgs/development/python-modules/typecode/default.nix b/pkgs/development/python-modules/typecode/default.nix new file mode 100644 index 000000000000..c1208193f017 --- /dev/null +++ b/pkgs/development/python-modules/typecode/default.nix @@ -0,0 +1,53 @@ +{ lib +, fetchPypi +, buildPythonPackage +, setuptools-scm +, attrs +, pdfminer +, commoncode +, plugincode +, binaryornot +, typecode-libmagic +, pytestCheckHook +, pytest-xdist +}: +buildPythonPackage rec { + pname = "typecode"; + version = "21.2.24"; + + src = fetchPypi { + inherit pname version; + sha256 = "eaac8aee0b9c6142ad44671252ba00748202d218347d1c0451ce6cd76561e01b"; + }; + + dontConfigure = true; + + nativeBuildInputs = [ + setuptools-scm + ]; + + propagatedBuildInputs = [ + attrs + pdfminer + commoncode + plugincode + binaryornot + typecode-libmagic + ]; + + checkInputs = [ + pytestCheckHook + pytest-xdist + ]; + + pythonImportsCheck = [ + "typecode" + ]; + + meta = with lib; { + description = "Comprehensive filetype and mimetype detection using libmagic and Pygments"; + homepage = "https://github.com/nexB/typecode"; + license = licenses.asl20; + maintainers = teams.determinatesystems.members; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 7b7accd9b5be..607b62df10f3 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -8722,6 +8722,8 @@ in { txtorcon = callPackage ../development/python-modules/txtorcon { }; + typecode = callPackage ../development/python-modules/typecode { }; + typed-ast = callPackage ../development/python-modules/typed-ast { }; typeguard = callPackage ../development/python-modules/typeguard { }; From 6079757a7a6e03e7899ad845ebea2e35395d7566 Mon Sep 17 00:00:00 2001 From: Cole Helbling Date: Mon, 19 Apr 2021 20:48:45 -0700 Subject: [PATCH 07/19] python3.pkgs.gemfileparser: init at 0.8.0 --- .../python-modules/gemfileparser/default.nix | 29 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 ++ 2 files changed, 31 insertions(+) create mode 100644 pkgs/development/python-modules/gemfileparser/default.nix diff --git a/pkgs/development/python-modules/gemfileparser/default.nix b/pkgs/development/python-modules/gemfileparser/default.nix new file mode 100644 index 000000000000..8aa4b8192319 --- /dev/null +++ b/pkgs/development/python-modules/gemfileparser/default.nix @@ -0,0 +1,29 @@ +{ lib +, fetchPypi +, buildPythonPackage +, pytestCheckHook +}: +buildPythonPackage rec { + pname = "gemfileparser"; + version = "0.8.0"; + + src = fetchPypi { + inherit pname version; + sha256 = "839592e49ea3fd985cec003ef58f8e77009a69ed7644a0c0acc94cf6dd9b8d6e"; + }; + + checkInputs = [ + pytestCheckHook + ]; + + pythonImportsCheck = [ + "gemfileparser" + ]; + + meta = with lib; { + description = "A library to parse Ruby Gemfile, .gemspec and Cocoapod .podspec file using Python"; + homepage = "https://github.com/gemfileparser/gemfileparser"; + license = with licenses; [ gpl3Plus /* or */ mit ]; + maintainers = teams.determinatesystems.members; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 607b62df10f3..15fe68b01a5f 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -2692,6 +2692,8 @@ in { geeknote = callPackage ../development/python-modules/geeknote { }; + gemfileparser = callPackage ../development/python-modules/gemfileparser { }; + genanki = callPackage ../development/python-modules/genanki { }; genome-collector = callPackage ../development/python-modules/genome-collector { }; From 2456c3524bb5990ace8f32ac5287b9c4a2626a49 Mon Sep 17 00:00:00 2001 From: Cole Helbling Date: Mon, 19 Apr 2021 20:58:57 -0700 Subject: [PATCH 08/19] python3.pkgs.banal: init at 1.0.6 --- .../python-modules/banal/default.nix | 27 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 ++ 2 files changed, 29 insertions(+) create mode 100644 pkgs/development/python-modules/banal/default.nix diff --git a/pkgs/development/python-modules/banal/default.nix b/pkgs/development/python-modules/banal/default.nix new file mode 100644 index 000000000000..793de7d3a765 --- /dev/null +++ b/pkgs/development/python-modules/banal/default.nix @@ -0,0 +1,27 @@ +{ lib +, fetchPypi +, buildPythonPackage +}: +buildPythonPackage rec { + pname = "banal"; + version = "1.0.6"; + + src = fetchPypi { + inherit pname version; + sha256 = "2fe02c9305f53168441948f4a03dfbfa2eacc73db30db4a93309083cb0e250a5"; + }; + + # no tests + doCheck = false; + + pythonImportsCheck = [ + "banal" + ]; + + meta = with lib; { + description = "Commons of banal micro-functions for Python"; + homepage = "https://github.com/pudo/banal"; + license = licenses.mit; + maintainers = teams.determinatesystems.members; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 15fe68b01a5f..9eee5d5e35d8 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -941,6 +941,8 @@ in { bacpypes = callPackage ../development/python-modules/bacpypes { }; + banal = callPackage ../development/python-modules/banal { }; + bandit = callPackage ../development/python-modules/bandit { }; bap = callPackage ../development/python-modules/bap { From 3eb8428c86b00de2b7f51d7c048aea9c5a43a040 Mon Sep 17 00:00:00 2001 From: Cole Helbling Date: Mon, 19 Apr 2021 21:00:22 -0700 Subject: [PATCH 09/19] python3.pkgs.normality: init at 2.1.3 --- .../python-modules/normality/default.nix | 42 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 44 insertions(+) create mode 100644 pkgs/development/python-modules/normality/default.nix diff --git a/pkgs/development/python-modules/normality/default.nix b/pkgs/development/python-modules/normality/default.nix new file mode 100644 index 000000000000..ece47afad4e2 --- /dev/null +++ b/pkgs/development/python-modules/normality/default.nix @@ -0,0 +1,42 @@ +{ lib +, fetchFromGitHub +, buildPythonPackage +, text-unidecode +, chardet +, banal +, PyICU +, pytestCheckHook +}: +buildPythonPackage rec { + pname = "normality"; + version = "2.1.3"; + + src = fetchFromGitHub { + owner = "pudo"; + repo = "normality"; + rev = version; + sha256 = "WvpMs02vBGnCSPkxo6r6g4Di2fKkUr2SsBflTBxlhkU="; + }; + + propagatedBuildInputs = [ + text-unidecode + chardet + banal + PyICU + ]; + + checkInputs = [ + pytestCheckHook + ]; + + pythonImportsCheck = [ + "normality" + ]; + + meta = with lib; { + description = "Micro-library to normalize text strings"; + homepage = "https://github.com/pudo/normality"; + license = licenses.mit; + maintainers = teams.determinatesystems.members; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 9eee5d5e35d8..df4a87049cb7 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -4749,6 +4749,8 @@ in { noiseprotocol = callPackage ../development/python-modules/noiseprotocol { }; + normality = callPackage ../development/python-modules/normality { }; + nose2 = callPackage ../development/python-modules/nose2 { }; nose = callPackage ../development/python-modules/nose { }; From fceea030c9c67743ca24f70547daca91eb68bc21 Mon Sep 17 00:00:00 2001 From: Cole Helbling Date: Mon, 19 Apr 2021 21:03:00 -0700 Subject: [PATCH 10/19] python3.pkgs.fingerprints: init at 1.0.3 --- .../python-modules/fingerprints/default.nix | 42 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 44 insertions(+) create mode 100644 pkgs/development/python-modules/fingerprints/default.nix diff --git a/pkgs/development/python-modules/fingerprints/default.nix b/pkgs/development/python-modules/fingerprints/default.nix new file mode 100644 index 000000000000..ea68c6fa8d4a --- /dev/null +++ b/pkgs/development/python-modules/fingerprints/default.nix @@ -0,0 +1,42 @@ +{ lib +, fetchPypi +, buildPythonPackage +, normality +, mypy +, coverage +, nose +}: +buildPythonPackage rec { + pname = "fingerprints"; + version = "1.0.3"; + + src = fetchPypi { + inherit pname version; + sha256 = "cafd5f92b5b91e4ce34af2b954da9c05b448a4778947785abb19a14f363352d0"; + }; + + propagatedBuildInputs = [ + normality + ]; + + checkInputs = [ + mypy + coverage + nose + ]; + + checkPhase = '' + nosetests + ''; + + pythonImportsCheck = [ + "fingerprints" + ]; + + meta = with lib; { + description = "A library to generate entity fingerprints"; + homepage = "https://github.com/alephdata/fingerprints"; + license = licenses.mit; + maintainers = teams.determinatesystems.members; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index df4a87049cb7..f44d0035ce8b 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -2409,6 +2409,8 @@ in { finalfusion = callPackage ../development/python-modules/finalfusion { }; + fingerprints = callPackage ../development/python-modules/fingerprints { }; + fints = callPackage ../development/python-modules/fints { }; fiona = callPackage ../development/python-modules/fiona { }; From 3eda68a4762bf38f578683bf80717d28a20a0e24 Mon Sep 17 00:00:00 2001 From: Cole Helbling Date: Mon, 19 Apr 2021 21:07:22 -0700 Subject: [PATCH 11/19] python3.pkgs.spdx-tools: init at 0.6.1 --- .../python-modules/spdx-tools/default.nix | 54 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 56 insertions(+) create mode 100644 pkgs/development/python-modules/spdx-tools/default.nix diff --git a/pkgs/development/python-modules/spdx-tools/default.nix b/pkgs/development/python-modules/spdx-tools/default.nix new file mode 100644 index 000000000000..53d6d51d2d28 --- /dev/null +++ b/pkgs/development/python-modules/spdx-tools/default.nix @@ -0,0 +1,54 @@ +{ lib +, buildPythonPackage +, fetchPypi +, fetchpatch +, six +, pyyaml +, rdflib +, ply +, xmltodict +, pytestCheckHook +, pythonAtLeast +}: +buildPythonPackage rec { + pname = "spdx-tools"; + version = "0.6.1"; + + src = fetchPypi { + inherit pname version; + sha256 = "9a1aaae051771e865705dd2fd374c3f73d0ad595c1056548466997551cbd7a81"; + }; + + patches = lib.optionals (pythonAtLeast "3.9") [ + # https://github.com/spdx/tools-python/pull/159 + # fixes tests on Python 3.9 + (fetchpatch { + name = "drop-encoding-argument.patch"; + url = "https://github.com/spdx/tools-python/commit/6c8b9a852f8a787122c0e2492126ee8aa52acff0.patch"; + sha256 = "RhvLhexsQRjqYqJg10SAM53RsOW+R93G+mns8C9g5E8="; + }) + ]; + + propagatedBuildInputs = [ + six + pyyaml + rdflib + ply + xmltodict + ]; + + checkInputs = [ + pytestCheckHook + ]; + + pythonImportsCheck = [ + "spdx" + ]; + + meta = with lib; { + description = "SPDX parser and tools"; + homepage = "https://github.com/spdx/tools-python"; + license = licenses.asl20; + maintainers = teams.determinatesystems.members; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index f44d0035ce8b..4d59c3618fac 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -8054,6 +8054,8 @@ in { sparse = callPackage ../development/python-modules/sparse { }; + spdx-tools = callPackage ../development/python-modules/spdx-tools { }; + speaklater = callPackage ../development/python-modules/speaklater { }; spectral-cube = callPackage ../development/python-modules/spectral-cube { }; From 5b7ba25dc918968ffd92399ef94b0cdb7ba3b851 Mon Sep 17 00:00:00 2001 From: Cole Helbling Date: Mon, 19 Apr 2021 21:12:03 -0700 Subject: [PATCH 12/19] python3.pkgs.urlpy: init at 0.5 --- .../python-modules/urlpy/default.nix | 44 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 46 insertions(+) create mode 100644 pkgs/development/python-modules/urlpy/default.nix diff --git a/pkgs/development/python-modules/urlpy/default.nix b/pkgs/development/python-modules/urlpy/default.nix new file mode 100644 index 000000000000..cd0e028c50c0 --- /dev/null +++ b/pkgs/development/python-modules/urlpy/default.nix @@ -0,0 +1,44 @@ +{ lib +, fetchFromGitHub +, buildPythonPackage +, publicsuffix2 +, pytestCheckHook +, pythonAtLeast +}: +buildPythonPackage rec { + pname = "urlpy"; + version = "0.5.0"; + + src = fetchFromGitHub { + owner = "nexB"; + repo = "urlpy"; + rev = "v${version}"; + sha256 = "962jLyx+/GS8wrDPzG2ONnHvtUG5Pqe6l1Z5ml63Cmg="; + }; + + dontConfigure = true; + + propagatedBuildInputs = [ + publicsuffix2 + ]; + + checkInputs = [ + pytestCheckHook + ]; + + disabledTests = lib.optionals (pythonAtLeast "3.9") [ + # Fails with "AssertionError: assert 'unknown' == ''" + "test_unknown_protocol" + ]; + + pythonImportsCheck = [ + "urlpy" + ]; + + meta = with lib; { + description = "Simple URL parsing, canonicalization and equivalence"; + homepage = "https://github.com/nexB/urlpy"; + license = licenses.mit; + maintainers = teams.determinatesystems.members; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 4d59c3618fac..ab830bffad66 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -8862,6 +8862,8 @@ in { else callPackage ../development/python-modules/urllib3/2.nix { }; + urlpy = callPackage ../development/python-modules/urlpy { }; + urwid = callPackage ../development/python-modules/urwid { }; urwidtrees = callPackage ../development/python-modules/urwidtrees { }; From c1a7235f7366b191c0cb14bd66db042a84325b44 Mon Sep 17 00:00:00 2001 From: Cole Helbling Date: Mon, 19 Apr 2021 21:22:36 -0700 Subject: [PATCH 13/19] python3.pkgs.debian-inspector: init at 0.9.10 --- .../debian-inspector/default.nix | 53 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 55 insertions(+) create mode 100644 pkgs/development/python-modules/debian-inspector/default.nix diff --git a/pkgs/development/python-modules/debian-inspector/default.nix b/pkgs/development/python-modules/debian-inspector/default.nix new file mode 100644 index 000000000000..8064a35ffee0 --- /dev/null +++ b/pkgs/development/python-modules/debian-inspector/default.nix @@ -0,0 +1,53 @@ +{ lib +, buildPythonPackage +, fetchPypi +, pythonAtLeast +, fetchpatch +, chardet +, attrs +, commoncode +, pytestCheckHook +}: +buildPythonPackage rec { + pname = "debian-inspector"; + version = "0.9.10"; + + src = fetchPypi { + pname = "debian_inspector"; + inherit version; + sha256 = "fd29a02b925a4de0d7bb00c29bb05f19715a304bc10ef7b9ad06a93893dc3a8c"; + }; + + patches = lib.optionals (pythonAtLeast "3.9") [ + # https://github.com/nexB/debian-inspector/pull/15 + # fixes tests on Python 3.9 + (fetchpatch { + name = "drop-encoding-argument.patch"; + url = "https://github.com/nexB/debian-inspector/commit/ff991cdb788671ca9b81f1602b70a439248fd1aa.patch"; + sha256 = "bm3k7vb9+Rm6+YicQEeDOOUVut8xpDaNavG+t2oLZkI="; + }) + ]; + + dontConfigure = true; + + propagatedBuildInputs = [ + chardet + attrs + commoncode + ]; + + checkInputs = [ + pytestCheckHook + ]; + + pythonImportsCheck = [ + "debian_inspector" + ]; + + meta = with lib; { + description = "Utilities to parse Debian package, copyright and control files"; + homepage = "https://github.com/nexB/debian-inspector"; + license = with licenses; [ asl20 bsd3 mit ]; + maintainers = teams.determinatesystems.members; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index ab830bffad66..c59b5a315688 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1781,6 +1781,8 @@ in { debian = callPackage ../development/python-modules/debian { }; + debian-inspector = callPackage ../development/python-modules/debian-inspector { }; + debts = callPackage ../development/python-modules/debts { }; debugpy = callPackage ../development/python-modules/debugpy { }; From 4c77db5984d0fedfb796e30b47f2b350423c79f6 Mon Sep 17 00:00:00 2001 From: Cole Helbling Date: Mon, 19 Apr 2021 21:26:49 -0700 Subject: [PATCH 14/19] python3.pkgs.extractcode: init at 21.2.24 --- .../python-modules/extractcode/default.nix | 60 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 62 insertions(+) create mode 100644 pkgs/development/python-modules/extractcode/default.nix diff --git a/pkgs/development/python-modules/extractcode/default.nix b/pkgs/development/python-modules/extractcode/default.nix new file mode 100644 index 000000000000..481324d72923 --- /dev/null +++ b/pkgs/development/python-modules/extractcode/default.nix @@ -0,0 +1,60 @@ +{ lib +, fetchPypi +, buildPythonPackage +, setuptools-scm +, typecode +, patch +, extractcode-libarchive +, extractcode-7z +, pytestCheckHook +, pytest-xdist +}: +buildPythonPackage rec { + pname = "extractcode"; + version = "21.2.24"; + + src = fetchPypi { + inherit pname version; + sha256 = "f91638dbf523b80df90ac184c25d5cd1ea24cac53f67a6bb7d7b389867e0744b"; + }; + + dontConfigure = true; + + nativeBuildInputs = [ + setuptools-scm + ]; + + propagatedBuildInputs = [ + typecode + patch + extractcode-libarchive + extractcode-7z + ]; + + checkInputs = [ + pytestCheckHook + pytest-xdist + ]; + + # cli test tests the cli which we can't do until after install + disabledTestPaths = [ + "tests/test_extractcode_cli.py" + ]; + + # test_uncompress_* wants to use a binary to extract instead of the provided library + disabledTests = [ + "test_uncompress_lz4_basic" + "test_extract_tarlz4_basic" + ]; + + pythonImportsCheck = [ + "extractcode" + ]; + + meta = with lib; { + description = "A mostly universal archive extractor using z7zip, libarchve, other libraries and the Python standard library for reliable archive extraction"; + homepage = "https://github.com/nexB/extractcode"; + license = licenses.asl20; + maintainers = teams.determinatesystems.members; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index c59b5a315688..dbd33078456e 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -2301,6 +2301,8 @@ in { exrex = callPackage ../development/python-modules/exrex { }; + extractcode = callPackage ../development/python-modules/extractcode { }; + extras = callPackage ../development/python-modules/extras { }; eyeD3 = callPackage ../development/python-modules/eyed3 { }; From 157f3eae602f91b497fb0b28e1889cf7729c8edf Mon Sep 17 00:00:00 2001 From: Cole Helbling Date: Mon, 19 Apr 2021 22:00:56 -0700 Subject: [PATCH 15/19] python3.pkgs.pymaven-patch: init at 0.3.0 --- .../python-modules/pymaven-patch/default.nix | 44 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 46 insertions(+) create mode 100644 pkgs/development/python-modules/pymaven-patch/default.nix diff --git a/pkgs/development/python-modules/pymaven-patch/default.nix b/pkgs/development/python-modules/pymaven-patch/default.nix new file mode 100644 index 000000000000..e3a70ede0602 --- /dev/null +++ b/pkgs/development/python-modules/pymaven-patch/default.nix @@ -0,0 +1,44 @@ +{ lib +, fetchPypi +, buildPythonPackage +, pbr +, requests +, six +, lxml +, pytestCheckHook +, pytest-cov +, mock +}: +buildPythonPackage rec { + pname = "pymaven-patch"; + version = "0.3.0"; + + src = fetchPypi { + inherit pname version; + sha256 = "d55b29bd4aeef3510904a12885eb6856b5bd48f3e29925a123461429f9ad85c0"; + }; + + propagatedBuildInputs = [ + pbr + requests + six + lxml + ]; + + checkInputs = [ + pytestCheckHook + pytest-cov + mock + ]; + + pythonImportsCheck = [ + "pymaven" + ]; + + meta = with lib; { + description = "Python access to maven"; + homepage = "https://github.com/nexB/pymaven"; + license = licenses.asl20; + maintainers = teams.determinatesystems.members; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index dbd33078456e..7dbd6893ef69 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -6112,6 +6112,8 @@ in { pymatgen-lammps = callPackage ../development/python-modules/pymatgen-lammps { }; + pymaven-patch = callPackage ../development/python-modules/pymaven-patch { }; + pymavlink = callPackage ../development/python-modules/pymavlink { }; pymazda = callPackage ../development/python-modules/pymazda { }; From edfa1203608d820f79097b280855abbe70fa18fd Mon Sep 17 00:00:00 2001 From: Cole Helbling Date: Mon, 19 Apr 2021 22:33:08 -0700 Subject: [PATCH 16/19] python3.pkgs.extractcode-7z: init at 21.4.4 --- .../python-modules/extractcode/7z.nix | 48 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 4 ++ 2 files changed, 52 insertions(+) create mode 100644 pkgs/development/python-modules/extractcode/7z.nix diff --git a/pkgs/development/python-modules/extractcode/7z.nix b/pkgs/development/python-modules/extractcode/7z.nix new file mode 100644 index 000000000000..e3318b426ecc --- /dev/null +++ b/pkgs/development/python-modules/extractcode/7z.nix @@ -0,0 +1,48 @@ +{ lib +, fetchFromGitHub +, buildPythonPackage +, plugincode +, p7zip +}: +buildPythonPackage rec { + pname = "extractcode-7z"; + version = "21.4.4"; + + src = fetchFromGitHub { + owner = "nexB"; + repo = "scancode-plugins"; + rev = "v${version}"; + sha256 = "xnUGDMS34iMVMGo/nZwRarGzzbj3X4Rt+YHvvKpmy6A="; + }; + + sourceRoot = "source/builtins/extractcode_7z-linux"; + + propagatedBuildInputs = [ + plugincode + ]; + + preBuild = '' + pushd src/extractcode_7z/bin + + rm 7z 7z.so + ln -s ${p7zip}/bin/7z 7z + ln -s ${p7zip}/lib/p7zip/7z.so 7z.so + + popd + ''; + + # no tests + doCheck = false; + + pythonImportsCheck = [ + "extractcode_7z" + ]; + + meta = with lib; { + description = "A ScanCode Toolkit plugin to provide pre-built binary libraries and utilities and their locations"; + homepage = "https://github.com/nexB/scancode-plugins/tree/main/builtins/extractcode_7z-linux"; + license = with licenses; [ asl20 lgpl21 ]; + maintainers = teams.determinatesystems.members; + platforms = platforms.linux; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 7dbd6893ef69..1c0b73a36b46 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -2303,6 +2303,10 @@ in { extractcode = callPackage ../development/python-modules/extractcode { }; + extractcode-7z = callPackage ../development/python-modules/extractcode/7z.nix { + inherit (pkgs) p7zip; + }; + extras = callPackage ../development/python-modules/extras { }; eyeD3 = callPackage ../development/python-modules/eyed3 { }; From c27b9e0a68bd568f11c63a956605733c5467aebb Mon Sep 17 00:00:00 2001 From: Cole Helbling Date: Mon, 19 Apr 2021 22:33:51 -0700 Subject: [PATCH 17/19] python3.pkgs.extractcode-libarchive: init at 21.4.4 --- .../python-modules/extractcode/libarchive.nix | 62 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 12 ++++ 2 files changed, 74 insertions(+) create mode 100644 pkgs/development/python-modules/extractcode/libarchive.nix diff --git a/pkgs/development/python-modules/extractcode/libarchive.nix b/pkgs/development/python-modules/extractcode/libarchive.nix new file mode 100644 index 000000000000..0d5e7f318589 --- /dev/null +++ b/pkgs/development/python-modules/extractcode/libarchive.nix @@ -0,0 +1,62 @@ +{ lib +, fetchFromGitHub +, buildPythonPackage +, libarchive +, libb2 +, bzip2 +, expat +, lz4 +, lzma +, zlib +, zstd +, plugincode +, pytestCheckHook +}: +buildPythonPackage rec { + pname = "extractcode-libarchive"; + version = "21.4.4"; + + src = fetchFromGitHub { + owner = "nexB"; + repo = "scancode-plugins"; + rev = "v${version}"; + sha256 = "xnUGDMS34iMVMGo/nZwRarGzzbj3X4Rt+YHvvKpmy6A="; + }; + + sourceRoot = "source/builtins/extractcode_libarchive-linux"; + + preBuild = '' + pushd src/extractcode_libarchive/lib + + rm *.so *.so.* + ln -s ${lib.getLib libarchive}/lib/libarchive.so libarchive.so + ln -s ${lib.getLib libb2}/lib/libb2.so libb2-la3511.so.1 + ln -s ${lib.getLib bzip2}/lib/libbz2.so libbz2-la3511.so.1.0 + ln -s ${lib.getLib expat}/lib/libexpat.so libexpat-la3511.so.1 + ln -s ${lib.getLib lz4}/lib/liblz4.so liblz4-la3511.so.1 + ln -s ${lib.getLib lzma}/lib/liblzma.so liblzma-la3511.so.5 + ln -s ${lib.getLib zlib}/lib/libz.so libz-la3511.so.1 + ln -s ${lib.getLib zstd}/lib/libzstd.so libzstd-la3511.so.1 + + popd + ''; + + propagatedBuildInputs = [ + plugincode + ]; + + # no tests + doCheck = false; + + pythonImportsCheck = [ + "extractcode_libarchive" + ]; + + meta = with lib; { + description = "A ScanCode Toolkit plugin to provide pre-built binary libraries and utilities and their locations"; + homepage = "https://github.com/nexB/scancode-plugins/tree/main/builtins/extractcode_libarchive-linux"; + license = with licenses; [ asl20 bsd2 ]; + maintainers = teams.determinatesystems.members; + platforms = platforms.linux; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 1c0b73a36b46..34aa137c7137 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -2307,6 +2307,18 @@ in { inherit (pkgs) p7zip; }; + extractcode-libarchive = callPackage ../development/python-modules/extractcode/libarchive.nix { + inherit (pkgs) + libarchive + libb2 + bzip2 + expat + lz4 + lzma + zlib + zstd; + }; + extras = callPackage ../development/python-modules/extras { }; eyeD3 = callPackage ../development/python-modules/eyed3 { }; From 8c53f702cc8407a81c2bf18217c8108290ecd90e Mon Sep 17 00:00:00 2001 From: Cole Helbling Date: Mon, 19 Apr 2021 22:34:18 -0700 Subject: [PATCH 18/19] python3.pkgs.typecode-libmagic: init at 21.4.4 --- .../python-modules/typecode/libmagic.nix | 51 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 4 ++ 2 files changed, 55 insertions(+) create mode 100644 pkgs/development/python-modules/typecode/libmagic.nix diff --git a/pkgs/development/python-modules/typecode/libmagic.nix b/pkgs/development/python-modules/typecode/libmagic.nix new file mode 100644 index 000000000000..9b652e664e52 --- /dev/null +++ b/pkgs/development/python-modules/typecode/libmagic.nix @@ -0,0 +1,51 @@ +{ lib +, fetchFromGitHub +, buildPythonPackage +, plugincode +, file +, zlib +, pytest +}: +buildPythonPackage rec { + pname = "typecode-libmagic"; + version = "21.4.4"; + + src = fetchFromGitHub { + owner = "nexB"; + repo = "scancode-plugins"; + rev = "v${version}"; + sha256 = "xnUGDMS34iMVMGo/nZwRarGzzbj3X4Rt+YHvvKpmy6A="; + }; + + sourceRoot = "source/builtins/typecode_libmagic-linux"; + + propagatedBuildInputs = [ + plugincode + ]; + + preBuild = '' + pushd src/typecode_libmagic + + rm data/magic.mgc lib/libmagic.so lib/libz-lm539.so.1 + ln -s ${file}/share/misc/magic.mgc data/magic.mgc + ln -s ${file}/lib/libmagic.so lib/libmagic.so + ln -s ${zlib}/lib/libz.so lib/libz-lm539.so.1 + + popd + ''; + + # no tests + doCheck = false; + + pythonImportsCheck = [ + "typecode_libmagic" + ]; + + meta = with lib; { + description = "A ScanCode Toolkit plugin to provide pre-built binary libraries and utilities and their locations"; + homepage = "https://github.com/nexB/scancode-plugins/tree/main/builtins/typecode_libmagic-linux"; + license = licenses.asl20; + maintainers = teams.determinatesystems.members; + platforms = platforms.linux; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 34aa137c7137..ce0c1cc1dc31 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -8756,6 +8756,10 @@ in { typecode = callPackage ../development/python-modules/typecode { }; + typecode-libmagic = callPackage ../development/python-modules/typecode/libmagic.nix { + inherit (pkgs) file zlib; + }; + typed-ast = callPackage ../development/python-modules/typed-ast { }; typeguard = callPackage ../development/python-modules/typeguard { }; From cdc750d79733fca2c901cf38bc86b42708bb9605 Mon Sep 17 00:00:00 2001 From: Cole Helbling Date: Mon, 19 Apr 2021 23:19:49 -0700 Subject: [PATCH 19/19] python3.pkgs.scancode-toolkit: init at 21.3.31 --- .../scancode-toolkit/default.nix | 122 ++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 124 insertions(+) create mode 100644 pkgs/development/python-modules/scancode-toolkit/default.nix diff --git a/pkgs/development/python-modules/scancode-toolkit/default.nix b/pkgs/development/python-modules/scancode-toolkit/default.nix new file mode 100644 index 000000000000..f27a2d40bf3d --- /dev/null +++ b/pkgs/development/python-modules/scancode-toolkit/default.nix @@ -0,0 +1,122 @@ +{ lib +, fetchPypi +, buildPythonPackage +, isPy3k +, markupsafe +, click +, typecode +, gemfileparser +, pefile +, fingerprints +, spdx-tools +, fasteners +, pycryptodome +, urlpy +, dparse +, jaraco_functools +, pkginfo +, debian-inspector +, extractcode +, ftfy +, pyahocorasick +, colorama +, jsonstreams +, packageurl-python +, pymaven-patch +, nltk +, pygments +, bitarray +, jinja2 +, javaproperties +, boolean-py +, license-expression +, extractcode-7z +, extractcode-libarchive +, typecode-libmagic +, pytestCheckHook +}: +buildPythonPackage rec { + pname = "scancode-toolkit"; + version = "21.3.31"; + disabled = !isPy3k; + + src = fetchPypi { + inherit pname version; + sha256 = "7e0301031a302dedbb4304a91249534f3d036f84a119170b8a9fe70bd57cff95"; + }; + + dontConfigure = true; + + # https://github.com/nexB/scancode-toolkit/issues/2501 + # * dparse2 is a "Temp fork for Python 2 support", but pdfminer requires + # Python 3, so it's "fine" to leave dparse2 unpackaged and use the "normal" + # version + # * ftfy was pinned for similar reasons (to support Python 2), but rather than + # packaging an older version, I figured it would be better to remove the + # erroneous (at least for our usage) version bound + # * bitarray's version bound appears to be unnecessary for similar reasons + postPatch = '' + substituteInPlace setup.cfg \ + --replace "dparse2" "dparse" \ + --replace "ftfy < 5.0.0" "ftfy" \ + --replace "bitarray >= 0.8.1, < 1.0.0" "bitarray" + ''; + + propagatedBuildInputs = [ + markupsafe + click + typecode + gemfileparser + pefile + fingerprints + spdx-tools + fasteners + pycryptodome + urlpy + dparse + jaraco_functools + pkginfo + debian-inspector + extractcode + ftfy + pyahocorasick + colorama + jsonstreams + packageurl-python + pymaven-patch + nltk + pygments + bitarray + jinja2 + javaproperties + boolean-py + license-expression + extractcode-7z + extractcode-libarchive + typecode-libmagic + ]; + + checkInputs = [ + pytestCheckHook + ]; + + # Importing scancode needs a writeable home, and preCheck happens in between + # pythonImportsCheckPhase and pytestCheckPhase. + postInstall = '' + export HOME=$(mktemp -d) + ''; + + pythonImportsCheck = [ + "scancode" + ]; + + # takes a long time and doesn't appear to do anything + dontStrip = true; + + meta = with lib; { + description = "A tool to scan code for license, copyright, package and their documented dependencies and other interesting facts"; + homepage = "https://github.com/nexB/scancode-toolkit"; + license = with licenses; [ asl20 cc-by-40 ]; + maintainers = teams.determinatesystems.members; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index ce0c1cc1dc31..85c3dd9b8579 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -7674,6 +7674,8 @@ in { scales = callPackage ../development/python-modules/scales { }; + scancode-toolkit = callPackage ../development/python-modules/scancode-toolkit { }; + scandir = callPackage ../development/python-modules/scandir { }; scapy = callPackage ../development/python-modules/scapy { };