pkgsrc-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[pkgsrc/trunk]: pkgsrc/lang python3[4567]: find_library() fixes; remove -stac...
details: https://anonhg.NetBSD.org/pkgsrc/rev/80b2f7c7a03a
branches: trunk
changeset: 392415:80b2f7c7a03a
user: adam <adam%pkgsrc.org@localhost>
date: Sat Mar 02 13:23:35 2019 +0000
description:
python3[4567]: find_library() fixes; remove -stack_size from LDFLAGS on Darwin.
PkgSrc changes:
* Make find_library() consitant for all Python versions:
- Fallback to clang, when gcc is not installed.
- Find libraries in PkgSrc prefix.
* Do not use -stack_size; it ends up in 'pythonNN-config --ldflags', and some
modules fail to build.
diffstat:
lang/python34/Makefile | 22 ++++---------
lang/python34/distinfo | 4 +-
lang/python34/patches/patch-configure | 34 +++++++++++++--------
lang/python35/Makefile | 22 ++++---------
lang/python35/distinfo | 6 +-
lang/python35/options.mk | 12 +++---
lang/python35/patches/patch-Lib_ctypes_util.py | 17 +++++++++-
lang/python35/patches/patch-configure | 20 +++++++++---
lang/python36/Makefile | 22 ++++---------
lang/python36/distinfo | 6 +-
lang/python36/options.mk | 13 ++++---
lang/python36/patches/patch-Lib_ctypes_util.py | 17 +++++++++-
lang/python36/patches/patch-configure | 35 +++++++++++-----------
lang/python37/Makefile | 26 ++++++----------
lang/python37/distinfo | 5 +-
lang/python37/options.mk | 18 +++++-----
lang/python37/patches/patch-Lib_ctypes_util.py | 27 +++++++++++++++++
lang/python37/patches/patch-configure | 40 +++++++++++++++----------
18 files changed, 196 insertions(+), 150 deletions(-)
diffs (truncated from 950 to 300 lines):
diff -r a4a689d90c8a -r 80b2f7c7a03a lang/python34/Makefile
--- a/lang/python34/Makefile Sat Mar 02 11:12:38 2019 +0000
+++ b/lang/python34/Makefile Sat Mar 02 13:23:35 2019 +0000
@@ -1,8 +1,9 @@
-# $NetBSD: Makefile,v 1.28 2018/08/07 08:44:41 adam Exp $
+# $NetBSD: Makefile,v 1.29 2019/03/02 13:23:35 adam Exp $
.include "dist.mk"
PKGNAME= python34-${PY_DISTVERSION}
+PKGREVISION= 1
CATEGORIES= lang python
MAINTAINER= pkgsrc-users%NetBSD.org@localhost
@@ -12,7 +13,7 @@
CONFLICTS+= python-[0-9]*
-PLIST_AWK+= -f ${PKGSRCDIR}/lang/python/plist-python.awk
+PLIST_AWK= -f ${PKGSRCDIR}/lang/python/plist-python.awk
PLIST_AWK_ENV+= PYVERS=34
PRINT_PLIST_AWK+= /^[^@]/ && /[^\/]+\.py[co]$$/ {
PRINT_PLIST_AWK+= gsub(/__pycache__\//, "")
@@ -148,25 +149,16 @@
REPLACE_FILES.python+= Lib/uu.py
REPLACE_FILES.python+= Lib/webbrowser.py
+# XXX: It might be needed to add manually more paths like ${PREFIX}/qt5/lib
+# Test: python -c 'from ctypes.util import find_library; print(find_library("ffi"));'
SUBST_CLASSES+= findlib
-SUBST_MESSAGE.findlib= Fixing find_library_file on Darwin.
+SUBST_MESSAGE.findlib= Fixing find_library().
SUBST_STAGE.findlib= pre-configure
SUBST_FILES.findlib= Lib/ctypes/macholib/dyld.py
SUBST_FILES.findlib+= Lib/ctypes/util.py
SUBST_FILES.findlib+= Lib/distutils/unixccompiler.py
SUBST_SED.findlib= -e 's,/usr/local,${PREFIX},'
-
-# XXX: It might be needed to add manually more paths like ${PREFIX}/qt5/lib
-# Testing:
-# >>> from ctypes.util import find_library
-# >>> find_library("m")
-# 'libm.so.0'
-
-SUBST_CLASSES+= pfindlib
-SUBST_MESSAGE.pfindlib= Fixing find_library() on POSIX-like (excluding Darwin) systems.
-SUBST_STAGE.pfindlib= pre-configure
-SUBST_FILES.pfindlib= Lib/ctypes/util.py
-SUBST_SED.pfindlib= -e 's!\(-Wl,-t -o\)!${COMPILER_RPATH_FLAG}${PREFIX}/lib -L${PREFIX}/lib \1!'
+SUBST_SED.findlib+= -e 's!\(-Wl,-t -o\)!${COMPILER_RPATH_FLAG}${PREFIX}/lib -L${PREFIX}/lib \1!'
.include "options.mk"
diff -r a4a689d90c8a -r 80b2f7c7a03a lang/python34/distinfo
--- a/lang/python34/distinfo Sat Mar 02 11:12:38 2019 +0000
+++ b/lang/python34/distinfo Sat Mar 02 13:23:35 2019 +0000
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.32 2018/08/07 08:44:41 adam Exp $
+$NetBSD: distinfo,v 1.33 2019/03/02 13:23:35 adam Exp $
SHA1 (Python-3.4.9.tar.xz) = 83ea4018f6e5f1db87c4e54c8a48ba6a8350abd4
RMD160 (Python-3.4.9.tar.xz) = 941536bcadacd7c42c3f3fa94aa42186443ea673
@@ -14,6 +14,6 @@
SHA1 (patch-Modules_socketmodule.c) = 3b091755d7c104b5d1fc696a0d4a679ed3565ef4
SHA1 (patch-Modules_socketmodule.h) = ed334a97c2a6662c5b44b4e50c1b8efcc220fa1f
SHA1 (patch-Python_thread__pthread.h) = fb81eaa604b4ed7c1b64c3f4731d58a8aee257be
-SHA1 (patch-configure) = 5cf4d44d24020a9b6fe41deeb916edbe87a937cb
+SHA1 (patch-configure) = a98c9527e654fcd581d564a71f0258be7986f4dc
SHA1 (patch-pyconfig.h.in) = 1fbd8b94a6317e31a3b9db683db0c2c9c4334713
SHA1 (patch-setup.py) = 42c81cb89b2568124b40d1bc2134d3221b4bca1e
diff -r a4a689d90c8a -r 80b2f7c7a03a lang/python34/patches/patch-configure
--- a/lang/python34/patches/patch-configure Sat Mar 02 11:12:38 2019 +0000
+++ b/lang/python34/patches/patch-configure Sat Mar 02 13:23:35 2019 +0000
@@ -1,17 +1,17 @@
-$NetBSD: patch-configure,v 1.1 2018/06/17 19:21:21 adam Exp $
+$NetBSD: patch-configure,v 1.2 2019/03/02 13:23:35 adam Exp $
MirBSD support
http://bugs.python.org/issue21458
Changes for consistency across pkgsrc platforms.
-XXX: Not sure what the BLDSHARED changes are about.
+Fix linking on Darwin; don't use -stack_size.
detect netcan/can.h on NetBSD
---- configure.orig 2017-01-17 08:57:47.000000000 +0100
-+++ configure 2017-05-30 15:49:43.508649775 +0200
-@@ -3369,7 +3369,7 @@
+--- configure.orig 2018-08-02 09:18:47.000000000 +0000
++++ configure
+@@ -3369,7 +3369,7 @@ case $ac_sys_system/$ac_sys_release in
# Reconfirmed for OpenBSD 3.3 by Zachary Hamm, for 3.4 by Jason Ish.
# In addition, Stefan Krah confirms that issue #1244610 exists through
# OpenBSD 4.6, but is fixed in 4.7.
@@ -20,7 +20,7 @@
define_xopen_source=no
# OpenBSD undoes our definition of __BSD_VISIBLE if _XOPEN_SOURCE is
# also defined. This can be overridden by defining _BSD_SOURCE
-@@ -5650,15 +5650,10 @@
+@@ -5650,15 +5650,10 @@ $as_echo "#define Py_ENABLE_SHARED 1" >>
PY3LIBRARY=libpython3.so
fi
;;
@@ -37,7 +37,7 @@
INSTSONAME="$LDLIBRARY".$SOVERSION
if test "$with_pydebug" != yes
then
-@@ -7283,7 +7278,7 @@
+@@ -7283,7 +7278,7 @@ done
# On Linux, can.h and can/raw.h require sys/socket.h
@@ -46,7 +46,7 @@
do :
as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "
-@@ -8561,8 +8556,8 @@
+@@ -8561,8 +8556,8 @@ then
LDCXXSHARED="$LDCXXSHARED "'$(PYTHONFRAMEWORKPREFIX)/$(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK)'
else
# No framework, use the Python app as bundle-loader
@@ -57,7 +57,7 @@
LDCXXSHARED="$LDCXXSHARED "'-bundle_loader $(BINDIR)/python$(VERSION)$(EXE)'
fi ;;
Darwin/*)
-@@ -8586,9 +8581,9 @@
+@@ -8586,9 +8581,9 @@ then
LDCXXSHARED="$LDCXXSHARED "'$(PYTHONFRAMEWORKPREFIX)/$(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK)'
else
# No framework, use the Python app as bundle-loader
@@ -70,7 +70,7 @@
fi
else
# building for OS X 10.3 and later
-@@ -8627,6 +8622,9 @@
+@@ -8627,6 +8622,9 @@ then
;;
esac
fi;;
@@ -80,7 +80,7 @@
NetBSD*|DragonFly*)
LDSHARED='$(CC) -shared'
LDCXXSHARED='$(CXX) -shared';;
-@@ -8670,7 +8668,7 @@
+@@ -8670,7 +8668,7 @@ then
fi;;
Linux*|GNU*) CCSHARED="-fPIC";;
BSD/OS*/4*) CCSHARED="-fpic";;
@@ -89,7 +89,15 @@
OpenUNIX*|UnixWare*)
if test "$GCC" = "yes"
then CCSHARED="-fPIC"
-@@ -8719,7 +8717,7 @@
+@@ -8709,7 +8707,6 @@ then
+ # Issue #18075: the default maximum stack size (8MBytes) is too
+ # small for the default recursion limit. Increase the stack size
+ # to ensure that tests don't crash
+- LINKFORSHARED="-Wl,-stack_size,1000000 $LINKFORSHARED"
+
+ if test "$enable_framework"
+ then
+@@ -8719,7 +8716,7 @@ then
OpenUNIX*|UnixWare*) LINKFORSHARED="-Wl,-Bexport";;
SCO_SV*) LINKFORSHARED="-Wl,-Bexport";;
ReliantUNIX*) LINKFORSHARED="-W1 -Blargedynsym";;
@@ -98,7 +106,7 @@
if [ "`$CC -dM -E - </dev/null | grep __ELF__`" != "" ]
then
LINKFORSHARED="-Wl,--export-dynamic"
-@@ -14017,8 +14015,6 @@
+@@ -14017,8 +14014,6 @@ $as_echo "$SOABI" >&6; }
case $ac_sys_system in
diff -r a4a689d90c8a -r 80b2f7c7a03a lang/python35/Makefile
--- a/lang/python35/Makefile Sat Mar 02 11:12:38 2019 +0000
+++ b/lang/python35/Makefile Sat Mar 02 13:23:35 2019 +0000
@@ -1,8 +1,9 @@
-# $NetBSD: Makefile,v 1.15 2018/08/07 08:44:02 adam Exp $
+# $NetBSD: Makefile,v 1.16 2019/03/02 13:23:36 adam Exp $
.include "dist.mk"
PKGNAME= python35-${PY_DISTVERSION}
+PKGREVISION= 1
CATEGORIES= lang python
MAINTAINER= pkgsrc-users%NetBSD.org@localhost
@@ -12,7 +13,7 @@
CONFLICTS+= python-[0-9]*
-PLIST_AWK+= -f ${PKGSRCDIR}/lang/python/plist-python.awk
+PLIST_AWK= -f ${PKGSRCDIR}/lang/python/plist-python.awk
PLIST_AWK_ENV+= PYVERS=35
PRINT_PLIST_AWK+= /^[^@]/ && /[^\/]+\.pyc$$/ {
PRINT_PLIST_AWK+= sub(/__pycache__\//, "")
@@ -152,24 +153,15 @@
REPLACE_FILES.python+= Lib/uu.py
REPLACE_FILES.python+= Lib/webbrowser.py
+# XXX: It might be needed to add manually more paths like ${PREFIX}/qt5/lib
+# Test: python -c 'from ctypes.util import find_library; print(find_library("ffi"));'
SUBST_CLASSES+= findlib
-SUBST_MESSAGE.findlib= Fixing find_library_file on Darwin.
+SUBST_MESSAGE.findlib= Fixing find_library().
SUBST_STAGE.findlib= pre-configure
SUBST_FILES.findlib= Lib/ctypes/macholib/dyld.py
SUBST_FILES.findlib+= Lib/ctypes/util.py
SUBST_SED.findlib= -e 's,/usr/local,${PREFIX},'
-
-# XXX: It might be needed to add manually more paths like ${PREFIX}/qt5/lib
-# Testing:
-# >>> from ctypes.util import find_library
-# >>> find_library("m")
-# 'libm.so.0'
-
-SUBST_CLASSES+= pfindlib
-SUBST_MESSAGE.pfindlib= Fixing find_library() on POSIX-like (excluding Darwin) systems.
-SUBST_STAGE.pfindlib= pre-configure
-SUBST_FILES.pfindlib= Lib/ctypes/util.py
-SUBST_SED.pfindlib= -e "s!\('-Wl,-t', \)!'${COMPILER_RPATH_FLAG}${PREFIX}/lib', '-L${PREFIX}/lib', \1!"
+SUBST_SED.findlib+= -e "s!\('-Wl,-t'\)!'${COMPILER_RPATH_FLAG}${PREFIX}/lib', '-L${PREFIX}/lib', \1!"
.include "options.mk"
diff -r a4a689d90c8a -r 80b2f7c7a03a lang/python35/distinfo
--- a/lang/python35/distinfo Sat Mar 02 11:12:38 2019 +0000
+++ b/lang/python35/distinfo Sat Mar 02 13:23:35 2019 +0000
@@ -1,10 +1,10 @@
-$NetBSD: distinfo,v 1.17 2018/08/07 08:44:02 adam Exp $
+$NetBSD: distinfo,v 1.18 2019/03/02 13:23:36 adam Exp $
SHA1 (Python-3.5.6.tar.xz) = 05548da58ec75a7af316c4a4cb8fc667ac6ac8f9
RMD160 (Python-3.5.6.tar.xz) = 5a02cb3664ad98d1767c79dfdd88a850b866241f
SHA512 (Python-3.5.6.tar.xz) = 1ccf287dbe8594eb577c1197c19d882fbe235c72f4c01cda23258f2add8a93e639b41ebaf556508b867cbe1b4c1fc4e1cf457d70b98cf7a1502013660a7e0ac1
Size (Python-3.5.6.tar.xz) = 15412832 bytes
-SHA1 (patch-Lib_ctypes_util.py) = 24ee6d33e39edc2168adabb2065941ff4efb977c
+SHA1 (patch-Lib_ctypes_util.py) = 23985965e248eaefd84e21f12b070d5f5e6107c2
SHA1 (patch-Lib_distutils_command_install.py) = 9b44f339f65f029b7f17dbc654739a7ae3c12780
SHA1 (patch-Lib_distutils_unixccompiler.py) = 7d0b70a64b79ee6084c41d8fbb01c8e8e4553419
SHA1 (patch-Makefile.pre.in) = 213f57b7130507e541ee23d6b8da097fd6168fb7
@@ -14,6 +14,6 @@
SHA1 (patch-Modules_socketmodule.c) = 63d583340b071b07ff3e31cf332fcc2ca9ab50e3
SHA1 (patch-Modules_socketmodule.h) = 13a3290eb72078067060d3e71b7baa08f3eb591c
SHA1 (patch-Python_thread__pthread.h) = fb81eaa604b4ed7c1b64c3f4731d58a8aee257be
-SHA1 (patch-configure) = bce1b2f7dfedb23c561e1d8f32959cd043cdd0df
+SHA1 (patch-configure) = 3da9bebda139361ead9dec6c350d0e26454ef58b
SHA1 (patch-pyconfig.h.in) = e0aa80eb1ed3677da77fcd0a93f72b61ce148d0d
SHA1 (patch-setup.py) = 26ea130352cf73a49110d86bbccf1803795211e5
diff -r a4a689d90c8a -r 80b2f7c7a03a lang/python35/options.mk
--- a/lang/python35/options.mk Sat Mar 02 11:12:38 2019 +0000
+++ b/lang/python35/options.mk Sat Mar 02 13:23:35 2019 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: options.mk,v 1.2 2017/01/01 15:06:24 adam Exp $
+# $NetBSD: options.mk,v 1.3 2019/03/02 13:23:36 adam Exp $
PKG_OPTIONS_VAR= PKG_OPTIONS.python35
PKG_SUPPORTED_OPTIONS+= x11
@@ -10,11 +10,11 @@
.if !empty(PKG_OPTIONS:Mx11)
# Support for native X11 paths as an option
# This code is no-op for modular X11, however for simplicity don't make it conditional.
-SUBST_CLASSES+= x11findlib
-SUBST_MESSAGE.x11findlib= Fixing find_library() for native X11.
-SUBST_STAGE.x11findlib= pre-configure
-SUBST_FILES.x11findlib= Lib/ctypes/util.py
-SUBST_SED.x11findlib= -e 's!\(-Wl,-t -o\)!${COMPILER_RPATH_FLAG}${X11BASE}/lib -L${X11BASE}/lib \1!'
+SUBST_CLASSES+= xfindlib
+SUBST_MESSAGE.xfindlib= Fixing find_library() for native X11.
+SUBST_STAGE.xfindlib= pre-configure
+SUBST_FILES.xfindlib= Lib/ctypes/util.py
+SUBST_SED.xfindlib= -e "s!\('-Wl,-t'\)!'${COMPILER_RPATH_FLAG}${X11BASE}/lib', '-L${X11BASE}/lib', \1!"
# Required to get definition of X11BASE and retain X11 rpath paths for linker
# We need to pass rpath to _ctypes.so to get functional dlopen(3) for X11 libs
diff -r a4a689d90c8a -r 80b2f7c7a03a lang/python35/patches/patch-Lib_ctypes_util.py
--- a/lang/python35/patches/patch-Lib_ctypes_util.py Sat Mar 02 11:12:38 2019 +0000
+++ b/lang/python35/patches/patch-Lib_ctypes_util.py Sat Mar 02 13:23:35 2019 +0000
@@ -1,11 +1,22 @@
-$NetBSD: patch-Lib_ctypes_util.py,v 1.1 2018/06/17 19:21:22 adam Exp $
+$NetBSD: patch-Lib_ctypes_util.py,v 1.2 2019/03/02 13:23:36 adam Exp $
+
+Fallback to clang.
Find libraries using 'ld' (taken from Python 3.7).
Note: /usr/local will get replaced by SUBST.
---- Lib/ctypes/util.py.orig 2018-05-14 15:07:31.000000000 +0000
+--- Lib/ctypes/util.py.orig 2018-08-02 09:19:12.000000000 +0000
+++ Lib/ctypes/util.py
-@@ -285,8 +285,32 @@ elif os.name == "posix":
+@@ -103,6 +103,8 @@ elif os.name == "posix":
+
+ c_compiler = shutil.which('gcc')
+ if not c_compiler:
++ c_compiler = shutil.which('clang')
++ if not c_compiler:
Home |
Main Index |
Thread Index |
Old Index