- Add support for FreeBSD 9.0

PR:		based on 138600
This commit is contained in:
Martin Wilke 2009-09-11 14:58:08 +00:00
parent 1703450e2f
commit 7ab93f8778
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=241238
10 changed files with 76 additions and 30 deletions

View file

@ -6,7 +6,7 @@
PORTNAME= python26
PORTVERSION= 2.6.2
PORTREVISION= 2
PORTREVISION= 3
CATEGORIES= lang python ipv6
MASTER_SITES= ${PYTHON_MASTER_SITES}
MASTER_SITE_SUBDIR= ${PYTHON_MASTER_SITE_SUBDIR}
@ -40,7 +40,7 @@ EXAMPLESDIR= ${PREFIX}/share/examples/${PYTHON_VERSION}
DATADIR= ${PREFIX}/share/${PYTHON_VERSION}
PLATFORMS= plat-freebsd4 plat-freebsd5 plat-freebsd6 \
plat-freebsd7 plat-freebsd8
plat-freebsd7 plat-freebsd8 plat-freebsd9
BIN_SCRIPTS= 2to3 idle pydoc smtpd.py
BIN_FILES= python python-shared python-config python-shared-config \
@ -149,6 +149,8 @@ CONFIGURE_ARGS+= --with-fpectl
.endif
pre-patch:
${CP} -r ${PATCH_WRKSRC}/Lib/plat-freebsd8 \
${PATCH_WRKSRC}/Lib/plat-freebsd9
${MKDIR} ${WRKSRC} ${SHARED_WRKSRC}/Modules
${LN} ${PATCH_WRKSRC}/Lib/smtpd.py ${PATCH_WRKSRC}/Tools/scripts/
.for script in ${BIN_SCRIPTS}

View file

