diff --git a/pkgs/development/python-modules/pylibftdi/default.nix b/pkgs/development/python-modules/pylibftdi/default.nix new file mode 100644 index 00000000000..9e8f96665d0 --- /dev/null +++ b/pkgs/development/python-modules/pylibftdi/default.nix @@ -0,0 +1,38 @@ +{ lib +, buildPythonPackage +, fetchPypi +, httpserver +, libftdi1 +, libusb1 +}: + +buildPythonPackage rec { + pname = "pylibftdi"; + version = "0.18.1"; + + src = fetchPypi { + inherit pname version; + sha256 = "17c5h4xz1grynbpffngjflk3dlw2g2zbhkwb7h5v4n9rjdv41l5x"; + }; + + propagatedBuildInputs = [ + httpserver + libftdi1 + libusb1 + ]; + + postPatch = '' + substituteInPlace pylibftdi/driver.py \ + --replace "self._load_library('libusb')" "cdll.LoadLibrary('${libusb1.out}/lib/libusb1.so')" \ + --replace "self._load_library('libftdi')" "cdll.LoadLibrary('${libftdi1.out}/lib/libftdi1.so')" + ''; + + pythonImportsCheck = [ "pylibftdi" ]; + + meta = with lib; { + homepage = "https://bitbucket.org/codedstructure/pylibftdi/src/default/"; + description = "Minimal pythonic wrapper to Intra2net's libftdi driver for FTDI's USB devices"; + license = licenses.mit; + maintainers = with maintainers; [ matthuszagh ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 68debd34013..755c724e275 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1222,6 +1222,10 @@ in { pylev = callPackage ../development/python-modules/pylev { }; + pylibftdi = callPackage ../development/python-modules/pylibftdi { + inherit (pkgs) libusb1; + }; + pymatgen = callPackage ../development/python-modules/pymatgen { }; pymatgen-lammps = callPackage ../development/python-modules/pymatgen-lammps { };