nixpkgs/pkgs/development/python-modules/afdko/default.nix
2021-06-03 12:44:33 +02:00

80 lines
2.3 KiB
Nix

{ lib, stdenv, buildPythonPackage, fetchPypi, fetchpatch, pythonOlder, python
, fonttools, defcon, lxml, fs, unicodedata2, zopfli, brotlipy, fontpens
, brotli, fontmath, mutatormath, booleanoperations
, ufoprocessor, ufonormalizer, psautohint, tqdm
, setuptools-scm
, pytestCheckHook
}:
buildPythonPackage rec {
pname = "afdko";
version = "3.5.1";
disabled = pythonOlder "3.6";
src = fetchPypi {
inherit pname version;
sha256 = "1qg7dgl81yq0sp50pkhgvmf8az1svx20zmpkfa68ka9d0ssh1wjw";
};
patches = [
# Skip date-dependent test. See
# https://github.com/adobe-type-tools/afdko/pull/1232
# https://github.com/NixOS/nixpkgs/pull/98158#issuecomment-704321117
(fetchpatch {
url = "https://github.com/adobe-type-tools/afdko/commit/2c36ad10f9d964759f643e8ed7b0972a27aa26bd.patch";
sha256 = "0p6a485mmzrbfldfbhgfghsypfiad3cabcw7qlw2rh993ivpnibf";
})
# fix tests for fonttools 4.21.1
(fetchpatch {
url = "https://github.com/adobe-type-tools/afdko/commit/0919e7454a0a05a1b141c23bf8134c67e6b688fc.patch";
sha256 = "0glly85swyl1kcc0mi8i0w4bm148bb001jz1winz5drfrw3a63jp";
})
];
nativeBuildInputs = [ setuptools-scm ];
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
];
# tests are broken on non x86_64
# https://github.com/adobe-type-tools/afdko/issues/1163
# https://github.com/adobe-type-tools/afdko/issues/1216
doCheck = stdenv.isx86_64;
checkInputs = [ pytestCheckHook ];
preCheck = "export PATH=$PATH:$out/bin";
disabledTests = [
# Disable slow tests, reduces test time ~25 %
"test_report"
"test_post_overflow"
"test_cjk"
"test_extrapolate"
"test_filename_without_dir"
"test_overwrite"
"test_options"
];
meta = with lib; {
description = "Adobe Font Development Kit for OpenType";
homepage = "https://adobe-type-tools.github.io/afdko/";
license = licenses.asl20;
maintainers = [ maintainers.sternenseemann ];
};
}