Update python 2.7 to 2.7.4.

This is a slighly different version that I sent that includes an updated
kqueue diff that works with python 2 and 3 and puts test_bsddb and
test_bsddb3 back on the skip list as they're not built outside amd64
and i386.

Only 2 tests are known to fail: test_kqueue (broken) and test_threading
(failing on 2.7.3, under investigation but likely broken). If something
else fails please send your test.log.

Tested on a bulk by landry, sparc64 by brad, ppc gonzalo and amd64 by me.
This commit is contained in:
fgsch 2013-04-13 22:31:42 +00:00
parent 714347734c
commit 1f62a58148
20 changed files with 223 additions and 315 deletions

View File

@ -1,4 +1,4 @@
# $OpenBSD: Makefile,v 1.58 2013/03/31 21:35:26 bcallah Exp $
# $OpenBSD: Makefile,v 1.59 2013/04/13 22:31:42 fgsch Exp $
VERSION= 2.5
PATCHLEVEL= .4
@ -9,4 +9,8 @@ VERSION_SPEC= >=2.5,<2.6
AUTOCONF_VERSION= 2.61
CONFIGURE_ARGS+= --with-cxx_main
PATCH_LIST = patch-* sup64-*
MAKE_FLAGS+= LDLIBRARY=libpython${VERSION}.so.${LIBpython2.5_VERSION}
MAKE_FLAGS+= INSTSONAME=libpython${VERSION}.so.${LIBpython2.5_VERSION}
.include <bsd.port.mk>

View File

@ -1,13 +1,18 @@
# $OpenBSD: Makefile,v 1.22 2013/03/31 21:35:26 bcallah Exp $
# $OpenBSD: Makefile,v 1.23 2013/04/13 22:31:42 fgsch Exp $
VERSION = 2.7
PATCHLEVEL = .3
REVISION = 2
PATCHLEVEL = .4
SHARED_LIBS = python2.7 0.0
VERSION_SPEC = >=2.7,<2.8
AUTOCONF_VERSION = 2.67
AUTOCONF_VERSION = 2.69
CONFIGURE_ARGS += --with-cxx_main \
--with-system-expat
post-patch:
${SUBST_CMD} ${WRKSRC}/configure.ac
pre-configure:
touch ${WRKSRC}/pybuilddir.txt
.include <bsd.port.mk>

View File

@ -1,5 +1,2 @@
MD5 (Python-2.7.3.tgz) = LPZBcyrCOxjROb4He9kGzQ==
RMD160 (Python-2.7.3.tgz) = Ze33KmJ+bXsebyVn63Xbx0pGZh4=
SHA1 (Python-2.7.3.tgz) = 2+SG3RUCLtMuu6xOZyJeKAupPDs=
SHA256 (Python-2.7.3.tgz) = 1MIPK1+vlZmf1f7LP30yBxsIIFFiJKbStykyq0ehy44=
SIZE (Python-2.7.3.tgz) = 14135620
SHA256 (Python-2.7.4.tgz) = mMXrnI5l7/zAEiESuhegvOiAqiPstWCvVrVetVYyuBo=
SIZE (Python-2.7.4.tgz) = 14489063

View File

@ -1,4 +1,4 @@
$OpenBSD: CHANGES.OpenBSD,v 1.2 2013/03/31 21:35:26 bcallah Exp $
$OpenBSD: CHANGES.OpenBSD,v 1.3 2013/04/13 22:31:42 fgsch Exp $
As required by item 3 of the PSF license, here is a brief summary
of changes made to this version of Python for the OpenBSD package.
@ -17,7 +17,9 @@ of changes made to this version of Python for the OpenBSD package.
5. Support for MIPS64 and MIPS64EL systems has been enabled for the
_ctypes Module.
6. INSTSONAME was incorrect, configure.in was patched to fix it.
6. INSTSONAME was incorrect, configure.ac was patched to fix it.
7. select.kevent has been modified to work with OpenBSD.
These changes are available in the OpenBSD CVS repository
<http://www.openbsd.org/anoncvs.html> in ports/lang/python.

View File

