nixpkgs/pkgs/development/python-modules/ufo2ft/default.nix

87 lines
1.7 KiB
Nix

{
lib,
booleanoperations,
buildPythonPackage,
cffsubr,
compreffor,
cu2qu,
defcon,
fetchPypi,
fetchpatch2,
fontmath,
fonttools,
pytestCheckHook,
pythonOlder,
setuptools-scm,
skia-pathops,
syrupy,
ufolib2,
}:
buildPythonPackage rec {
pname = "ufo2ft";
version = "3.3.0";
pyproject = true;
disabled = pythonOlder "3.8";
src = fetchPypi {
inherit pname version;
hash = "sha256-lw5mLcVw1NFT1c/AOcMyo2a8aGOyxFG+ZAU6Ggnssko=";
};
patches = [
(fetchpatch2 {
# update syrupy snapshots
url = "https://github.com/googlefonts/ufo2ft/commit/7a3edb2e4202cf388e3ffe31b5b3783dbb392db2.patch";
hash = "sha256-YEgUgrtgH3PBZlt+xoJme+oPRuDMwq7M/4cJ3JbeuyU=";
})
];
build-system = [
setuptools-scm
];
pythonRelaxDeps = [ "cffsubr" ];
dependencies = [
cu2qu
fontmath
fonttools
defcon
compreffor
booleanoperations
cffsubr
ufolib2
skia-pathops
] ++ fonttools.optional-dependencies.lxml ++ fonttools.optional-dependencies.ufo;
nativeCheckInputs = [
pytestCheckHook
syrupy
];
disabledTests = [
# Do not depend on skia.
"test_removeOverlaps_CFF_pathops"
"test_removeOverlaps_pathops"
"test_custom_filters_as_argument"
"test_custom_filters_as_argument"
# Some integration tests fail
"test_compileVariableCFF2"
"test_compileVariableTTF"
"test_drop_glyph_names_variable"
"test_drop_glyph_names_variable"
];
pythonImportsCheck = [ "ufo2ft" ];
meta = with lib; {
description = "Bridge from UFOs to FontTools objects";
homepage = "https://github.com/googlefonts/ufo2ft";
changelog = "https://github.com/googlefonts/ufo2ft/releases/tag/v${version}";
license = licenses.mit;
maintainers = [ ];
};
}