From 742be90f80e09efd43d6ac6e554414826c03d98d Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Sun, 4 Aug 2024 19:04:22 +0200 Subject: [PATCH] python3Packages.fontmake: modernize --- .../python-modules/fontmake/default.nix | 56 +++++++++++++------ 1 file changed, 38 insertions(+), 18 deletions(-) diff --git a/pkgs/development/python-modules/fontmake/default.nix b/pkgs/development/python-modules/fontmake/default.nix index 2829e4f1242d..7a4bca9d1fb9 100644 --- a/pkgs/development/python-modules/fontmake/default.nix +++ b/pkgs/development/python-modules/fontmake/default.nix @@ -1,14 +1,17 @@ { lib, buildPythonPackage, - fetchPypi, - glyphslib, - setuptools-scm, - ufo2ft, - fonttools, + fetchFromGitHub, + pytestCheckHook, fontmath, - lxml, + fonttools, + glyphslib, setuptools, + setuptools-scm, + skia-pathops, + ttfautohint-py, + ufo2ft, + ufolib2, }: buildPythonPackage rec { @@ -16,28 +19,45 @@ buildPythonPackage rec { version = "3.9.0"; pyproject = true; - src = fetchPypi { - inherit pname version; - hash = "sha256-KrfT0fvE1fhaM2RH4LqRUda7yMHg2T59UdGi3SSZP7s="; - extension = "zip"; + src = fetchFromGitHub { + owner = "googlefonts"; + repo = "fontmake"; + rev = "v${version}"; + hash = "sha256-q6ul9MYbq85RpZE0ozHOCBNAR4r9InIjumadT1GyJ6k="; }; - nativeBuildInputs = [ setuptools-scm ]; - - propagatedBuildInputs = [ - glyphslib - ufo2ft - fonttools - fontmath - lxml + build-system = [ setuptools + setuptools-scm ]; + dependencies = + [ + fontmath + fonttools + glyphslib + ufo2ft + ufolib2 + ] + ++ fonttools.optional-dependencies.ufo + ++ fonttools.optional-dependencies.lxml + ++ fonttools.optional-dependencies.unicode; + + optional-dependencies = { + pathops = [ skia-pathops ]; + autohint = [ ttfautohint-py ]; + json = ufolib2.optional-dependencies.json; + repacker = fonttools.optional-dependencies.repacker; + }; + + nativeCheckInputs = [ pytestCheckHook ] ++ optional-dependencies.autohint; + pythonImportsCheck = [ "fontmake" ]; meta = { description = "Compiles fonts from various sources (.glyphs, .ufo, designspace) into binaries formats (.otf, .ttf)"; homepage = "https://github.com/googlefonts/fontmake"; + changelog = "https://github.com/googlefonts/fontmake/releases/tag/v${version}"; license = lib.licenses.asl20; maintainers = [ lib.maintainers.BarinovMaxim ]; };