@ -0,0 +1,42 @@
$OpenBSD: patch-Lib_test_regrtest_py,v 1.4 2013/04/13 22:31:42 fgsch Exp $
- test_bsddb and test_bsddb3 are in the list below as they are only available
on i386 and amd64.
--- Lib/test/regrtest.py.orig Sat Apr 6 15:02:29 2013
+++ Lib/test/regrtest.py Tue Apr 9 18:43:20 2013
@@ -1416,22 +1416,16 @@ _expectations = {
""",
'openbsd3':
"""
- test_ascii_formatd
test_bsddb
test_bsddb3
- test_ctypes
+ test_curses
test_dl
test_epoll
- test_gdbm
- test_locale
- test_normalization
+ test_gdb
test_ossaudiodev
- test_pep277
- test_tcl
+ test_multiprocessing
test_tk
test_ttk_guionly
- test_ttk_textonly
- test_multiprocessing
""",
'netbsd3':
"""
@@ -1458,6 +1452,8 @@ _expectations['freebsd5'] = _expectations['freebsd4']
_expectations['freebsd6'] = _expectations['freebsd4']
_expectations['freebsd7'] = _expectations['freebsd4']
_expectations['freebsd8'] = _expectations['freebsd4']
+_expectations['openbsd4'] = _expectations['openbsd3']
+_expectations['openbsd5'] = _expectations['openbsd3']
class _ExpectedSkips:
def __init__(self):

View File

@ -1,29 +0,0 @@
$OpenBSD: patch-Lib_test_test_dl_py,v 1.2 2011/07/06 12:05:56 jasper Exp $
--- Lib/test/test_dl.py.orig Sun Feb 7 00:02:29 2010
+++ Lib/test/test_dl.py Wed Jul 6 14:05:40 2011
@@ -6,11 +6,21 @@ import unittest
from test.test_support import verbose, import_module
dl = import_module('dl', deprecated=True)
+import dircache
+libcNames = []
+libcName = ''
+for file in dircache.listdir('/usr/lib/'):
+ if '/libc.so.' in file:
+ libcNames.append(file)
+# Pick the most recent (highest number) libc
+if len(libcNames) > 0:
+ libcName = sorted(libcNames)[-1]
+if not libcName:
+ raise TestSkipped
+
+
sharedlibs = [
- ('/usr/lib/libc.so', 'getpid'),
- ('/lib/libc.so.6', 'getpid'),
- ('/usr/bin/cygwin1.dll', 'getpid'),
- ('/usr/lib/libc.dylib', 'getpid'),
+ (libcName, 'getpid'),
]
def test_main():

View File

@ -1,7 +1,7 @@
$OpenBSD: patch-Lib_test_test_tempfile_py,v 1.2 2012/04/27 08:18:59 rpointel Exp $
--- Lib/test/test_tempfile.py.orig Tue Apr 10 01:07:32 2012
+++ Lib/test/test_tempfile.py Fri Apr 13 07:45:43 2012
@@ -24,7 +24,7 @@ has_spawnl = hasattr(os, 'spawnl')
$OpenBSD: patch-Lib_test_test_tempfile_py,v 1.3 2013/04/13 22:31:42 fgsch Exp $
--- Lib/test/test_tempfile.py.orig Sat Apr 6 15:02:32 2013
+++ Lib/test/test_tempfile.py Sun Apr 7 11:06:25 2013
@@ -27,7 +27,7 @@ has_spawnl = hasattr(os, 'spawnl')
# TEST_FILES may need to be tweaked for systems depending on the maximum
# number of files that can be opened at one time (see ulimit -n)

View File

@ -1,75 +1,12 @@
$OpenBSD: patch-Makefile_pre_in,v 1.4 2012/04/27 08:18:59 rpointel Exp $
--- Makefile.pre.in.orig Tue Apr 10 01:07:33 2012
+++ Makefile.pre.in Fri Apr 13 07:49:16 2012
@@ -364,6 +364,8 @@ LIBRARY_OBJS= \
#########################################################################
# Rules
+everything: all $(srcdir)/Lib/$(PLATDIR)
+
# Default target
all: build_all
build_all: $(BUILDPYTHON) oldsharedmods sharedmods gdbhooks
@@ -399,7 +401,7 @@ coverage:
$(BUILDPYTHON): Modules/python.o $(LIBRARY) $(LDLIBRARY)
$(LINKCC) $(LDFLAGS) $(LINKFORSHARED) -o $@ \
Modules/python.o \
- $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST)
+ -lpython$(VERSION) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST)
platform: $(BUILDPYTHON)
$(RUNSHARED) ./$(BUILDPYTHON) -E -c 'import sys ; from sysconfig import get_platform ; print get_platform()+"-"+sys.version[0:3]' >platform
@@ -448,8 +450,12 @@ gdbhooks: $(BUILDPYTHON)-gdb.py
$OpenBSD: patch-Makefile_pre_in,v 1.5 2013/04/13 22:31:42 fgsch Exp $
--- Makefile.pre.in.orig Sat Apr 6 15:02:34 2013
+++ Makefile.pre.in Mon Apr 8 00:18:17 2013
@@ -489,7 +489,7 @@ gdbhooks: $(BUILDPYTHON)-gdb.py
SRC_GDB_HOOKS=$(srcdir)/Tools/gdb/libpython.py
$(BUILDPYTHON)-gdb.py: $(SRC_GDB_HOOKS)
- $(INSTALL_DATA) $(SRC_GDB_HOOKS) $(BUILDPYTHON)-gdb.py
+ cp $(SRC_GDB_HOOKS) $(BUILDPYTHON)-gdb.py
+# This rule for OpenBSD...
+$(LDLIBRARY): $(LIBRARY)
+ $(LDSHARED) -o $@ $(LIBRARY_OBJS)
+
# This rule is here for OPENSTEP/Rhapsody/MacOSX. It builds a temporary
# minimal framework (not including the Lib directory and such) in the current
# directory.
@@ -795,9 +801,6 @@ bininstall: altbininstall
then rm -f $(DESTDIR)$(BINDIR)/$(PYTHON); \
else true; \
fi
- (cd $(DESTDIR)$(BINDIR); $(LN) -s python2$(EXE) $(PYTHON))
- -rm -f $(DESTDIR)$(BINDIR)/python2$(EXE)
- (cd $(DESTDIR)$(BINDIR); $(LN) -s python$(VERSION)$(EXE) python2$(EXE))
-rm -f $(DESTDIR)$(BINDIR)/python2-config
(cd $(DESTDIR)$(BINDIR); $(LN) -s python$(VERSION)-config python2-config)
-rm -f $(DESTDIR)$(BINDIR)/python-config
@@ -811,7 +814,7 @@ bininstall: altbininstall
# Install the interpreter with $(VERSION) affixed
# This goes into $(exec_prefix)
altbininstall: $(BUILDPYTHON)
- @for i in $(BINDIR) $(LIBDIR); \
+ @for i in $(BINDIR) $(LIBDIR) $(LIBPL); \
do \
if test ! -d $(DESTDIR)$$i; then \
echo "Creating directory $$i"; \
@@ -827,7 +830,8 @@ altbininstall: $(BUILDPYTHON)
$(INSTALL_SHARED) $(LDLIBRARY) $(DESTDIR)$(LIBDIR)/$(INSTSONAME); \
if test $(LDLIBRARY) != $(INSTSONAME); then \
(cd $(DESTDIR)$(LIBDIR); $(LN) -sf $(INSTSONAME) $(LDLIBRARY)) \
- fi \
+ fi ; \
+ (cd $(DESTDIR)$(LIBPL); $(LN) -sf $(LIBDIR)/$(LDLIBRARY)) \
fi; \
else true; \
fi
@@ -960,8 +964,8 @@ libinstall: build_all $(srcdir)/Lib/$(PLATDIR) $(srcdi
./$(BUILDPYTHON) -Wi -t -c "import lib2to3.pygram, lib2to3.patcomp;lib2to3.patcomp.PatternCompiler()"
# Create the PLATDIR source directory, if one wasn't distributed..
-$(srcdir)/Lib/$(PLATDIR):
- mkdir $(srcdir)/Lib/$(PLATDIR)
+$(srcdir)/Lib/$(PLATDIR): $(BUILDPYTHON)
+ mkdir -p $(srcdir)/Lib/$(PLATDIR)
cp $(srcdir)/Lib/plat-generic/regen $(srcdir)/Lib/$(PLATDIR)/regen
export PATH; PATH="`pwd`:$$PATH"; \
export PYTHONPATH; PYTHONPATH="`pwd`/Lib"; \

View File

@ -1,11 +0,0 @@
$OpenBSD: patch-Modules_makesetup,v 1.1.1.1 2011/04/24 09:31:44 rpointel Exp $
--- Modules/makesetup.orig Fri Mar 29 19:00:19 2002
+++ Modules/makesetup Thu Oct 19 03:59:06 2006
@@ -164,6 +164,7 @@ sed -e 's/[ ]*#.*//' -e '/^[ ]*$/d' |
-rpath) libs="$libs $arg"; skip=libs;;
--rpath) libs="$libs $arg"; skip=libs;;
-[A-Zl]*) libs="$libs $arg";;
+ -pthread*) libs="$libs $arg";;
*.a) libs="$libs $arg";;
*.so) libs="$libs $arg";;
*.sl) libs="$libs $arg";;

