python3Packages.afdko: 3.5.1 -> 3.7.1

This commit is contained in:
sternenseemann
2021-11-23 11:45:00 +01:00
committed by sterni
parent ac1f59665b
commit f51df005e2
3 changed files with 92 additions and 22 deletions
@@ -1,38 +1,45 @@
{ lib, stdenv, buildPythonPackage, fetchPypi, fetchpatch, pythonOlder
{ lib, stdenv, buildPythonPackage, fetchPypi, pythonOlder
, fonttools, defcon, lxml, fs, unicodedata2, zopfli, brotlipy, fontpens
, brotli, fontmath, mutatormath, booleanoperations
, ufoprocessor, ufonormalizer, psautohint, tqdm
, setuptools-scm
, setuptools-scm, scikit-build
, cmake
, antlr4_9
, pytestCheckHook
}:
buildPythonPackage rec {
pname = "afdko";
version = "3.5.1";
version = "3.7.1";
disabled = pythonOlder "3.6";
src = fetchPypi {
inherit pname version;
sha256 = "1qg7dgl81yq0sp50pkhgvmf8az1svx20zmpkfa68ka9d0ssh1wjw";
sha256 = "05hj2mw3ppfjaig5zdk5db9vfrbbq5gmv5rzggmvvrj0yyfpr0pd";
};
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";
})
format = "pyproject";
nativeBuildInputs = [
setuptools-scm
scikit-build
cmake
];
nativeBuildInputs = [ setuptools-scm ];
buildInputs = [
antlr4_9.runtime.cpp
];
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
@@ -53,10 +60,6 @@ buildPythonPackage rec {
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
@@ -0,0 +1,24 @@
commit 72b0ab672d1080049431eeee07ae6d2556ae9e4a
Author: sternenseemann <sternenseemann@systemli.org>
Date: Tue Oct 5 18:17:20 2021 +0200
Don't use pypi distributions of build tools
We want to use regular cmake and ninja and not the pypi projects which
somehow wrap and vendor a version of the proper tool.
diff --git a/setup.py b/setup.py
index 50deb781..81417971 100644
--- a/setup.py
+++ b/setup.py
@@ -196,9 +196,7 @@ def main():
setup_requires=[
'wheel',
'setuptools_scm',
- 'scikit-build',
- 'cmake',
- 'ninja'
+ 'scikit-build'
],
tests_require=[
'pytest',
@@ -0,0 +1,43 @@
commit 105daa26f09034af58eb13ac7c5c4ff5420c1724
Author: sternenseemann <sternenseemann@systemli.org>
Date: Tue Oct 5 18:16:10 2021 +0200
Link against system antlr4 runtime, dynamically
Instead of cloning a antlr4 version from git, use the system one. Also
don't link it statically, but dynamically by default (the library is
called antlr4-runtime, not antlr4_static).
diff --git a/CMakeLists.txt b/CMakeLists.txt
index d7f86fb6..c43c4456 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -36,13 +36,13 @@ list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
# https://www.antlr.org/download/antlr4-cpp-runtime-4.9.2-source.zip
# set(ANTLR4_ZIP_REPOSITORY "/path_to_antlr4_archive/a4.zip")
-add_definitions(-DANTLR4CPP_STATIC)
set(ANTLR4_WITH_STATIC_CRT OFF)
# Use slightly more recent commit than 4.9.2 to deal with utfcpp test
# compilation problems
# set(ANTLR4_TAG tags/4.9.2)
set(ANTLR4_TAG 916f03366edf15bf8b50010b11d479c189bf9f96)
-include(ExternalAntlr4Cpp)
+find_path(ANTLR4_HEADER antlr4-runtime.h PATH_SUFFIXES antlr4-runtime)
+set(ANTLR4_INCLUDE_DIRS ${ANTLR4_HEADER})
# sanitizer support
# work around https://github.com/pypa/setuptools/issues/1928 with environment
diff --git a/c/makeotf/lib/hotconv/CMakeLists.txt b/c/makeotf/lib/hotconv/CMakeLists.txt
index 82257bf2..02eb2e30 100644
--- a/c/makeotf/lib/hotconv/CMakeLists.txt
+++ b/c/makeotf/lib/hotconv/CMakeLists.txt
@@ -69,7 +69,7 @@ add_library(hotconv STATIC
set_property(TARGET hotconv PROPERTY C_STANDARD 99)
target_include_directories(hotconv PRIVATE AFTER $<$<COMPILE_LANGUAGE:CXX>:${ANTLR4_INCLUDE_DIRS}>)
-target_link_libraries(hotconv PUBLIC antlr4_static)
+target_link_libraries(hotconv PUBLIC antlr4-runtime)
if ( CMAKE_COMPILER_IS_GNUCC )
target_compile_options(hotconv PRIVATE -Wall -Wno-attributes)