Libffi Dependency
Cy Schubert
Cy.Schubert at komquats.com
Tue Oct 28 05:01:09 UTC 2014
Hi,
Would anyone care to check this out and would anyone object to this being
committed? Basically this enables optional (default) dependency on
devel/libffi instead of libffi shipped within the python tarballs. The
default is to use devel/libffi however the user can opt to use the ffi
delivered with each python tarball. Comments? Ojbections?
-------------- next part --------------
Index: python27/Makefile
===================================================================
--- python27/Makefile (revision 371618)
+++ python27/Makefile (working copy)
@@ -2,7 +2,7 @@
PORTNAME= python27
PORTVERSION= 2.7.8
-PORTREVISION= 5
+PORTREVISION= 6
CATEGORIES= lang python ipv6
MASTER_SITES= PYTHON
MASTER_SITE_SUBDIR= ftp/python/${PORTVERSION}
@@ -34,8 +34,8 @@
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
-OPTIONS_DEFAULT= IPV6 NLS PYMALLOC SEM THREADS UCS4
+OPTIONS_DEFINE= DEBUG IPV6 NLS PYMALLOC SEM THREADS PORT_FFI
+OPTIONS_DEFAULT= IPV6 NLS PYMALLOC SEM THREADS UCS4 PORT_FFI
OPTIONS_SINGLE= UNICODE
OPTIONS_SINGLE_UNICODE= UCS2 UCS4
@@ -45,6 +45,7 @@
UCS2_DESC= Enable UCS2 Unicode Strings
UCS4_DESC= Enable UCS4 Unicode Strings
PYMALLOC_DESC= Enable specialized mallocs
+PORT_FFI_DESC= Use devel/ffi instead of ffi bundled with Python
DEBUG_CONFIGURE_WITH= pydebug
IPV6_CONFIGURE_ENABLE= ipv6
@@ -88,6 +89,12 @@
CFLAGS+= -DPYTHON_DEFAULT_RECURSION_LIMIT=900
.endif
+.if ${PORT_OPTIONS:MPORT_FFI}
+CONFIGURE_ARGS+= --with-system-ffi
+BUILD_DEPENDS+= libffi>=0:${PORTSDIR}/devel/libffi
+RUN_DEPENDS+= libffi>=0:${PORTSDIR}/devel/libffi
+.endif
+
# See http://bugs.freebsd.org/115940
.if !exists(/usr/bin/ypcat) || defined(WITHOUT_NIS) # the world with NO_NIS
PLIST_SUB+= NO_NIS="@comment "
Index: python32/Makefile
===================================================================
--- python32/Makefile (revision 371618)
+++ python32/Makefile (working copy)
@@ -2,7 +2,7 @@
PORTNAME= python32
PORTVERSION= 3.2.5
-PORTREVISION= 11
+PORTREVISION= 12
CATEGORIES= lang python ipv6
MASTER_SITES= PYTHON
MASTER_SITE_SUBDIR= ftp/python/${PORTVERSION}
@@ -33,13 +33,15 @@
PLIST_SUB= ABI=${ABIFLAGS} \
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 THREADS TSC UCS4
-OPTIONS_DEFAULT= IPV6 NLS PYMALLOC THREADS UCS4
+OPTIONS_DEFINE= DEBUG IPV6 NLS PYMALLOC THREADS TSC PORT_FFI
+OPTIONS_DEFAULT= IPV6 NLS PYMALLOC THREADS PORT_FFI
+
OPTIONS_SUB= yes
NLS_DESC= Enable gettext support for the locale module
PYMALLOC_DESC= Enable specialized mallocs
TSC_DESC= Enable processor timestamp counter profiling
+PORT_FFI_DESC= Use devel/ffi instead of ffi bundled with Python
DEBUG_CONFIGURE_WITH= pydebug
IPV6_CONFIGURE_ENABLE= ipv6
@@ -75,6 +77,12 @@
ABIFLAGS:= d${ABIFLAGS}
.endif
+.if ${PORT_OPTIONS:MPORT_FFI}
+CONFIGURE_ARGS+= --with-system-ffi
+BUILD_DEPENDS+= libffi>=0:${PORTSDIR}/devel/libffi
+RUN_DEPENDS+= libffi>=0:${PORTSDIR}/devel/libffi
+.endif
+
.if !empty(ABIFLAGS)
PLIST_FILES+= bin/python3.2%%ABI%%
PLIST_FILES+= bin/python3.2%%ABI%%-config
Index: python33/Makefile
===================================================================
--- python33/Makefile (revision 371618)
+++ python33/Makefile (working copy)
@@ -2,7 +2,7 @@
PORTNAME= python33
PORTVERSION= 3.3.5
-PORTREVISION= 4
+PORTREVISION= 5
CATEGORIES= lang python ipv6
MASTER_SITES= PYTHON
MASTER_SITE_SUBDIR= ftp/python/${PORTVERSION}
@@ -33,13 +33,15 @@
PLIST_SUB= ABI=${ABIFLAGS} \
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 THREADS TSC
-OPTIONS_DEFAULT= IPV6 NLS PYMALLOC THREADS
+OPTIONS_DEFINE= DEBUG IPV6 NLS PYMALLOC THREADS TSC PORT_FFI
+OPTIONS_DEFAULT= IPV6 NLS PYMALLOC THREADS PORT_FFI
+
OPTIONS_SUB= yes
NLS_DESC= Enable gettext support for the locale module
PYMALLOC_DESC= Enable specialized mallocs
TSC_DESC= Enable processor timestamp counter profiling
+PORT_FFI_DESC= Use devel/ffi instead of ffi bundled with Python
DEBUG_CONFIGURE_WITH= pydebug
IPV6_CONFIGURE_ENABLE= ipv6
@@ -69,6 +71,12 @@
ABIFLAGS:= d${ABIFLAGS}
.endif
+.if ${PORT_OPTIONS:MPORT_FFI}
+CONFIGURE_ARGS+= --with-system-ffi
+BUILD_DEPENDS+= libffi>=0:${PORTSDIR}/devel/libffi
+RUN_DEPENDS+= libffi>=0:${PORTSDIR}/devel/libffi
+.endif
+
.if !empty(ABIFLAGS)
PLIST_FILES+= bin/python3.3%%ABI%%
PLIST_FILES+= bin/python3.3%%ABI%%-config
Index: python34/Makefile
===================================================================
--- python34/Makefile (revision 371618)
+++ python34/Makefile (working copy)
@@ -3,6 +3,7 @@
PORTNAME= python34
PORTVERSION= 3.4.2
+PORTREVISION= 1
CATEGORIES= lang python ipv6
MASTER_SITES= PYTHON
MASTER_SITE_SUBDIR= ftp/python/${PORTVERSION}
@@ -34,8 +35,8 @@
PLIST_SUB= ABI=${ABIFLAGS} \
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 THREADS TSC
-OPTIONS_DEFAULT= IPV6 NLS PYMALLOC THREADS
+OPTIONS_DEFINE= DEBUG IPV6 NLS PYMALLOC THREADS TSC PORT_FFI
+OPTIONS_DEFAULT= IPV6 NLS PYMALLOC THREADS PORT_FFI
OPTIONS_RADIO= HASH
OPTIONS_RADIO_HASH= FNV SIPHASH
OPTIONS_SUB= yes
@@ -43,6 +44,7 @@
NLS_DESC= Enable gettext support for the locale module
PYMALLOC_DESC= Enable specialized mallocs
TSC_DESC= Enable processor timestamp counter profiling
+PORT_FFI_DESC= Use devel/ffi instead of ffi bundled with Python
HASH_DESC= Hash Algorithm (PEP-456)
FNV_DESC= Modified Fowler-Noll-Vo Algorithm
@@ -78,6 +80,12 @@
ABIFLAGS:= d${ABIFLAGS}
.endif
+.if ${PORT_OPTIONS:MPORT_FFI}
+CONFIGURE_ARGS+= --with-system-ffi
+BUILD_DEPENDS+= libffi>=0:${PORTSDIR}/devel/libffi
+RUN_DEPENDS+= libffi>=0:${PORTSDIR}/devel/libffi
+.endif
+
.if !empty(ABIFLAGS)
PLIST_FILES+= bin/python3.4%%ABI%%
PLIST_FILES+= bin/python3.4%%ABI%%-config
-------------- next part --------------
Cheers,
Cy Schubert <Cy.Schubert at komquats.com>
FreeBSD UNIX: <cy at FreeBSD.org> Web: http://www.FreeBSD.org
The need of the many outweighs the greed of the few.
More information about the freebsd-python
mailing list