View File

@ -1,12 +0,0 @@
$OpenBSD: patch-Modules_mathmodule_c,v 1.2 2011/07/06 12:05:56 jasper Exp $
--- Modules/mathmodule.c.orig Fri Jun 25 22:19:48 2010
+++ Modules/mathmodule.c Wed Jul 6 14:05:41 2011
@@ -696,7 +696,7 @@ math_1(PyObject *arg, double (*func) (double), int can
else
errno = 0;
}
- else if (Py_IS_INFINITY(r)) {
+ else if (errno != EDOM && Py_IS_INFINITY(r)) {
if (Py_IS_FINITE(x))
errno = can_overflow ? ERANGE : EDOM;
else

View File

@ -1,40 +1,77 @@
$OpenBSD: patch-Modules_selectmodule_c,v 1.3 2012/04/27 08:18:59 rpointel Exp $
--- Modules/selectmodule.c.orig Tue Apr 10 01:07:34 2012
+++ Modules/selectmodule.c Fri Apr 13 07:45:44 2012
@@ -1208,6 +1208,7 @@ static PyTypeObject kqueue_queue_Type;
*/
$OpenBSD: patch-Modules_selectmodule_c,v 1.4 2013/04/13 22:31:42 fgsch Exp $
See http://bugs.python.org/issue12181 for details.
--- Modules/selectmodule.c.orig Sat Apr 6 15:02:38 2013
+++ Modules/selectmodule.c Tue Apr 9 11:49:04 2013
@@ -1203,6 +1203,23 @@ static PyTypeObject kqueue_queue_Type;
# error uintptr_t does not match int, long, or long long!
#endif
+/*
+ * kevent is not standard and its members vary across BSDs.
+ */
+#if !defined(__OpenBSD__)
+# define IDENT_TYPE T_UINTPTRT
+# define IDENT_CAST Py_intptr_t
+# define DATA_TYPE T_INTPTRT
+# define DATA_FMT_UNIT INTPTRT_FMT_UNIT
+# define IDENT_AsType PyLong_AsUintptr_t
+#else
+# define IDENT_TYPE T_UINT
+# define IDENT_CAST int
+# define DATA_TYPE T_INT
+# define DATA_FMT_UNIT "i"
+# define IDENT_AsType PyLong_AsUnsignedLong
+#endif
+
/* Unfortunately, we can't store python objects in udata, because
* kevents in the kernel can be removed without warning, which would
* forever lose the refcount on the object stored with it.
@@ -1210,11 +1227,11 @@ static PyTypeObject kqueue_queue_Type;
#define KQ_OFF(x) offsetof(kqueue_event_Object, x)
+#if !defined(__OpenBSD__)
static struct PyMemberDef kqueue_event_members[] = {
{"ident", T_UINTPTRT, KQ_OFF(e.ident)},
- {"ident", T_UINTPTRT, KQ_OFF(e.ident)},
+ {"ident", IDENT_TYPE, KQ_OFF(e.ident)},
{"filter", T_SHORT, KQ_OFF(e.filter)},
@@ -1217,6 +1218,19 @@ static struct PyMemberDef kqueue_event_members[] = {
{"flags", T_USHORT, KQ_OFF(e.flags)},
{"fflags", T_UINT, KQ_OFF(e.fflags)},
- {"data", T_INTPTRT, KQ_OFF(e.data)},
+ {"data", DATA_TYPE, KQ_OFF(e.data)},
{"udata", T_UINTPTRT, KQ_OFF(e.udata)},
{NULL} /* Sentinel */
};
+#else
+static struct PyMemberDef kqueue_event_members[] = {
+ {"ident", T_UINT, KQ_OFF(e.ident)},
+ {"filter", T_SHORT, KQ_OFF(e.filter)},
+ {"flags", T_USHORT, KQ_OFF(e.flags)},
+ {"fflags", T_UINT, KQ_OFF(e.fflags)},
+ {"data", T_INT, KQ_OFF(e.data)},
+ {"udata", T_UINTPTRT, KQ_OFF(e.udata)},
+ {NULL} /* Sentinel */
+};
+# undef INTPTRT_FMT_UNIT
+# define INTPTRT_FMT_UNIT "i"
+#endif
#undef KQ_OFF
@@ -1240,7 +1257,7 @@ kqueue_event_init(kqueue_event_Object *self, PyObject
PyObject *pfd;
static char *kwlist[] = {"ident", "filter", "flags", "fflags",
"data", "udata", NULL};
- static char *fmt = "O|hhi" INTPTRT_FMT_UNIT UINTPTRT_FMT_UNIT ":kevent";
+ static char *fmt = "O|hhi" DATA_FMT_UNIT UINTPTRT_FMT_UNIT ":kevent";
static PyObject *
@@ -1278,10 +1292,10 @@ kqueue_event_richcompare(kqueue_event_Object *s, kqueu
EV_SET(&(self->e), 0, EVFILT_READ, EV_ADD, 0, 0, 0); /* defaults */
@@ -1250,8 +1267,12 @@ kqueue_event_init(kqueue_event_Object *self, PyObject
return -1;
}
- if (PyLong_Check(pfd)) {
- self->e.ident = PyLong_AsUintptr_t(pfd);
+ if (PyLong_Check(pfd)
+#if IDENT_TYPE == T_UINT
+ && PyLong_AsUnsignedLong(pfd) < UINT_MAX
+#endif
+ ) {
+ self->e.ident = IDENT_AsType(pfd);
}
else {
self->e.ident = PyObject_AsFileDescriptor(pfd);
@@ -1279,10 +1300,10 @@ kqueue_event_richcompare(kqueue_event_Object *s, kqueu
Py_TYPE(s)->tp_name, Py_TYPE(o)->tp_name);
return NULL;
}
- if (((result = s->e.ident - o->e.ident) == 0) &&
+ if (((result = (int)(s->e.ident - o->e.ident)) == 0) &&
+ if (((result = (IDENT_CAST)(s->e.ident - o->e.ident)) == 0) &&
((result = s->e.filter - o->e.filter) == 0) &&
((result = s->e.flags - o->e.flags) == 0) &&
- ((result = s->e.fflags - o->e.fflags) == 0) &&

View File

@ -1,13 +0,0 @@
$OpenBSD: patch-Modules_socketmodule_c,v 1.1.1.1 2011/04/24 09:31:44 rpointel Exp $
--- Modules/socketmodule.c.orig Thu Feb 4 20:26:34 2010
+++ Modules/socketmodule.c Thu Jun 17 13:04:44 2010
@@ -93,9 +93,6 @@ Local naming conventions:
#include "Python.h"
#include "structmember.h"
-#undef MAX
-#define MAX(x, y) ((x) < (y) ? (y) : (x))
-
/* Socket object documentation */
PyDoc_STRVAR(sock_doc,
"socket([family[, type[, proto]]]) -> socket object\n\

View File

@ -0,0 +1,19 @@
$OpenBSD: patch-configure_ac,v 1.1 2013/04/13 22:31:42 fgsch Exp $
Fix wrong value of INSTSONAME. SOVERSION defaults to 1.0 which leads to
INSTSONAME being libpython2.7.so.1.0, which is incorrect.
This breaks linking for ports that look for INSTSONAME in their configure
stage.
--- configure.ac.orig Sat Apr 6 15:02:41 2013
+++ configure.ac Sun Apr 7 11:52:14 2013
@@ -890,6 +890,9 @@ if test $enable_shared = "yes"; then
FreeBSD*)
SOVERSION=`echo $SOVERSION|cut -d "." -f 1`
;;
+ OpenBSD*)
+ SOVERSION=${LIBpython2.7_VERSION}
+ ;;
esac
INSTSONAME="$LDLIBRARY".$SOVERSION
;;

View File

@ -1,32 +0,0 @@
$OpenBSD: patch-configure_in,v 1.9 2013/03/31 21:35:26 bcallah Exp $
Wrong value of LDSHARED in sysconfig, cf http://bugs.python.org/issue10547
Fix wrong value of INSTSONAME. SOVERSION defaults to 1.0 which leads to
INSTSONAME being libpython2.7.so.1.0, which is incorrect.
This breaks linking for ports that look for INSTSONAME in their configure
stage.
--- configure.in.orig Mon Apr 9 19:07:36 2012
+++ configure.in Sun Mar 31 15:38:58 2013
@@ -787,6 +787,9 @@ if test $enable_shared = "yes"; then
FreeBSD*)
SOVERSION=`echo $SOVERSION|cut -d "." -f 1`
;;
+ OpenBSD*)
+ SOVERSION=${LIBpython2.7_VERSION}
+ ;;
esac
INSTSONAME="$LDLIBRARY".$SOVERSION
;;
@@ -2057,9 +2060,10 @@ AC_CHECK_LIB(dld, shl_load) # Dynamic linking for HP-U
# only check for sem_init if thread support is requested
if test "$with_threads" = "yes" -o -z "$with_threads"; then
- AC_SEARCH_LIBS(sem_init, pthread rt posix4) # 'Real Time' functions on Solaris
+# AC_SEARCH_LIBS(sem_init, pthread rt posix4) # 'Real Time' functions on Solaris
# posix4 on Solaris 2.6
# pthread (first!) on Linux
+ LIBS="-pthread ${LIBS}"
fi
# check if we need libintl for locale functions

View File

@ -1,7 +1,7 @@
$OpenBSD: patch-setup_py,v 1.3 2012/02/27 19:30:46 rpointel Exp $
--- setup.py.orig Sat Jun 11 17:46:28 2011
+++ setup.py Sun Feb 19 19:12:04 2012
@@ -23,6 +23,11 @@ COMPILED_WITH_PYDEBUG = hasattr(sys, 'gettotalrefcount
$OpenBSD: patch-setup_py,v 1.4 2013/04/13 22:31:42 fgsch Exp $
--- setup.py.orig Sat Apr 6 15:02:41 2013
+++ setup.py Mon Apr 8 00:01:29 2013
@@ -35,6 +35,11 @@ COMPILED_WITH_PYDEBUG = ('--with-pydebug' in sysconfig
# This global variable is used to hold the list of modules to be disabled.
disabled_module_list = []
@ -13,7 +13,7 @@ $OpenBSD: patch-setup_py,v 1.3 2012/02/27 19:30:46 rpointel Exp $
def add_dir_to_list(dirlist, dir):
"""Add the directory 'dir' to the list 'dirlist' (at the front) if
1) 'dir' is not already in 'dirlist'
@@ -369,8 +374,8 @@ class PyBuildExt(build_ext):
@@ -437,8 +442,8 @@ class PyBuildExt(build_ext):
def detect_modules(self):
# Ensure that /usr/local is always used
@ -24,27 +24,7 @@ $OpenBSD: patch-setup_py,v 1.3 2012/02/27 19:30:46 rpointel Exp $
self.add_multiarch_paths()
# Add paths specified in the environment variables LDFLAGS and
@@ -703,8 +708,6 @@ class PyBuildExt(build_ext):
depends = ['socketmodule.h']) )
# Detect SSL support for the socket module (via _ssl)
search_for_ssl_incs_in = [
- '/usr/local/ssl/include',
- '/usr/contrib/ssl/include/'
]
ssl_incs = find_file('openssl/ssl.h', inc_dirs,
search_for_ssl_incs_in
@@ -715,9 +718,7 @@ class PyBuildExt(build_ext):
if krb5_h:
ssl_incs += krb5_h
ssl_libs = find_library_file(self.compiler, 'ssl',lib_dirs,
- ['/usr/local/ssl/lib',
- '/usr/contrib/ssl/lib/'
- ] )
+ [ ] )
if (ssl_incs is not None and
ssl_libs is not None):
@@ -816,7 +817,7 @@ class PyBuildExt(build_ext):
@@ -895,7 +900,7 @@ class PyBuildExt(build_ext):
# BerkeleyDB 4.6.x is not stable on many architectures.
arch = platform_machine()
if arch not in ('i386', 'i486', 'i586', 'i686',
@ -53,7 +33,7 @@ $OpenBSD: patch-setup_py,v 1.3 2012/02/27 19:30:46 rpointel Exp $
return False
return True
@@ -879,6 +880,7 @@ class PyBuildExt(build_ext):
@@ -965,6 +970,7 @@ class PyBuildExt(build_ext):
std_variants.append(os.path.join(dn, "db3.%d"%x))
db_inc_paths = std_variants + db_inc_paths
@ -61,15 +41,15 @@ $OpenBSD: patch-setup_py,v 1.3 2012/02/27 19:30:46 rpointel Exp $
db_inc_paths = [p for p in db_inc_paths if os.path.exists(p)]
db_ver_inc_map = {}
@@ -942,6 +944,7 @@ class PyBuildExt(build_ext):
@@ -1028,6 +1034,7 @@ class PyBuildExt(build_ext):
db_incdir.replace("include", 'lib64'),
db_incdir.replace("include", 'lib'),
]
+ db_dirs_to_check = [usrlocal('lib/db4')]
if sys.platform != 'darwin':
if host_platform != 'darwin':
db_dirs_to_check = filter(os.path.isdir, db_dirs_to_check)
@@ -964,6 +967,7 @@ class PyBuildExt(build_ext):
@@ -1050,6 +1057,7 @@ class PyBuildExt(build_ext):
# symlink to more general names?
for dblib in (('db-%d.%d' % db_ver),
('db%d%d' % db_ver),
@ -77,23 +57,7 @@ $OpenBSD: patch-setup_py,v 1.3 2012/02/27 19:30:46 rpointel Exp $
('db%d' % db_ver[0])):
dblib_file = self.compiler.find_library_file(
db_dirs_to_check + lib_dirs, dblib )
@@ -1011,6 +1015,7 @@ class PyBuildExt(build_ext):
'/usr/local/include/sqlite',
'/usr/local/include/sqlite3',
]
+ sqlite_inc_paths = [ usrlocal('include') ]
MIN_SQLITE_VERSION_NUMBER = (3, 0, 8)
MIN_SQLITE_VERSION = ".".join([str(x)
for x in MIN_SQLITE_VERSION_NUMBER])
@@ -1056,6 +1061,7 @@ class PyBuildExt(build_ext):
os.path.join(sqlite_incdir, '..', '..', 'lib64'),
os.path.join(sqlite_incdir, '..', '..', 'lib'),
]
+ sqlite_dirs_to_check = [ usrlocal('lib') ]
sqlite_libfile = self.compiler.find_library_file(
sqlite_dirs_to_check + lib_dirs, 'sqlite3')
if sqlite_libfile:
@@ -1120,7 +1126,7 @@ class PyBuildExt(build_ext):
@@ -1208,7 +1216,7 @@ class PyBuildExt(build_ext):
sysroot = macosx_sdk_root()
f = os.path.join(sysroot, f[1:])
@ -102,30 +66,28 @@ $OpenBSD: patch-setup_py,v 1.3 2012/02/27 19:30:46 rpointel Exp $
data = open(f).read()
m = re.search(r"#s*define\s+HASHVERSION\s+2\s*", data)
if m is not None:
@@ -1439,7 +1445,11 @@ class PyBuildExt(build_ext):
@@ -1547,7 +1555,9 @@ class PyBuildExt(build_ext):
libraries = []
elif platform.startswith('openbsd'):
elif host_platform.startswith('openbsd'):
- macros = dict()
+ macros = dict( # OpenBSD
+ HAVE_SEM_OPEN=0, # Not implemented
+ HAVE_SEM_TIMEDWAIT=0,
+ HAVE_FD_TRANSFER=1,
+ )
+ macros = dict(
+ HAVE_SEM_OPEN=0
+ )
libraries = []
elif platform.startswith('netbsd'):
@@ -1487,6 +1497,9 @@ class PyBuildExt(build_ext):
elif host_platform.startswith('netbsd'):
@@ -1595,6 +1605,9 @@ class PyBuildExt(build_ext):
'freebsd7', 'freebsd8')
or platform.startswith("gnukfreebsd")):
or host_platform.startswith("gnukfreebsd")):
exts.append( Extension('ossaudiodev', ['ossaudiodev.c']) )
+ if platform.startswith('openbsd'):
+ if host_platform.startswith('openbsd'):
+ exts.append( Extension('ossaudiodev', ['ossaudiodev.c'],
+ libraries = ['ossaudio'],) )
else:
missing.append('ossaudiodev')
@@ -1660,7 +1673,7 @@ class PyBuildExt(build_ext):
@@ -1768,7 +1781,7 @@ class PyBuildExt(build_ext):
# For 8.4a2, the X11 headers are not included. Rather than include a
# complicated search, this is a hard-coded path. It could bail out
# if X11 libs are not found...
@ -134,7 +96,7 @@ $OpenBSD: patch-setup_py,v 1.3 2012/02/27 19:30:46 rpointel Exp $
frameworks = ['-framework', 'Tcl', '-framework', 'Tk']
# All existing framework builds of Tcl/Tk don't support 64-bit
@@ -1710,8 +1723,7 @@ class PyBuildExt(build_ext):
@@ -1817,8 +1830,7 @@ class PyBuildExt(build_ext):
# The versions with dots are used on Unix, and the versions without
# dots on Windows, for detection by cygwin.
tcllib = tklib = tcl_includes = tk_includes = None
@ -144,8 +106,8 @@ $OpenBSD: patch-setup_py,v 1.3 2012/02/27 19:30:46 rpointel Exp $
tklib = self.compiler.find_library_file(lib_dirs,
'tk' + version)
tcllib = self.compiler.find_library_file(lib_dirs,
@@ -1754,17 +1766,9 @@ class PyBuildExt(build_ext):
if platform == 'sunos5':
@@ -1861,17 +1873,9 @@ class PyBuildExt(build_ext):
if host_platform == 'sunos5':
include_dirs.append('/usr/openwin/include')
added_lib_dirs.append('/usr/openwin/lib')
- elif os.path.exists('/usr/X11R6/include'):
@ -164,8 +126,8 @@ $OpenBSD: patch-setup_py,v 1.3 2012/02/27 19:30:46 rpointel Exp $
+ added_lib_dirs.append(usrx11r6('lib'))
# If Cygwin, then verify that X is installed before proceeding
if platform == 'cygwin':
@@ -2068,7 +2072,7 @@ def main():
if host_platform == 'cygwin':
@@ -2178,7 +2182,7 @@ def main():
# Scripts to install
scripts = ['Tools/scripts/pydoc', 'Tools/scripts/idle',
'Tools/scripts/2to3',

View File

@ -1,12 +0,0 @@
$OpenBSD: sup64-Lib_test_regrtest_py,v 1.1.1.1 2011/04/24 09:31:44 rpointel Exp $
--- Lib/test/regrtest.py Tue Sep 30 13:19:44 2008
+++ Lib/test/regrtest.py.orig Tue Sep 30 13:21:27 2008
@@ -1066,6 +1066,8 @@
""",
'openbsd3':
"""
+ test_audioop
+ test_imageop
test_bsddb
test_bsddb3
test_ctypes

View File

@ -1,4 +1,4 @@
@comment $OpenBSD: PLIST-main,v 1.5 2012/04/27 08:18:59 rpointel Exp $
@comment $OpenBSD: PLIST-main,v 1.6 2013/04/13 22:31:42 fgsch Exp $
@option no-default-conflict
@conflict python->=2.7,<2.8
@conflict python-bz2->=2.7,<2.8
@ -9,7 +9,9 @@
@comment bin/2to3
@comment bin/pydoc
bin/pydoc2.7
@comment bin/python
@comment bin/python-config
@comment bin/python2
@comment bin/python2-config
@bin bin/python2.7
bin/python2.7-2to3
@ -107,6 +109,7 @@ include/python2.7/ucnhash.h
include/python2.7/unicodeobject.h
include/python2.7/warnings.h
include/python2.7/weakrefobject.h
@comment lib/libpython2.7.so
@lib lib/libpython2.7.so.${LIBpython2.7_VERSION}
lib/pkgconfig/python-2.7.pc
lib/pkgconfig/python.pc
@ -176,6 +179,9 @@ lib/python2.7/__phello__.foo.pyo
lib/python2.7/_abcoll.py
lib/python2.7/_abcoll.pyc
lib/python2.7/_abcoll.pyo
lib/python2.7/_osx_support.py
lib/python2.7/_osx_support.pyc
lib/python2.7/_osx_support.pyo
lib/python2.7/_pyio.py
lib/python2.7/_pyio.pyc
lib/python2.7/_pyio.pyo
@ -312,7 +318,6 @@ lib/python2.7/config/config.c
lib/python2.7/config/config.c.in
lib/python2.7/config/install-sh
lib/python2.7/config/libpython2.7.a
@lib lib/python2.7/config/libpython2.7.so.${LIBpython2.7_VERSION}
lib/python2.7/config/makesetup
lib/python2.7/config/python.o
lib/python2.7/contextlib.py
@ -452,11 +457,10 @@ lib/python2.7/distutils/command/sdist.pyo
lib/python2.7/distutils/command/upload.py
lib/python2.7/distutils/command/upload.pyc
lib/python2.7/distutils/command/upload.pyo
@comment lib/python2.7/distutils/command/wininst-9.0-${MACHINE_ARCH}.exe
@comment lib/python2.7/distutils/command/wininst-6.0.exe
@comment lib/python2.7/distutils/command/wininst-7.1.exe
@comment lib/python2.7/distutils/command/wininst-8.0.exe
@comment lib/python2.7/distutils/command/wininst-9.0-${MACHINE_ARCH}.exe
@comment lib/python2.7/distutils/command/wininst-9.0-amd64.exe
@comment lib/python2.7/distutils/command/wininst-9.0.exe
lib/python2.7/distutils/config.py
lib/python2.7/distutils/config.pyc
@ -1329,6 +1333,9 @@ lib/python2.7/json/tests/test_separators.pyo
lib/python2.7/json/tests/test_speedups.py
lib/python2.7/json/tests/test_speedups.pyc
lib/python2.7/json/tests/test_speedups.pyo
lib/python2.7/json/tests/test_tool.py
lib/python2.7/json/tests/test_tool.pyc
lib/python2.7/json/tests/test_tool.pyo
lib/python2.7/json/tests/test_unicode.py
lib/python2.7/json/tests/test_unicode.pyc
lib/python2.7/json/tests/test_unicode.pyo
@ -1339,7 +1346,7 @@ lib/python2.7/keyword.py
lib/python2.7/keyword.pyc
lib/python2.7/keyword.pyo
lib/python2.7/lib-dynload/
lib/python2.7/lib-dynload/Python-2.7.3-py2.7.egg-info
lib/python2.7/lib-dynload/Python-2.7.4-py2.7.egg-info
lib/python2.7/lib-dynload/_bisect.so
lib/python2.7/lib-dynload/_codecs_cn.so
lib/python2.7/lib-dynload/_codecs_hk.so
@ -1401,9 +1408,9 @@ lib/python2.7/lib-dynload/unicodedata.so
lib/python2.7/lib-dynload/zlib.so
lib/python2.7/lib2to3/
lib/python2.7/lib2to3/Grammar.txt
lib/python2.7/lib2to3/Grammar2.7.3.final.0.pickle
lib/python2.7/lib2to3/Grammar2.7.4.final.0.pickle
lib/python2.7/lib2to3/PatternGrammar.txt
lib/python2.7/lib2to3/PatternGrammar2.7.3.final.0.pickle
lib/python2.7/lib2to3/PatternGrammar2.7.4.final.0.pickle
lib/python2.7/lib2to3/__init__.py
lib/python2.7/lib2to3/__init__.pyc
lib/python2.7/lib2to3/__init__.pyo
@ -2283,6 +2290,8 @@ lib/python2.7/xmlrpclib.pyo
lib/python2.7/zipfile.py
lib/python2.7/zipfile.pyc
lib/python2.7/zipfile.pyo
@comment man/man1/python.1
@comment man/man1/python2.1
@man man/man1/python2.7.1
share/doc/python2.7/
share/doc/python2.7/CHANGES.OpenBSD

View File

@ -1,4 +1,4 @@
@comment $OpenBSD: PLIST-tests,v 1.3 2012/04/27 08:18:59 rpointel Exp $
@comment $OpenBSD: PLIST-tests,v 1.4 2013/04/13 22:31:42 fgsch Exp $
@option no-default-conflict
@conflict python-tests->=2.7,<2.8
lib/python2.7/test/
@ -248,6 +248,9 @@ lib/python2.7/test/mapping_tests.py
lib/python2.7/test/mapping_tests.pyc
lib/python2.7/test/mapping_tests.pyo
lib/python2.7/test/math_testcases.txt
lib/python2.7/test/mp_fork_bomb.py
lib/python2.7/test/mp_fork_bomb.pyc
lib/python2.7/test/mp_fork_bomb.pyo
lib/python2.7/test/nokia.pem
lib/python2.7/test/nullcert.pem
lib/python2.7/test/outstanding_bugs.py
@ -289,6 +292,12 @@ lib/python2.7/test/reperf.pyo
lib/python2.7/test/sample_doctest.py
lib/python2.7/test/sample_doctest.pyc
lib/python2.7/test/sample_doctest.pyo
lib/python2.7/test/sample_doctest_no_docstrings.py
lib/python2.7/test/sample_doctest_no_docstrings.pyc
lib/python2.7/test/sample_doctest_no_docstrings.pyo
lib/python2.7/test/sample_doctest_no_doctests.py
lib/python2.7/test/sample_doctest_no_doctests.pyc
lib/python2.7/test/sample_doctest_no_doctests.pyo
lib/python2.7/test/script_helper.py
lib/python2.7/test/script_helper.pyc
lib/python2.7/test/script_helper.pyo
@ -300,8 +309,6 @@ lib/python2.7/test/sha256.pem
lib/python2.7/test/sortperf.py
lib/python2.7/test/sortperf.pyc
lib/python2.7/test/sortperf.pyo
lib/python2.7/test/ssl_cert.pem
lib/python2.7/test/ssl_key.pem
lib/python2.7/test/string_tests.py
lib/python2.7/test/string_tests.pyc
lib/python2.7/test/string_tests.pyo
@ -309,6 +316,9 @@ lib/python2.7/test/subprocessdata/
lib/python2.7/test/subprocessdata/sigchild_ignore.py
lib/python2.7/test/subprocessdata/sigchild_ignore.pyc
lib/python2.7/test/subprocessdata/sigchild_ignore.pyo
lib/python2.7/test/symlink_support.py
lib/python2.7/test/symlink_support.pyc
lib/python2.7/test/symlink_support.pyo
lib/python2.7/test/test_MimeWriter.py
lib/python2.7/test/test_MimeWriter.pyc
lib/python2.7/test/test_MimeWriter.pyo
@ -327,6 +337,9 @@ lib/python2.7/test/test___future__.pyo
lib/python2.7/test/test__locale.py
lib/python2.7/test/test__locale.pyc
lib/python2.7/test/test__locale.pyo
lib/python2.7/test/test__osx_support.py
lib/python2.7/test/test__osx_support.pyc
lib/python2.7/test/test__osx_support.pyo
lib/python2.7/test/test_abc.py
lib/python2.7/test/test_abc.pyc
lib/python2.7/test/test_abc.pyo
@ -689,6 +702,9 @@ lib/python2.7/test/test_file.pyo
lib/python2.7/test/test_file2k.py
lib/python2.7/test/test_file2k.pyc
lib/python2.7/test/test_file2k.pyo
lib/python2.7/test/test_file_eintr.py
lib/python2.7/test/test_file_eintr.pyc
lib/python2.7/test/test_file_eintr.pyo
lib/python2.7/test/test_filecmp.py
lib/python2.7/test/test_filecmp.pyc
lib/python2.7/test/test_filecmp.pyo
@ -1334,6 +1350,9 @@ lib/python2.7/test/test_tk.pyo
lib/python2.7/test/test_tokenize.py
lib/python2.7/test/test_tokenize.pyc
lib/python2.7/test/test_tokenize.pyo
lib/python2.7/test/test_tools.py
lib/python2.7/test/test_tools.pyc
lib/python2.7/test/test_tools.pyo
lib/python2.7/test/test_trace.py
lib/python2.7/test/test_trace.pyc
lib/python2.7/test/test_trace.pyo
@ -1493,6 +1512,7 @@ lib/python2.7/test/test_zlib.pyo
lib/python2.7/test/testall.py
lib/python2.7/test/testall.pyc
lib/python2.7/test/testall.pyo
lib/python2.7/test/testbz2_bigmem.bz2
lib/python2.7/test/testcodec.py
lib/python2.7/test/testcodec.pyc
lib/python2.7/test/testcodec.pyo

View File

@ -1,4 +1,4 @@
@comment $OpenBSD: PLIST-tools,v 1.3 2012/04/27 08:18:59 rpointel Exp $
@comment $OpenBSD: PLIST-tools,v 1.4 2013/04/13 22:31:42 fgsch Exp $
@option no-default-conflict
@conflict python-tools->=2.7,<2.8
lib/python2.7/Tools/
@ -25,27 +25,15 @@ lib/python2.7/Tools/bgen/bgen/macsupport.py
lib/python2.7/Tools/bgen/bgen/scantools.py
lib/python2.7/Tools/buildbot/
lib/python2.7/Tools/buildbot/README.tcltk-AMD64
@comment lib/python2.7/Tools/buildbot/build-${MACHINE_ARCH}.bat
@comment lib/python2.7/Tools/buildbot/clean-${MACHINE_ARCH}.bat
@comment lib/python2.7/Tools/buildbot/external-${MACHINE_ARCH}.bat
@comment lib/python2.7/Tools/buildbot/test-${MACHINE_ARCH}.bat
@comment lib/python2.7/Tools/buildbot/build-${MACHINE_ARCH}.bat
@comment lib/python2.7/Tools/buildbot/clean-${MACHINE_ARCH}.bat
@comment lib/python2.7/Tools/buildbot/external-${MACHINE_ARCH}.bat
@comment lib/python2.7/Tools/buildbot/test-${MACHINE_ARCH}.bat
@comment lib/python2.7/Tools/buildbot/build-${MACHINE_ARCH}.bat
@comment lib/python2.7/Tools/buildbot/clean-${MACHINE_ARCH}.bat
@comment lib/python2.7/Tools/buildbot/external-${MACHINE_ARCH}.bat
@comment lib/python2.7/Tools/buildbot/test-${MACHINE_ARCH}.bat
@comment lib/python2.7/Tools/buildbot/build-${MACHINE_ARCH}.bat
@comment lib/python2.7/Tools/buildbot/build-amd64.bat
@comment lib/python2.7/Tools/buildbot/build.bat
@comment lib/python2.7/Tools/buildbot/buildmsi.bat
@comment lib/python2.7/Tools/buildbot/clean-${MACHINE_ARCH}.bat
@comment lib/python2.7/Tools/buildbot/clean-amd64.bat
@comment lib/python2.7/Tools/buildbot/clean.bat
@comment lib/python2.7/Tools/buildbot/external-${MACHINE_ARCH}.bat
@comment lib/python2.7/Tools/buildbot/external-amd64.bat
@comment lib/python2.7/Tools/buildbot/external-common.bat
@comment lib/python2.7/Tools/buildbot/external.bat
@comment lib/python2.7/Tools/buildbot/test-${MACHINE_ARCH}.bat
@comment lib/python2.7/Tools/buildbot/test-amd64.bat
@comment lib/python2.7/Tools/buildbot/test.bat
lib/python2.7/Tools/ccbench/
lib/python2.7/Tools/ccbench/ccbench.py

View File

@ -1,4 +1,4 @@
# $OpenBSD: Makefile.inc,v 1.96 2013/03/31 21:35:26 bcallah Exp $
# $OpenBSD: Makefile.inc,v 1.97 2013/04/13 22:31:42 fgsch Exp $
# IMPORTANT! If you make any changes to the Python ports, be sure
# to also update files/CHANGES.OpenBSD for your change. This is a
@ -94,7 +94,6 @@ WANTLIB-tkinter += c pthread
.if ${VERSION} < 3.2
.if ${PROPERTIES:Mlp64}
PATCH_LIST = patch-* sup64-*
PKG_ARGS+= -Dmm=0
.else
PKG_ARGS+= -Dmm=1
@ -123,15 +122,11 @@ CONFIGURE_ENV+= OPT='${CFLAGS} -fPIC' \
LDFLAGS='-L${LOCALBASE}/lib/' SVNVERSION=no \
LOCALBASE=${LOCALBASE} X11BASE=${X11BASE}
MAKE_ENV+= LOCALBASE=${LOCALBASE} X11BASE=${X11BASE}
.if ${VERSION} < 3.2
MAKE_FLAGS+= LDLIBRARY=libpython${VERSION}.so.${LIBpython${VERSION}_VERSION}
MAKE_FLAGS+= INSTSONAME=libpython${VERSION}.so.${LIBpython${VERSION}_VERSION}
.endif
MAKE_FLAGS+= LD_LIBRARY_PATH=${WRKSRC} PATH="${WRKDIST}:${PORTPATH}"
MAKE_FLAGS+= LDFLAGS='-L${WRKSRC}'
FAKE_FLAGS+= RANLIB=:
ALL_TARGET?= everything ./Lib/plat-openbsd5
ALL_TARGET = all ./Lib/plat-openbsd5
post-extract:
rm -r ${WRKDIST}/Modules/expat