diff --git a/brother-ql.nix b/brother-ql.nix new file mode 100644 index 0000000..515a495 --- /dev/null +++ b/brother-ql.nix @@ -0,0 +1,48 @@ +{ stdenv +, fetchPypi +, fetchpatch +, buildPythonPackage +, future +, packbits +, pillow +, pyusb +, pytest +, mock +, click +, attrs +, lib +}: + +buildPythonPackage rec { + pname = "brother-ql"; + version = "0.9.4"; + format = "setuptools"; + + src = fetchPypi { + pname = "brother_ql"; + inherit version; + hash = "sha256-H1xXoDnwEsnCBDl/RwAB9267dINCHr3phdDLPGFOhmA="; + }; + + propagatedBuildInputs = [ future packbits pillow pyusb click attrs ]; + + patches = [ + # Make compatible with recent PIL library + (fetchpatch { + url = "https://patch-diff.githubusercontent.com/raw/pklaus/brother_ql/pull/143.patch"; + hash = "sha256-w4p64dHn08tqT6/gDPpupIf08yQe8oOm9ItCMaPe2cc="; + }) + ]; + + meta = with lib; { + description = "Python package for the raster language protocol of the Brother QL series label printers"; + longDescription = '' + Python package for the raster language protocol of the Brother QL series label printers + (QL-500, QL-550, QL-570, QL-700, QL-710W, QL-720NW, QL-800, QL-820NWB, QL-1050 and more) + ''; + homepage = "https://github.com/pklaus/brother_ql"; + license = licenses.gpl3; + maintainers = with maintainers; [ grahamc ]; + mainProgram = "brother_ql"; + }; +} diff --git a/default.nix b/default.nix index cb605fc..d972755 100644 --- a/default.nix +++ b/default.nix @@ -4,7 +4,8 @@ self: super: { python3 = super.python3.override { packageOverrides = python-self: python-super: { - pytapo = python-super.callPackage ./pytapo { }; + pytapo = python-self.callPackage ./pytapo { }; + brother-ql = python-self.callPackage ./brother-ql.nix { }; }; };