1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-11-22 00:35:15 +00:00

Remove python26, it is expired and nothing depends on it anymore.

Reviewed by:	python (mva, rm)
Approved by:	portmgr-lurkers (mat)
This commit is contained in:
Rene Ladan 2014-01-13 21:06:11 +00:00
parent f9a71b9050
commit 6b91ba7b05
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=339637
20 changed files with 1 additions and 2980 deletions

1
MOVED
View File

@ -5373,3 +5373,4 @@ devel/hs-idoc||2014-01-09|Removed
x11-toolkits/hs-frantk||2014-01-09|Outdated and bitrotted
devel/lua-filename||2014-01-10|Abandonware
archivers/xz||2014-01-12|Included in base system on all supported releases
lang/python26|lang/python27|2014-01-13|Python 2.6 is now end-of-life, please migrate to lang/python27

View File

@ -278,7 +278,6 @@
SUBDIR += python-doc-pdf-letter
SUBDIR += python-doc-text
SUBDIR += python-mode.el
SUBDIR += python26
SUBDIR += python27
SUBDIR += python31
SUBDIR += python32

View File

@ -1,289 +0,0 @@
# Created by: Hye-Shik Chang <perky@FreeBSD.org>
# $FreeBSD$
PORTNAME= python26
PORTVERSION= 2.6.9
PORTREVISION= 2
CATEGORIES= lang python ipv6
MASTER_SITES= PYTHON
MASTER_SITE_SUBDIR= ${PYTHON_MASTER_SITE_SUBDIR}
DISTFILES= ${PYTHON_DISTFILE}
DIST_SUBDIR= python
MAINTAINER= python@FreeBSD.org
COMMENT= Interpreted object-oriented programming language
LICENSE= PSFL
LIB_DEPENDS= libffi.so:${PORTSDIR}/devel/libffi
DEPRECATED= Python 2.6 is now end-of-life, please migrate to lang/python27
EXPIRATION_DATE= 2014-01-01
GNU_CONFIGURE= yes
CONFIGURE_SCRIPT= ../configure # must be relative
CONFIGURE_ARGS= --with-system-ffi
CONFIGURE_ENV= SVNVERSION="echo freebsd" ac_cv_opt_olimit_ok=no
MAKE_ENV= VPATH="${PYTHON_WRKSRC}"
INSTALL_TARGET= altinstall
MAN1= ${PYTHON_VERSION}.1
USE_LDCONFIG= yes
USE_PYTHON= yes
USE_XZ= yes
PYTHON_VERSION= python2.6
PYTHON_NO_DEPENDS= yes
WRKSRC= ${PYTHON_WRKSRC}/portbld.static
SHARED_WRKSRC= ${PYTHON_WRKSRC}/portbld.shared
PATCH_WRKSRC= ${PYTHON_WRKSRC}
PLIST= ${WRKDIR}/PLIST
PLIST_TEMPLATE?=${PKGDIR}/pkg-plist
PLIST_SUB= PYVER=${PYTHON_VERSION:S/python//} \
PYMAJOR=${PYTHON_MAJOR_VER} \
PYVER_WITHPAT=${PORTVERSION:S/.c/c/}
EXAMPLESDIR= ${PREFIX}/share/examples/${PYTHON_VERSION}
DATADIR= ${PREFIX}/share/${PYTHON_VERSION}
PLATFORMS= plat-freebsd6 plat-freebsd7 plat-freebsd8 plat-freebsd9 \
plat-freebsd10 plat-freebsd11
BIN_SCRIPTS= 2to3 idle pydoc smtpd.py
BIN_FILES= python python-shared python-config python-shared-config \
${BIN_SCRIPTS}
BINLINKS_SUB_TMPL= -e 's,smtpd,smtpd%%VERSION%%,' \
-e 's,2to3,2to3-%%VERSION%%,' \
-e 's,(idle|pydoc|python-shared|python),\1%%VERSION%%,'
BINLINKS_SUB_PYTHON_VER= ${BINLINKS_SUB_TMPL:S/%%VERSION%%/${PYTHON_VER}/g}
OPTIONS_DEFINE= THREADS SEM PTH PYMALLOC IPV6 FPECTL EXAMPLES NLS
OPTIONS_DEFAULT= THREADS UCS4 PYMALLOC IPV6
OPTIONS_SINGLE= UCS
OPTIONS_SINGLE_UCS= UCS2 UCS4
NLS_DESC= Enable Gettext support for the locale module
NO_STAGE= yes
.include <bsd.port.options.mk>
.if ${PORT_OPTIONS:MNLS}
USES+= gettext
LDFLAGS+= -L${LOCALBASE}/lib
# We use CPPFLAGS over CFLAGS here due to -I ordering causing things like
# elementtree and pyexpat to break with python27, or to silence preprocessor
# complaints with python33
CPPFLAGS+= -I${LOCALBASE}/include
CONFIGURE_ENV+= LIBS="-lintl"
.else
CONFIGURE_ENV+= ac_cv_lib_intl_textdomain=no ac_cv_header_libintl_h=no
.endif
.include <bsd.port.pre.mk>
.if ${PORT_OPTIONS:MSEM}
.if ${OSVERSION} >= 701106
SEM_MSG= ""
.else
IGNORE= POSIX semaphore support only works in FreeBSD 7-STABLE and later
.endif # ${OSVERSION} >= 701106
.else
SEM_MSG= "@comment "
.endif
SUB_FILES= pkg-message
SUB_LIST= SEM=${SEM_MSG}
.if ${PORT_OPTIONS:MTHREADS}
PLIST_SUB+= THREADS=""
.if ${PORT_OPTIONS:MPTH}
CONFIGURE_ARGS+= --with-pth
CONFIGURE_ENV+= ac_cv_pthread=no
LIB_DEPENDS+= pth:${PORTSDIR}/devel/pth
_PTH_CPPFLAGS= "-I${LOCALBASE}/include/pth"
_PTH_LDFLAGS= "-L${LOCALBASE}/lib/pth"
CPPFLAGS+= ${_PTH_CPPFLAGS}
LDFLAGS+= ${_PTH_LDFLAGS}
.else
CONFIGURE_ARGS+= --with-threads
CFLAGS+= ${PTHREAD_CFLAGS}
LDFLAGS+= ${PTHREAD_LIBS}
.endif
.else
PLIST_SUB+= THREADS="@comment "
CONFIGURE_ARGS+= --without-threads
.endif
.if ${PORT_OPTIONS:MUCS4}
CONFIGURE_ARGS+= --enable-unicode=ucs4
.endif
.if ${PORT_OPTIONS:MUCS2}
CONFIGURE_ARGS+= --enable-unicode=ucs2
.endif
.if empty(PORT_OPTIONS:MPYMALLOC)
CONFIGURE_ARGS+= --without-pymalloc
.endif
.if ${ARCH} == amd64 || ${ARCH} == ia64 || ${ARCH} == sparc64
PLIST_SUB+= 32BIT_ONLY="@comment "
.else
PLIST_SUB+= 32BIT_ONLY=""
.endif
.if ${ARCH} == sparc64
CFLAGS+= -DPYTHON_DEFAULT_RECURSION_LIMIT=900
.endif
# See http://bugs.freebsd.org/115940
.if !exists(/usr/bin/ypcat) || defined(WITHOUT_NIS) # the world with NO_NIS
PLIST_SUB+= NO_NIS="@comment "
WITHOUT_NIS?= detected
.else
PLIST_SUB+= NO_NIS=""
.endif
.if ${PORT_OPTIONS:MIPV6}
CONFIGURE_ARGS+= --enable-ipv6
.else
CONFIGURE_ARGS+= --disable-ipv6
.endif
.if ${PORT_OPTIONS:MFPECTL}
CONFIGURE_ARGS+= --with-fpectl
.endif
CONFIGURE_ENV+= OPT="${_PTH_CPPFLAGS}"
pre-patch:
${CP} -r ${PATCH_WRKSRC}/Lib/plat-freebsd8 \
${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
${LN} ${PATCH_WRKSRC}/Lib/smtpd.py ${PATCH_WRKSRC}/Tools/scripts/
.for script in ${BIN_SCRIPTS}
${SED} -e '1s,^.*$$,#!${PREFIX}/bin/${PYTHON_VERSION},' \
${PATCH_WRKSRC}/Tools/scripts/${script} \
> ${WRKDIR}/`${ECHO_CMD} ${script} | ${SED} -E ${BINLINKS_SUB_PYTHON_VER}`
.endfor
${REINPLACE_CMD} -e \
's,/usr/doc/python-docs-,${PREFIX}/share/doc/python,g' \
${PATCH_WRKSRC}/Lib/pydoc.py
${REINPLACE_CMD} -e \
's|^\( *prefixes = .*\)\]$$|\1, "${LOCALBASE}"]|g' \
${PATCH_WRKSRC}/Lib/site.py
${REINPLACE_CMD} -e \
's|^ \(..ASDLGEN.*\)$$| ${TRUE}|g; \
s|[(]LIBDIR[)]/pkgconfig|(prefix)/libdata/pkgconfig|g' \
${PATCH_WRKSRC}/Makefile.pre.in
${REINPLACE_CMD} -e \
's|*\(..INSTALL_SCRIPT.*\)python-config$$|#port \1|' \
${PATCH_WRKSRC}/Makefile.pre.in
${SED} -e 's|^#!.*|#!${PREFIX}/bin/${PYTHON_VERSION}|' \
-e 's|libs = getvar|libs = getvar("LDFLAGS").split() + getvar|' \
${PATCH_WRKSRC}/Misc/python-config.in > ${WRKDIR}/${PYTHON_VERSION}-config
${SED} -e 's|^#!.*|#!${PREFIX}/bin/${PYTHON_VERSION:S/thon/thon-shared/}|' \
-e 's|libs = getvar|libs = getvar("LDFLAGS").split() + getvar|' \
${PATCH_WRKSRC}/Misc/python-config.in > ${WRKDIR}/${PYTHON_VERSION:S/thon/thon-shared/}-config
.if ${PORT_OPTIONS:MFPECTL} && ${ARCH} == i386
${MKDIR} ${WRKSRC}/Modules
${ECHO} "fpectl fpectlmodule.c" >> ${WRKSRC}/Modules/Setup.dist
.endif
post-patch:
.if ${PORT_OPTIONS:MSEM}
.if ${OSVERSION} >= 701106
@cd ${WRKSRC} && ${PATCH} ${PATCH_ARGS} < ${PATCHDIR}/extra-patch-setup.py
.endif
.endif
.if defined(WITHOUT_NIS)
${REINPLACE_CMD} -e \
's/disabled_module_list =[^]]*/&, "nis"/' \
${PATCH_WRKSRC}/setup.py
.endif
post-configure:
${TAR} -C ${WRKSRC} -cf - . | ${TAR} -C ${SHARED_WRKSRC} -xf -
${LN} -sf ${PYTHON_WRKSRC}/Lib ${WRKSRC}/Lib
${SED} -e 's,^\(LDLIBRARY=\).*$$,\1libpython$$(VERSION).so,' \
-e 's,^\(BLDLIBRARY=\).*$$,\1-L. -lpython$$(VERSION),' \
-e 's,^\(CFLAGSFORSHARED=\).*$$,\1$$(CCSHARED),' \
-e 's,^\(Makefile Modules/config.c:.*\)Makefile.pre,\1,' \
-e 's,^\(.(BUILDPYTHON)\: .*\).(LIBRARY),\1,' \
-e 's,^\(.(BUILDPYTHON):.*\).(LIBRARY),\1,' \
${WRKSRC}/Makefile > ${SHARED_WRKSRC}/Makefile
pre-build:
cd ${SHARED_WRKSRC}; \
${SETENV} ${MAKE_ENV} ${MAKE} lib${PYTHON_VERSION}.so python; \
${LN} -f lib${PYTHON_VERSION}.so lib${PYTHON_VERSION}.so.1; \
${LN} -f python ${PYTHON_VERSION:S/thon/thon-shared/}
pre-su-install:
.for platform in ${PLATFORMS}
${MKDIR} ${PYTHONPREFIX_LIBDIR}/${platform}
.for file in IN.py regen
${INSTALL_DATA} ${WRKSRC}/Lib/${platform}/${file} \
${PYTHONPREFIX_LIBDIR}/${platform}/
.endfor
.endfor
pre-install:
${CAT} ${PLIST_TEMPLATE} | ${AWK} '{ print $$0; } \
/LIBDIR.*\.py$$/ && \
!/\/bad|tests\/data/ \
{ print $$0 "o"; print $$0 "c"; }' > ${PLIST}
@# if openssl 0.9.8 is detected, _sha{256,512} module won't be installed
([ -f ${WRKSRC}/.without_own_sha ] && \
${GREP} -v 'lib-dynload/_sha' ${PLIST} > ${PLIST}.tmp && \
${CAT} ${PLIST}.tmp > ${PLIST}) || ${TRUE}
post-install:
@# install config providers
${INSTALL_SCRIPT} ${WRKDIR}/${PYTHON_VERSION}-config ${PREFIX}/bin
${INSTALL_SCRIPT} ${WRKDIR}/${PYTHON_VERSION:S/thon/thon-shared/}-config ${PREFIX}/bin
@# shared version of executable and library
${INSTALL_PROGRAM} ${SHARED_WRKSRC}/lib${PYTHON_VERSION}.so.1 \
${PREFIX}/lib
cd ${PREFIX}/lib; ${LN} -sf lib${PYTHON_VERSION}.so.1 \
lib${PYTHON_VERSION}.so
${LN} -sf ${PREFIX}/lib/lib${PYTHON_VERSION}.so ${PYTHONPREFIX_LIBDIR}/config
${INSTALL_PROGRAM} \
${SHARED_WRKSRC}/${PYTHON_VERSION:S/thon/thon-shared/} \
${PREFIX}/bin
@# additional files installing by ports
.for script in ${BIN_SCRIPTS}
${INSTALL_SCRIPT} \
${WRKDIR}/`${ECHO_CMD} ${script} | ${SED} -E ${BINLINKS_SUB_PYTHON_VER}` \
${PREFIX}/bin
.endfor
@${MKDIR} ${MANPREFIX}/man/man1
${INSTALL_MAN} ${PYTHON_WRKSRC}/Misc/python.man \
${MANPREFIX}/man/man1/${PYTHON_VERSION}.1
.if !defined(NOPORTDATA)
@${MKDIR} ${DATADIR}
@cd ${PYTHON_WRKSRC}; ${TAR} -cf - Tools | \
(cd ${DATADIR}; ${TAR} -xf -)
.endif
.if ${PORT_OPTIONS:MEXAMPLES}
@${MKDIR} ${EXAMPLESDIR}
@cd ${PYTHON_WRKSRC}/Demo; ${TAR} -cf - * | \
(cd ${EXAMPLESDIR}; ${TAR} -xf -)
.endif
@${CAT} ${PKGMESSAGE}
.include <bsd.port.post.mk>

View File

@ -1,2 +0,0 @@
SHA256 (python/Python-2.6.9.tar.xz) = cae7bb995006ea5b703d9d28446f694894c441fe4bfb95d561c0ac908cd06e41
SIZE (python/Python-2.6.9.tar.xz) = 9333664

View File

@ -1,26 +0,0 @@
--- setup.py.1 2009-03-12 04:07:36.000000000 +0000
+++ setup.py 2009-03-12 04:08:36.000000000 +0000
@@ -1265,13 +1265,21 @@
)
libraries = []
- elif platform in ('freebsd4', 'freebsd5', 'freebsd6', 'freebsd7', 'freebsd8', 'freebsd9', 'freebsd10', 'freebsd11'):
+ elif 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( # FreeBSD
+ macros = dict( # FreeBSD 4-6
HAVE_SEM_OPEN=0,
HAVE_SEM_TIMEDWAIT=0,
HAVE_FD_TRANSFER=1,
+ )
+ libraries = []
+
+ elif platform in ('freebsd7', 'freebsd8', 'freebsd9', 'freebsd10', 'freebsd11'):
+ macros = dict( # FreeBSD 7+
+ HAVE_SEM_OPEN=1,
+ HAVE_SEM_TIMEDWAIT=1,
+ HAVE_FD_TRANSFER=1,
)
libraries = []

View File

@ -1,11 +0,0 @@
--- Doc/library/fcntl.rst.orig 2009-10-27 10:29:22.000000000 -0400
+++ Doc/library/fcntl.rst 2010-06-24 22:28:28.000000000 -0400
@@ -50,8 +50,6 @@
operations are typically defined in the library module :mod:`termios` and the
argument handling is even more complicated.
- The op parameter is limited to values that can fit in 32-bits.
-
The parameter *arg* can be one of an integer, absent (treated identically to the
integer ``0``), an object supporting the read-only buffer interface (most likely
a plain Python string) or an object supporting the read-write buffer interface.

View File

@ -1,11 +0,0 @@
--- Lib/test/test_fcntl.py.orig 2010-08-14 16:56:31.290525837 +0800
+++ Lib/test/test_fcntl.py 2010-08-14 16:56:39.007508167 +0800
@@ -30,7 +30,7 @@
if sys.platform in ('netbsd1', 'netbsd2', 'netbsd3',
'Darwin1.2', 'darwin',
'freebsd2', 'freebsd3', 'freebsd4', 'freebsd5',
- 'freebsd6', 'freebsd7', 'freebsd8',
+ 'freebsd6', 'freebsd7', 'freebsd8', 'freebsd9', 'freebsd10'
'bsdos2', 'bsdos3', 'bsdos4',
'openbsd', 'openbsd2', 'openbsd3', 'openbsd4'):
if struct.calcsize('l') == 8:

View File

@ -1,23 +0,0 @@
--- Lib/test/test_ioctl.py.orig 2008-05-24 05:36:45.000000000 -0400
+++ Lib/test/test_ioctl.py 2010-06-24 13:29:31.000000000 -0400
@@ -44,18 +44,9 @@ class IoctlTests(unittest.TestCase):
raise TestSkipped('pty module required')
mfd, sfd = pty.openpty()
try:
- if termios.TIOCSWINSZ < 0:
- set_winsz_opcode_maybe_neg = termios.TIOCSWINSZ
- set_winsz_opcode_pos = termios.TIOCSWINSZ & 0xffffffffL
- else:
- set_winsz_opcode_pos = termios.TIOCSWINSZ
- set_winsz_opcode_maybe_neg, = struct.unpack("i",
- struct.pack("I", termios.TIOCSWINSZ))
-
+ set_winsz_opcode = termios.TIOCSWINSZ
our_winsz = struct.pack("HHHH",80,25,0,0)
- # test both with a positive and potentially negative ioctl code
- new_winsz = fcntl.ioctl(mfd, set_winsz_opcode_pos, our_winsz)
- new_winsz = fcntl.ioctl(mfd, set_winsz_opcode_maybe_neg, our_winsz)
+ new_winsz = fcntl.ioctl(mfd, set_winsz_opcode, our_winsz)
finally:
os.close(mfd)
os.close(sfd)

View File

@ -1,11 +0,0 @@
--- Lib/test/test_socket.py.orig 2010-08-14 16:51:08.542899328 +0800
+++ Lib/test/test_socket.py 2010-08-14 16:53:25.902184941 +0800
@@ -334,7 +334,7 @@
# I've ordered this by protocols that have both a tcp and udp
# protocol, at least for modern Linuxes.
if sys.platform in ('linux2', 'freebsd4', 'freebsd5', 'freebsd6',
- 'freebsd7', 'freebsd8', 'darwin'):
+ 'freebsd7', 'freebsd8', 'freebsd9', 'freebsd10', 'darwin'):
# avoid the 'echo' service on this platform, as there is an
# assumption breaking non-standard port/protocol entry
services = ('daytime', 'qotd', 'domain')

View File

@ -1,11 +0,0 @@
--- Lib/test/test_threading.py.bak 2009-03-12 07:59:17.000000000 +0000
+++ Lib/test/test_threading.py 2009-03-12 10:48:04.000000000 +0000
@@ -382,7 +382,7 @@
return
# 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', 'freebsd9', 'freebsd10', 'os2emx'):
print >>sys.stderr, ('Skipping test_3_join_in_forked_from_thread'
' due to known OS bugs on'), sys.platform
return

View File

@ -1,11 +0,0 @@
--- Modules/_ctypes/libffi/configure.orig 2010-09-02 09:18:23.000000000 +0800
+++ Modules/_ctypes/libffi/configure 2010-09-02 09:18:49.000000000 +0800
@@ -4725,7 +4725,7 @@
rm -rf conftest*
;;
-x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
+amd64-*-freebsd*|x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|powerpc-*-freebsd*| \
s390*-*linux*|sparc*-*linux*)
# Find out which ABI we are using.
echo 'int i;' > conftest.$ac_ext

