aboutsummaryrefslogtreecommitdiffstats
path: root/lang/python31
diff options
context:
space:
mode:
authorkoobs <koobs@FreeBSD.org>2013-12-01 20:25:37 +0800
committerkoobs <koobs@FreeBSD.org>2013-12-01 20:25:37 +0800
commit2641fbae92fbddf4797f67f3bd042a925e4100fa (patch)
tree4ad106d76a929e01dae5297211f610f87a1b50a4 /lang/python31
parenta657e1f08db2fda903170360273adff5ff3e041a (diff)
downloadfreebsd-ports-gnome-2641fbae92fbddf4797f67f3bd042a925e4100fa.tar.gz
freebsd-ports-gnome-2641fbae92fbddf4797f67f3bd042a925e4100fa.tar.zst
freebsd-ports-gnome-2641fbae92fbddf4797f67f3bd042a925e4100fa.zip
Fix OSS Audio and enable FreeBSD 11 support in Python 3.2 and 3.1
- Add the appropriate Python platform (plat-*) files for FreeBSD 11 - Update pkg-plist Backport a upstream change [1] removing OS major version from the check to enable the OSS Audio module in setup.py: Issue #12326: don't test the major version of sys.platform Use startswith, instead of ==, when testing sys.platform to support new platforms like Linux 3 or OpenBSD 5. [2] [1] http://hg.python.org/cpython/rev/50f1922bc1d5 [2] http://bugs.python.org/issue12326
Diffstat (limited to 'lang/python31')
-rw-r--r--lang/python31/Makefile6
-rw-r--r--lang/python31/files/patch-setup.py27
-rw-r--r--lang/python31/pkg-plist3
3 files changed, 23 insertions, 13 deletions
diff --git a/lang/python31/Makefile b/lang/python31/Makefile
index f49607ddee84..0508495a09e8 100644
--- a/lang/python31/Makefile
+++ b/lang/python31/Makefile
@@ -2,7 +2,7 @@
PORTNAME= python31
PORTVERSION= 3.1.5
-PORTREVISION= 6
+PORTREVISION= 7
CATEGORIES= lang python ipv6
MASTER_SITES= PYTHON
MASTER_SITE_SUBDIR= ${PYTHON_MASTER_SITE_SUBDIR}
@@ -49,7 +49,7 @@ DATADIR= ${PREFIX}/share/${PYTHON_VERSION}
PLATFORMS= plat-freebsd4 plat-freebsd5 plat-freebsd6 \
plat-freebsd7 plat-freebsd8 plat-freebsd9 \
- plat-freebsd10
+ plat-freebsd10 plat-freebsd11
BIN_SCRIPTS= 2to3 idle3 pydoc3
BIN_FILES= python python-shared python-config python-shared-config \
@@ -123,6 +123,8 @@ pre-patch:
${PATCH_WRKSRC}/Lib/plat-freebsd9
${CP} -r ${PATCH_WRKSRC}/Lib/plat-freebsd8 \
${PATCH_WRKSRC}/Lib/plat-freebsd10
+ ${CP} -r ${PATCH_WRKSRC}/Lib/plat-freebsd8 \
+ ${PATCH_WRKSRC}/Lib/plat-freebsd11
${MKDIR} ${WRKSRC} ${SHARED_WRKSRC}/Modules
.for script in ${BIN_SCRIPTS}
${SED} -e '1s,^.*$$,#!${PREFIX}/bin/${PYTHON_VERSION},' \
diff --git a/lang/python31/files/patch-setup.py b/lang/python31/files/patch-setup.py
index 70983b7f89b1..36ceb854b64f 100644
--- a/lang/python31/files/patch-setup.py
+++ b/lang/python31/files/patch-setup.py
@@ -1,5 +1,5 @@
---- setup.py.orig 2010-11-26 19:56:26.000000000 +0800
-+++ setup.py 2010-12-14 10:53:36.000000000 +0800
+--- ./setup.py.orig 2012-04-10 09:25:37.000000000 +1000
++++ ./setup.py 2013-12-01 21:05:04.742891449 +1100
@@ -17,7 +17,7 @@
from distutils.spawn import find_executable
@@ -9,7 +9,7 @@
def add_dir_to_list(dirlist, dir):
"""Add the directory 'dir' to the list 'dirlist' (at the front) if
-@@ -578,7 +578,7 @@
+@@ -601,7 +601,7 @@
# curses_library = readline_termcap_library
# elif self.compiler.find_library_file(lib_dirs, 'ncursesw'):
# (...)
@@ -18,7 +18,7 @@
curses_library = 'ncursesw'
elif self.compiler.find_library_file(lib_dirs, 'ncurses'):
curses_library = 'ncurses'
-@@ -614,7 +614,7 @@
+@@ -637,7 +637,7 @@
'termcap'):
readline_libs.append('termcap')
exts.append( Extension('readline', ['readline.c'],
@@ -27,7 +27,7 @@
extra_link_args=readline_extra_link_args,
libraries=readline_libs) )
else:
-@@ -708,6 +708,8 @@
+@@ -731,6 +731,8 @@
# OpenSSL doesn't do these until 0.9.8 so we'll bring our own hash
exts.append( Extension('_sha256', ['sha256module.c']) )
exts.append( Extension('_sha512', ['sha512module.c']) )
@@ -36,7 +36,7 @@
if openssl_ver < 0x00907000:
# no openssl at all, use our own md5 and sha1
-@@ -1116,12 +1118,13 @@
+@@ -1139,12 +1141,13 @@
# provided by the ncurses library.
panel_library = 'panel'
if curses_library.startswith('ncurses'):
@@ -51,7 +51,7 @@
libraries = curses_libs) )
elif curses_library == 'curses' and platform != 'darwin':
# OSX has an old Berkeley curses, not good enough for
-@@ -1142,6 +1145,7 @@
+@@ -1165,6 +1168,7 @@
if (module_enabled(exts, '_curses') and
self.compiler.find_library_file(lib_dirs, panel_library)):
exts.append( Extension('_curses_panel', ['_curses_panel.c'],
@@ -59,7 +59,7 @@
libraries = [panel_library] + curses_libs) )
else:
missing.append('_curses_panel')
-@@ -1278,7 +1282,7 @@
+@@ -1301,7 +1305,7 @@
macros = dict()
libraries = []
@@ -68,17 +68,22 @@
# FreeBSD's P1003.1b semaphore support is very experimental
# and has many known problems. (as of June 2008)
macros = dict()
-@@ -1321,8 +1325,7 @@
+@@ -1344,8 +1348,12 @@
# End multiprocessing
# Platform-specific libraries
- if platform in ('linux2', 'freebsd4', 'freebsd5', 'freebsd6',
- 'freebsd7', 'freebsd8'):
-+ if platform in ('linux2', 'freebsd6', 'freebsd7', 'freebsd8', 'freebsd9', 'freebsd10'):
++ #############################
++ # Backport Commit: http://hg.python.org/cpython/rev/50f1922bc1d5
++ # Backport Issue: http://bugs.python.org/issue12326
++ #############################
++ if any(platform.startswith(prefix)
++ for prefix in ("linux", "freebsd", "gnukfreebsd")):
exts.append( Extension('ossaudiodev', ['ossaudiodev.c']) )
else:
missing.append('ossaudiodev')
-@@ -1808,8 +1811,7 @@
+@@ -1831,8 +1839,7 @@
# called unless there's at least one extension module defined.
ext_modules=[Extension('_struct', ['_struct.c'])],
diff --git a/lang/python31/pkg-plist b/lang/python31/pkg-plist
index dc929e8f878c..8f268a9218f6 100644
--- a/lang/python31/pkg-plist
+++ b/lang/python31/pkg-plist
@@ -894,6 +894,8 @@ libdata/pkgconfig/python-3.1.pc
%%PYTHON_LIBDIR%%/plat-freebsd9/regen
%%PYTHON_LIBDIR%%/plat-freebsd10/IN.py
%%PYTHON_LIBDIR%%/plat-freebsd10/regen
+%%PYTHON_LIBDIR%%/plat-freebsd11/IN.py
+%%PYTHON_LIBDIR%%/plat-freebsd11/regen
%%PYTHON_LIBDIR%%/platform.py
%%PYTHON_LIBDIR%%/plistlib.py
%%PYTHON_LIBDIR%%/poplib.py
@@ -2210,6 +2212,7 @@ libdata/pkgconfig/python-3.1.pc
@dirrm %%PYTHON_LIBDIR%%/sqlite3
@dirrm %%PYTHON_LIBDIR%%/site-packages
@dirrm %%PYTHON_LIBDIR%%/pydoc_data
+@dirrm %%PYTHON_LIBDIR%%/plat-freebsd11
@dirrm %%PYTHON_LIBDIR%%/plat-freebsd10
@dirrm %%PYTHON_LIBDIR%%/plat-freebsd9
@dirrm %%PYTHON_LIBDIR%%/plat-freebsd8