Import of pkgsrc-2013Q2

This commit is contained in:
2013-09-26 17:14:40 +02:00
commit 785076ae39
74991 changed files with 4380255 additions and 0 deletions

View File

@@ -0,0 +1,3 @@
bin/2to3 @PREFIX@/bin/2to3-2.6
bin/pydoc @PREFIX@/bin/pydoc2.6
bin/python @PREFIX@/bin/python2.6

14
lang/python26/DESCR Normal file
View File

@@ -0,0 +1,14 @@
Python is an interpreted, interactive, object-oriented
programming language that combines remarkable power with
very clear syntax. For an introduction to programming in
Python you are referred to the Python Tutorial. The
Python Library Reference documents built-in and standard
types, constants, functions and modules. Finally, the
Python Reference Manual describes the syntax and semantics
of the core language in (perhaps too) much detail.
Python's basic power can be extended with your own modules
written in C or C++. On most systems such modules may be
dynamically loaded. Python is also adaptable as an exten-
sion language for existing applications. See the internal
documentation for hints.

188
lang/python26/Makefile Normal file
View File

@@ -0,0 +1,188 @@
# $NetBSD: Makefile,v 1.52 2013/02/06 23:22:38 jperkin Exp $
.include "dist.mk"
PKGNAME= python26-${PY_DISTVERSION}
PKGREVISION= 3
CATEGORIES= lang python
MAINTAINER= pkgsrc-users@NetBSD.org
HOMEPAGE= http://www.python.org/
COMMENT= Interpreted, interactive, object-oriented programming language
LICENSE= python-software-foundation
CONFLICTS+= python-[0-9]*
GNU_CONFIGURE= yes
CONFIGURE_ARGS+= --with-threads
CONFIGURE_ARGS+= --enable-shared
CONFIGURE_ARGS+= OPT=${CFLAGS:Q}
CONFIGURE_ARGS+= --with-system-ffi
LDFLAGS+= -L${WRKSRC}
# $RANDOM usage there is fine
CHECK_PORTABILITY_SKIP= Tools/faqwiz/move-faqwiz.sh
USE_LANGUAGES= c c++
PTHREAD_OPTS+= require
.include "../../mk/pthread.buildlink3.mk"
.if ${PTHREAD_TYPE} == "pth"
CONFIGURE_ARGS+= --with-pth
.endif
.include "../../mk/compiler.mk"
# Clang needs -fwrapv
.if !empty(PKGSRC_COMPILER:Mclang)
CFLAGS+= -fwrapv
.endif
.include "../../mk/bsd.prefs.mk"
# fdatasync()
LIBS.SunOS+= -lrt
PY_VER_SUFFIX= 2.6
.if ${OPSYS} == "NetBSD"
# XXX work around a botched autoconf check which ignores libintl
CONFIGURE_ENV+= ac_cv_func_bind_textdomain_codeset=yes
.endif
.if ${OPSYS} == "Darwin" || ${OPSYS} == "Interix"
PY_PLATNAME= ${LOWER_OPSYS}
USE_TOOLS+= gmake
.elif ${OPSYS} == "IRIX"
PY_PLATNAME= ${LOWER_OPSYS:C/\..*//}
.elif ${OPSYS} == "SunOS"
PY_PLATNAME= sunos${OS_VERSION:C/\..*//}
CONFIGURE_ENV+= ac_cv_header_netpacket_packet_h=no
.elif ${OPSYS} == "HPUX"
PY_PLATNAME= hp-ux11
.else
PY_PLATNAME= ${LOWER_OPSYS}${OS_VERSION:C/\..*//}
.endif
PLIST_SUBST+= PY_PLATNAME=${PY_PLATNAME:Q}
# PLIST to match ${WRKSRC}/Lib/plat-linux3
.if ${PY_PLATNAME} == "linux3"
PL_OPSYS=${OPSYS}3
.else
PL_OPSYS=${OPSYS}
.endif
PLIST_SRC= ${.CURDIR}/../../lang/python26/PLIST.common
.if exists(${.CURDIR}/../../lang/python26/PLIST.${PL_OPSYS})
PLIST_SRC+= ${.CURDIR}/../../lang/python26/PLIST.${PL_OPSYS}
.endif
PLIST_SRC+= ${.CURDIR}/../../lang/python26/PLIST.common_end
.if (${MACHINE_ARCH} == "alpha") || (${MACHINE_ARCH} == "amd64") || \
(${MACHINE_ARCH} == "sparc64") || (${MACHINE_ARCH} == "x86_64") || \
(defined(ABI) && ${ABI} == "64")
IS_64BIT_PLATFORM?= yes
.else
IS_64BIT_PLATFORM?= no
.endif
# the dl module isn't built for 64 bit archs
PLIST_VARS+= dl
.if empty(IS_64BIT_PLATFORM:M[yY][eE][sS])
PLIST.dl= yes
.endif
# builds additional modules if OpenSSL < 0.9.8
PLIST_VARS+= openssl097
CHECK_BUILTIN.openssl:= yes
.include "../../security/openssl/builtin.mk"
CHECK_BUILTIN.openssl:= no
.if !empty(USE_BUILTIN.openssl:M[yY][eE][sS]) && \
!empty(BUILTIN_PKG.openssl:Mopenssl-0.9.[67]*)
PLIST.openssl097= yes
.endif
# setup.py causes some modules to be built if the platform is *not* 64bit.
PLIST_VARS+= extra-so
.if !empty(IS_64BIT_PLATFORM:M[nN][oO])
PLIST.extra-so= yes
.endif
# Make sure python modules can link correctly
.if ${OPSYS} == "Darwin"
INSTALL_UNSTRIPPED= yes
.endif
PLIST_VARS+= dll nis no-nis
.if ${OPSYS} == "IRIX"
. if ${ABI} == "64"
PLIST.no-nis= yes
. else
PLIST.nis= yes
. endif
.else
PLIST.dll= yes
. if ${OPSYS} == "MirBSD"
# neither nis nor no-nis
. elif ${OPSYS} != "NetBSD" || exists(/usr/bin/ypcat)
PLIST.nis= yes
. else
PLIST.no-nis= yes
. endif
.endif
.include "../../mk/bdb.buildlink3.mk"
MAKE_ENV+= PY_BDB_TYPE=${BDB_TYPE}
.if empty(BDB_LIBS)
BUILDLINK_TRANSFORM+= rm:-ldb
.endif
CFLAGS+= -DHAVE_DB_185_H
.if ${OPSYS} == "OSF1"
# configure complains about buggy getaddrinfo()
CONFIGURE_ARGS+= --disable-ipv6
.endif
.if defined(BUILDLINK_TRANSFORM)
MAKE_ENV+= PY_BDB_TRANSFORM=${BUILDLINK_TRANSFORM:Q}
.endif
PLIST_SUBST+= PY_VER_SUFFIX=${PY_VER_SUFFIX:Q}
TEST_TARGET= test
INSTALL_TARGET= altinstall
REPLACE_INTERPRETER+= py26
REPLACE.py26.old= .*python[^ ]*
REPLACE.py26.new= ${PREFIX}/bin/python${PY_VER_SUFFIX}
REPLACE_FILES.py26= Lib/*.py Lib/*/*.py Lib/*/*/*.py
SUBST_CLASSES+= findlib
SUBST_MESSAGE.findlib= Fixing find_library_file on Darwin.
SUBST_STAGE.findlib= pre-configure
SUBST_FILES.findlib= Lib/distutils/unixccompiler.py
SUBST_SED.findlib= -e 's,/usr/local,${PREFIX},'
post-extract:
${MV} ${WRKSRC}/Lib/smtpd.py ${WRKSRC}/Lib/smtpd${PY_VER_SUFFIX}.py
${MV} ${WRKSRC}/Tools/scripts/pydoc ${WRKSRC}/Tools/scripts/pydoc${PY_VER_SUFFIX}
${MV} ${WRKSRC}/Tools/scripts/2to3 ${WRKSRC}/Tools/scripts/2to3-${PY_VER_SUFFIX}
.if ${OPSYS} == "HPUX"
post-install:
${LN} -fs ${DESTDIR}${PREFIX}/lib/libpython2.6.sl \
${DESTDIR}${PREFIX}/lib/libpython2.6.sl.1.0
.endif
USE_GNU_READLINE= yes
BUILDLINK_DEPMETHOD.readline= build
.include "../../archivers/bzip2/buildlink3.mk"
.include "../../devel/gettext-lib/buildlink3.mk"
.include "../../devel/libffi/buildlink3.mk"
.include "../../devel/readline/buildlink3.mk"
.include "../../devel/zlib/buildlink3.mk"
.include "../../security/openssl/buildlink3.mk"
.include "../../mk/dlopen.buildlink3.mk"
.include "../../mk/bsd.pkg.mk"

483
lang/python26/PLIST.Darwin Normal file
View File

@@ -0,0 +1,483 @@
@comment $NetBSD: PLIST.Darwin,v 1.6 2010/04/18 09:20:25 adam Exp $
lib/libpython${PY_VER_SUFFIX}.dylib
lib/python${PY_VER_SUFFIX}/lib-dynload/ColorPicker.so
lib/python${PY_VER_SUFFIX}/lib-dynload/MacOS.so
lib/python${PY_VER_SUFFIX}/lib-dynload/Nav.so
lib/python${PY_VER_SUFFIX}/lib-dynload/OSATerminology.so
lib/python${PY_VER_SUFFIX}/lib-dynload/_AE.so
lib/python${PY_VER_SUFFIX}/lib-dynload/_AH.so
lib/python${PY_VER_SUFFIX}/lib-dynload/_App.so
lib/python${PY_VER_SUFFIX}/lib-dynload/_CF.so
lib/python${PY_VER_SUFFIX}/lib-dynload/_CG.so
lib/python${PY_VER_SUFFIX}/lib-dynload/_CarbonEvt.so
lib/python${PY_VER_SUFFIX}/lib-dynload/_Cm.so
lib/python${PY_VER_SUFFIX}/lib-dynload/_Ctl.so
lib/python${PY_VER_SUFFIX}/lib-dynload/_Dlg.so
lib/python${PY_VER_SUFFIX}/lib-dynload/_Drag.so
lib/python${PY_VER_SUFFIX}/lib-dynload/_Evt.so
lib/python${PY_VER_SUFFIX}/lib-dynload/_File.so
lib/python${PY_VER_SUFFIX}/lib-dynload/_Fm.so
lib/python${PY_VER_SUFFIX}/lib-dynload/_Folder.so
lib/python${PY_VER_SUFFIX}/lib-dynload/_Help.so
lib/python${PY_VER_SUFFIX}/lib-dynload/_IBCarbon.so
lib/python${PY_VER_SUFFIX}/lib-dynload/_Icn.so
lib/python${PY_VER_SUFFIX}/lib-dynload/_Launch.so
lib/python${PY_VER_SUFFIX}/lib-dynload/_List.so
lib/python${PY_VER_SUFFIX}/lib-dynload/_Menu.so
lib/python${PY_VER_SUFFIX}/lib-dynload/_Mlte.so
lib/python${PY_VER_SUFFIX}/lib-dynload/_OSA.so
lib/python${PY_VER_SUFFIX}/lib-dynload/_Qd.so
lib/python${PY_VER_SUFFIX}/lib-dynload/_Qdoffs.so
lib/python${PY_VER_SUFFIX}/lib-dynload/_Qt.so
lib/python${PY_VER_SUFFIX}/lib-dynload/_Res.so
lib/python${PY_VER_SUFFIX}/lib-dynload/_scproxy.so
lib/python${PY_VER_SUFFIX}/lib-dynload/_Scrap.so
lib/python${PY_VER_SUFFIX}/lib-dynload/_Snd.so
lib/python${PY_VER_SUFFIX}/lib-dynload/_TE.so
lib/python${PY_VER_SUFFIX}/lib-dynload/_Win.so
lib/python${PY_VER_SUFFIX}/lib-dynload/autoGIL.so
lib/python${PY_VER_SUFFIX}/lib-dynload/gestalt.so
lib/python${PY_VER_SUFFIX}/lib-dynload/icglue.so
lib/python${PY_VER_SUFFIX}/plat-mac/${LOWER_VENDOR}single.py
lib/python${PY_VER_SUFFIX}/plat-mac/${LOWER_VENDOR}single.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/${LOWER_VENDOR}single.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/${LOWER_VENDOR}trawmain.py
lib/python${PY_VER_SUFFIX}/plat-mac/${LOWER_VENDOR}trawmain.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/${LOWER_VENDOR}trawmain.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/${LOWER_VENDOR}trunner.py
lib/python${PY_VER_SUFFIX}/plat-mac/${LOWER_VENDOR}trunner.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/${LOWER_VENDOR}trunner.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/Audio_mac.py
lib/python${PY_VER_SUFFIX}/plat-mac/Audio_mac.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/Audio_mac.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/AE.py
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/AE.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/AE.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/AH.py
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/AH.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/AH.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Alias.py
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Alias.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Alias.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Aliases.py
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Aliases.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Aliases.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/App.py
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/App.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/App.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Appearance.py
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Appearance.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Appearance.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/AppleEvents.py
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/AppleEvents.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/AppleEvents.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/AppleHelp.py
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/AppleHelp.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/AppleHelp.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/CF.py
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/CF.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/CF.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/CG.py
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/CG.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/CG.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/CarbonEvents.py
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/CarbonEvents.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/CarbonEvents.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/CarbonEvt.py
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/CarbonEvt.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/CarbonEvt.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Cm.py
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Cm.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Cm.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Components.py
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Components.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Components.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/ControlAccessor.py
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/ControlAccessor.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/ControlAccessor.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Controls.py
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Controls.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Controls.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/CoreFoundation.py
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/CoreFoundation.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/CoreFoundation.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/CoreGraphics.py
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/CoreGraphics.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/CoreGraphics.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Ctl.py
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Ctl.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Ctl.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Dialogs.py
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Dialogs.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Dialogs.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Dlg.py
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Dlg.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Dlg.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Drag.py
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Drag.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Drag.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Dragconst.py
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Dragconst.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Dragconst.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Events.py
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Events.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Events.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Evt.py
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Evt.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Evt.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/File.py
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/File.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/File.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Files.py
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Files.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Files.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Fm.py
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Fm.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Fm.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Folder.py
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Folder.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Folder.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Folders.py
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Folders.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Folders.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Fonts.py
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Fonts.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Fonts.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Help.py
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Help.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Help.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/IBCarbon.py
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/IBCarbon.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/IBCarbon.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/IBCarbonRuntime.py
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/IBCarbonRuntime.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/IBCarbonRuntime.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Icn.py
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Icn.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Icn.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Icons.py
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Icons.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Icons.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Launch.py
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Launch.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Launch.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/LaunchServices.py
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/LaunchServices.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/LaunchServices.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/List.py
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/List.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/List.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Lists.py
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Lists.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Lists.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/MacHelp.py
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/MacHelp.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/MacHelp.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/MacTextEditor.py
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/MacTextEditor.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/MacTextEditor.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/MediaDescr.py
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/MediaDescr.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/MediaDescr.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Menu.py
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Menu.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Menu.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Menus.py
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Menus.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Menus.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Mlte.py
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Mlte.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Mlte.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/OSA.py
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/OSA.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/OSA.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/OSAconst.py
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/OSAconst.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/OSAconst.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/QDOffscreen.py
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/QDOffscreen.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/QDOffscreen.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Qd.py
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Qd.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Qd.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Qdoffs.py
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Qdoffs.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Qdoffs.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Qt.py
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Qt.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Qt.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/QuickDraw.py
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/QuickDraw.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/QuickDraw.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/QuickTime.py
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/QuickTime.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/QuickTime.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Res.py
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Res.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Res.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Resources.py
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Resources.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Resources.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Scrap.py
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Scrap.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Scrap.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Snd.py
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Snd.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Snd.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Sndihooks.py
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Sndihooks.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Sndihooks.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Sound.py
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Sound.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Sound.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/TE.py
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/TE.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/TE.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/TextEdit.py
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/TextEdit.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/TextEdit.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Win.py
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Win.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Win.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Windows.py
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Windows.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/Windows.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/__init__.py
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/__init__.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/Carbon/__init__.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/EasyDialogs.py
lib/python${PY_VER_SUFFIX}/plat-mac/EasyDialogs.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/EasyDialogs.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/FrameWork.py
lib/python${PY_VER_SUFFIX}/plat-mac/FrameWork.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/FrameWork.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/MiniAEFrame.py
lib/python${PY_VER_SUFFIX}/plat-mac/MiniAEFrame.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/MiniAEFrame.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/PixMapWrapper.py
lib/python${PY_VER_SUFFIX}/plat-mac/PixMapWrapper.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/PixMapWrapper.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/aepack.py
lib/python${PY_VER_SUFFIX}/plat-mac/aepack.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/aepack.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/aetools.py
lib/python${PY_VER_SUFFIX}/plat-mac/aetools.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/aetools.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/aetypes.py
lib/python${PY_VER_SUFFIX}/plat-mac/aetypes.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/aetypes.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/argvemulator.py
lib/python${PY_VER_SUFFIX}/plat-mac/argvemulator.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/argvemulator.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/bgenlocations.py
lib/python${PY_VER_SUFFIX}/plat-mac/bgenlocations.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/bgenlocations.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/buildtools.py
lib/python${PY_VER_SUFFIX}/plat-mac/buildtools.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/buildtools.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/bundlebuilder.py
lib/python${PY_VER_SUFFIX}/plat-mac/bundlebuilder.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/bundlebuilder.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/cfmfile.py
lib/python${PY_VER_SUFFIX}/plat-mac/cfmfile.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/cfmfile.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/dialogs.rsrc
lib/python${PY_VER_SUFFIX}/plat-mac/errors.rsrc
lib/python${PY_VER_SUFFIX}/plat-mac/findertools.py
lib/python${PY_VER_SUFFIX}/plat-mac/findertools.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/findertools.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/gensuitemodule.py
lib/python${PY_VER_SUFFIX}/plat-mac/gensuitemodule.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/gensuitemodule.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/ic.py
lib/python${PY_VER_SUFFIX}/plat-mac/ic.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/ic.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/icopen.py
lib/python${PY_VER_SUFFIX}/plat-mac/icopen.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/icopen.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/CodeWarrior/CodeWarrior_suite.py
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/CodeWarrior/CodeWarrior_suite.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/CodeWarrior/CodeWarrior_suite.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/CodeWarrior/Metrowerks_Shell_Suite.py
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/CodeWarrior/Metrowerks_Shell_Suite.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/CodeWarrior/Metrowerks_Shell_Suite.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/CodeWarrior/Required.py
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/CodeWarrior/Required.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/CodeWarrior/Required.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/CodeWarrior/Standard_Suite.py
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/CodeWarrior/Standard_Suite.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/CodeWarrior/Standard_Suite.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/CodeWarrior/__init__.py
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/CodeWarrior/__init__.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/CodeWarrior/__init__.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/Explorer/Microsoft_Internet_Explorer.py
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/Explorer/Microsoft_Internet_Explorer.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/Explorer/Microsoft_Internet_Explorer.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/Explorer/Netscape_Suite.py
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/Explorer/Netscape_Suite.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/Explorer/Netscape_Suite.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/Explorer/Required_Suite.py
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/Explorer/Required_Suite.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/Explorer/Required_Suite.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/Explorer/Standard_Suite.py
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/Explorer/Standard_Suite.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/Explorer/Standard_Suite.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/Explorer/URL_Suite.py
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/Explorer/URL_Suite.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/Explorer/URL_Suite.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/Explorer/Web_Browser_Suite.py
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/Explorer/Web_Browser_Suite.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/Explorer/Web_Browser_Suite.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/Explorer/__init__.py
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/Explorer/__init__.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/Explorer/__init__.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/Finder/Containers_and_folders.py
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/Finder/Containers_and_folders.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/Finder/Containers_and_folders.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/Finder/Enumerations.py
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/Finder/Enumerations.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/Finder/Enumerations.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/Finder/Files.py
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/Finder/Files.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/Finder/Files.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/Finder/Finder_Basics.py
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/Finder/Finder_Basics.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/Finder/Finder_Basics.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/Finder/Finder_items.py
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/Finder/Finder_items.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/Finder/Finder_items.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/Finder/Legacy_suite.py
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/Finder/Legacy_suite.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/Finder/Legacy_suite.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/Finder/Standard_Suite.py
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/Finder/Standard_Suite.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/Finder/Standard_Suite.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/Finder/Type_Definitions.py
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/Finder/Type_Definitions.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/Finder/Type_Definitions.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/Finder/Window_classes.py
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/Finder/Window_classes.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/Finder/Window_classes.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/Finder/__init__.py
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/Finder/__init__.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/Finder/__init__.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/Netscape/Mozilla_suite.py
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/Netscape/Mozilla_suite.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/Netscape/Mozilla_suite.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/Netscape/PowerPlant.py
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/Netscape/PowerPlant.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/Netscape/PowerPlant.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/Netscape/Required_suite.py
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/Netscape/Required_suite.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/Netscape/Required_suite.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/Netscape/Standard_Suite.py
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/Netscape/Standard_Suite.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/Netscape/Standard_Suite.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/Netscape/Standard_URL_suite.py
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/Netscape/Standard_URL_suite.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/Netscape/Standard_URL_suite.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/Netscape/Text.py
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/Netscape/Text.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/Netscape/Text.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/Netscape/WorldWideWeb_suite.py
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/Netscape/WorldWideWeb_suite.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/Netscape/WorldWideWeb_suite.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/Netscape/__init__.py
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/Netscape/__init__.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/Netscape/__init__.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/StdSuites/AppleScript_Suite.py
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/StdSuites/AppleScript_Suite.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/StdSuites/AppleScript_Suite.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/StdSuites/Macintosh_Connectivity_Clas.py
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/StdSuites/Macintosh_Connectivity_Clas.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/StdSuites/Macintosh_Connectivity_Clas.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/StdSuites/QuickDraw_Graphics_Suite.py
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/StdSuites/QuickDraw_Graphics_Suite.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/StdSuites/QuickDraw_Graphics_Suite.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/StdSuites/QuickDraw_Graphics_Suppleme.py
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/StdSuites/QuickDraw_Graphics_Suppleme.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/StdSuites/QuickDraw_Graphics_Suppleme.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/StdSuites/Required_Suite.py
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/StdSuites/Required_Suite.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/StdSuites/Required_Suite.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/StdSuites/Standard_Suite.py
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/StdSuites/Standard_Suite.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/StdSuites/Standard_Suite.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/StdSuites/Table_Suite.py
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/StdSuites/Table_Suite.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/StdSuites/Table_Suite.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/StdSuites/Text_Suite.py
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/StdSuites/Text_Suite.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/StdSuites/Text_Suite.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/StdSuites/Type_Names_Suite.py
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/StdSuites/Type_Names_Suite.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/StdSuites/Type_Names_Suite.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/StdSuites/__init__.py
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/StdSuites/__init__.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/StdSuites/__init__.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/SystemEvents/Disk_Folder_File_Suite.py
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/SystemEvents/Disk_Folder_File_Suite.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/SystemEvents/Disk_Folder_File_Suite.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/SystemEvents/Folder_Actions_Suite.py
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/SystemEvents/Folder_Actions_Suite.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/SystemEvents/Folder_Actions_Suite.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/SystemEvents/Hidden_Suite.py
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/SystemEvents/Hidden_Suite.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/SystemEvents/Hidden_Suite.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/SystemEvents/Login_Items_Suite.py
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/SystemEvents/Login_Items_Suite.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/SystemEvents/Login_Items_Suite.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/SystemEvents/Power_Suite.py
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/SystemEvents/Power_Suite.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/SystemEvents/Power_Suite.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/SystemEvents/Processes_Suite.py
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/SystemEvents/Processes_Suite.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/SystemEvents/Processes_Suite.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/SystemEvents/Standard_Suite.py
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/SystemEvents/Standard_Suite.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/SystemEvents/Standard_Suite.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/SystemEvents/System_Events_Suite.py
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/SystemEvents/System_Events_Suite.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/SystemEvents/System_Events_Suite.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/SystemEvents/Text_Suite.py
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/SystemEvents/Text_Suite.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/SystemEvents/Text_Suite.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/SystemEvents/__init__.py
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/SystemEvents/__init__.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/SystemEvents/__init__.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/Terminal/Standard_Suite.py
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/Terminal/Standard_Suite.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/Terminal/Standard_Suite.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/Terminal/Terminal_Suite.py
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/Terminal/Terminal_Suite.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/Terminal/Terminal_Suite.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/Terminal/Text_Suite.py
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/Terminal/Text_Suite.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/Terminal/Text_Suite.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/Terminal/__init__.py
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/Terminal/__init__.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/Terminal/__init__.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/_builtinSuites/__init__.py
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/_builtinSuites/__init__.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/_builtinSuites/__init__.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/_builtinSuites/builtin_Suite.py
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/_builtinSuites/builtin_Suite.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/lib-scriptpackages/_builtinSuites/builtin_Suite.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/macerrors.py
lib/python${PY_VER_SUFFIX}/plat-mac/macerrors.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/macerrors.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/macostools.py
lib/python${PY_VER_SUFFIX}/plat-mac/macostools.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/macostools.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/macresource.py
lib/python${PY_VER_SUFFIX}/plat-mac/macresource.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/macresource.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/pimp.py
lib/python${PY_VER_SUFFIX}/plat-mac/pimp.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/pimp.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/terminalcommand.py
lib/python${PY_VER_SUFFIX}/plat-mac/terminalcommand.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/terminalcommand.pyo
lib/python${PY_VER_SUFFIX}/plat-mac/videoreader.py
lib/python${PY_VER_SUFFIX}/plat-mac/videoreader.pyc
lib/python${PY_VER_SUFFIX}/plat-mac/videoreader.pyo

66
lang/python26/PLIST.IRIX Normal file
View File

@@ -0,0 +1,66 @@
@comment $NetBSD: PLIST.IRIX,v 1.1.1.1 2009/04/19 14:42:48 wiz Exp $
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/AL.py
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/AL.pyc
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/AL.pyo
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/CD.py
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/CD.pyc
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/CD.pyo
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/CL.py
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/CL.pyc
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/CL.pyo
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/DEVICE.py
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/DEVICE.pyc
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/DEVICE.pyo
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/ERRNO.py
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/ERRNO.pyc
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/ERRNO.pyo
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/FILE.py
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/FILE.pyc
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/FILE.pyo
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/FL.py
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/FL.pyc
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/FL.pyo
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/GET.py
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/GET.pyc
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/GET.pyo
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/GL.py
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/GL.pyc
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/GL.pyo
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/GLWS.py
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/GLWS.pyc
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/GLWS.pyo
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/IOCTL.py
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/IOCTL.pyc
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/IOCTL.pyo
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/SV.py
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/SV.pyc
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/SV.pyo
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/WAIT.py
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/WAIT.pyc
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/WAIT.pyo
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/cddb.py
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/cddb.pyc
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/cddb.pyo
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/cdplayer.py
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/cdplayer.pyc
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/cdplayer.pyo
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/flp.doc
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/flp.py
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/flp.pyc
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/flp.pyo
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/jpeg.py
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/jpeg.pyc
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/jpeg.pyo
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/panel.py
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/panel.pyc
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/panel.pyo
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/panelparser.py
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/panelparser.pyc
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/panelparser.pyo
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/readcd.doc
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/readcd.py
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/readcd.pyc
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/readcd.pyo
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/torgb.py
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/torgb.pyc
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/torgb.pyo

10
lang/python26/PLIST.Linux Normal file
View File

@@ -0,0 +1,10 @@
@comment $NetBSD: PLIST.Linux,v 1.2 2010/09/06 17:33:57 drochner Exp $
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/CDROM.py
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/CDROM.pyc
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/CDROM.pyo
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/DLFCN.py
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/DLFCN.pyc
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/DLFCN.pyo
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/TYPES.py
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/TYPES.pyc
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/TYPES.pyo

View File

@@ -0,0 +1,4 @@
@comment $NetBSD: PLIST.Linux3,v 1.1 2011/10/28 10:38:07 dsainty Exp $
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/IN.py
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/IN.pyc
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/IN.pyo

16
lang/python26/PLIST.SunOS Normal file
View File

@@ -0,0 +1,16 @@
@comment $NetBSD: PLIST.SunOS,v 1.2 2010/09/06 17:33:57 drochner Exp $
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/CDIO.py
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/CDIO.pyc
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/CDIO.pyo
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/DLFCN.py
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/DLFCN.pyc
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/DLFCN.pyo
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/STROPTS.py
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/STROPTS.pyc
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/STROPTS.pyo
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/SUNAUDIODEV.py
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/SUNAUDIODEV.pyc
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/SUNAUDIODEV.pyo
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/TYPES.py
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/TYPES.pyc
lib/python${PY_VER_SUFFIX}/plat-${PY_PLATNAME}/TYPES.pyo

3968
lang/python26/PLIST.common Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,2 @@
@comment $NetBSD: PLIST.common_end,v 1.5 2009/06/14 20:34:14 joerg Exp $
@pkgdir lib/python${PY_VER_SUFFIX}/lib-old

View File

@@ -0,0 +1,25 @@
# $NetBSD: buildlink3.mk,v 1.5 2012/05/07 01:53:42 dholland Exp $
BUILDLINK_TREE+= python26
.if !defined(PYTHON26_BUILDLINK3_MK)
PYTHON26_BUILDLINK3_MK:=
BUILDLINK_API_DEPENDS.python26+= python26>=2.6
BUILDLINK_ABI_DEPENDS.python26+= python26>=2.6.6nb8
BUILDLINK_PKGSRCDIR.python26?= ../../lang/python26
. if defined(BUILDLINK_DEPMETHOD.python)
BUILDLINK_DEPMETHOD.python26?= ${BUILDLINK_DEPMETHOD.python}
. endif
#BUILDLINK_INCDIRS.python26+= include/python2.6
#BUILDLINK_LIBDIRS.python26+= lib/python2.6/config
#BUILDLINK_TRANSFORM+= l:python:python2.6
.include "../../mk/dlopen.buildlink3.mk"
.include "../../mk/pthread.buildlink3.mk"
.include "../../devel/gettext-lib/buildlink3.mk"
.endif # PYTHON26_BUILDLINK3_MK
BUILDLINK_TREE+= -python26

8
lang/python26/dist.mk Normal file
View File

@@ -0,0 +1,8 @@
# $NetBSD: dist.mk,v 1.3 2012/04/14 10:47:17 obache Exp $
PY_DISTVERSION= 2.6.8
DISTNAME= Python-${PY_DISTVERSION}
EXTRACT_SUFX= .tar.bz2
DISTINFO_FILE= ${.CURDIR}/../../lang/python26/distinfo
PATCHDIR= ${.CURDIR}/../../lang/python26/patches
MASTER_SITES= http://www.python.org/ftp/python/${PY_DISTVERSION}/

29
lang/python26/distinfo Normal file
View File

@@ -0,0 +1,29 @@
$NetBSD: distinfo,v 1.49 2012/12/21 20:28:36 dholland Exp $
SHA1 (Python-2.6.8.tar.bz2) = 348b727a9818146a57aa43203f37d8c6b462fe79
RMD160 (Python-2.6.8.tar.bz2) = fcfa3554af415cbddd3e8d68aead46f1e7b8e616
Size (Python-2.6.8.tar.bz2) = 11127915 bytes
SHA1 (patch-Mac_Modules_fm___Fmmodule.c) = b9314bccb51b4fe672b81559068f7a79d2965f94
SHA1 (patch-Mac_Modules_qd___Qdmodule.c) = 45c748b15b9436d45ba137460389638aa7108c8d
SHA1 (patch-Mac_Modules_qdoffs___Qdoffsmodule.c) = 9994f0c1a908f18f1f3df3f05b184f082c018365
SHA1 (patch-Modules_pyexpat.c) = 093f5abb50667e776c66564f4ec87addfdc05ff3
SHA1 (patch-SA43463) = a0285ce9eb1d994bb05cd54812f3fc9cb678fe7f
SHA1 (patch-aa) = 0528fc5da76d5f1d19586ea3dda1acd09a4b0113
SHA1 (patch-ab) = b47aa9d18a7c1a99ac8cc8b29c64867443f303e5
SHA1 (patch-ac) = 57c88d47f82630e67bcd27ab61bf4362035da2f2
SHA1 (patch-ad) = a997e39d16a8f0023125362b180d19ee97ab519b
SHA1 (patch-ae) = a6d578b5f12eb42fbbcc11791576d2686a4807d9
SHA1 (patch-ah) = 501d220b41e578402f3400fe88e582aa2408a147
SHA1 (patch-al) = 8425c119a64d67701e2b94aa9db3359150e0d7c0
SHA1 (patch-am) = 380dfaa8ca90532a52dcca972e34965f6e64fce1
SHA1 (patch-an) = 17b4e17b3b562c29a050e9bb20447084ce82b8ab
SHA1 (patch-ao) = 8c6a156b0f0c2a6d319658477fff348e6a0c3603
SHA1 (patch-ap) = d23a869a449ab9dc166cfa149913b20c9acad9cb
SHA1 (patch-au) = 230d74342997021e957105786e93600f5d03cf7b
SHA1 (patch-av) = d6bf0419015656a8d2f13d3132873e453c8a6b6e
SHA1 (patch-az) = 473419352f6e1ff3c6e6268e81457e6f8a1fccb8
SHA1 (patch-ba) = 97dcf72d7380a2d257220669845c52a698165fcf
SHA1 (patch-bb) = 6cdd94dd1e69630159194c7c153b6c4e46c81456
SHA1 (patch-bc) = 09aaa254a54109026bb262a949b4006235df7858
SHA1 (patch-pyconfig.h.in) = ad0f7d60886849e58a03fb28bb6c5ba0600c4698
SHA1 (patch-xa) = 25f02b03f1c5534e1d839a5489d5a046071f32c0

View File

@@ -0,0 +1,61 @@
$NetBSD: patch-Mac_Modules_fm___Fmmodule.c,v 1.1 2011/09/30 08:34:26 yyamano Exp $
Fix build errors on Mac OS XLion.
--- Mac/Modules/fm/_Fmmodule.c.orig 2010-05-09 15:15:40.000000000 +0000
+++ Mac/Modules/fm/_Fmmodule.c
@@ -3,8 +3,14 @@
#include "Python.h"
-#ifndef __LP64__
+#include <AvailabilityMacros.h>
+#if (__MAC_OS_X_VERSION_MAX_ALLOWED >= 1070) || defined(__LP64__)
+#undef HAVE_CARBON
+#else
+#define HAVE_CARBON
+#endif
+#ifdef HAVE_CARBON
#include "pymactoolbox.h"
@@ -336,32 +342,32 @@ static PyMethodDef Fm_methods[] = {
{NULL, NULL, 0}
};
-#else /* __LP64__ */
+#else /* HAVE_CARBON */
static PyMethodDef Fm_methods[] = {
{NULL, NULL, 0}
};
-#endif /* __LP64__ */
+#endif /* HAVE_CARBON */
void init_Fm(void)
{
PyObject *m;
-#ifndef __LP64__
+#ifdef HAVE_CARBON
PyObject *d;
-#endif /* __LP64__ */
+#endif /* HAVE_CARBON */
m = Py_InitModule("_Fm", Fm_methods);
-#ifndef __LP64__
+#ifdef HAVE_CARBON
d = PyModule_GetDict(m);
Fm_Error = PyMac_GetOSErrException();
if (Fm_Error == NULL ||
PyDict_SetItemString(d, "Error", Fm_Error) != 0)
return;
-#endif /* __LP64__ */
+#endif /* HAVE_CARBON */
}
/* ========================= End module _Fm ========================= */

View File

@@ -0,0 +1,88 @@
$NetBSD: patch-Mac_Modules_qd___Qdmodule.c,v 1.1 2011/09/30 08:34:26 yyamano Exp $
Fix build errors on Mac OS XLion.
--- Mac/Modules/qd/_Qdmodule.c.orig 2010-05-09 15:15:40.000000000 +0000
+++ Mac/Modules/qd/_Qdmodule.c
@@ -3,8 +3,14 @@
#include "Python.h"
+#include <AvailabilityMacros.h>
+#if (__MAC_OS_X_VERSION_MAX_ALLOWED >= 1070) || defined(__LP64__)
+#undef HAVE_CARBON
+#else
+#define HAVE_CARBON
+#endif
-#ifndef __LP64__
+#ifdef HAVE_CARBON
#include "pymactoolbox.h"
@@ -6545,10 +6551,10 @@ static PyObject *Qd_RawBitMap(PyObject *
return _res;
}
-#endif /* __LP64__ */
+#endif /* HAVE_CARBON */
static PyMethodDef Qd_methods[] = {
-#ifndef __LP64__
+#ifdef HAVE_CARBON
{"GetPort", (PyCFunction)Qd_GetPort, 1,
PyDoc_STR("() -> (GrafPtr port)")},
{"GrafDevice", (PyCFunction)Qd_GrafDevice, 1,
@@ -7083,12 +7089,12 @@ static PyMethodDef Qd_methods[] = {
PyDoc_STR("Take (string, int, Rect) argument and create BitMap")},
{"RawBitMap", (PyCFunction)Qd_RawBitMap, 1,
PyDoc_STR("Take string BitMap and turn into BitMap object")},
-#endif /* __LP64__ */
+#endif /* HAVE_CARBON */
{NULL, NULL, 0}
};
-#ifndef __LP64__
+#ifdef HAVE_CARBON
/* Like BMObj_New, but the original bitmap data structure is copied (and
** released when the object is released)
@@ -7106,13 +7112,13 @@ PyObject *BMObj_NewCopied(BitMapPtr itse
return (PyObject *)it;
}
-#endif /* __LP64__ */
+#endif /* HAVE_CARBON */
void init_Qd(void)
{
PyObject *m;
-#ifndef __LP64__
+#ifdef HAVE_CARBON
PyObject *d;
@@ -7124,10 +7130,10 @@ void init_Qd(void)
PyMac_INIT_TOOLBOX_OBJECT_NEW(RGBColorPtr, QdRGB_New);
PyMac_INIT_TOOLBOX_OBJECT_CONVERT(RGBColor, QdRGB_Convert);
-#endif /* __LP64__ */
+#endif /* HAVE_CARBON */
m = Py_InitModule("_Qd", Qd_methods);
-#ifndef __LP64__
+#ifdef HAVE_CARBON
d = PyModule_GetDict(m);
Qd_Error = PyMac_GetOSErrException();
if (Qd_Error == NULL ||
@@ -7147,7 +7153,7 @@ void init_Qd(void)
/* Backward-compatible name */
Py_INCREF(&BitMap_Type);
PyModule_AddObject(m, "BitMapType", (PyObject *)&BitMap_Type);
-#endif /* __LP64__ */
+#endif /* HAVE_CARBON */
}
/* ========================= End module _Qd ========================= */

View File

@@ -0,0 +1,75 @@
$NetBSD: patch-Mac_Modules_qdoffs___Qdoffsmodule.c,v 1.1 2011/09/30 08:34:26 yyamano Exp $
Fix build errors on Mac OS XLion.
--- Mac/Modules/qdoffs/_Qdoffsmodule.c.orig 2010-05-09 15:15:40.000000000 +0000
+++ Mac/Modules/qdoffs/_Qdoffsmodule.c
@@ -3,8 +3,14 @@
#include "Python.h"
+#include <AvailabilityMacros.h>
+#if (__MAC_OS_X_VERSION_MAX_ALLOWED >= 1070) || defined(__LP64__)
+#undef HAVE_CARBON
+#else
+#define HAVE_CARBON
+#endif
-#ifndef __LP64__
+#ifdef HAVE_CARBON
#include "pymactoolbox.h"
@@ -631,10 +637,10 @@ static PyObject *Qdoffs_PutPixMapBytes(P
return _res;
}
-#endif /* __LP64__ */
+#endif /* HAVE_CARBON */
static PyMethodDef Qdoffs_methods[] = {
-#ifndef __LP64__
+#ifdef HAVE_CARBON
{"NewGWorld", (PyCFunction)Qdoffs_NewGWorld, 1,
PyDoc_STR("(short PixelDepth, Rect boundsRect, CTabHandle cTable, GDHandle aGDevice, GWorldFlags flags) -> (GWorldPtr offscreenGWorld)")},
{"LockPixels", (PyCFunction)Qdoffs_LockPixels, 1,
@@ -681,7 +687,7 @@ static PyMethodDef Qdoffs_methods[] = {
PyDoc_STR("(pixmap, int start, int size) -> string. Return bytes from the pixmap")},
{"PutPixMapBytes", (PyCFunction)Qdoffs_PutPixMapBytes, 1,
PyDoc_STR("(pixmap, int start, string data). Store bytes into the pixmap")},
-#endif /* __LP64__ */
+#endif /* CARBON */
{NULL, NULL, 0}
};
@@ -691,7 +697,7 @@ static PyMethodDef Qdoffs_methods[] = {
void init_Qdoffs(void)
{
PyObject *m;
-#ifndef __LP64__
+#ifdef HAVE_CARBON
PyObject *d;
@@ -699,10 +705,10 @@ void init_Qdoffs(void)
PyMac_INIT_TOOLBOX_OBJECT_NEW(GWorldPtr, GWorldObj_New);
PyMac_INIT_TOOLBOX_OBJECT_CONVERT(GWorldPtr, GWorldObj_Convert);
-#endif /* __LP64__ */
+#endif /* HAVE_CARBON */
m = Py_InitModule("_Qdoffs", Qdoffs_methods);
-#ifndef __LP64__
+#ifdef HAVE_CARBON
d = PyModule_GetDict(m);
Qdoffs_Error = PyMac_GetOSErrException();
if (Qdoffs_Error == NULL ||
@@ -715,7 +721,7 @@ void init_Qdoffs(void)
/* Backward-compatible name */
Py_INCREF(&GWorld_Type);
PyModule_AddObject(m, "GWorldType", (PyObject *)&GWorld_Type);
-#endif /* __LP64__ */
+#endif /* HAVE_CARBON */
}
/* ======================= End module _Qdoffs ======================= */

View File

@@ -0,0 +1,18 @@
$NetBSD: patch-Modules_pyexpat.c,v 1.1 2012/05/05 22:16:15 joerg Exp $
--- Modules/pyexpat.c.orig 2012-05-05 17:15:36.000000000 +0000
+++ Modules/pyexpat.c
@@ -1355,8 +1355,13 @@ newxmlparseobject(char *encoding, char *
else {
self->itself = XML_ParserCreate(encoding);
}
+#if ((XML_MAJOR_VERSION >= 2) && (XML_MINOR_VERSION >= 1)) || defined(XML_HAS_SET_HASH_SALT)
+ /* This feature was added upstream in libexpat 2.1.0. Our expat copy
+ * has a backport of this feature where we also define XML_HAS_SET_HASH_SALT
+ * to indicate that we can still use it. */
XML_SetHashSalt(self->itself,
(unsigned long)_Py_HashSecret.prefix);
+#endif
self->intern = intern;
Py_XINCREF(self->intern);
#ifdef Py_TPFLAGS_HAVE_GC

View File

@@ -0,0 +1,96 @@
$NetBSD: patch-SA43463,v 1.1 2011/02/28 22:35:53 tron Exp $
Fix information disclosure vulnerability reported in SA43463.
Patch taken from the Python SVN repository:
http://svn.python.org/view?view=revision&revision=71303
--- Lib/CGIHTTPServer.py.orig 2009-11-11 17:24:53.000000000 +0000
+++ Lib/CGIHTTPServer.py 2011-02-28 22:16:27.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

@@ -0,0 +1,26 @@
$NetBSD: patch-aa,v 1.2 2010/09/04 05:12:00 obache Exp $
--- Include/py_curses.h.orig 2009-09-06 21:23:05.000000000 +0000
+++ Include/py_curses.h
@@ -44,6 +44,21 @@
#endif
#endif
+#ifdef __NetBSD__
+/*
+** On NetBSD, [n]curses.h and stdlib.h/wchar.h use different guards
+** against multiple definition of wchar_t and wint_t.
+*/
+#ifdef _XOPEN_SOURCE_EXTENDED
+#ifndef _WCHAR_T
+#define _WCHAR_T
+#endif
+#ifndef _WINT_T
+#define _WINT_T
+#endif
+#endif
+#endif
+
#ifdef HAVE_NCURSES_H
#include <ncurses.h>
#else

View File

@@ -0,0 +1,24 @@
$NetBSD: patch-ab,v 1.2 2010/09/04 05:12:00 obache Exp $
--- Lib/distutils/command/build_ext.py.orig 2010-08-02 20:26:41.000000000 +0000
+++ Lib/distutils/command/build_ext.py
@@ -514,8 +514,19 @@ class build_ext (Command):
# that go into the mix.
if ext.extra_objects:
objects.extend(ext.extra_objects)
+
+ # Two possible sources for extra linker arguments:
+ # - 'extra_link_args' in Extension object
+ # - LDFLAGS environment variable
+ # The environment variable should take precedence, and
+ # any sensible compiler will give precedence to later
+ # command line args. Hence we combine them in order:
extra_args = ext.extra_link_args or []
+ if os.environ.has_key('LDFLAGS'):
+ extra_args = list(extra_args)
+ extra_args.extend(string.split(os.environ['LDFLAGS']))
+
# Detect target language, if not provided
language = ext.language or self.compiler.detect_language(sources)

View File

@@ -0,0 +1,13 @@
$NetBSD: patch-ac,v 1.2 2010/09/04 05:12:00 obache Exp $
--- Misc/build.sh.orig 2010-03-12 21:29:25.000000000 +0000
+++ Misc/build.sh
@@ -269,7 +269,7 @@ fi
F="make-doc-dist.out"
start=`current_time`
-if [ $conflict_count == 0 ]; then
+if [ $conflict_count = 0 ]; then
make dist >& ../build/$F
err=$?
fi

View File

@@ -0,0 +1,15 @@
$NetBSD: patch-ad,v 1.1 2009/11/16 21:12:05 jakllsch Exp $
Add ability to parse unsigned integers as externalized by NetBSD proplib(3).
--- Lib/plistlib.py.orig 2009-05-07 21:47:02.000000000 -0500
+++ Lib/plistlib.py
@@ -463,7 +463,7 @@ class PlistParser:
def end_false(self):
self.addObject(False)
def end_integer(self):
- self.addObject(int(self.getData()))
+ self.addObject(int(self.getData(), 0))
def end_real(self):
self.addObject(float(self.getData()))
def end_string(self):

View File

@@ -0,0 +1,43 @@
$NetBSD: patch-ae,v 1.2 2010/09/04 05:12:00 obache Exp $
XXXbjs: I use amd64, and audioop is broken on 64-bit platforms.
Thus, this needs to be tested.
--- Modules/sunaudiodev.c.orig 2010-05-09 15:15:40.000000000 +0000
+++ Modules/sunaudiodev.c
@@ -224,7 +224,11 @@ sad_ibufcount(sadobject *self)
{
audio_info_t ai;
+#if defined(__NetBSD__) && defined(AUDIO_GETBUFINFO)
+ if (ioctl(self->x_fd, AUDIO_GETBUFINFO, &ai) < 0) {
+#else
if (ioctl(self->x_fd, AUDIO_GETINFO, &ai) < 0) {
+#endif
PyErr_SetFromErrno(SunAudioError);
return NULL;
}
@@ -236,7 +240,11 @@ sad_obufcount(sadobject *self)
{
audio_info_t ai;
+#if defined(__NetBSD__) && defined(AUDIO_GETBUFINFO)
+ if (ioctl(self->x_fd, AUDIO_GETBUFINFO, &ai) < 0) {
+#else
if (ioctl(self->x_fd, AUDIO_GETINFO, &ai) < 0) {
+#endif
PyErr_SetFromErrno(SunAudioError);
return NULL;
}
@@ -275,7 +283,11 @@ sad_getdev(sadobject *self)
static PyObject *
sad_flush(sadobject *self)
{
+#if defined(__NetBSD__) || defined(__OpenBSD__)
+ if (ioctl(self->x_fd, AUDIO_FLUSH, NULL) < 0) {
+#else
if (ioctl(self->x_fd, I_FLUSH, FLUSHW) < 0) {
+#endif
PyErr_SetFromErrno(SunAudioError);
return NULL;
}

View File

@@ -0,0 +1,86 @@
$NetBSD: patch-ah,v 1.3 2010/09/04 05:12:00 obache Exp $
--- Modules/_cursesmodule.c.orig 2010-08-05 16:35:53.000000000 +0000
+++ Modules/_cursesmodule.c
@@ -317,17 +317,9 @@ Window_NoArg2TupleReturnFunction(getpary
Window_OneArgNoReturnFunction(clearok, int, "i;True(1) or False(0)")
Window_OneArgNoReturnFunction(idlok, int, "i;True(1) or False(0)")
-#if defined(__NetBSD__)
-Window_OneArgNoReturnVoidFunction(keypad, int, "i;True(1) or False(0)")
-#else
Window_OneArgNoReturnFunction(keypad, int, "i;True(1) or False(0)")
-#endif
Window_OneArgNoReturnFunction(leaveok, int, "i;True(1) or False(0)")
-#if defined(__NetBSD__)
-Window_OneArgNoReturnVoidFunction(nodelay, int, "i;True(1) or False(0)")
-#else
Window_OneArgNoReturnFunction(nodelay, int, "i;True(1) or False(0)")
-#endif
Window_OneArgNoReturnFunction(notimeout, int, "i;True(1) or False(0)")
Window_OneArgNoReturnFunction(scrollok, int, "i;True(1) or False(0)")
Window_OneArgNoReturnFunction(winsdelln, int, "i;nlines")
@@ -886,11 +878,7 @@ PyCursesWindow_GetKey(PyCursesWindowObje
return Py_BuildValue("c", rtn);
} else {
const char *knp;
-#if defined(__NetBSD__)
- knp = unctrl(rtn);
-#else
knp = keyname(rtn);
-#endif
return PyString_FromString((knp == NULL) ? "" : knp);
}
}
@@ -2100,7 +2088,6 @@ PyCursesWindow_NoOutRefresh(PyCursesWind
}
#endif /* HAVE_CURSES_IS_TERM_RESIZED */
-#if !defined(__NetBSD__)
static PyObject *
PyCurses_KeyName(PyObject *self, PyObject *args)
{
@@ -2119,7 +2106,6 @@ PyCursesWindow_NoOutRefresh(PyCursesWind
return PyString_FromString((knp == NULL) ? "" : (char *)knp);
}
-#endif
static PyObject *
PyCurses_KillChar(PyObject *self)
@@ -2664,9 +2650,7 @@ PyCursesWindow_NoOutRefresh(PyCursesWind
#ifdef HAVE_CURSES_IS_TERM_RESIZED
{"is_term_resized", (PyCFunction)PyCurses_Is_Term_Resized, METH_VARARGS},
#endif
-#if !defined(__NetBSD__)
{"keyname", (PyCFunction)PyCurses_KeyName, METH_VARARGS},
-#endif
{"killchar", (PyCFunction)PyCurses_KillChar, METH_NOARGS},
{"longname", (PyCFunction)PyCurses_longname, METH_NOARGS},
{"meta", (PyCFunction)PyCurses_Meta, METH_VARARGS},
@@ -2775,9 +2759,7 @@ PyCursesWindow_NoOutRefresh(PyCursesWind
SetDictInt("A_DIM", A_DIM);
SetDictInt("A_BOLD", A_BOLD);
SetDictInt("A_ALTCHARSET", A_ALTCHARSET);
-#if !defined(__NetBSD__)
SetDictInt("A_INVIS", A_INVIS);
-#endif
SetDictInt("A_PROTECT", A_PROTECT);
SetDictInt("A_CHARTEXT", A_CHARTEXT);
SetDictInt("A_COLOR", A_COLOR);
@@ -2849,7 +2831,6 @@ PyCursesWindow_NoOutRefresh(PyCursesWind
int key;
char *key_n;
char *key_n2;
-#if !defined(__NetBSD__)
for (key=KEY_MIN;key < KEY_MAX; key++) {
key_n = (char *)keyname(key);
if (key_n == NULL || strcmp(key_n,"UNKNOWN KEY")==0)
@@ -2877,7 +2858,6 @@ PyCursesWindow_NoOutRefresh(PyCursesWind
if (key_n2 != key_n)
free(key_n2);
}
-#endif
SetDictInt("KEY_MIN", KEY_MIN);
SetDictInt("KEY_MAX", KEY_MAX);
}

View File

@@ -0,0 +1,123 @@
$NetBSD: patch-al,v 1.11 2012/12/21 20:28:36 dholland Exp $
- recognize OpenBSD, MirBSD, Interix, Solaris 11
- remove special-case library version hack for FreeBSD
- honor pkgsrc LDFLAGS
- other stuff not previously commented (XXX)
--- configure.orig 2010-05-25 02:27:03.000000000 +0000
+++ configure 2011-09-06 18:58:15.336443123 +0200
@@ -2833,7 +2833,7 @@ case $ac_sys_system/$ac_sys_release in
# Reconfirmed for OpenBSD 3.3 by Zachary Hamm, for 3.4 by Jason Ish.
# In addition, Stefan Krah confirms that issue #1244610 exists through
# OpenBSD 4.6, but is fixed in 4.7.
- OpenBSD/2.* | OpenBSD/3.[0123456789] | OpenBSD/4.[0123456])
+ OpenBSD/2.* | OpenBSD/3.[0123456789] | OpenBSD/4.[0123456] | MirBSD/*)
define_xopen_source=no
# OpenBSD undoes our definition of __BSD_VISIBLE if _XOPEN_SOURCE is
# also defined. This can be overridden by defining _BSD_SOURCE
@@ -2905,10 +2905,10 @@ if test $define_xopen_source = yes
then
# On Solaris w/ g++ it appears that _XOPEN_SOURCE has to be
# defined precisely as g++ defines it
- # Furthermore, on Solaris 10, XPG6 requires the use of a C99
+ # Furthermore, on Solaris >=10, XPG6 requires the use of a C99
# compiler
case $ac_sys_system/$ac_sys_release in
- SunOS/5.8|SunOS/5.9|SunOS/5.10)
+ SunOS/5.8|SunOS/5.9|SunOS/5.10|SunOS/5.11)
$as_echo "#define _XOPEN_SOURCE 500" >>confdefs.h
@@ -2924,10 +2924,10 @@ $as_echo "#define _XOPEN_SOURCE 600" >>c
# definition of _XOPEN_SOURCE_EXTENDED and _POSIX_C_SOURCE, or else
# several APIs are not declared. Since this is also needed in some
# cases for HP-UX, we define it globally.
- # except for Solaris 10, where it must not be defined,
+ # except for Solaris >=10, where it must not be defined,
# as it implies XPG4.2
case $ac_sys_system/$ac_sys_release in
- SunOS/5.10)
+ SunOS/5.10|SunOS/5.11)
;;
*)
@@ -4736,15 +4736,10 @@ $as_echo "#define Py_ENABLE_SHARED 1" >>
RUNSHARED=LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH}
INSTSONAME="$LDLIBRARY".$SOVERSION
;;
- Linux*|GNU*|NetBSD*|FreeBSD*|DragonFly*)
+ Linux*|GNU*|NetBSD*|FreeBSD*|Interix*|DragonFly*|OpenBSD*|MirBSD*)
LDLIBRARY='libpython$(VERSION).so'
BLDLIBRARY='-L. -lpython$(VERSION)'
RUNSHARED=LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH}
- case $ac_sys_system in
- FreeBSD*)
- SOVERSION=`echo $SOVERSION|cut -d "." -f 1`
- ;;
- esac
INSTSONAME="$LDLIBRARY".$SOVERSION
;;
hp*|HP*)
@@ -7359,8 +7354,8 @@ then
LDSHARED="$LDSHARED "'$(PYTHONFRAMEWORKPREFIX)/$(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK)'
else
# No framework, use the Python app as bundle-loader
- BLDSHARED="$LDSHARED "'-bundle_loader $(BUILDPYTHON)'
- LDSHARED="$LDSHARED "'-bundle_loader $(BINDIR)/python$(VERSION)$(EXE)'
+ BLDSHARED="$LDSHARED "'-flat_namespace -undefined suppress -bundle_loader $(BUILDPYTHON)'
+ LDSHARED="$LDSHARED "'-flat_namespace -undefined suppress -bundle_loader $(BINDIR)/python$(VERSION)$(EXE)'
fi ;;
Darwin/*)
# Use -undefined dynamic_lookup whenever possible (10.3 and later).
@@ -7381,12 +7376,12 @@ then
LDSHARED="$LDSHARED "'$(PYTHONFRAMEWORKPREFIX)/$(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK)'
else
# No framework, use the Python app as bundle-loader
- BLDSHARED="$LDSHARED "'-bundle_loader $(BUILDPYTHON)'
- LDSHARED="$LDSHARED "'-bundle_loader $(BINDIR)/python$(VERSION)$(EXE)'
+ BLDSHARED="$LDSHARED "'-flat_namespace -undefined suppress -bundle_loader $(BUILDPYTHON)'
+ LDSHARED="$LDSHARED "'-flat_namespace -undefined suppress -bundle_loader $(BINDIR)/python$(VERSION)$(EXE)'
fi
fi
;;
- Linux*|GNU*|QNX*) LDSHARED='$(CC) -shared';;
+ Linux*|GNU*|QNX*) LDSHARED='$(CC) -shared'" ${LDFLAGS}";;
BSD/OS*/4*) LDSHARED="gcc -shared";;
FreeBSD*)
if [ "`$CC -dM -E - </dev/null | grep __ELF__`" != "" ]
@@ -7409,7 +7404,9 @@ then
;;
esac
fi;;
- NetBSD*|DragonFly*) LDSHARED="cc -shared ${LDFLAGS}";;
+ MirBSD*) LDSHARED='$(CC) -shared $(CCSHARED) ${LDFLAGS}';;
+ NetBSD*|DragonFly*) LDSHARED='$(CC) -shared ${LDFLAGS}';;
+ Interix*) LDSHARED='$(CC) -shared'" ${LDFLAGS}";; # XXX tv needs image-base hack
OpenUNIX*|UnixWare*)
if test "$GCC" = "yes"
then LDSHARED='$(CC) -shared'
@@ -7444,7 +7441,8 @@ then
fi;;
Linux*|GNU*) CCSHARED="-fPIC";;
BSD/OS*/4*) CCSHARED="-fpic";;
- FreeBSD*|NetBSD*|OpenBSD*|DragonFly*) CCSHARED="-fPIC";;
+ FreeBSD*|NetBSD*|OpenBSD*|MirBSD*|DragonFly*) CCSHARED="-fPIC";;
+ Interix*) CCSHARED="";;
OpenUNIX*|UnixWare*)
if test "$GCC" = "yes"
then CCSHARED="-fPIC"
@@ -7497,11 +7495,12 @@ then
OpenUNIX*|UnixWare*) LINKFORSHARED="-Wl,-Bexport";;
SCO_SV*) LINKFORSHARED="-Wl,-Bexport";;
ReliantUNIX*) LINKFORSHARED="-W1 -Blargedynsym";;
- FreeBSD*|NetBSD*|OpenBSD*|DragonFly*)
+ FreeBSD*|NetBSD*|OpenBSD*|MirBSD*|DragonFly*)
if [ "`$CC -dM -E - </dev/null | grep __ELF__`" != "" ]
then
LINKFORSHARED="-Wl,--export-dynamic"
fi;;
+ Interix*) LINKFORSHARED="-Wl,-E";;
SunOS/5*) case $CC in
*gcc*)
if $CC -Xlinker --help 2>&1 | grep export-dynamic >/dev/null

