about summary refs log tree commit diff
diff options
context:
space:
mode:
authorsternenseemann <sternenseemann@systemli.org>2022-07-02 12:45:36 +0200
committersternenseemann <sternenseemann@systemli.org>2022-07-02 12:45:36 +0200
commit7b5ee6d9275a26fdbcdbfc169cddab4d4a1d098a (patch)
tree84205d784c034e2f514c41415964cb4f3f9da8a4
parenteb0ee6794691f561a42ffaae21cf7813e5a8ebf2 (diff)
python3Packages.afdko: 3.8.3 -> 3.9.0
3.9.1 is problematic atm because it'll unconditionally use the libxml2
externalproject on linux:
https://github.com/adobe-type-tools/afdko/pull/1527#issuecomment-1172872618

https://github.com/adobe-type-tools/afdko/blob/3.9.0/NEWS.md#390-released-2022-06-23
-rw-r--r--pkgs/development/python-modules/afdko/default.nix8
-rw-r--r--pkgs/development/python-modules/afdko/libxml2-cmake-find-package.patch22
-rw-r--r--pkgs/development/python-modules/afdko/use-dynamic-system-antlr4-runtime.patch26
3 files changed, 47 insertions, 9 deletions
diff --git a/pkgs/development/python-modules/afdko/default.nix b/pkgs/development/python-modules/afdko/default.nix
index 613ee89f276ea..2ca94a2085a48 100644
--- a/pkgs/development/python-modules/afdko/default.nix
+++ b/pkgs/development/python-modules/afdko/default.nix
@@ -5,6 +5,7 @@
 , setuptools-scm, scikit-build
 , cmake
 , antlr4_9
+, libxml2
 , pytestCheckHook
 # Enables some expensive tests, useful for verifying an update
 , runAllTests ? false
@@ -13,13 +14,13 @@
 
 buildPythonPackage rec {
   pname = "afdko";
-  version = "3.8.3";
+  version = "3.9.0";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0mplyla4zcai3qld7is7bl5wn2kzhp87w87yi13wpqnw06i6ij4b";
+    sha256 = "1fjsaz6bp028fbmry6fzfcih78mdzycqmky1wsz5y0bg4kfk4shh";
   };
 
   format = "pyproject";
@@ -32,6 +33,7 @@ buildPythonPackage rec {
 
   buildInputs = [
     antlr4_9.runtime.cpp
+    libxml2.dev
   ];
 
   patches = [
@@ -40,6 +42,8 @@ buildPythonPackage rec {
 
     # Use antlr4 runtime from nixpkgs and link it dynamically
     ./use-dynamic-system-antlr4-runtime.patch
+
+    ./libxml2-cmake-find-package.patch
   ];
 
   # setup.py will always (re-)execute cmake in buildPhase
diff --git a/pkgs/development/python-modules/afdko/libxml2-cmake-find-package.patch b/pkgs/development/python-modules/afdko/libxml2-cmake-find-package.patch
new file mode 100644
index 0000000000000..87604199d3e98
--- /dev/null
+++ b/pkgs/development/python-modules/afdko/libxml2-cmake-find-package.patch
@@ -0,0 +1,22 @@
+commit c423d1ddf0345aed7ecaf4c8b9e1fa5108aafc6f
+Author: sternenseemann <sternenseemann@systemli.org>
+Date:   Sat Jul 2 12:35:56 2022 +0200
+
+    Force use of CMake-shipped FindLibXml2 module
+    
+    This is needed to work around a nixpkgs bug:
+    https://github.com/NixOS/nixpkgs/issues/125008
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index a75b6fb1..c1408283 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -42,7 +42,7 @@ set(ANTLR4_TAG tags/4.9.3)
+ find_path(ANTLR4_HEADER antlr4-runtime.h PATH_SUFFIXES antlr4-runtime)
+ set(ANTLR4_INCLUDE_DIRS ${ANTLR4_HEADER})
+ 
+-FIND_PACKAGE(LibXml2)
++FIND_PACKAGE(LibXml2 REQUIRED MODULE)
+ IF (NOT ${LibXml2_FOUND})
+    MESSAGE(STATUS "Could not locate LibXml2, will install externally.")
+    set(LIBXML2_TAG tags/v2.9.13)
diff --git a/pkgs/development/python-modules/afdko/use-dynamic-system-antlr4-runtime.patch b/pkgs/development/python-modules/afdko/use-dynamic-system-antlr4-runtime.patch
index 8198751a16069..a8ecb02c3e786 100644
--- a/pkgs/development/python-modules/afdko/use-dynamic-system-antlr4-runtime.patch
+++ b/pkgs/development/python-modules/afdko/use-dynamic-system-antlr4-runtime.patch
@@ -1,4 +1,4 @@
-commit 1ccbf21a67da0fdbaad881a1f5c2a4df915e8c57
+commit 286b9c6e69691292dce4f2b4beaac8f886da184d
 Author: sternenseemann <sternenseemann@systemli.org>
 Date:   Tue Oct 5 18:16:10 2021 +0200
 
@@ -9,7 +9,7 @@ Date:   Tue Oct 5 18:16:10 2021 +0200
     called antlr4-runtime, not antlr4_static).
 
 diff --git a/CMakeLists.txt b/CMakeLists.txt
-index e9c8c08e..dc3a46da 100644
+index 9ce80598..a75b6fb1 100644
 --- a/CMakeLists.txt
 +++ b/CMakeLists.txt
 @@ -36,11 +36,11 @@ list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
@@ -24,10 +24,22 @@ index e9c8c08e..dc3a46da 100644
 +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
+ FIND_PACKAGE(LibXml2)
+ IF (NOT ${LibXml2_FOUND})
+diff --git a/c/makeotf/lib/cffread/CMakeLists.txt b/c/makeotf/lib/cffread/CMakeLists.txt
+index 9a400fde..5452d987 100644
+--- a/c/makeotf/lib/cffread/CMakeLists.txt
++++ b/c/makeotf/lib/cffread/CMakeLists.txt
+@@ -13,6 +13,6 @@ else ()
+     endif()
+ endif()
+ 
+-target_link_libraries(makeotf_cffread PUBLIC antlr4_static)
++target_link_libraries(makeotf_cffread PUBLIC antlr4-runtime)
+ 
+ target_compile_definitions(makeotf_cffread PRIVATE $<$<CONFIG:Debug>:CFF_DEBUG=1> CFF_T13_SUPPORT=0)
 diff --git a/c/makeotf/lib/hotconv/CMakeLists.txt b/c/makeotf/lib/hotconv/CMakeLists.txt
-index 82257bf2..02eb2e30 100644
+index 3cceceea..9695ea21 100644
 --- a/c/makeotf/lib/hotconv/CMakeLists.txt
 +++ b/c/makeotf/lib/hotconv/CMakeLists.txt
 @@ -69,7 +69,7 @@ add_library(hotconv STATIC
@@ -37,5 +49,5 @@ index 82257bf2..02eb2e30 100644
 -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)
+ if (${LibXml2_FOUND})
+     target_link_libraries(hotconv PUBLIC ${LIBXML2_LIBRARY})