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-2024-09-25"; 25 pyproject = true; 26 27 src = fetchFromGitHub { 28 owner = "notofonts"; 29 repo = "notobuilder"; 30 rev = "8a60f1599ce86c4b3eacb5d01c3f17162bab67d3"; 31 hash = "sha256-YBiDOnt2B7I/AcEfFgGrdzN/tNz/tQO0cv9N4PupPCE="; 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 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; 57 58 pythonImportsCheck = [ 59 "notobuilder" 60 "notoqa" 61 ]; 62 63 passthru.updateScript = unstableGitUpdater { }; 64 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 }; 71}