diff --git a/pkgs/development/python-modules/psautohint/default.nix b/pkgs/development/python-modules/psautohint/default.nix new file mode 100644 index 000000000000..0f89069c7d8f --- /dev/null +++ b/pkgs/development/python-modules/psautohint/default.nix @@ -0,0 +1,40 @@ +{ lib, buildPythonPackage, fetchFromGitHub, pythonOlder +, fonttools, lxml, fs +, setuptools_scm +, pytest, pytestcov, pytest_xdist, pytest-randomly +}: + +buildPythonPackage rec { + pname = "psautohint"; + version = "2.1.0"; + + disabled = pythonOlder "3.6"; + + src = fetchFromGitHub { + owner = "adobe-type-tools"; + repo = pname; + sha256 = "1k1rx1adqxdxj5v3788lwnvygylp73sps1p0q44hws2vmsag2s8r"; + rev = "v${version}"; + fetchSubmodules = true; # data dir for tests + }; + + postPatch = '' + echo '#define PSAUTOHINT_VERSION "${version}"' > libpsautohint/src/version.h + sed -i '/use_scm_version/,+3d' setup.py + sed -i '/setup(/a \ version="${version}",' setup.py + ''; + + nativeBuildInputs = [ setuptools_scm ]; + + propagatedBuildInputs = [ fonttools lxml fs ]; + + checkInputs = [ pytest pytestcov pytest_xdist pytest-randomly ]; + checkPhase = "pytest tests"; + + meta = with lib; { + description = "Script to normalize the XML and other data inside of a UFO"; + homepage = "https://github.com/adobe-type-tools/psautohint"; + license = licenses.bsd3; + maintainers = [ maintainers.sternenseemann ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index deb669b18b08..c558eda2371d 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -5500,6 +5500,8 @@ in { protobuf = pkgs.protobuf; }; + psautohint = callPackage ../development/python-modules/psautohint { }; + psd-tools = callPackage ../development/python-modules/psd-tools { }; psutil = callPackage ../development/python-modules/psutil { };