From 189580701fc6284048d19770c678b155afbd24e5 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 9 Mar 2021 16:42:56 +0100 Subject: [PATCH 1/7] python3Packages.ailment: 9.0.5903 -> 9.0.6281 --- pkgs/development/python-modules/ailment/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/ailment/default.nix b/pkgs/development/python-modules/ailment/default.nix index 13386eb12a6b..a34fa36734df 100644 --- a/pkgs/development/python-modules/ailment/default.nix +++ b/pkgs/development/python-modules/ailment/default.nix @@ -7,14 +7,14 @@ buildPythonPackage rec { pname = "ailment"; - version = "9.0.5903"; + version = "9.0.6281"; disabled = pythonOlder "3.6"; src = fetchFromGitHub { owner = "angr"; repo = pname; rev = "v${version}"; - sha256 = "sha256-75Ul9JfMFYv3AfBlgmer6IDyfgOAS4AdXexznoxi35Y="; + sha256 = "sha256-IFUGtTO+DY8FIxLgvmwM/y/RQr42T9sABPpnJMILkqg="; }; propagatedBuildInputs = [ pyvex ]; From 97aab48b52180a921a2965db8473d69f658886d1 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 9 Mar 2021 16:44:19 +0100 Subject: [PATCH 2/7] python3Packages.archinfo: 9.0.5903 -> 9.0.6281 --- pkgs/development/python-modules/archinfo/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/archinfo/default.nix b/pkgs/development/python-modules/archinfo/default.nix index b06e0320dc92..ec1db2e33dcb 100644 --- a/pkgs/development/python-modules/archinfo/default.nix +++ b/pkgs/development/python-modules/archinfo/default.nix @@ -7,13 +7,13 @@ buildPythonPackage rec { pname = "archinfo"; - version = "9.0.5903"; + version = "9.0.6281"; src = fetchFromGitHub { owner = "angr"; repo = pname; rev = "v${version}"; - sha256 = "sha256-4e+ZGIt/ouZj5rsmaVxUrz8gAq4Yq2+Qx4jdOojB4Sw="; + sha256 = "sha256-ZO2P53RdR3cYhDbtrdGJnadFZgKkBdDi5gR/CB7YTpI="; }; checkInputs = [ From 40568b4910dcb5a9f2289a1763c67a2dd5f9b58f Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 9 Mar 2021 16:53:10 +0100 Subject: [PATCH 3/7] python3Packages.claripy: 9.0.5903 -> 9.0.6281 --- pkgs/development/python-modules/claripy/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/claripy/default.nix b/pkgs/development/python-modules/claripy/default.nix index 61b72e8cf31f..39413d0f9c72 100644 --- a/pkgs/development/python-modules/claripy/default.nix +++ b/pkgs/development/python-modules/claripy/default.nix @@ -13,14 +13,14 @@ buildPythonPackage rec { pname = "claripy"; - version = "9.0.5903"; + version = "9.0.6281"; disabled = pythonOlder "3.6"; src = fetchFromGitHub { owner = "angr"; repo = pname; rev = "v${version}"; - sha256 = "sha256-NIKWUx1VT5TjnuqppuT6VzwNRwcBLc0xI5k3F2Nmj8A="; + sha256 = "sha256-gvo8I6LQRAEUa7QiV5Sugrt+e2SmGkkKfsGn/IKz+Mk="; }; # Use upstream z3 implementation From 57542662e9f1b8bc1c4e42bde908a9b968971f35 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 29 Mar 2021 10:25:40 +0200 Subject: [PATCH 4/7] python3Packages.cle: init at 9.0.6281 --- .../python-modules/cle/default.nix | 77 +++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 pkgs/development/python-modules/cle/default.nix diff --git a/pkgs/development/python-modules/cle/default.nix b/pkgs/development/python-modules/cle/default.nix new file mode 100644 index 000000000000..436a364b2b5a --- /dev/null +++ b/pkgs/development/python-modules/cle/default.nix @@ -0,0 +1,77 @@ +{ lib +, buildPythonPackage +, cffi +, fetchFromGitHub +, minidump +, nose +, pefile +, pyelftools +, pytestCheckHook +, pythonOlder +, pyvex +, pyxbe +, sortedcontainers +}: + +let + # The binaries are following the argr projects release cycle + version = "9.0.6281"; + + # Binary files from https://github.com/angr/binaries (only used for testing and only here) + binaries = fetchFromGitHub { + owner = "angr"; + repo = "binaries"; + rev = "v${version}"; + sha256 = "1qlrxfj1n34xvwkac6mbcc7zmixxbp34fj7lkf0fvp7zcz1rpla1"; + }; + +in +buildPythonPackage rec { + pname = "cle"; + inherit version; + disabled = pythonOlder "3.6"; + + src = fetchFromGitHub { + owner = "angr"; + repo = pname; + rev = "v${version}"; + sha256 = "0f2zc02dljmgp6ny6ja6917j08kqhwckncan860dq4xv93g61rmg"; + }; + + propagatedBuildInputs = [ + cffi + minidump + pefile + pyelftools + pyvex + pyxbe + sortedcontainers + ]; + + checkInputs = [ + nose + pytestCheckHook + ]; + + # Place test binaries in the right location (location is hard-coded in the tests) + preCheck = '' + export HOME=$TMPDIR + cp -r ${binaries} $HOME/binaries + ''; + + disabledTests = [ + # PPC tests seems to fails + "test_ppc_rel24_relocation" + "test_ppc_addr16_ha_relocation" + "test_ppc_addr16_lo_relocation" + ]; + + pythonImportsCheck = [ "cle" ]; + + meta = with lib; { + description = "Python loader for many binary formats"; + homepage = "https://github.com/angr/cle"; + license = with licenses; [ bsd2 ]; + maintainers = with maintainers; [ fab ]; + }; +} From 2515b599ebbb645a6953936d04e84dee2010f2b7 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 6 Apr 2021 16:26:47 +0200 Subject: [PATCH 5/7] python3Packages.pyvex: 9.0.5903 -> 9.0.6281 --- pkgs/development/python-modules/pyvex/default.nix | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/pkgs/development/python-modules/pyvex/default.nix b/pkgs/development/python-modules/pyvex/default.nix index 13c54f6a41e6..75637acc3951 100644 --- a/pkgs/development/python-modules/pyvex/default.nix +++ b/pkgs/development/python-modules/pyvex/default.nix @@ -2,20 +2,20 @@ , stdenv , archinfo , bitstring -, fetchPypi -, cffi , buildPythonPackage +, cffi +, fetchPypi , future , pycparser }: buildPythonPackage rec { pname = "pyvex"; - version = "9.0.5903"; + version = "9.0.6281"; src = fetchPypi { inherit pname version; - sha256 = "sha256-qhLlRlmb48zhjX2u9w6TVVv2gb0E9kSapabiv+u4J2s="; + sha256 = "sha256-E8BYCzV71qVNRzWCCI2yTVU88JVMA08eqnIO8OtbNlM="; }; propagatedBuildInputs = [ @@ -26,6 +26,11 @@ buildPythonPackage rec { pycparser ]; + postPatch = '' + substituteInPlace pyvex_c/Makefile \ + --replace "CC=gcc" "CC=${stdenv.cc.targetPrefix}cc" + ''; + # No tests are available on PyPI, GitHub release has tests # Switch to GitHub release after all angr parts are present doCheck = false; From 5ba1edf6c8aa148c11399b9b802af2a9a87c00f2 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 6 Apr 2021 22:15:50 +0200 Subject: [PATCH 6/7] python3Packages.angr: init at 9.0.6281 --- .../python-modules/angr/default.nix | 93 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 4 + 2 files changed, 97 insertions(+) create mode 100644 pkgs/development/python-modules/angr/default.nix diff --git a/pkgs/development/python-modules/angr/default.nix b/pkgs/development/python-modules/angr/default.nix new file mode 100644 index 000000000000..ba0b3b68be26 --- /dev/null +++ b/pkgs/development/python-modules/angr/default.nix @@ -0,0 +1,93 @@ +{ lib +, ailment +, archinfo +, buildPythonPackage +, cachetools +, capstone +, cffi +, claripy +, cle +, cppheaderparser +, dpkt +, fetchFromGitHub +, GitPython +, itanium_demangler +, mulpyplexer +, networkx +, progressbar2 +, protobuf +, psutil +, pycparser +, pkgs +, pythonOlder +, pyvex +, sqlalchemy +, rpyc +, sortedcontainers +, unicorn +}: + +let + # Only the pinned release in setup.py works properly + unicorn' = unicorn.overridePythonAttrs (old: rec { + pname = "unicorn"; + version = "1.0.2-rc4"; + src = fetchFromGitHub { + owner = "unicorn-engine"; + repo = pname; + rev = version; + sha256 = "17nyccgk7hpc4hab24yn57f1xnmr7kq4px98zbp2bkwcrxny8gwy"; + }; + }); +in + +buildPythonPackage rec { + pname = "angr"; + version = "9.0.6281"; + disabled = pythonOlder "3.6"; + + src = fetchFromGitHub { + owner = pname; + repo = pname; + rev = "v${version}"; + sha256 = "10i4qdk8f342gzxiwy0pjdc35lc4q5ab7l5q420ca61cgdvxkk4r"; + }; + + propagatedBuildInputs = [ + ailment + archinfo + cachetools + capstone + cffi + claripy + cle + cppheaderparser + dpkt + GitPython + itanium_demangler + mulpyplexer + networkx + progressbar2 + protobuf + psutil + sqlalchemy + pycparser + pyvex + sqlalchemy + rpyc + sortedcontainers + unicorn' + ]; + + # Tests have additional requirements, e.g., pypcode and angr binaries + # cle is executing the tests with the angr binaries + doCheck = false; + pythonImportsCheck = [ "angr" ]; + + meta = with lib; { + description = "Powerful and user-friendly binary analysis platform"; + homepage = "https://angr.io/"; + license = with licenses; [ bsd2 ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 45622144e851..2f461f089422 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -378,6 +378,8 @@ in { androguard = callPackage ../development/python-modules/androguard { }; + angr = callPackage ../development/python-modules/angr { }; + aniso8601 = callPackage ../development/python-modules/aniso8601 { }; annexremote = callPackage ../development/python-modules/annexremote { }; @@ -1356,6 +1358,8 @@ in { cld2-cffi = callPackage ../development/python-modules/cld2-cffi { }; + cle = callPackage ../development/python-modules/cle { }; + cleo = callPackage ../development/python-modules/cleo { }; clf = callPackage ../development/python-modules/clf { }; From b2ca9d14afc1c78ad965b4b8868aff20fae56bdd Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 19 Apr 2021 00:16:53 +0200 Subject: [PATCH 7/7] python3Packages.pyxbe: unstable-2021-01-10 --- .../python-modules/pyxbe/default.nix | 36 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 ++ 2 files changed, 38 insertions(+) create mode 100644 pkgs/development/python-modules/pyxbe/default.nix diff --git a/pkgs/development/python-modules/pyxbe/default.nix b/pkgs/development/python-modules/pyxbe/default.nix new file mode 100644 index 000000000000..4c101ccdc3fb --- /dev/null +++ b/pkgs/development/python-modules/pyxbe/default.nix @@ -0,0 +1,36 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, pytestCheckHook +}: + +buildPythonPackage rec { + pname = "pyxbe"; + version = "unstable-2021-01-10"; + + src = fetchFromGitHub { + owner = "mborgerson"; + repo = pname; + rev = "a7ae1bb21b02a57783831eb080c1edbafaad1d5d"; + sha256 = "1cp9a5f41z8j7bzip6nhka8qnxs12v75cdf80sk2nzgf1k15wi2p"; + }; + + checkInputs = [ + pytestCheckHook + ]; + + # Update location for run with pytest + preCheck = '' + substituteInPlace tests/test_load.py \ + --replace "'xbefiles'" "'tests/xbefiles'" + ''; + + pythonImportsCheck = [ "xbe" ]; + + meta = with lib; { + description = "Library to work with XBE files"; + homepage = "https://github.com/mborgerson/pyxbe"; + license = with licenses; [ mit ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 2f461f089422..c5e659fe91ca 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -7005,6 +7005,8 @@ in { pyx = callPackage ../development/python-modules/pyx { }; + pyxbe = callPackage ../development/python-modules/pyxbe { }; + pyxdg = callPackage ../development/python-modules/pyxdg { }; pyxeoma = callPackage ../development/python-modules/pyxeoma { };