diff --git a/pkgs/development/python-modules/hidapi/default.nix b/pkgs/development/python-modules/hidapi/default.nix new file mode 100644 index 000000000000..697bc1cd0e3d --- /dev/null +++ b/pkgs/development/python-modules/hidapi/default.nix @@ -0,0 +1,30 @@ +{ stdenv, libusb1, udev, fetchPypi, buildPythonPackage, cython }: + +buildPythonPackage rec { + name = "${pname}-${version}"; + pname = "hidapi"; + version = "0.7.99.post20"; + + src = fetchPypi { + inherit pname version; + sha256 = "1k7z5m7xsqy8j4qkjy4pfxdx4hm36ha68vi65z6smvnyg4zgv22z"; + }; + + propagatedBuildInputs = [ libusb1 udev cython ]; + + # Fix the USB backend library lookup + postPatch = '' + libusb=${libusb1.dev}/include/libusb-1.0 + test -d $libusb || { echo "ERROR: $libusb doesn't exist, please update/fix this build expression."; exit 1; } + sed -i -e "s|/usr/include/libusb-1.0|$libusb|" setup.py + ''; + + meta = with stdenv.lib; { + description = "A Cython interface to the hidapi from https://github.com/signal11/hidapi"; + homepage = https://github.com/trezor/cython-hidapi; + # license can actually be either bsd3 or gpl3 + # see https://github.com/trezor/cython-hidapi/blob/master/LICENSE-orig.txt + license = licenses.bsd3; + maintainers = with maintainers; [ np ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index c146ea70b2c6..4f6060af235d 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -29626,32 +29626,8 @@ EOF }; }; - hidapi = buildPythonPackage rec{ - version = "0.7.99.post15"; - name = "hidapi-${version}"; - - src = pkgs.fetchurl { - url = "mirror://pypi/h/hidapi/${name}.tar.gz"; - sha256 = "09wlr1d7mx80974bsq62j4pk80234jgl7ip4br0y43q6999dpcr0"; - }; - - propagatedBuildInputs = with self; [ pkgs.libusb1 pkgs.udev cython ]; - - # Fix the USB backend library lookup - postPatch = '' - libusb=${pkgs.libusb1.dev}/include/libusb-1.0 - test -d $libusb || { echo "ERROR: $libusb doesn't exist, please update/fix this build expression."; exit 1; } - sed -i -e "s|/usr/include/libusb-1.0|$libusb|" setup.py - ''; - - meta = { - description = "A Cython interface to the hidapi from https://github.com/signal11/hidapi"; - homepage = https://github.com/trezor/cython-hidapi; - # license can actually be either bsd3 or gpl3 - # see https://github.com/trezor/cython-hidapi/blob/master/LICENSE-orig.txt - license = licenses.bsd3; - maintainers = with maintainers; [ np ]; - }; + hidapi = callPackage ../development/python-modules/hidapi { + inherit (pkgs) udev libusb1; }; mnemonic = callPackage ../development/python-modules/mnemonic.nix { };