about summary refs log tree commit diff
diff options
context:
space:
mode:
authorSandro <sandro.jaeckel@gmail.com>2021-04-22 22:02:56 +0200
committerGitHub <noreply@github.com>2021-04-22 22:02:56 +0200
commite110be3d9119e77a7441a3b6cca151b6110b00c7 (patch)
tree06a64cbb9b2ea6d2a18ad37b2d22553cb168f4ba
parent1a6dcd7d4b814d8604ec85eb68cb045a75553ae8 (diff)
parente2065958f93c99ce23d62ce688cfd4ee148a2ab9 (diff)
downloadnixlib-e110be3d9119e77a7441a3b6cca151b6110b00c7.tar
nixlib-e110be3d9119e77a7441a3b6cca151b6110b00c7.tar.gz
nixlib-e110be3d9119e77a7441a3b6cca151b6110b00c7.tar.bz2
nixlib-e110be3d9119e77a7441a3b6cca151b6110b00c7.tar.lz
nixlib-e110be3d9119e77a7441a3b6cca151b6110b00c7.tar.xz
nixlib-e110be3d9119e77a7441a3b6cca151b6110b00c7.tar.zst
nixlib-e110be3d9119e77a7441a3b6cca151b6110b00c7.zip
Merge pull request #120006 from DeterminateSystems/qiling
-rw-r--r--pkgs/development/python-modules/capstone/default.nix6
-rw-r--r--pkgs/development/python-modules/python-registry/default.nix34
-rw-r--r--pkgs/development/python-modules/qiling/default.nix45
-rw-r--r--pkgs/top-level/python-packages.nix4
4 files changed, 87 insertions, 2 deletions
diff --git a/pkgs/development/python-modules/capstone/default.nix b/pkgs/development/python-modules/capstone/default.nix
index af6b9031e66e..6ab2ed91fe52 100644
--- a/pkgs/development/python-modules/capstone/default.nix
+++ b/pkgs/development/python-modules/capstone/default.nix
@@ -1,7 +1,7 @@
-{ stdenv
-, lib
+{ lib
 , buildPythonPackage
 , capstone
+, stdenv
 , fetchpatch
 , fetchPypi
 , setuptools
@@ -33,5 +33,7 @@ buildPythonPackage rec {
     license = licenses.bsdOriginal;
     description = "Python bindings for Capstone disassembly engine";
     maintainers = with maintainers; [ bennofs ris ];
+    # creates a manylinux2014-x86_64 wheel
+    broken = stdenv.isAarch64;
   };
 }
diff --git a/pkgs/development/python-modules/python-registry/default.nix b/pkgs/development/python-modules/python-registry/default.nix
new file mode 100644
index 000000000000..44795da8ddf7
--- /dev/null
+++ b/pkgs/development/python-modules/python-registry/default.nix
@@ -0,0 +1,34 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, enum-compat
+, unicodecsv
+}:
+buildPythonPackage rec {
+  pname = "python-registry";
+  version = "1.3.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "99185f67d5601be3e7843e55902d5769aea1740869b0882f34ff1bd4b43b1eb2";
+  };
+
+  propagatedBuildInputs = [
+    enum-compat
+    unicodecsv
+  ];
+
+  # no tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "Registry"
+  ];
+
+  meta = with lib; {
+    description = "Pure Python parser for Windows Registry hives";
+    homepage = "https://github.com/williballenthin/python-registry";
+    license = licenses.asl20;
+    maintainers = teams.determinatesystems.members;
+  };
+}
diff --git a/pkgs/development/python-modules/qiling/default.nix b/pkgs/development/python-modules/qiling/default.nix
new file mode 100644
index 000000000000..9513280f3cfa
--- /dev/null
+++ b/pkgs/development/python-modules/qiling/default.nix
@@ -0,0 +1,45 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, capstone
+, unicorn
+, pefile
+, python-registry
+, keystone-engine
+, pyelftools
+, gevent
+}:
+buildPythonPackage rec {
+  pname = "qiling";
+  version = "1.2.3";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "e3ed09f9e080559e73e2a9199649b934b3594f653079d1e7da4992340c19eb64";
+  };
+
+  propagatedBuildInputs = [
+    capstone
+    unicorn
+    pefile
+    python-registry
+    keystone-engine
+    pyelftools
+    gevent
+  ];
+
+  # Tests are broken (attempt to import a file that tells you not to import it,
+  # amongst other things)
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "qiling"
+  ];
+
+  meta = with lib; {
+    description = "Qiling Advanced Binary Emulation Framework";
+    homepage = "https://qiling.io/";
+    license = licenses.gpl2Only;
+    maintainers = teams.determinatesystems.members;
+  };
+}
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index a613634630fc..0a09346ac79d 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -6952,6 +6952,8 @@ in {
 
   python-redis-lock = callPackage ../development/python-modules/python-redis-lock { };
 
+  python-registry = callPackage ../development/python-modules/python-registry { };
+
   python-rtmidi = callPackage ../development/python-modules/python-rtmidi { };
 
   python-sat = callPackage ../development/python-modules/python-sat { };
@@ -7199,6 +7201,8 @@ in {
 
   qds_sdk = callPackage ../development/python-modules/qds_sdk { };
 
+  qiling = callPackage ../development/python-modules/qiling { };
+
   qimage2ndarray = callPackage ../development/python-modules/qimage2ndarray { };
 
   qiskit-aer = callPackage ../development/python-modules/qiskit-aer { };