From 092ce80e45da6406a544f49d3be56eb570f4900d Mon Sep 17 00:00:00 2001 From: Fredrik Fornwall Date: Wed, 22 May 2024 00:03:21 +0200 Subject: [PATCH] fix(main/python-pillow): Fix undefined symbols Fixes the following build error: > ERROR: ./lib/python3.11/site-packages/PIL/_imaging.cpython-311.so contains undefined symbols: > 89: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND log > 109: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND fmod > 111: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND hypot > 113: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND sincos > 114: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND sin > ERROR: ./lib/python3.11/site-packages/PIL/_imagingmath.cpython-311.so contains undefined symbols: > 12: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND pow > 14: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND fmod > 15: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND powf --- packages/python-pillow/build.sh | 1 + packages/python-pillow/setup.py.patch | 32 ++++++++++++++++++++------- 2 files changed, 25 insertions(+), 8 deletions(-) diff --git a/packages/python-pillow/build.sh b/packages/python-pillow/build.sh index 188af591929c2c..ddb3d05fe946c1 100644 --- a/packages/python-pillow/build.sh +++ b/packages/python-pillow/build.sh @@ -3,6 +3,7 @@ TERMUX_PKG_DESCRIPTION="Python Imaging Library" TERMUX_PKG_LICENSE="custom" TERMUX_PKG_MAINTAINER="@termux" TERMUX_PKG_VERSION="10.3.0" +TERMUX_PKG_REVISION=1 TERMUX_PKG_SRCURL=https://github.com/python-pillow/Pillow/archive/refs/tags/${TERMUX_PKG_VERSION}.tar.gz TERMUX_PKG_SHA256=5a2f1a812237bf9bd57f283422f46ca97a1c3d43d5f67b9bf8a0d499c4b97c85 TERMUX_PKG_AUTO_UPDATE=true diff --git a/packages/python-pillow/setup.py.patch b/packages/python-pillow/setup.py.patch index 0da8fb767bd554..02dc8fb836750e 100644 --- a/packages/python-pillow/setup.py.patch +++ b/packages/python-pillow/setup.py.patch @@ -1,7 +1,7 @@ -diff -uNr Pillow-9.2.0/setup.py Pillow-9.2.0.mod/setup.py ---- Pillow-9.2.0/setup.py 2022-07-01 22:19:51.000000000 +0900 -+++ Pillow-9.2.0.mod/setup.py 2022-10-13 23:03:54.800557858 +0900 -@@ -497,8 +497,8 @@ +diff -u -r ../Pillow-10.3.0/setup.py ./setup.py +--- ../Pillow-10.3.0/setup.py 2024-04-01 09:22:36.000000000 +0000 ++++ ./setup.py 2024-05-21 21:57:30.822979186 +0000 +@@ -515,8 +515,8 @@ for d in os.environ[k].split(os.path.pathsep): _add_directory(library_dirs, d) @@ -12,16 +12,16 @@ diff -uNr Pillow-9.2.0/setup.py Pillow-9.2.0.mod/setup.py # # add platform directories -@@ -567,7 +567,7 @@ +@@ -589,7 +589,7 @@ or sys.platform.startswith("gnu") or sys.platform.startswith("freebsd") ): - for dirname in _find_library_dirs_ldconfig(): + for dirname in []: _add_directory(library_dirs, dirname) - if sys.platform.startswith("linux") and os.environ.get( - "ANDROID_ROOT", None -@@ -595,7 +595,7 @@ + if sys.platform.startswith("linux") and os.environ.get("ANDROID_ROOT"): + # termux support for android. +@@ -615,7 +615,7 @@ # FIXME: check /opt/stuff directories here? # standard locations @@ -30,3 +30,19 @@ diff -uNr Pillow-9.2.0/setup.py Pillow-9.2.0.mod/setup.py _add_directory(library_dirs, "/usr/local/lib") _add_directory(include_dirs, "/usr/local/include") +@@ -990,12 +990,12 @@ + for src_file in _LIB_IMAGING: + files.append(os.path.join("src/libImaging", src_file + ".c")) + ext_modules = [ +- Extension("PIL._imaging", files), ++ Extension("PIL._imaging", files, extra_link_args=["-lm"]), +- Extension("PIL._imagingft", ["src/_imagingft.c"]), ++ Extension("PIL._imagingft", ["src/_imagingft.c"], extra_link_args=["-lm"]), + Extension("PIL._imagingcms", ["src/_imagingcms.c"]), + Extension("PIL._webp", ["src/_webp.c"]), + Extension("PIL._imagingtk", ["src/_imagingtk.c", "src/Tk/tkImaging.c"]), +- Extension("PIL._imagingmath", ["src/_imagingmath.c"]), ++ Extension("PIL._imagingmath", ["src/_imagingmath.c"], extra_link_args=["-lm"]), + Extension("PIL._imagingmorph", ["src/_imagingmorph.c"]), + ] +