Index: head/lang/python27/Makefile =================================================================== --- head/lang/python27/Makefile +++ head/lang/python27/Makefile @@ -2,7 +2,7 @@ PORTNAME= python27 PORTVERSION= ${PYTHON_PORTVERSION} -PORTREVISION= 2 +PORTREVISION= 3 CATEGORIES= lang python ipv6 MASTER_SITES= PYTHON/ftp/python/${PORTVERSION} DISTNAME= Python-${PORTVERSION} @@ -45,8 +45,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 LIBFFI NLS PYMALLOC SEM THREADS -OPTIONS_DEFAULT= LIBFFI PYMALLOC SEM THREADS UCS4 +OPTIONS_DEFINE= DEBUG IPV6 LIBFFI NLS PYMALLOC THREADS +OPTIONS_DEFAULT= LIBFFI PYMALLOC THREADS UCS4 OPTIONS_SINGLE= UNICODE OPTIONS_SINGLE_UNICODE= UCS2 UCS4 OPTIONS_SUB= yes @@ -72,9 +72,6 @@ PYMALLOC_CONFIGURE_WITH= pymalloc -SEM_CONFIGURE_ENV= ac_cv_posix_semaphores_enabled=yes -SEM_CONFIGURE_ENV_OFF= ac_cv_posix_semaphores_enabled=no - THREADS_CONFIGURE_WITH= threads THREADS_LDFLAGS= -lpthread @@ -123,10 +120,6 @@ @${REINPLACE_CMD} -e \ 's,/usr/doc/python-docs-,${PREFIX}/share/doc/python,g' \ ${PATCH_WRKSRC}/Lib/pydoc.py -.if ${PORT_OPTIONS:MSEM} - @# do not use SEM_EXTRA_PATCHES here, since patch-setup.py overlaps with this one - @cd ${WRKSRC} && ${PATCH} ${PATCH_ARGS} < ${PATCHDIR}/extra-patch-setup.py -.endif .if !exists(/usr/bin/ypcat) || defined(WITHOUT_NIS) @${REINPLACE_CMD} -e 's/disabled_module_list =[^]]*/&, "nis"/' \ Index: head/lang/python27/files/extra-patch-setup.py =================================================================== --- head/lang/python27/files/extra-patch-setup.py +++ head/lang/python27/files/extra-patch-setup.py @@ -1,30 +0,0 @@ -# Description: SEM option patch. If SEM is enabled, enable the build properly -# Not upstreamed - ---- setup.py.orig 2013-04-07 11:07:43.000000000 +0400 -+++ setup.py 2013-04-07 11:16:36.000000000 +0400 -@@ -1551,10 +1551,22 @@ - macros = dict() - libraries = [] - -- elif host_platform in ('freebsd4', 'freebsd5', 'freebsd6', 'freebsd7', 'freebsd8', 'freebsd9', 'freebsd10', 'freebsd11'): -+ elif host_platform in ('freebsd4', 'freebsd5', 'freebsd6'): - # FreeBSD's P1003.1b semaphore support is very experimental - # and has many known problems. (as of June 2008) -- macros = dict() -+ macros = dict( # FreeBSD 4-6 -+ HAVE_SEM_OPEN=0, -+ HAVE_SEM_TIMEDWAIT=0, -+ HAVE_FD_TRANSFER=1, -+ ) -+ libraries = [] -+ -+ elif host_platform in ('freebsd7', 'freebsd8', 'freebsd9', 'freebsd10', 'freebsd11'): -+ macros = dict( # FreeBSD 7+ -+ HAVE_SEM_OPEN=1, -+ HAVE_SEM_TIMEDWAIT=1, -+ HAVE_FD_TRANSFER=1, -+ ) - libraries = [] - - elif host_platform.startswith('openbsd'): Index: head/lang/python27/files/patch-setup.py =================================================================== --- head/lang/python27/files/patch-setup.py +++ head/lang/python27/files/patch-setup.py @@ -5,8 +5,8 @@ # Description: ossaudiodev detection fix backport ---- setup.py.orig 2014-06-30 04:05:48.000000000 +0200 -+++ setup.py 2014-07-26 14:51:29.000000000 +0200 +--- setup.py.orig 2017-04-22 03:42:03 UTC ++++ setup.py @@ -15,6 +15,7 @@ from distutils.core import Extension, se from distutils.command.build_ext import build_ext from distutils.command.install import install @@ -24,7 +24,7 @@ def add_dir_to_list(dirlist, dir): """Add the directory 'dir' to the list 'dirlist' (at the front) if -@@ -1214,7 +1215,7 @@ class PyBuildExt(build_ext): +@@ -1234,7 +1235,7 @@ class PyBuildExt(build_ext): sysroot = macosx_sdk_root() f = os.path.join(sysroot, f[1:]) @@ -33,16 +33,7 @@ data = open(f).read() m = re.search(r"#s*define\s+HASHVERSION\s+2\s*", data) if m is not None: -@@ -1553,7 +1554,7 @@ class PyBuildExt(build_ext): - macros = dict() - libraries = [] - -- elif host_platform in ('freebsd4', 'freebsd5', 'freebsd6', 'freebsd7', 'freebsd8'): -+ elif host_platform in ('freebsd4', 'freebsd5', 'freebsd6', 'freebsd7', 'freebsd8', 'freebsd9', 'freebsd10', 'freebsd11'): - # FreeBSD's P1003.1b semaphore support is very experimental - # and has many known problems. (as of June 2008) - macros = dict() -@@ -1604,9 +1605,10 @@ class PyBuildExt(build_ext): +@@ -1624,9 +1625,10 @@ class PyBuildExt(build_ext): else: missing.append('linuxaudiodev') @@ -56,7 +47,7 @@ exts.append( Extension('ossaudiodev', ['ossaudiodev.c']) ) else: missing.append('ossaudiodev') -@@ -2178,6 +2180,22 @@ class PyBuildInstallLib(install_lib): +@@ -2200,6 +2202,22 @@ class PyBuildInstallLib(install_lib): def is_chmod_supported(self): return hasattr(os, 'chmod') @@ -79,7 +70,7 @@ SUMMARY = """ Python is an interpreted, interactive, object-oriented programming language. It is often compared to Tcl, Perl, Scheme or Java. -@@ -2223,7 +2241,9 @@ def main(): +@@ -2245,7 +2263,9 @@ def main(): platforms = ["Many"], # Build info @@ -90,7 +81,7 @@ 'install_lib':PyBuildInstallLib}, # The struct module is defined here, because build_ext won't be # called unless there's at least one extension module defined. -@@ -2231,8 +2251,7 @@ def main(): +@@ -2253,8 +2273,7 @@ def main(): # Scripts to install scripts = ['Tools/scripts/pydoc', 'Tools/scripts/idle',