aboutsummaryrefslogtreecommitdiffstats
path: root/lang
diff options
context:
space:
mode:
authorkoobs <koobs@FreeBSD.org>2015-01-21 17:40:18 +0800
committerkoobs <koobs@FreeBSD.org>2015-01-21 17:40:18 +0800
commit9799e56e20608a523d48a25608c726793f379bb3 (patch)
tree8afa555bcdec5df9344f3c468feb6f5e38db0633 /lang
parentf01380144e226259feb42ed4f550d6284f63bf52 (diff)
downloadfreebsd-ports-gnome-9799e56e20608a523d48a25608c726793f379bb3.tar.gz
freebsd-ports-gnome-9799e56e20608a523d48a25608c726793f379bb3.tar.zst
freebsd-ports-gnome-9799e56e20608a523d48a25608c726793f379bb3.zip
lang/python27: Fix packaging for mips64
- Fix packaging for mips64 (Reported by: sbruno) mips64 is also not a 32-bit ${ARCH}, so add it to the list of architectures for which imageop.so and dl.so aren't packaged: %%32BIT_ONLY%%lib/python2.7/lib-dynload/dl.so %%32BIT_ONLY%%lib/python2.7/lib-dynload/imageop.so Both dl and imageop have been removed in Python 3.x [1][2][3][4] Thanks jhibbits@ for his help testing. - Add BROKEN for i386 without LIBFFI option, and add upstream issue references. While I'm here, clean up after the LIBFFI option addition: - Sort options variables: OPTIONS_* and *_DESC - Use OPTIONS helpers References: [1] The :mod:`imageop` module has been removed in Python 3.0. [2] dl Added: https://hg.python.org/cpython/file/aac1ee966f56/setup.py [3] dl Removed: https://hg.python.org/cpython/file/859ff5c7c60a/setup.py [4] PEP-3108: https://www.python.org/dev/peps/pep-3108/ Approved by: python
Diffstat (limited to 'lang')
-rw-r--r--lang/python27/Makefile25
1 files changed, 15 insertions, 10 deletions
diff --git a/lang/python27/Makefile b/lang/python27/Makefile
index 911571edc87c..070a532811a0 100644
--- a/lang/python27/Makefile
+++ b/lang/python27/Makefile
@@ -33,21 +33,22 @@ PLIST_SUB= ABI=${ABIFLAGS} \
PORTVERSION=${PORTVERSION} \
OSMAJOR=${OSVERSION:C/([0-9]*)[0-9]{5}/\1/} # For plat-freebsd* in pkg-plist. http://bugs.python.org/issue19554
-OPTIONS_DEFINE= DEBUG IPV6 NLS PYMALLOC SEM THREADS LIBFFI
-OPTIONS_DEFAULT= IPV6 NLS PYMALLOC SEM THREADS UCS4 LIBFFI
+OPTIONS_DEFINE= DEBUG IPV6 LIBFFI NLS PYMALLOC SEM THREADS
+OPTIONS_DEFAULT= IPV6 LIBFFI NLS PYMALLOC SEM THREADS UCS4
OPTIONS_SINGLE= UNICODE
OPTIONS_SINGLE_UNICODE= UCS2 UCS4
-
OPTIONS_SUB= yes
+LIBFFI_DESC= Use libffi from ports instead of bundled version
NLS_DESC= Enable gettext support for the locale module
UCS2_DESC= Enable UCS2 Unicode Strings
UCS4_DESC= Enable UCS4 Unicode Strings
PYMALLOC_DESC= Enable specialized mallocs
-LIBFFI_DESC= Use libffi from ports instead of bundled version
DEBUG_CONFIGURE_WITH= pydebug
IPV6_CONFIGURE_ENABLE= ipv6
+LIBFFI_CONFIGURE_ON= --with-system-ffi
+LIBFFI_LIB_DEPENDS= libffi.so:${PORTSDIR}/devel/libffi
# Use CPPFLAGS over CFLAGS due to -I ordering, causing elementtree and pyexpat
# to break in Python 2.7, or preprocessor complaints in Python >= 3.3
@@ -71,28 +72,32 @@ UCS4_CONFIGURE_ON= --enable-unicode=ucs4
.include <bsd.port.options.mk>
+# http://bugs.python.org/issue22521
+# http://bugs.python.org/issue23042
+.if !${PORT_OPTIONS:MLIBFFI} && ${ARCH} == i386
+BROKEN= You must use libffi from ports on i386. Enable the LIBFFI option
+.endif
+
.if ${ARCH} == i386
PLIST_SUB+= X86_ONLY=""
.else
PLIST_SUB+= X86_ONLY="@comment "
.endif
-.if ${ARCH} == amd64 || ${ARCH} == ia64 || ${ARCH} == sparc64 || ${ARCH} == powerpc64
+
+.if ${ARCH} == amd64 || ${ARCH} == ia64 || ${ARCH} == sparc64 || ${ARCH} == powerpc64 || ${ARCH} == mips64
PLIST_SUB+= 32BIT_ONLY="@comment "
.else
PLIST_SUB+= 32BIT_ONLY=""
.endif
+
.if ${ARCH} == powerpc64
MAKE_ENV+= UNAME_m="powerpc64"
.endif
+
.if ${ARCH} == sparc64
CFLAGS+= -DPYTHON_DEFAULT_RECURSION_LIMIT=900
.endif
-.if ${PORT_OPTIONS:MLIBFFI}
-CONFIGURE_ARGS+= --with-system-ffi
-LIB_DEPENDS+= libffi.so:${PORTSDIR}/devel/libffi
-.endif
-
# See http://bugs.freebsd.org/115940 and http://bugs.freebsd.org/193650
.if !exists(/usr/bin/ypcat) || defined(WITHOUT_NIS)
PLIST_SUB+= NO_NIS="@comment "