nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
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,
20}:
21
22buildPythonPackage {
23 pname = "notobuilder";
24 version = "0-unstable-2026-02-25";
25 pyproject = true;
26
27 src = fetchFromGitHub {
28 owner = "notofonts";
29 repo = "notobuilder";
30 rev = "5c15f266be1f24587adad807e2f1f3ff9ff537a8";
31 hash = "sha256-Tw1riTHORtIpOq8PjSspIR044TBupYgXkI8fBiBkgJI=";
32 };
33
34 postPatch = ''
35 substituteInPlace Lib/notobuilder/__main__.py \
36 --replace-fail '"ninja"' '"${lib.getExe ninja}"'
37 '';
38
39 build-system = [
40 setuptools
41 setuptools-scm
42 ];
43
44 env.SETUPTOOLS_SCM_PRETEND_VERSION = "0.0.0";
45
46 dependencies = [
47 fonttools
48 ufomerge
49 fontmake
50 glyphslib
51 ttfautohint-py
52 ufo2ft
53 gftools
54 fontbakery
55 chevron
56 sh
57 ]
58 ++ gftools.optional-dependencies.qa;
59
60 pythonImportsCheck = [
61 "notobuilder"
62 "notoqa"
63 ];
64
65 passthru.updateScript = unstableGitUpdater { };
66
67 meta = {
68 description = "Python module for building Noto fonts";
69 homepage = "https://github.com/notofonts/notobuilder";
70 license = lib.licenses.asl20;
71 maintainers = with lib.maintainers; [ jopejoe1 ];
72 };
73}