@ -16,7 +16,7 @@
+ )
+ libraries = []
+
+ elif platform in ('freebsd7', 'freebsd8'):
+ elif platform in ('freebsd7', 'freebsd8', 'freebsd9'):
+ macros = dict( # FreeBSD 7+
+ HAVE_SEM_OPEN=1,
+ HAVE_SEM_TIMEDWAIT=1,

View file

@ -5,7 +5,7 @@
# Skip platforms with known problems forking from a worker thread.
# See http://bugs.python.org/issue3863.
- if sys.platform in ('freebsd4', 'freebsd5', 'freebsd6', 'os2emx'):
+ if sys.platform in ('freebsd4', 'freebsd5', 'freebsd6', 'freebsd7', 'freebsd8', 'os2emx'):
+ if sys.platform in ('freebsd4', 'freebsd5', 'freebsd6', 'freebsd7', 'freebsd8', 'freebsd9', 'os2emx'):
print >>sys.stderr, ('Skipping test_3_join_in_forked_from_thread'
' due to known OS bugs on'), sys.platform
return

View file

@ -1,6 +1,6 @@
--- setup.py.orig 2008-09-30 09:15:45.000000000 +0900
+++ setup.py 2008-10-09 20:34:35.000000000 +0900
@@ -17,7 +17,7 @@
--- setup.py.orig 2009-03-31 18:20:48.000000000 +0000
+++ setup.py 2009-09-10 05:27:01.000000000 +0000
@@ -17,7 +17,7 @@ from distutils.command.install import in
from distutils.command.install_lib import install_lib
# This global variable is used to hold the list of modules to be disabled.
@ -9,7 +9,7 @@
def add_dir_to_list(dirlist, dir):
"""Add the directory 'dir' to the list 'dirlist' (at the front) if
@@ -575,7 +575,7 @@
@@ -577,7 +577,7 @@ class PyBuildExt(build_ext):
readline_libs = ['readline']
if self.compiler.find_library_file(lib_dirs,
@ -18,7 +18,7 @@
readline_libs.append('ncursesw')
elif self.compiler.find_library_file(lib_dirs,
'ncurses'):
@@ -587,7 +587,7 @@
@@ -589,7 +589,7 @@ class PyBuildExt(build_ext):
'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:
@@ -687,6 +687,8 @@
@@ -689,6 +689,8 @@ class PyBuildExt(build_ext):
# 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 @@
# Modules that provide persistent dictionary-like semantics. You will
# probably want to arrange for at least one of them to be available on
@@ -987,7 +989,7 @@
@@ -990,7 +992,7 @@ class PyBuildExt(build_ext):
# the more recent berkeleydb's db.h file first in the include path
# when attempting to compile and it will fail.
f = "/usr/include/db.h"
@ -45,7 +45,7 @@
data = open(f).read()
m = re.search(r"#s*define\s+HASHVERSION\s+2\s*", data)
if m is not None:
@@ -1066,7 +1068,7 @@
@@ -1080,7 +1082,7 @@ class PyBuildExt(build_ext):
# Curses support, requiring the System V version of curses, often
# provided by the ncurses library.
panel_library = 'panel'
@ -54,7 +54,7 @@
curses_libs = ['ncursesw']
# Bug 1464056: If _curses.so links with ncursesw,
# _curses_panel.so must link with panelw.
@@ -1076,6 +1078,7 @@
@@ -1090,6 +1092,7 @@ class PyBuildExt(build_ext):
elif (self.compiler.find_library_file(lib_dirs, 'ncurses')):
curses_libs = ['ncurses']
exts.append( Extension('_curses', ['_cursesmodule.c'],
@ -62,7 +62,7 @@
libraries = curses_libs) )
elif (self.compiler.find_library_file(lib_dirs, 'curses')
and platform != 'darwin'):
@@ -1097,6 +1100,7 @@
@@ -1111,6 +1114,7 @@ class PyBuildExt(build_ext):
if (module_enabled(exts, '_curses') and
self.compiler.find_library_file(lib_dirs, panel_library)):
exts.append( Extension('_curses_panel', ['_curses_panel.c'],
@ -70,7 +70,25 @@
libraries = [panel_library] + curses_libs) )
else:
missing.append('_curses_panel')
@@ -1869,9 +1873,7 @@
@@ -1273,7 +1277,7 @@ class PyBuildExt(build_ext):
)
libraries = []
- elif platform in ('freebsd4', 'freebsd5', 'freebsd6', 'freebsd7', 'freebsd8'):
+ elif platform in ('freebsd4', 'freebsd5', 'freebsd6', 'freebsd7', 'freebsd8', 'freebsd9'):
# FreeBSD's P1003.1b semaphore support is very experimental
# and has many known problems. (as of June 2008)
macros = dict( # FreeBSD
@@ -1338,7 +1342,7 @@ class PyBuildExt(build_ext):
missing.append('linuxaudiodev')
if platform in ('linux2', 'freebsd4', 'freebsd5', 'freebsd6',
- 'freebsd7', 'freebsd8'):
+ 'freebsd7', 'freebsd8', 'freebsd9'):
exts.append( Extension('ossaudiodev', ['ossaudiodev.c']) )
else:
missing.append('ossaudiodev')
@@ -1891,9 +1895,7 @@ def main():
ext_modules=[Extension('_struct', ['_struct.c'])],
# Scripts to install

View file

@ -911,6 +911,8 @@ lib/lib%%PYTHON_VERSION%%.so.1
%%PYTHON_LIBDIR%%/plat-freebsd7/regen
%%PYTHON_LIBDIR%%/plat-freebsd8/IN.py
%%PYTHON_LIBDIR%%/plat-freebsd8/regen
%%PYTHON_LIBDIR%%/plat-freebsd9/IN.py
%%PYTHON_LIBDIR%%/plat-freebsd9/regen
%%PYTHON_LIBDIR%%/platform.py
%%PYTHON_LIBDIR%%/plistlib.py
%%PYTHON_LIBDIR%%/popen2.py
@ -2205,6 +2207,7 @@ lib/libpython2.6.a
@dirrm %%PYTHON_LIBDIR%%/sqlite3/test
@dirrm %%PYTHON_LIBDIR%%/sqlite3
@dirrm %%PYTHON_LIBDIR%%/site-packages
@dirrm %%PYTHON_LIBDIR%%/plat-freebsd9
@dirrm %%PYTHON_LIBDIR%%/plat-freebsd8
@dirrm %%PYTHON_LIBDIR%%/plat-freebsd7
@dirrm %%PYTHON_LIBDIR%%/plat-freebsd6

View file

@ -6,7 +6,7 @@
PORTNAME= python26
PORTVERSION= 2.6.2
PORTREVISION= 2
PORTREVISION= 3
CATEGORIES= lang python ipv6
MASTER_SITES= ${PYTHON_MASTER_SITES}
MASTER_SITE_SUBDIR= ${PYTHON_MASTER_SITE_SUBDIR}
@ -40,7 +40,7 @@ EXAMPLESDIR= ${PREFIX}/share/examples/${PYTHON_VERSION}
DATADIR= ${PREFIX}/share/${PYTHON_VERSION}
PLATFORMS= plat-freebsd4 plat-freebsd5 plat-freebsd6 \
plat-freebsd7 plat-freebsd8
plat-freebsd7 plat-freebsd8 plat-freebsd9
BIN_SCRIPTS= 2to3 idle pydoc smtpd.py
BIN_FILES= python python-shared python-config python-shared-config \
@ -149,6 +149,8 @@ CONFIGURE_ARGS+= --with-fpectl
.endif
pre-patch:
${CP} -r ${PATCH_WRKSRC}/Lib/plat-freebsd8 \
${PATCH_WRKSRC}/Lib/plat-freebsd9
${MKDIR} ${WRKSRC} ${SHARED_WRKSRC}/Modules
${LN} ${PATCH_WRKSRC}/Lib/smtpd.py ${PATCH_WRKSRC}/Tools/scripts/
.for script in ${BIN_SCRIPTS}

View file

@ -16,7 +16,7 @@
+ )
+ libraries = []
+
+ elif platform in ('freebsd7', 'freebsd8'):
+ elif platform in ('freebsd7', 'freebsd8', 'freebsd9'):
+ macros = dict( # FreeBSD 7+
+ HAVE_SEM_OPEN=1,
+ HAVE_SEM_TIMEDWAIT=1,

View file

@ -5,7 +5,7 @@
# Skip platforms with known problems forking from a worker thread.
# See http://bugs.python.org/issue3863.
- if sys.platform in ('freebsd4', 'freebsd5', 'freebsd6', 'os2emx'):
+ if sys.platform in ('freebsd4', 'freebsd5', 'freebsd6', 'freebsd7', 'freebsd8', 'os2emx'):
+ if sys.platform in ('freebsd4', 'freebsd5', 'freebsd6', 'freebsd7', 'freebsd8', 'freebsd9', 'os2emx'):
print >>sys.stderr, ('Skipping test_3_join_in_forked_from_thread'
' due to known OS bugs on'), sys.platform
return

View file

@ -1,6 +1,6 @@
--- setup.py.orig 2008-09-30 09:15:45.000000000 +0900
+++ setup.py 2008-10-09 20:34:35.000000000 +0900
@@ -17,7 +17,7 @@
--- setup.py.orig 2009-03-31 18:20:48.000000000 +0000
+++ setup.py 2009-09-10 05:27:01.000000000 +0000
@@ -17,7 +17,7 @@ from distutils.command.install import in
from distutils.command.install_lib import install_lib
# This global variable is used to hold the list of modules to be disabled.
@ -9,7 +9,7 @@
def add_dir_to_list(dirlist, dir):
"""Add the directory 'dir' to the list 'dirlist' (at the front) if
@@ -575,7 +575,7 @@
@@ -577,7 +577,7 @@ class PyBuildExt(build_ext):
readline_libs = ['readline']
if self.compiler.find_library_file(lib_dirs,
@ -18,7 +18,7 @@
readline_libs.append('ncursesw')
elif self.compiler.find_library_file(lib_dirs,
'ncurses'):
@@ -587,7 +587,7 @@
@@ -589,7 +589,7 @@ class PyBuildExt(build_ext):
'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:
@@ -687,6 +687,8 @@
@@ -689,6 +689,8 @@ class PyBuildExt(build_ext):
# 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 @@
# Modules that provide persistent dictionary-like semantics. You will
# probably want to arrange for at least one of them to be available on
@@ -987,7 +989,7 @@
@@ -990,7 +992,7 @@ class PyBuildExt(build_ext):
# the more recent berkeleydb's db.h file first in the include path
# when attempting to compile and it will fail.
f = "/usr/include/db.h"
@ -45,7 +45,7 @@
data = open(f).read()
m = re.search(r"#s*define\s+HASHVERSION\s+2\s*", data)
if m is not None:
@@ -1066,7 +1068,7 @@
@@ -1080,7 +1082,7 @@ class PyBuildExt(build_ext):
# Curses support, requiring the System V version of curses, often
# provided by the ncurses library.
panel_library = 'panel'
@ -54,7 +54,7 @@
curses_libs = ['ncursesw']
# Bug 1464056: If _curses.so links with ncursesw,
# _curses_panel.so must link with panelw.
@@ -1076,6 +1078,7 @@
@@ -1090,6 +1092,7 @@ class PyBuildExt(build_ext):
elif (self.compiler.find_library_file(lib_dirs, 'ncurses')):
curses_libs = ['ncurses']
exts.append( Extension('_curses', ['_cursesmodule.c'],
@ -62,7 +62,7 @@
libraries = curses_libs) )
elif (self.compiler.find_library_file(lib_dirs, 'curses')
and platform != 'darwin'):
@@ -1097,6 +1100,7 @@
@@ -1111,6 +1114,7 @@ class PyBuildExt(build_ext):
if (module_enabled(exts, '_curses') and
self.compiler.find_library_file(lib_dirs, panel_library)):
exts.append( Extension('_curses_panel', ['_curses_panel.c'],
@ -70,7 +70,25 @@
libraries = [panel_library] + curses_libs) )
else:
missing.append('_curses_panel')
@@ -1869,9 +1873,7 @@
@@ -1273,7 +1277,7 @@ class PyBuildExt(build_ext):
)
libraries = []
- elif platform in ('freebsd4', 'freebsd5', 'freebsd6', 'freebsd7', 'freebsd8'):
+ elif platform in ('freebsd4', 'freebsd5', 'freebsd6', 'freebsd7', 'freebsd8', 'freebsd9'):
# FreeBSD's P1003.1b semaphore support is very experimental
# and has many known problems. (as of June 2008)
macros = dict( # FreeBSD
@@ -1338,7 +1342,7 @@ class PyBuildExt(build_ext):
missing.append('linuxaudiodev')
if platform in ('linux2', 'freebsd4', 'freebsd5', 'freebsd6',
- 'freebsd7', 'freebsd8'):
+ 'freebsd7', 'freebsd8', 'freebsd9'):
exts.append( Extension('ossaudiodev', ['ossaudiodev.c']) )
else:
missing.append('ossaudiodev')
@@ -1891,9 +1895,7 @@ def main():
ext_modules=[Extension('_struct', ['_struct.c'])],
# Scripts to install

View file

@ -911,6 +911,8 @@ lib/lib%%PYTHON_VERSION%%.so.1
%%PYTHON_LIBDIR%%/plat-freebsd7/regen
%%PYTHON_LIBDIR%%/plat-freebsd8/IN.py
%%PYTHON_LIBDIR%%/plat-freebsd8/regen
%%PYTHON_LIBDIR%%/plat-freebsd9/IN.py
%%PYTHON_LIBDIR%%/plat-freebsd9/regen
%%PYTHON_LIBDIR%%/platform.py
%%PYTHON_LIBDIR%%/plistlib.py
%%PYTHON_LIBDIR%%/popen2.py
@ -2205,6 +2207,7 @@ lib/libpython2.6.a
@dirrm %%PYTHON_LIBDIR%%/sqlite3/test
@dirrm %%PYTHON_LIBDIR%%/sqlite3
@dirrm %%PYTHON_LIBDIR%%/site-packages
@dirrm %%PYTHON_LIBDIR%%/plat-freebsd9
@dirrm %%PYTHON_LIBDIR%%/plat-freebsd8
@dirrm %%PYTHON_LIBDIR%%/plat-freebsd7
@dirrm %%PYTHON_LIBDIR%%/plat-freebsd6