python3Packages.fontmake: modernize

This commit is contained in:
jopejoe1 2024-08-04 19:04:22 +02:00
parent 16b81d14da
commit 742be90f80

View File

@ -1,14 +1,17 @@
{ {
lib, lib,
buildPythonPackage, buildPythonPackage,
fetchPypi, fetchFromGitHub,
glyphslib, pytestCheckHook,
setuptools-scm,
ufo2ft,
fonttools,
fontmath, fontmath,
lxml, fonttools,
glyphslib,
setuptools, setuptools,
setuptools-scm,
skia-pathops,
ttfautohint-py,
ufo2ft,
ufolib2,
}: }:
buildPythonPackage rec { buildPythonPackage rec {
@ -16,28 +19,45 @@ buildPythonPackage rec {
version = "3.9.0"; version = "3.9.0";
pyproject = true; pyproject = true;
src = fetchPypi { src = fetchFromGitHub {
inherit pname version; owner = "googlefonts";
hash = "sha256-KrfT0fvE1fhaM2RH4LqRUda7yMHg2T59UdGi3SSZP7s="; repo = "fontmake";
extension = "zip"; rev = "v${version}";
hash = "sha256-q6ul9MYbq85RpZE0ozHOCBNAR4r9InIjumadT1GyJ6k=";
}; };
nativeBuildInputs = [ setuptools-scm ]; build-system = [
propagatedBuildInputs = [
glyphslib
ufo2ft
fonttools
fontmath
lxml
setuptools 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" ]; pythonImportsCheck = [ "fontmake" ];
meta = { meta = {
description = "Compiles fonts from various sources (.glyphs, .ufo, designspace) into binaries formats (.otf, .ttf)"; description = "Compiles fonts from various sources (.glyphs, .ufo, designspace) into binaries formats (.otf, .ttf)";
homepage = "https://github.com/googlefonts/fontmake"; homepage = "https://github.com/googlefonts/fontmake";
changelog = "https://github.com/googlefonts/fontmake/releases/tag/v${version}";
license = lib.licenses.asl20; license = lib.licenses.asl20;
maintainers = [ lib.maintainers.BarinovMaxim ]; maintainers = [ lib.maintainers.BarinovMaxim ];
}; };