summary refs log tree commit diff
diff options
context:
space:
mode:
authorMatthew O'Gorman <mog@rldn.net>2019-07-06 11:41:07 -0400
committerMatthew O'Gorman <mog@rldn.net>2019-07-14 02:43:57 -0400
commit8dc44053d9ab60cc5cdcff70dcc3cd6a5e3f83f9 (patch)
tree81217e5e4f19281c615bf59f852e9543f90551ee
parentda20f6144450dd7032d08017bbb2d172c594bfe6 (diff)
downloadnixpkgs-8dc44053d9ab60cc5cdcff70dcc3cd6a5e3f83f9.tar
nixpkgs-8dc44053d9ab60cc5cdcff70dcc3cd6a5e3f83f9.tar.gz
nixpkgs-8dc44053d9ab60cc5cdcff70dcc3cd6a5e3f83f9.tar.bz2
nixpkgs-8dc44053d9ab60cc5cdcff70dcc3cd6a5e3f83f9.tar.lz
nixpkgs-8dc44053d9ab60cc5cdcff70dcc3cd6a5e3f83f9.tar.xz
nixpkgs-8dc44053d9ab60cc5cdcff70dcc3cd6a5e3f83f9.tar.zst
nixpkgs-8dc44053d9ab60cc5cdcff70dcc3cd6a5e3f83f9.zip
greatfet: init at 2019.05.01.dev0
-rw-r--r--pkgs/development/python-modules/facedancer/default.nix26
-rw-r--r--pkgs/development/python-modules/greatfet/default.nix34
-rw-r--r--pkgs/development/python-modules/pygreat/default.nix31
-rw-r--r--pkgs/top-level/python-packages.nix6
4 files changed, 97 insertions, 0 deletions
diff --git a/pkgs/development/python-modules/facedancer/default.nix b/pkgs/development/python-modules/facedancer/default.nix
new file mode 100644
index 00000000000..47147bdb01b
--- /dev/null
+++ b/pkgs/development/python-modules/facedancer/default.nix
@@ -0,0 +1,26 @@
+{ lib, buildPythonPackage, fetchPypi, isPy3k, pyusb, pyserial }:
+
+buildPythonPackage rec {
+  pname = "facedancer";
+  version = "2019.3.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1zhwnlfksblgp54njd9gjsrr5ibg12cx1x9xxcqkcdfhn3m2kmm0";
+  };
+
+  disabled = !isPy3k;
+
+  propagatedBuildInputs = [ pyusb pyserial ];
+
+  preBuild = ''
+    echo "$version" > VERSION
+  '';
+
+  meta = with lib; {
+    description = "library for emulating usb devices";
+    homepage = https://greatscottgadgets.com/greatfet/;
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ mog ];
+  };
+}
diff --git a/pkgs/development/python-modules/greatfet/default.nix b/pkgs/development/python-modules/greatfet/default.nix
new file mode 100644
index 00000000000..b0e418913b7
--- /dev/null
+++ b/pkgs/development/python-modules/greatfet/default.nix
@@ -0,0 +1,34 @@
+{ lib, fetchFromGitHub, buildPythonPackage, isPy3k, future, pyusb, ipython, pygreat }:
+
+buildPythonPackage rec {
+  pname = "GreatFET";
+  version = "2019.5.1.dev0";
+
+  src = fetchFromGitHub {
+    owner = "greatscottgadgets";
+    repo = "greatfet";
+    rev = "a927f21d59ccface00635146103a807c1d2b0ad8";
+    sha256 = "054vkx4xkbhxhh5grjbs9kw3pjkv1zapp91ysrqr0c8mg1pc7zxv";
+  };
+
+  disabled = !isPy3k;
+
+  propagatedBuildInputs = [ future pyusb ipython pygreat ];
+
+  doCheck = false;
+
+  preBuild = ''
+    cd host
+    echo "$version" > ../VERSION
+  '';
+
+  meta = {
+    description = "Hardware hacking with the greatfet";
+    homepage = https://greatscottgadgets.com/greatfet;
+    license = lib.licenses.bsd3;
+    platforms = lib.platforms.all;
+    maintainers = with lib.maintainers; [ mog ];
+  };
+}
+
+
diff --git a/pkgs/development/python-modules/pygreat/default.nix b/pkgs/development/python-modules/pygreat/default.nix
new file mode 100644
index 00000000000..97401f2eb16
--- /dev/null
+++ b/pkgs/development/python-modules/pygreat/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, buildPythonPackage, isPy3k, fetchFromGitHub, future, pyusb }:
+
+buildPythonPackage rec {
+  pname = "pygreat";
+  version = "2019.5.1.dev0";
+
+  src = fetchFromGitHub {
+    owner = "greatscottgadgets";
+    repo = "libgreat";
+    rev = "14c00b7c8f036f4d467e4b1a324ffa3566b126fa";
+    sha256 = "1h0z83k1k4z8j36z936h61l8j3cjr3wsxr86k91v5c5h93g9dkqh";
+  };
+
+  propagatedBuildInputs = [ future pyusb ];
+
+  disabled = !isPy3k;
+
+  preBuild = ''
+    cd host
+    substituteInPlace setup.py --replace "'backports.functools_lru_cache'" ""
+    substituteInPlace pygreat/comms.py --replace "from backports.functools_lru_cache import lru_cache as memoize_with_lru_cache" "from functools import lru_cache as memoize_with_lru_cache"
+    echo "$version" > ../VERSION
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Python library for talking with libGreat devices";
+    homepage = https://greatscottgadgets.com/greatfet/;
+    license = with licenses; [ bsd3 ];
+  };
+
+}
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 2ec132264a9..747495698dc 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -422,6 +422,8 @@ in {
 
   fasttext = callPackage ../development/python-modules/fasttext {  };
 
+  facedancer = callPackage ../development/python-modules/facedancer {  };
+
   favicon = callPackage ../development/python-modules/favicon {  };
 
   fido2 = callPackage ../development/python-modules/fido2 {  };
@@ -2802,6 +2804,10 @@ in {
 
   grappelli_safe = callPackage ../development/python-modules/grappelli_safe { };
 
+  greatfet = callPackage ../development/python-modules/greatfet { };
+
+  pygreat = callPackage ../development/python-modules/pygreat { };
+
   pytorch = callPackage ../development/python-modules/pytorch {
     cudaSupport = pkgs.config.cudaSupport or false;
   };