View File

@@ -0,0 +1,384 @@
$NetBSD: patch-am,v 1.19 2011/11/08 07:30:08 sbd Exp $
Disabled modules for normal build:
bsddb
curses
curses_panel
elementtree
sqlite3
tkinter
gdbm
pyexpat
readline
{linux,oss,sun}audiodev
spwd
Those have separate packages where needed.
Only check the BUILDLINK_DIR for libraries etc, do not pick up random
headers and libraries from the system.
Build the 1.85 compat module all the time against the BDB version of choice.
Add in Debian multiarch support (retrofitted from Python 2.7.2) to
support building the "nis" and "crypt" modules.
--- setup.py 2010-07-18 00:31:09.000000000 +1200
+++ setup.py 2011-09-23 01:51:17.757519638 +1200
@@ -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", "_curses", "_curses_panel", "_elementtree", "_sqlite3", "_tkinter", "gdbm", "pyexpat", "readline", "linuxaudiodev", "ossaudiodev", "spwd", "sunaudiodev"]
def add_dir_to_list(dirlist, dir):
"""Add the directory 'dir' to the list 'dirlist' (at the front) if
@@ -354,10 +354,40 @@
return platform
return sys.platform
+ def add_multiarch_paths(self):
+ # Debian/Ubuntu multiarch support.
+ # https://wiki.ubuntu.com/MultiarchSpec
+ if not find_executable('dpkg-architecture'):
+ return
+ tmpfile = os.path.join(self.build_temp, 'multiarch')
+ if not os.path.exists(self.build_temp):
+ os.makedirs(self.build_temp)
+ ret = os.system(
+ 'dpkg-architecture -qDEB_HOST_MULTIARCH > %s 2> /dev/null' %
+ tmpfile)
+ try:
+ if ret >> 8 == 0:
+ with open(tmpfile) as fp:
+ multiarch_path_component = fp.readline().strip()
+ add_dir_to_list(self.compiler.library_dirs,
+ '/usr/lib/' + multiarch_path_component)
+ add_dir_to_list(self.compiler.include_dirs,
+ '/usr/include/' + multiarch_path_component)
+ finally:
+ os.unlink(tmpfile)
+
def detect_modules(self):
- # Ensure that /usr/local is always used
- add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib')
- add_dir_to_list(self.compiler.include_dirs, '/usr/local/include')
+ # Add the buildlink directories for pkgsrc
+ if os.environ.has_key('BUILDLINK_DIR'):
+ dir = os.environ['BUILDLINK_DIR']
+ libdir = dir + '/lib'
+ incdir = dir + '/include'
+ if libdir not in self.compiler.library_dirs:
+ self.compiler.library_dirs.insert(0, libdir)
+ if incdir not in self.compiler.include_dirs:
+ self.compiler.include_dirs.insert(0, incdir)
+
+ self.add_multiarch_paths()
# Add paths specified in the environment variables LDFLAGS and
# CPPFLAGS for header and library files.
@@ -703,9 +733,7 @@
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):
@@ -815,172 +843,6 @@
else:
raise ValueError("unknown major BerkeleyDB version", major)
- # construct a list of paths to look for the header file in on
- # top of the normal inc_dirs.
- db_inc_paths = [
- '/usr/include/db4',
- '/usr/local/include/db4',
- '/opt/sfw/include/db4',
- '/usr/include/db3',
- '/usr/local/include/db3',
- '/opt/sfw/include/db3',
- # Fink defaults (http://fink.sourceforge.net/)
- '/sw/include/db4',
- '/sw/include/db3',
- ]
- # 4.x minor number specific paths
- for x in gen_db_minor_ver_nums(4):
- db_inc_paths.append('/usr/include/db4%d' % x)
- db_inc_paths.append('/usr/include/db4.%d' % x)
- db_inc_paths.append('/usr/local/BerkeleyDB.4.%d/include' % x)
- db_inc_paths.append('/usr/local/include/db4%d' % x)
- db_inc_paths.append('/pkg/db-4.%d/include' % x)
- db_inc_paths.append('/opt/db-4.%d/include' % x)
- # MacPorts default (http://www.macports.org/)
- db_inc_paths.append('/opt/local/include/db4%d' % x)
- # 3.x minor number specific paths
- for x in gen_db_minor_ver_nums(3):
- db_inc_paths.append('/usr/include/db3%d' % x)
- db_inc_paths.append('/usr/local/BerkeleyDB.3.%d/include' % x)
- db_inc_paths.append('/usr/local/include/db3%d' % x)
- db_inc_paths.append('/pkg/db-3.%d/include' % x)
- db_inc_paths.append('/opt/db-3.%d/include' % x)
-
- # Add some common subdirectories for Sleepycat DB to the list,
- # based on the standard include directories. This way DB3/4 gets
- # picked up when it is installed in a non-standard prefix and
- # the user has added that prefix into inc_dirs.
- std_variants = []
- for dn in inc_dirs:
- std_variants.append(os.path.join(dn, 'db3'))
- std_variants.append(os.path.join(dn, 'db4'))
- for x in gen_db_minor_ver_nums(4):
- std_variants.append(os.path.join(dn, "db4%d"%x))
- std_variants.append(os.path.join(dn, "db4.%d"%x))
- for x in gen_db_minor_ver_nums(3):
- std_variants.append(os.path.join(dn, "db3%d"%x))
- std_variants.append(os.path.join(dn, "db3.%d"%x))
-
- db_inc_paths = std_variants + db_inc_paths
- db_inc_paths = [p for p in db_inc_paths if os.path.exists(p)]
-
- db_ver_inc_map = {}
-
- if sys.platform == 'darwin':
- sysroot = macosx_sdk_root()
-
- class db_found(Exception): pass
- try:
- # See whether there is a Sleepycat header in the standard
- # search path.
- for d in inc_dirs + db_inc_paths:
- f = os.path.join(d, "db.h")
-
- if sys.platform == 'darwin' and is_macosx_sdk_path(d):
- f = os.path.join(sysroot, d[1:], "db.h")
-
- if db_setup_debug: print "db: looking for db.h in", f
- if os.path.exists(f):
- f = open(f).read()
- m = re.search(r"#define\WDB_VERSION_MAJOR\W(\d+)", f)
- if m:
- db_major = int(m.group(1))
- m = re.search(r"#define\WDB_VERSION_MINOR\W(\d+)", f)
- db_minor = int(m.group(1))
- db_ver = (db_major, db_minor)
-
- # Avoid 4.6 prior to 4.6.21 due to a BerkeleyDB bug
- if db_ver == (4, 6):
- m = re.search(r"#define\WDB_VERSION_PATCH\W(\d+)", f)
- db_patch = int(m.group(1))
- if db_patch < 21:
- print "db.h:", db_ver, "patch", db_patch,
- print "being ignored (4.6.x must be >= 4.6.21)"
- continue
-
- if ( (db_ver not in db_ver_inc_map) and
- allow_db_ver(db_ver) ):
- # save the include directory with the db.h version
- # (first occurrence only)
- db_ver_inc_map[db_ver] = d
- if db_setup_debug:
- print "db.h: found", db_ver, "in", d
- else:
- # we already found a header for this library version
- if db_setup_debug: print "db.h: ignoring", d
- else:
- # ignore this header, it didn't contain a version number
- if db_setup_debug:
- print "db.h: no version number version in", d
-
- db_found_vers = db_ver_inc_map.keys()
- db_found_vers.sort()
-
- while db_found_vers:
- db_ver = db_found_vers.pop()
- db_incdir = db_ver_inc_map[db_ver]
-
- # check lib directories parallel to the location of the header
- db_dirs_to_check = [
- db_incdir.replace("include", 'lib64'),
- db_incdir.replace("include", 'lib'),
- ]
-
- if sys.platform != 'darwin':
- db_dirs_to_check = filter(os.path.isdir, db_dirs_to_check)
-
- else:
- # Same as other branch, but takes OSX SDK into account
- tmp = []
- for dn in db_dirs_to_check:
- if is_macosx_sdk_path(dn):
- if os.path.isdir(os.path.join(sysroot, dn[1:])):
- tmp.append(dn)
- else:
- if os.path.isdir(dn):
- tmp.append(dn)
- db_dirs_to_check = tmp
-
- # Look for a version specific db-X.Y before an ambiguoius dbX
- # XXX should we -ever- look for a dbX name? Do any
- # systems really not name their library by version and
- # symlink to more general names?
- for dblib in (('db-%d.%d' % db_ver),
- ('db%d%d' % db_ver),
- ('db%d' % db_ver[0])):
- dblib_file = self.compiler.find_library_file(
- db_dirs_to_check + lib_dirs, dblib )
- if dblib_file:
- dblib_dir = [ os.path.abspath(os.path.dirname(dblib_file)) ]
- raise db_found
- else:
- if db_setup_debug: print "db lib: ", dblib, "not found"
-
- except db_found:
- if db_setup_debug:
- print "bsddb using BerkeleyDB lib:", db_ver, dblib
- print "bsddb lib dir:", dblib_dir, " inc dir:", db_incdir
- db_incs = [db_incdir]
- dblibs = [dblib]
- # We add the runtime_library_dirs argument because the
- # BerkeleyDB lib we're linking against often isn't in the
- # system dynamic library search path. This is usually
- # correct and most trouble free, but may cause problems in
- # some unusual system configurations (e.g. the directory
- # is on an NFS server that goes away).
- exts.append(Extension('_bsddb', ['_bsddb.c'],
- depends = ['bsddb.h'],
- library_dirs=dblib_dir,
- runtime_library_dirs=dblib_dir,
- include_dirs=db_incs,
- libraries=dblibs))
- else:
- if db_setup_debug: print "db: no appropriate library found"
- db_incs = None
- dblibs = []
- dblib_dir = None
- missing.append('_bsddb')
-
# The sqlite interface
sqlite_setup_debug = False # verbose debug prints from this script?
@@ -1094,35 +956,40 @@
# we do not build this one. Otherwise this build will pick up
# 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"
-
- if sys.platform == 'darwin':
- if is_macosx_sdk_path(f):
- sysroot = macosx_sdk_root()
- f = os.path.join(sysroot, f[1:])
-
- if os.path.exists(f) and not db_incs:
- data = open(f).read()
- m = re.search(r"#s*define\s+HASHVERSION\s+2\s*", data)
- if m is not None:
- # bingo - old version used hash file format version 2
- ### XXX this should be fixed to not be platform-dependent
- ### but I don't have direct access to an osf1 platform and
- ### seemed to be muffing the search somehow
- libraries = platform == "osf1" and ['db'] or None
- if libraries is not None:
- exts.append(Extension('bsddb185', ['bsddbmodule.c'],
- libraries=libraries))
- else:
- exts.append(Extension('bsddb185', ['bsddbmodule.c']))
- else:
- missing.append('bsddb185')
+ libraries = os.getenv("PY_BDB_TYPE", "")
+ if libraries:
+ exts.append(Extension('bsddb185', ['bsddbmodule.c'],
+ libraries=["db"]))
else:
- missing.append('bsddb185')
+ exts.append(Extension('bsddb185', ['bsddbmodule.c']))
# The standard Unix dbm module:
if platform not in ['cygwin']:
- if find_file("ndbm.h", inc_dirs, []) is not None:
+
+ ## Top half based on find_file
+ def find_ndbm_h(dirs):
+ ret = None
+ if sys.platform == 'darwin':
+ sysroot = macosx_sdk_root()
+ for dir in dirs:
+ f = os.path.join(dir, 'ndbm.h')
+ if sys.platform == 'darwin' and is_macosx_sdk_path(dir):
+ f = os.path.join(sysroot, dir[1:], 'ndbm.h')
+ if not os.path.exists(f): continue
+
+ ret = 'True'
+ input = text_file.TextFile(f)
+ while 1:
+ line = input.readline()
+ if not line: break
+ if re.search('This file is part of GDBM', line):
+ ret = None
+ break
+ input.close()
+ break
+ return ret
+
+ if find_ndbm_h(inc_dirs) is not None:
# Some systems have -lndbm, others don't
if self.compiler.find_library_file(lib_dirs, 'ndbm'):
ndbm_libs = ['ndbm']
@@ -1131,7 +998,7 @@
exts.append( Extension('dbm', ['dbmmodule.c'],
define_macros=[('HAVE_NDBM_H',None)],
libraries = ndbm_libs ) )
- elif self.compiler.find_library_file(lib_dirs, 'gdbm'):
+ elif 1==0 and self.compiler.find_library_file(lib_dirs, 'gdbm'):
gdbm_libs = ['gdbm']
if self.compiler.find_library_file(lib_dirs, 'gdbm_compat'):
gdbm_libs.append('gdbm_compat')
@@ -1147,14 +1014,12 @@
libraries = gdbm_libs ) )
else:
missing.append('dbm')
- elif db_incs is not None:
+
+ if not module_enabled(exts, 'dbm'):
exts.append( Extension('dbm', ['dbmmodule.c'],
- library_dirs=dblib_dir,
- runtime_library_dirs=dblib_dir,
- include_dirs=db_incs,
define_macros=[('HAVE_BERKDB_H',None),
('DB_DBM_HSEARCH',None)],
- libraries=dblibs))
+ libraries=["db"]))
else:
missing.append('dbm')
@@ -1408,6 +1273,14 @@
)
libraries = []
+ elif platform.startswith('dragonfly'):
+ macros = dict(
+ HAVE_SEM_OPEN=0,
+ HAVE_SEM_TIMEDWAIT=0,
+ HAVE_FD_TRANSFER=1,
+ )
+ libraries = []
+
else: # Linux and other unices
macros = dict(
HAVE_SEM_OPEN=1,
@@ -2026,9 +1899,9 @@
ext_modules=[Extension('_struct', ['_struct.c'])],
# Scripts to install
- scripts = ['Tools/scripts/pydoc', 'Tools/scripts/idle',
- 'Tools/scripts/2to3',
- 'Lib/smtpd.py']
+ scripts = ['Tools/scripts/pydoc2.6',
+ 'Tools/scripts/2to3-2.6',
+ 'Lib/smtpd2.6.py']
)
# --install-platlib

View File

@@ -0,0 +1,12 @@
$NetBSD: patch-an,v 1.1.1.1 2009/04/19 14:42:50 wiz Exp $
--- Modules/makesetup.orig 2002-03-29 13:00:19.000000000 -0500
+++ Modules/makesetup
@@ -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

@@ -0,0 +1,13 @@
$NetBSD: patch-ao,v 1.2 2010/05/02 14:09:12 wiz Exp $
--- Lib/distutils/util.py.orig 2010-01-08 23:27:23.000000000 +0000
+++ Lib/distutils/util.py
@@ -87,6 +87,8 @@ def get_platform ():
m = rel_re.match(release)
if m:
release = m.group()
+ elif osname[:9] == "dragonfly":
+ release = string.split(release, "-")[0]
elif osname[:6] == "darwin":
#
# For our purposes, we'll assume that the system version from

View File

@@ -0,0 +1,82 @@
$NetBSD: patch-ap,v 1.3 2010/09/04 05:12:00 obache Exp $
--- Modules/socketmodule.c.orig 2010-05-23 15:22:08.000000000 +0000
+++ Modules/socketmodule.c
@@ -379,7 +379,7 @@ const char *inet_ntop(int af, const void
#define SOCKETCLOSE close
#endif
-#if defined(HAVE_BLUETOOTH_H) || defined(HAVE_BLUETOOTH_BLUETOOTH_H) && !defined(__NetBSD__)
+#if defined(HAVE_BLUETOOTH_H) || defined(HAVE_BLUETOOTH_BLUETOOTH_H) && !defined(__NetBSD__) && !defined(__DragonFly__)
#define USE_BLUETOOTH 1
#if defined(__FreeBSD__)
#define BTPROTO_L2CAP BLUETOOTH_PROTO_L2CAP
@@ -393,11 +393,13 @@ const char *inet_ntop(int af, const void
#define _BT_L2_MEMB(sa, memb) ((sa)->l2cap_##memb)
#define _BT_RC_MEMB(sa, memb) ((sa)->rfcomm_##memb)
#define _BT_HCI_MEMB(sa, memb) ((sa)->hci_##memb)
-#elif defined(__NetBSD__)
+#elif defined(__NetBSD__) || defined(__DragonFly__)
#define sockaddr_l2 sockaddr_bt
#define sockaddr_rc sockaddr_bt
#define sockaddr_hci sockaddr_bt
#define sockaddr_sco sockaddr_bt
+#define SOL_HCI BTPROTO_HCI
+#define HCI_DATA_DIR SO_HCI_DIRECTION
#define _BT_L2_MEMB(sa, memb) ((sa)->bt_##memb)
#define _BT_RC_MEMB(sa, memb) ((sa)->bt_##memb)
#define _BT_HCI_MEMB(sa, memb) ((sa)->bt_##memb)
@@ -1076,9 +1078,13 @@ makesockaddr(int sockfd, struct sockaddr
case BTPROTO_HCI:
{
struct sockaddr_hci *a = (struct sockaddr_hci *) addr;
+#if defined(__NetBSD__) || defined(__DragonFly__)
+ return makebdaddr(&_BT_HCI_MEMB(a, bdaddr));
+#else
PyObject *ret = NULL;
ret = Py_BuildValue("i", _BT_HCI_MEMB(a, dev));
return ret;
+#endif
}
#if !defined(__FreeBSD__)
@@ -1350,12 +1356,25 @@ getsockaddrarg(PySocketSockObject *s, Py
case BTPROTO_HCI:
{
struct sockaddr_hci *addr = (struct sockaddr_hci *)addr_ret;
+#if defined(__NetBSD__) || defined(__DragonFly__)
+ char *straddr = PyString_AsString(args);
+
+ _BT_HCI_MEMB(addr, family) = AF_BLUETOOTH;
+ if (straddr == NULL) {
+ PyErr_SetString(socket_error, "getsockaddrarg: "
+ "wrong format");
+ return 0;
+ }
+ if (setbdaddr(straddr, &_BT_HCI_MEMB(addr, bdaddr)) < 0)
+ return 0;
+#else
_BT_HCI_MEMB(addr, family) = AF_BLUETOOTH;
if (!PyArg_ParseTuple(args, "i", &_BT_HCI_MEMB(addr, dev))) {
PyErr_SetString(socket_error, "getsockaddrarg: "
"wrong format");
return 0;
}
+#endif
*len_ret = sizeof *addr;
return 1;
}
@@ -4588,9 +4607,13 @@ init_socket(void)
PyModule_AddIntConstant(m, "BTPROTO_L2CAP", BTPROTO_L2CAP);
PyModule_AddIntConstant(m, "BTPROTO_HCI", BTPROTO_HCI);
PyModule_AddIntConstant(m, "SOL_HCI", SOL_HCI);
+#if !defined(__NetBSD__) && !defined(__DragonFly__)
PyModule_AddIntConstant(m, "HCI_FILTER", HCI_FILTER);
+#endif
#if !defined(__FreeBSD__)
+#if !defined(__NetBSD__) && !defined(__DragonFly__)
PyModule_AddIntConstant(m, "HCI_TIME_STAMP", HCI_TIME_STAMP);
+#endif
PyModule_AddIntConstant(m, "HCI_DATA_DIR", HCI_DATA_DIR);
PyModule_AddIntConstant(m, "BTPROTO_SCO", BTPROTO_SCO);
#endif

View File

@@ -0,0 +1,16 @@
$NetBSD: patch-au,v 1.9 2012/04/14 10:47:19 obache Exp $
1.) Fix for unpriviliged build.
--- Makefile.pre.in.orig 2010-08-01 22:05:31.000000000 +0000
+++ Makefile.pre.in
@@ -785,7 +785,8 @@ altbininstall: $(BUILDPYTHON)
(cd $(DESTDIR)$(LIBDIR); $(LN) -sf $(INSTSONAME) $(LDLIBRARY)) \
fi \
fi; \
- else true; \
+ elif test -f $(INSTSONAME); then \
+ $(INSTALL_SHARED) $(INSTSONAME) $(DESTDIR)$(LIBDIR); \
fi
# Install the manual page

View File

@@ -0,0 +1,17 @@
$NetBSD: patch-av,v 1.2 2010/09/04 05:12:00 obache Exp $
Add a knob (enviroment variable) for disabling installation of egg metadata
in extensions until we have infrastructure in place for dealing w/ it.
--- Lib/distutils/command/install.py.orig 2008-05-06 22:41:46.000000000 +0000
+++ Lib/distutils/command/install.py
@@ -680,7 +680,8 @@ class install (Command):
('install_headers', has_headers),
('install_scripts', has_scripts),
('install_data', has_data),
- ('install_egg_info', lambda self:True),
]
+ if not os.environ.has_key('PKGSRC_PYTHON_NO_EGG'):
+ sub_commands += [('install_egg_info', lambda self:True),]
# class install

View File

@@ -0,0 +1,14 @@
$NetBSD: patch-az,v 1.1 2011/09/12 20:14:06 bsiegert Exp $
--- Modules/selectmodule.c.orig Mon Jul 25 08:09:14 2011
+++ Modules/selectmodule.c
@@ -1824,7 +1824,9 @@ initselect(void)
PyModule_AddIntConstant(m, "KQ_FILTER_NETDEV", EVFILT_NETDEV);
#endif
PyModule_AddIntConstant(m, "KQ_FILTER_SIGNAL", EVFILT_SIGNAL);
+#ifdef EVFILT_TIMER
PyModule_AddIntConstant(m, "KQ_FILTER_TIMER", EVFILT_TIMER);
+#endif
/* event flags */
PyModule_AddIntConstant(m, "KQ_EV_ADD", EV_ADD);

View File

@@ -0,0 +1,104 @@
$NetBSD: patch-ba,v 1.1 2010/11/23 08:24:04 tron Exp $
Fix for CVE-2010-3492, taken from the Python SVN repository:
http://svn.python.org/view?view=rev&revision=86084
--- Doc/library/asyncore.rst.orig 2010-05-19 15:14:45.000000000 +0100
+++ Doc/library/asyncore.rst 2010-11-22 18:11:58.000000000 +0000
@@ -211,10 +211,13 @@
.. method:: accept()
Accept a connection. The socket must be bound to an address and listening
- for connections. The return value is a pair ``(conn, address)`` where
- *conn* is a *new* socket object usable to send and receive data on the
- connection, and *address* is the address bound to the socket on the other
- end of the connection.
+ for connections. The return value can be either ``None`` or a pair
+ ``(conn, address)`` where *conn* is a *new* socket object usable to send
+ and receive data on the connection, and *address* is the address bound to
+ the socket on the other end of the connection.
+ When ``None`` is returned it means the connection didn't take place, in
+ which case the server should just ignore this event and keep listening
+ for further incoming connections.
.. method:: close()
@@ -224,6 +227,12 @@
flushed). Sockets are automatically closed when they are
garbage-collected.
+.. class:: dispatcher_with_send()
+
+ A :class:`dispatcher` subclass which adds simple buffered output capability,
+ useful for simple clients. For more sophisticated usage use
+ :class:`asynchat.async_chat`.
+
.. class:: file_dispatcher()
A file_dispatcher takes a file descriptor or file object along with an
@@ -240,7 +249,7 @@
socket for use by the :class:`file_dispatcher` class. Availability: UNIX.
-.. _asyncore-example:
+.. _asyncore-example-1:
asyncore Example basic HTTP client
----------------------------------
@@ -250,7 +259,7 @@
import asyncore, socket
- class http_client(asyncore.dispatcher):
+ class HTTPClient(asyncore.dispatcher):
def __init__(self, host, path):
asyncore.dispatcher.__init__(self)
@@ -274,6 +283,45 @@
sent = self.send(self.buffer)
self.buffer = self.buffer[sent:]
- c = http_client('www.python.org', '/')
+ client = HTTPClient('www.python.org', '/')
asyncore.loop()
+
+.. _asyncore-example-2:
+
+asyncore Example basic echo server
+----------------------------------
+
+Here is abasic echo server that uses the :class:`dispatcher` class to accept
+connections and dispatches the incoming connections to a handler::
+
+ import asyncore
+ import socket
+
+ class EchoHandler(asyncore.dispatcher_with_send):
+
+ def handle_read(self):
+ data = self.recv(8192)
+ self.send(data)
+
+ class EchoServer(asyncore.dispatcher):
+
+ def __init__(self, host, port):
+ asyncore.dispatcher.__init__(self)
+ self.create_socket(socket.AF_INET, socket.SOCK_STREAM)
+ self.set_reuse_addr()
+ self.bind((host, port))
+ self.listen(5)
+
+ def handle_accept(self):
+ pair = self.accept()
+ if pair is None:
+ pass
+ else:
+ sock, addr = pair
+ print 'Incoming connection from %s' % repr(addr)
+ handler = EchoHandler(sock)
+
+ server = EchoServer('localhost', 8080)
+ asyncore.loop()
+

View File

@@ -0,0 +1,28 @@
$NetBSD: patch-bb,v 1.1 2010/11/23 08:24:04 tron Exp $
Fix for CVE-2010-3492, taken from the Python SVN repository:
http://svn.python.org/view?view=rev&revision=86084
--- Lib/asyncore.py.orig 2010-08-13 02:30:39.000000000 +0100
+++ Lib/asyncore.py 2010-11-22 18:13:52.000000000 +0000
@@ -348,12 +348,15 @@
# XXX can return either an address pair or None
try:
conn, addr = self.socket.accept()
- return conn, addr
- except socket.error, why:
- if why.args[0] == EWOULDBLOCK:
- pass
+ except TypeError:
+ return None
+ except socket.error as why:
+ if why.args[0] in (EWOULDBLOCK, ECONNABORTED):
+ return None
else:
raise
+ else:
+ return conn, addr
def send(self, data):
try:

View File

@@ -0,0 +1,86 @@
$NetBSD: patch-bc,v 1.1 2010/11/23 08:24:04 tron Exp $
Fix for CVE-2010-3492 and CVE-2010-3493, taken from the Python SVN repository:
http://svn.python.org/view?view=rev&revision=86084
--- Lib/smtpd2.6.py.orig 2010-11-22 18:18:59.000000000 +0000
+++ Lib/smtpd2.6.py 2010-11-22 18:19:03.000000000 +0000
@@ -35,7 +35,6 @@
and if remoteport is not given, then 25 is used.
"""
-
# Overview:
#
# This file implements the minimal SMTP protocol as defined in RFC 821. It
@@ -96,7 +95,6 @@
COMMASPACE = ', '
-
def usage(code, msg=''):
print >> sys.stderr, __doc__ % globals()
if msg:
@@ -104,7 +102,6 @@
sys.exit(code)
-
class SMTPChannel(asynchat.async_chat):
COMMAND = 0
DATA = 1
@@ -276,7 +273,6 @@
self.push('354 End data with <CR><LF>.<CR><LF>')
-
class SMTPServer(asyncore.dispatcher):
def __init__(self, localaddr, remoteaddr):
self._localaddr = localaddr
@@ -331,7 +327,6 @@
raise NotImplementedError
-
class DebuggingServer(SMTPServer):
# Do something with the gathered message
def process_message(self, peer, mailfrom, rcpttos, data):
@@ -347,7 +342,6 @@
print '------------ END MESSAGE ------------'
-
class PureProxy(SMTPServer):
def process_message(self, peer, mailfrom, rcpttos, data):
lines = data.split('\n')
@@ -388,7 +382,6 @@
return refused
-
class MailmanProxy(PureProxy):
def process_message(self, peer, mailfrom, rcpttos, data):
from cStringIO import StringIO
@@ -467,13 +460,11 @@
msg.Enqueue(mlist, torequest=1)
-
class Options:
setuid = 1
classname = 'PureProxy'
-
def parseargs():
global DEBUGSTREAM
try:
@@ -530,7 +521,6 @@
return options
-
if __name__ == '__main__':
options = parseargs()
# Become nobody

