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; };