Merge pull request #307098 from r-ryantm/auto-update/cilium-cli
[NixPkgs.git] / pkgs / development / python-modules / psautohint / default.nix
blob0702d4891cbc9482bac3da9dfafbc60df9404628
1 { lib, buildPythonPackage, fetchFromGitHub, pythonOlder
2 , fonttools
3 , lxml, fs # for fonttools extras
4 , setuptools-scm
5 , pytestCheckHook, pytest-cov, pytest-xdist
6 , runAllTests ? false, psautohint # for passthru.tests
7 }:
9 buildPythonPackage rec {
10   pname = "psautohint";
11   version = "2.4.0";
12   format = "setuptools";
14   disabled = pythonOlder "3.7";
16   src = fetchFromGitHub {
17     owner = "adobe-type-tools";
18     repo = pname;
19     rev = "v${version}";
20     sha256 = "125nx7accvbk626qlfar90va1995kp9qfrz6a978q4kv2kk37xai";
21     fetchSubmodules = true; # data dir for tests
22   };
24   postPatch = ''
25     echo '#define PSAUTOHINT_VERSION "${version}"' > libpsautohint/src/version.h
26     sed -i '/use_scm_version/,+3d' setup.py
27     sed -i '/setup(/a \     version="${version}",' setup.py
28   '';
30   nativeBuildInputs = [ setuptools-scm ];
32   propagatedBuildInputs = [ fonttools lxml fs ];
34   nativeCheckInputs = [
35     pytestCheckHook
36     pytest-cov
37     pytest-xdist
38   ];
39   disabledTests = lib.optionals (!runAllTests) [
40     # Slow tests, reduces test time from ~5 mins to ~30s
41     "test_mmufo"
42     "test_flex_ufo"
43     "test_ufo"
44     "test_flex_otf"
45     "test_multi_outpath"
46     "test_mmhint"
47     "test_otf"
48     # flaky tests (see https://github.com/adobe-type-tools/psautohint/issues/385)
49     "test_hashmap_old_version"
50     "test_hashmap_no_version"
51   ];
53   passthru.tests = {
54     fullTestsuite = psautohint.override { runAllTests = true; };
55   };
57   meta = with lib; {
58     description = "Script to normalize the XML and other data inside of a UFO";
59     homepage = "https://github.com/adobe-type-tools/psautohint";
60     license = licenses.bsd3;
61     maintainers = [ maintainers.sternenseemann ];
62   };