View File

@@ -0,0 +1,14 @@
$NetBSD: patch-pyconfig.h.in,v 1.1 2011/12/16 17:04:18 hans Exp $
--- pyconfig.h.in.orig 2009-10-27 13:30:12.000000000 +0100
+++ pyconfig.h.in 2011-11-13 14:37:13.053045656 +0100
@@ -1036,7 +1036,9 @@
#undef _REENTRANT
/* Define to the level of X/Open that your system supports */
+#if !defined(__sun) || (defined(__sun) && !defined(_XOPEN_SOURCE))
#undef _XOPEN_SOURCE
+#endif
/* Define to activate Unix95-and-earlier features */
#undef _XOPEN_SOURCE_EXTENDED

View File

@@ -0,0 +1,14 @@
$NetBSD: patch-xa,v 1.1 2012/08/14 18:41:19 drochner Exp $
--- Python/thread_pthread.h.orig 2012-03-30 13:06:51.000000000 +0000
+++ Python/thread_pthread.h
@@ -34,6 +34,9 @@
we need to add 0 to make it work there as well. */
#if (_POSIX_SEMAPHORES+0) == -1
#define HAVE_BROKEN_POSIX_SEMAPHORES
+#elif defined(__NetBSD__)
+/* XXX accesses to closed file descriptors, needs debugging */
+#define HAVE_BROKEN_POSIX_SEMAPHORES
#else
#include <semaphore.h>
#include <errno.h>