1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 fonttools,
6 openstep-plist,
7 ufolib2,
8 pytestCheckHook,
9 unicodedata2,
10 setuptools-scm,
11 ufonormalizer,
12 xmldiff,
13 defcon,
14 ufo2ft,
15 skia-pathops,
16}:
17
18buildPythonPackage rec {
19 pname = "glyphslib";
20 version = "6.11.6";
21
22 pyproject = true;
23
24 src = fetchFromGitHub {
25 owner = "googlefonts";
26 repo = "glyphsLib";
27 tag = "v${version}";
28 hash = "sha256-ZHF+q6L2XcYk5HRuRz1pgvfRAwY2GxLqyjIDY1ocsEQ=";
29 };
30
31 build-system = [ setuptools-scm ];
32
33 dependencies = [
34 fonttools
35 openstep-plist
36 ufolib2
37 unicodedata2
38 ufonormalizer
39 xmldiff
40 defcon
41 ufo2ft
42 skia-pathops
43 ];
44
45 nativeCheckInputs = [ pytestCheckHook ];
46
47 pythonImportsCheck = [ "glyphsLib" ];
48
49 disabledTestPaths = [
50 "tests/builder/designspace_gen_test.py" # this test tries to use non-existent font "CoolFoundry Examplary Serif"
51 "tests/builder/interpolation_test.py" # this test tries to use a font that previous test should made
52 ];
53
54 meta = {
55 description = "Bridge from Glyphs source files (.glyphs) to UFOs and Designspace files via defcon and designspaceLib";
56 homepage = "https://github.com/googlefonts/glyphsLib";
57 license = lib.licenses.asl20;
58 maintainers = [ lib.maintainers.BarinovMaxim ];
59 };
60}