ports/lang/python31/files/patch-setup.py
Kubilay Kocak c46e0576fd 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
2013-12-01 12:25:37 +00:00

96 lines
4.3 KiB
Python

--- ./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
# This global variable is used to hold the list of modules to be disabled.
-disabled_module_list = []
+disabled_module_list = ["_sqlite3", "_tkinter", "_gdbm"]
def add_dir_to_list(dirlist, dir):
"""Add the directory 'dir' to the list 'dirlist' (at the front) if
@@ -601,7 +601,7 @@
# curses_library = readline_termcap_library
# elif self.compiler.find_library_file(lib_dirs, 'ncursesw'):
# (...)
- if self.compiler.find_library_file(lib_dirs, 'ncursesw'):
+ if self.compiler.find_library_file(lib_dirs, 'XXXncursesw'):
curses_library = 'ncursesw'
elif self.compiler.find_library_file(lib_dirs, 'ncurses'):
curses_library = 'ncurses'
@@ -637,7 +637,7 @@
'termcap'):
readline_libs.append('termcap')
exts.append( Extension('readline', ['readline.c'],
- library_dirs=['/usr/lib/termcap'],
+ library_dirs=['/usr/lib', '/usr/lib/termcap'],
extra_link_args=readline_extra_link_args,
libraries=readline_libs) )
else:
@@ -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']) )
+ else:
+ open('.without_own_sha', 'w')
if openssl_ver < 0x00907000:
# no openssl at all, use our own md5 and sha1
@@ -1139,12 +1141,13 @@
# provided by the ncurses library.
panel_library = 'panel'
if curses_library.startswith('ncurses'):
- if curses_library == 'ncursesw':
+ if curses_library == 'XXXncursesw':
# Bug 1464056: If _curses.so links with ncursesw,
# _curses_panel.so must link with panelw.
panel_library = 'panelw'
curses_libs = [curses_library]
exts.append( Extension('_curses', ['_cursesmodule.c'],
+ library_dirs = ['/usr/lib'],
libraries = curses_libs) )
elif curses_library == 'curses' and platform != 'darwin':
# OSX has an old Berkeley curses, not good enough for
@@ -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'],
+ library_dirs = ['/usr/lib'],
libraries = [panel_library] + curses_libs) )
else:
missing.append('_curses_panel')
@@ -1301,7 +1305,7 @@
macros = dict()
libraries = []
- elif platform in ('freebsd4', 'freebsd5', 'freebsd6', 'freebsd7', 'freebsd8'):
+ elif platform in ('freebsd6', 'freebsd7', 'freebsd8', 'freebsd9', 'freebsd10'):
# FreeBSD's P1003.1b semaphore support is very experimental
# and has many known problems. (as of June 2008)
macros = dict()
@@ -1344,8 +1348,12 @@
# End multiprocessing
# Platform-specific libraries
- if platform in ('linux2', 'freebsd4', 'freebsd5', 'freebsd6',
- 'freebsd7', 'freebsd8'):
+ #############################
+ # 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')
@@ -1831,8 +1839,7 @@
# called unless there's at least one extension module defined.
ext_modules=[Extension('_struct', ['_struct.c'])],
- scripts = ["Tools/scripts/pydoc3", "Tools/scripts/idle3",
- "Tools/scripts/2to3"]
+ scripts = []
)
# --install-platlib