Files
nixpkgs/pkgs/development/python-modules/afdko/default.nix
T
Guillaume Girol 33afbf39f6 treewide: switch to nativeCheckInputs
checkInputs used to be added to nativeBuildInputs. Now we have
nativeCheckInputs to do that instead. Doing this treewide change allows
to keep hashes identical to before the introduction of
nativeCheckInputs.
2023-01-21 12:00:00 +00:00

125 lines
2.6 KiB
Nix

{ lib
, stdenv
, buildPythonPackage
, fetchPypi
, fetchpatch
, pythonOlder
, fonttools
, defcon
, lxml
, fs
, unicodedata2
, zopfli
, brotlipy
, fontpens
, brotli
, fontmath
, mutatormath
, booleanoperations
, ufoprocessor
, ufonormalizer
, psautohint
, tqdm
, setuptools-scm
, scikit-build
, cmake
, antlr4_9
, libxml2
, pytestCheckHook
# Enables some expensive tests, useful for verifying an update
, runAllTests ? false
, afdko
}:
buildPythonPackage rec {
pname = "afdko";
version = "3.9.2";
format = "pyproject";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-3JEnQbS4CtZEqAb+/ngqkO+nv9SZ0Zi8sPJLyW+tQ9w=";
};
nativeBuildInputs = [
setuptools-scm
scikit-build
cmake
];
buildInputs = [
antlr4_9.runtime.cpp
libxml2.dev
];
patches = [
# Don't try to install cmake and ninja using pip
./no-pypi-build-tools.patch
# Use antlr4 runtime from nixpkgs and link it dynamically
./use-dynamic-system-antlr4-runtime.patch
];
# setup.py will always (re-)execute cmake in buildPhase
dontConfigure = true;
propagatedBuildInputs = [
booleanoperations
fonttools
lxml # fonttools[lxml], defcon[lxml] extra
fs # fonttools[ufo] extra
unicodedata2 # fonttools[unicode] extra
brotlipy # fonttools[woff] extra
zopfli # fonttools[woff] extra
fontpens
brotli
defcon
fontmath
mutatormath
ufoprocessor
ufonormalizer
psautohint
tqdm
];
# Use system libxml2
FORCE_SYSTEM_LIBXML2 = true;
nativeCheckInputs = [ pytestCheckHook ];
preCheck = ''
export PATH=$PATH:$out/bin
'';
disabledTests = lib.optionals (!runAllTests) [
# Disable slow tests, reduces test time ~25 %
"test_report"
"test_post_overflow"
"test_cjk"
"test_extrapolate"
"test_filename_without_dir"
"test_overwrite"
"test_options"
] ++ lib.optionals (stdenv.hostPlatform.isAarch || stdenv.hostPlatform.isRiscV) [
# unknown reason so far
# https://github.com/adobe-type-tools/afdko/issues/1425
"test_spec"
] ++ lib.optionals (stdenv.hostPlatform.isi686) [
"test_type1mm_inputs"
];
passthru.tests = {
fullTestsuite = afdko.override { runAllTests = true; };
};
meta = with lib; {
changelog = "https://github.com/adobe-type-tools/afdko/blob/${version}/NEWS.md";
description = "Adobe Font Development Kit for OpenType";
homepage = "https://adobe-type-tools.github.io/afdko";
license = licenses.asl20;
maintainers = [ maintainers.sternenseemann ];
};
}