From 5bb9bce7ed0e83f41d8db2542b086dbfc8fcbfff Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Wed, 14 Apr 2021 23:18:09 +0200 Subject: [PATCH 1/4] python3Packages.malduck: init at 4.1.0 --- .../python-modules/malduck/default.nix | 48 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 50 insertions(+) create mode 100644 pkgs/development/python-modules/malduck/default.nix diff --git a/pkgs/development/python-modules/malduck/default.nix b/pkgs/development/python-modules/malduck/default.nix new file mode 100644 index 00000000000..a9a8419a04d --- /dev/null +++ b/pkgs/development/python-modules/malduck/default.nix @@ -0,0 +1,48 @@ +{ lib +, buildPythonPackage +, capstone +, click +, cryptography +, fetchFromGitHub +, pefile +, pycryptodomex +, pyelftools +, pythonOlder +, typing-extensions +, yara-python +}: + +buildPythonPackage rec { + pname = "malduck"; + version = "4.1.0"; + disabled = pythonOlder "3.7"; + + src = fetchFromGitHub { + owner = "CERT-Polska"; + repo = pname; + rev = "v${version}"; + sha256 = "04d8bhzax9ynbl83hif9i8gcs29zrvcay2r6n7mcxiixlxcqciak"; + }; + + propagatedBuildInputs = [ + capstone + click + cryptography + pefile + pycryptodomex + pyelftools + typing-extensions + yara-python + ]; + + # Project has no tests. They will come with the next release + doCheck = false; + pythonImportsCheck = [ "malduck" ]; + + meta = with lib; { + description = "Helper for malware analysis"; + homepage = "https://github.com/CERT-Polska/malduck"; + license = with licenses; [ bsd3 ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 70e06433e92..ce0eda8e5e4 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -4154,6 +4154,8 @@ in { Mako = callPackage ../development/python-modules/Mako { }; + malduck= callPackage ../development/python-modules/malduck { }; + managesieve = callPackage ../development/python-modules/managesieve { }; manhole = callPackage ../development/python-modules/manhole { }; From 2cc36164f848079b4d470ad9ac5dac966ee4da1f Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Wed, 14 Apr 2021 23:01:13 +0200 Subject: [PATCH 2/4] python3Packages.karton-config-extractor: init at 1.0.0 --- .../karton-config-extractor/default.nix | 39 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 41 insertions(+) create mode 100644 pkgs/development/python-modules/karton-config-extractor/default.nix diff --git a/pkgs/development/python-modules/karton-config-extractor/default.nix b/pkgs/development/python-modules/karton-config-extractor/default.nix new file mode 100644 index 00000000000..bb2b9d4903b --- /dev/null +++ b/pkgs/development/python-modules/karton-config-extractor/default.nix @@ -0,0 +1,39 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, karton-core +, malduck +}: + +buildPythonPackage rec { + pname = "karton-config-extractor"; + version = "1.0.0"; + + src = fetchFromGitHub { + owner = "CERT-Polska"; + repo = pname; + rev = "v${version}"; + sha256 = "1v0zqa81yjz6hm17x9hp0iwkllymqzn84dd6r2yrhillbwnjg9bb"; + }; + + propagatedBuildInputs = [ + karton-core + malduck + ]; + + postPatch = '' + substituteInPlace requirements.txt \ + --replace "karton.core==4.0.5" "karton-core" + ''; + + # Project has no tests + doCheck = false; + pythonImportsCheck = [ "karton.config_extractor" ]; + + meta = with lib; { + description = "Static configuration extractor for the Karton framework"; + homepage = "https://github.com/CERT-Polska/karton-config-extractor"; + license = with licenses; [ bsd3 ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index ce0eda8e5e4..33572303756 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -3683,6 +3683,8 @@ in { karton-classifier = callPackage ../development/python-modules/karton-classifier { }; + karton-config-extractor = callPackage ../development/python-modules/karton-config-extractor { }; + karton-core = callPackage ../development/python-modules/karton-core { }; kazoo = callPackage ../development/python-modules/kazoo { }; From ea9d7e302ec04521ea0f6956121c6a961b2ca92a Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 15 Apr 2021 23:04:25 +0200 Subject: [PATCH 3/4] python3Packages.tinydb: 4.1.1 -> 4.4.0 --- .../python-modules/tinydb/default.nix | 32 ++++++++++++++----- 1 file changed, 24 insertions(+), 8 deletions(-) diff --git a/pkgs/development/python-modules/tinydb/default.nix b/pkgs/development/python-modules/tinydb/default.nix index b267fa82854..db162ecc2ac 100644 --- a/pkgs/development/python-modules/tinydb/default.nix +++ b/pkgs/development/python-modules/tinydb/default.nix @@ -2,17 +2,16 @@ , buildPythonPackage , pythonOlder , fetchFromGitHub -, poetry +, poetry-core +, fetchpatch , pytestCheckHook -, pytestcov -, pytestrunner , pycodestyle , pyyaml }: buildPythonPackage rec { pname = "tinydb"; - version = "4.1.1"; + version = "4.4.0"; disabled = pythonOlder "3.5"; format = "pyproject"; @@ -20,20 +19,37 @@ buildPythonPackage rec { owner = "msiemens"; repo = pname; rev = "v${version}"; - sha256 = "09cwdmpj91c6q7jympip1lrcd3idbm9cqblgvmrh0v1vy1iv2ki7"; + sha256 = "sha256-3FbsnLU7G4VVhI5NYRqCEQgo51zDeAkEhH69H52zr/w="; }; - nativeBuildInputs = [ poetry ]; + nativeBuildInputs = [ + poetry-core + ]; + + patches = [ + # Switch to poetry-core, https://github.com/msiemens/tinydb/pull/391 + (fetchpatch { + name = "switch-to-peotry-core.patch"; + url = "https://github.com/msiemens/tinydb/commit/5b547c18e7ce9f5925d5943dfa47d408435a0da5.patch"; + sha256 = "19ma9ib020b82sn1mcr7sfysqbj8h6nbb365bih1x1wn3ym8xlbc"; + }) + ]; + + postPatch = '' + substituteInPlace pytest.ini \ + --replace "--cov-append --cov-report term --cov tinydb" "" + ''; checkInputs = [ pytestCheckHook - pytestcov pycodestyle pyyaml ]; + pythonImportsCheck = [ "tinydb" ]; + meta = with lib; { - description = "A lightweight document oriented database written in pure Python with no external dependencies"; + description = "Lightweight document oriented database written in Python"; homepage = "https://tinydb.readthedocs.org/"; changelog = "https://tinydb.readthedocs.io/en/latest/changelog.html"; license = licenses.mit; From 1a4bb860356054f28028fc3843e6ea7fdbb09f95 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 15 Apr 2021 23:15:40 +0200 Subject: [PATCH 4/4] archivy: 1.1.1 -> 1.1.4 --- pkgs/applications/misc/archivy/default.nix | 29 +++++++++++++++++----- 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/pkgs/applications/misc/archivy/default.nix b/pkgs/applications/misc/archivy/default.nix index 70b3c71c0b3..6af4f67d8c6 100644 --- a/pkgs/applications/misc/archivy/default.nix +++ b/pkgs/applications/misc/archivy/default.nix @@ -1,15 +1,31 @@ -{ lib, buildPythonApplication, fetchPypi, appdirs, attrs -, beautifulsoup4, click-plugins, elasticsearch, flask-compress -, flask_login, flask_wtf, html2text, python-dotenv, python-frontmatter -, requests, tinydb, validators, werkzeug, wtforms }: +{ lib +, buildPythonApplication +, fetchPypi +, appdirs +, attrs +, beautifulsoup4 +, click-plugins +, elasticsearch +, flask-compress +, flask_login +, flask_wtf +, html2text +, python-dotenv +, python-frontmatter +, requests +, tinydb +, validators +, werkzeug +, wtforms +}: buildPythonApplication rec { pname = "archivy"; - version = "1.1.1"; + version = "1.1.4"; src = fetchPypi { inherit pname version; - sha256 = "sha256-yUXsTPb5oJYZA9MlHz7eLowRjD/ltq5VLTHeOMqcL/M="; + sha256 = "sha256-oSmwQcKvp9RABmc7aq6fdLOZapMauIi6+7azVTXVb30="; }; # Relax some dependencies @@ -22,6 +38,7 @@ buildPythonApplication rec { --replace 'python_frontmatter == 0.5.0' 'python_frontmatter' \ --replace 'requests ==' 'requests >=' \ --replace 'validators ==' 'validators >=' \ + --replace 'tinydb ==' 'tinydb >=' ''; propagatedBuildInputs = [