View File

@ -1,10 +0,0 @@
--- Modules/_ctypes/libffi/src/powerpc/ffitarget.h.orig 2009-12-28 12:29:03.000000000 +0000
+++ Modules/_ctypes/libffi/src/powerpc/ffitarget.h 2009-12-28 12:30:11.000000000 +0000
@@ -78,6 +78,8 @@
FFI_SYSV,
FFI_GCC_SYSV,
FFI_LINUX64,
+ FFI_LINUX,
+ FFI_LINUX_SOFT_FLOAT,
FFI_DEFAULT_ABI = FFI_SYSV,
#endif

View File

@ -1,53 +0,0 @@
--- Modules/fcntlmodule.c.orig 2010-08-14 16:36:54.991363730 +0800
+++ Modules/fcntlmodule.c 2010-08-14 16:41:05.555822031 +0800
@@ -97,20 +97,15 @@
{
#define IOCTL_BUFSZ 1024
int fd;
- /* In PyArg_ParseTuple below, we use the unsigned non-checked 'I'
+ /* In PyArg_ParseTuple below, we use the unsigned non-checked 'k'
format for the 'code' parameter because Python turns 0x8000000
into either a large positive number (PyLong or PyInt on 64-bit
platforms) or a negative number on others (32-bit PyInt)
whereas the system expects it to be a 32bit bit field value
regardless of it being passed as an int or unsigned long on
- various platforms. See the termios.TIOCSWINSZ constant across
- platforms for an example of thise.
-
- If any of the 64bit platforms ever decide to use more than 32bits
- in their unsigned long ioctl codes this will break and need
- special casing based on the platform being built on.
+ various platforms.
*/
- unsigned int code;
+ unsigned long code;
int arg;
int ret;
char *str;
@@ -118,7 +113,7 @@
int mutate_arg = 1;
char buf[IOCTL_BUFSZ+1]; /* argument plus NUL byte */
- if (PyArg_ParseTuple(args, "O&Iw#|i:ioctl",
+ if (PyArg_ParseTuple(args, "O&kw#|i:ioctl",
conv_descriptor, &fd, &code,
&str, &len, &mutate_arg)) {
char *arg;
@@ -169,7 +164,7 @@
}
PyErr_Clear();
- if (PyArg_ParseTuple(args, "O&Is#:ioctl",
+ if (PyArg_ParseTuple(args, "O&ks#:ioctl",
conv_descriptor, &fd, &code, &str, &len)) {
if (len > IOCTL_BUFSZ) {
PyErr_SetString(PyExc_ValueError,
@@ -191,7 +186,7 @@
PyErr_Clear();
arg = 0;
if (!PyArg_ParseTuple(args,
- "O&I|i;ioctl requires a file or file descriptor,"
+ "O&k|i;ioctl requires a file or file descriptor,"
" an integer and optionally an integer or buffer argument",
conv_descriptor, &fd, &code, &arg)) {
return NULL;

View File

@ -1,36 +0,0 @@
# Description: Fix _ctypes abort on import for FreeBSD/ARM. This is an issue
# for anything !apple that is using the libcompiler_rt provided by clang on arm
# PR: ports/149167 ports/184517
# Patch by: cognet@ (to be upstreamed @ LLVM)
--- ./Modules/_ctypes/libffi/src/arm/ffi.c.orig 2013-12-06 00:45:21.870941788 +1100
+++ ./Modules/_ctypes/libffi/src/arm/ffi.c 2013-12-06 00:46:42.804848626 +1100
@@ -29,6 +29,11 @@
#include <stdlib.h>
+#if defined(__FreeBSD__) && defined(__arm__)
+#include <sys/types.h>
+#include <machine/sysarch.h>
+#endif
+
/* ffi_prep_args is called by the assembly routine once stack space
has been allocated for the function's arguments */
@@ -273,6 +278,16 @@
/* How to make a trampoline. */
+#if defined(__FreeBSD__) && defined(__arm__)
+#define __clear_cache(start, end) do { \
+ struct arm_sync_icache_args ua; \
+ \
+ ua.addr = (uintptr_t)(start); \
+ ua.len = (char *)(end) - (char *)start; \
+ sysarch(ARM_SYNC_ICACHE, &ua); \
+ } while (0);
+#endif
+
#define FFI_INIT_TRAMPOLINE(TRAMP,FUN,CTX) \
({ unsigned char *__tramp = (unsigned char*)(TRAMP); \
unsigned int __fun = (unsigned int)(FUN); \

View File

@ -1,11 +0,0 @@
--- Lib/locale.py.foo 2009-05-11 22:57:00.000000000 +0200
+++ Lib/locale.py 2009-05-11 22:57:23.000000000 +0200
@@ -601,7 +601,7 @@
'tactis': 'TACTIS',
'euc_jp': 'eucJP',
'euc_kr': 'eucKR',
- 'utf_8': 'UTF8',
+ 'utf_8': 'UTF-8',
'koi8_r': 'KOI8-R',
'koi8_u': 'KOI8-U',
# XXX This list is still incomplete. If you know more

View File

@ -1,89 +0,0 @@
--- Lib/CGIHTTPServer.py.orig 2009-11-11 17:24:53.000000000 +0000
+++ Lib/CGIHTTPServer.py 2011-03-01 12:05:50.000000000 +0000
@@ -70,27 +70,20 @@
return SimpleHTTPServer.SimpleHTTPRequestHandler.send_head(self)
def is_cgi(self):
- """Test whether self.path corresponds to a CGI script,
- and return a boolean.
+ """Test whether self.path corresponds to a CGI script.
- This function sets self.cgi_info to a tuple (dir, rest)
- when it returns True, where dir is the directory part before
- the CGI script name. Note that rest begins with a
- slash if it is not empty.
-
- The default implementation tests whether the path
- begins with one of the strings in the list
- self.cgi_directories (and the next character is a '/'
- or the end of the string).
+ Returns True and updates the cgi_info attribute to the tuple
+ (dir, rest) if self.path requires running a CGI script.
+ Returns False otherwise.
+
+ The default implementation tests whether the normalized url
+ path begins with one of the strings in self.cgi_directories
+ (and the next character is a '/' or the end of the string).
"""
-
- path = self.path
-
- for x in self.cgi_directories:
- i = len(x)
- if path[:i] == x and (not path[i:] or path[i] == '/'):
- self.cgi_info = path[:i], path[i+1:]
- return True
+ splitpath = _url_collapse_path_split(self.path)
+ if splitpath[0] in self.cgi_directories:
+ self.cgi_info = splitpath
+ return True
return False
cgi_directories = ['/cgi-bin', '/htbin']
@@ -299,6 +292,46 @@
self.log_message("CGI script exited OK")
+# TODO(gregory.p.smith): Move this into an appropriate library.
+def _url_collapse_path_split(path):
+ """
+ Given a URL path, remove extra '/'s and '.' path elements and collapse
+ any '..' references.
+
+ Implements something akin to RFC-2396 5.2 step 6 to parse relative paths.
+
+ Returns: A tuple of (head, tail) where tail is everything after the final /
+ and head is everything before it. Head will always start with a '/' and,
+ if it contains anything else, never have a trailing '/'.
+
+ Raises: IndexError if too many '..' occur within the path.
+ """
+ # Similar to os.path.split(os.path.normpath(path)) but specific to URL
+ # path semantics rather than local operating system semantics.
+ path_parts = []
+ for part in path.split('/'):
+ if part == '.':
+ path_parts.append('')
+ else:
+ path_parts.append(part)
+ # Filter out blank non trailing parts before consuming the '..'.
+ path_parts = [part for part in path_parts[:-1] if part] + path_parts[-1:]
+ if path_parts:
+ tail_part = path_parts.pop()
+ else:
+ tail_part = ''
+ head_parts = []
+ for part in path_parts:
+ if part == '..':
+ head_parts.pop()
+ else:
+ head_parts.append(part)
+ if tail_part and tail_part == '..':
+ head_parts.pop()
+ tail_part = ''
+ return ('/' + '/'.join(head_parts), tail_part)
+
+
nobody = None
def nobody_uid():

View File

@ -1,105 +0,0 @@
--- ./setup.py.orig 2013-10-30 02:04:39.000000000 +1100
+++ ./setup.py 2013-12-08 18:42:28.054900011 +1100
@@ -18,7 +18,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 = ["_bsddb", "_sqlite3", "_tkinter", "gdbm", "mpz"]
def add_dir_to_list(dirlist, dir):
"""Add the directory 'dir' to the list 'dirlist' (at the front) if
@@ -627,7 +627,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'
@@ -666,7 +666,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:
@@ -766,6 +766,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')
# Modules that provide persistent dictionary-like semantics. You will
# probably want to arrange for at least one of them to be available on
@@ -1101,7 +1103,7 @@
sysroot = macosx_sdk_root()
f = os.path.join(sysroot, f[1:])
- if os.path.exists(f) and not db_incs:
+ if os.path.exists(f):
data = open(f).read()
m = re.search(r"#s*define\s+HASHVERSION\s+2\s*", data)
if m is not None:
@@ -1193,12 +1195,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
@@ -1211,6 +1214,7 @@
curses_libs = ['curses']
exts.append( Extension('_curses', ['_cursesmodule.c'],
+ library_dirs = ['/usr/lib'],
libraries = curses_libs) )
else:
missing.append('_curses')
@@ -1381,7 +1385,7 @@
)
libraries = []
- elif platform in ('freebsd4', 'freebsd5', 'freebsd6', 'freebsd7', 'freebsd8'):
+ elif 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( # FreeBSD
@@ -1449,8 +1453,12 @@
else:
missing.append('linuxaudiodev')
- 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')
@@ -2026,9 +2034,7 @@
ext_modules=[Extension('_struct', ['_struct.c'])],
# Scripts to install
- scripts = ['Tools/scripts/pydoc', 'Tools/scripts/idle',
- 'Tools/scripts/2to3',
- 'Lib/smtpd.py']
+ scripts = []
)
# --install-platlib

View File

@ -1,18 +0,0 @@
====
Note that some of the standard modules are provided as separate
ports since they require extra dependencies:
bsddb databases/py-bsddb
gdbm databases/py-gdbm
sqlite3 databases/py-sqlite3
tkinter x11-toolkits/py-tkinter
Install them as needed.
====
%%SEM%%--------------------------------------------------------
%%SEM%%This package was built with the experimental POSIX
%%SEM%%semaphore support. Please ensure that the kernel on the
%%SEM%%system where you deploy this package is either compiled
%%SEM%%with 'options P1003_1B_SEMAPHORES', or has the sem.ko
%%SEM%%kernel module loaded.
%%SEM%%--------------------------------------------------------

View File

@ -1,4 +0,0 @@
Python is an interpreted object-oriented programming language, and is
often compared to Tcl, Perl or Scheme.
WWW: http://www.python.org/

File diff suppressed because it is too large Load Diff