From c585e1ed0d8685a5eb597265c761406944df2fbd Mon Sep 17 00:00:00 2001 From: msm Date: Thu, 19 Jan 2023 03:13:28 +0100 Subject: [PATCH] python38Packages.yaramod: init at 3.12.2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Robert Schütz Co-authored-by: Fabian Affolter --- .../python-modules/yaramod/default.nix | 78 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 80 insertions(+) create mode 100644 pkgs/development/python-modules/yaramod/default.nix diff --git a/pkgs/development/python-modules/yaramod/default.nix b/pkgs/development/python-modules/yaramod/default.nix new file mode 100644 index 0000000000000..11a1caf15b74f --- /dev/null +++ b/pkgs/development/python-modules/yaramod/default.nix @@ -0,0 +1,78 @@ +{ lib +, buildPythonPackage +, cmake +, fetchFromGitHub +, pytestCheckHook +, libxcrypt +, pythonOlder +, gtest +, pybind11 +, nlohmann_json +}: + +let + pog = fetchFromGitHub { + owner = "metthal"; + repo = "pog"; + rev = "b09bbf9cea573ee62aab7eccda896e37961d16cd"; + hash = "sha256-El4WA92t2O/L4wUqH6Xj8w+ANtb6liRwafDhqn8jxjQ="; + }; +in + buildPythonPackage rec { + pname = "yaramod"; + version = "3.12.2"; + format = "setuptools"; + + disabled = pythonOlder "3.7"; + + src = fetchFromGitHub { + owner = "avast"; + repo = pname; + rev = "refs/tags/v${version}"; + hash = "sha256-1q+lzNtm8qko9ZAxJjkmPOQjHD5GxB6YyEz0tr+QWGk="; + }; + + postPatch = '' + rm -r deps/googletest deps/pog/ deps/pybind11/ deps/json/json.hpp + cp -r --no-preserve=all ${pog} deps/pog/ + cp -r --no-preserve=all ${nlohmann_json.src}/single_include/nlohmann/json.hpp deps/json/ + cp -r --no-preserve=all ${pybind11.src} deps/pybind11/ + cp -r --no-preserve=all ${gtest.src} deps/googletest/ + ''; + + dontUseCmakeConfigure = true; + + buildInputs = [ + libxcrypt + ]; + + nativeBuildInputs = [ + cmake + pog + gtest + ]; + + setupPyBuildFlags = [ + "--with-unit-tests" + ]; + + checkInputs = [ + pytestCheckHook + ]; + + pytestFlagsArray = [ + "tests/" + ]; + + pythonImportsCheck = [ + "yaramod" + ]; + + meta = with lib; { + description = "Parsing of YARA rules into AST and building new rulesets in C++"; + homepage = "https://github.com/avast/yaramod"; + changelog = "https://github.com/avast/yaramod/blob/v${version}/CHANGELOG.md"; + license = licenses.mit; + maintainers = with maintainers; [ msm ]; + }; + } diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index dc3b5b1ddf13b..3b3724e8a7589 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -12396,6 +12396,8 @@ self: super: with self; { yara-python = callPackage ../development/python-modules/yara-python { }; + yaramod = callPackage ../development/python-modules/yaramod { }; + yarg = callPackage ../development/python-modules/yarg { }; yarl = callPackage ../development/python-modules/yarl { };