btrbk: add mainProgram (#356350)
[NixPkgs.git] / pkgs / development / python-modules / notobuilder / default.nix
blob0dce59c8d16be63173722a6c4f45e3f28ba1a96f
2   lib,
3   buildPythonPackage,
4   fetchFromGitHub,
5   unstableGitUpdater,
6   setuptools,
7   setuptools-scm,
8   fonttools,
9   ufomerge,
10   fontmake,
11   glyphslib,
12   ttfautohint-py,
13   ufo2ft,
14   gftools,
15   fontbakery,
16   diffenator2,
17   chevron,
18   sh,
19   ninja,
22 buildPythonPackage {
23   pname = "notobuilder";
24   version = "0-unstable-2024-08-03";
25   pyproject = true;
27   src = fetchFromGitHub {
28     owner = "notofonts";
29     repo = "notobuilder";
30     rev = "d7bcfc8e5c5ee9b273e7b1eeb2dd6d619da68c33";
31     hash = "sha256-1tdHbJixd1s1grGh0enqXhp+u5TEic6/W88X/f8vagM=";
32   };
34   postPatch = ''
35     substituteInPlace Lib/notobuilder/__main__.py \
36       --replace-fail '"ninja"' '"${lib.getExe ninja}"'
37   '';
39   build-system = [
40     setuptools
41     setuptools-scm
42   ];
44   dependencies = [
45     fonttools
46     ufomerge
47     fontmake
48     glyphslib
49     ttfautohint-py
50     ufo2ft
51     gftools
52     fontbakery
53     diffenator2
54     chevron
55     sh
56   ] ++ gftools.optional-dependencies.qa;
58   pythonImportsCheck = [
59     "notobuilder"
60     "notoqa"
61   ];
63   passthru.updateScript = unstableGitUpdater { };
65   meta = {
66     description = "Python module for building Noto fonts";
67     homepage = "https://github.com/notofonts/notobuilder";
68     license = lib.licenses.unfree;
69     maintainers = with lib.maintainers; [ jopejoe1 ];
70   };