65fabcc454
What's New in Python 2.4.6? =========================== *Release date: 19-Dec-2008* What's New in Python 2.4.6c1? ============================= *Release date: 13-Dec-2008* Core and builtins ----------------- - Issue #4469: Prevent expandtabs() on string and unicode objects from causing a segfault when a large width is passed on 32-bit platforms. CVE-2008-5031. - Issue #4317: Fixed a crash in the imageop.rgb2rgb8() function. - Issue #4230: Fix a crash when a class has a custom __getattr__ and an __getattribute__ method that deletes the __getattr__ attribute. - Apply security patches from Apple. CVE-2008-2315. - Issue #2620: Overflow checking when allocating or reallocating memory was not always being done properly in some python types and extension modules. PyMem_MALLOC, PyMem_REALLOC, PyMem_NEW and PyMem_RESIZE have all been updated to perform better checks and places in the code that would previously leak memory on the error path when such an allocation failed have been fixed. - Issue #1179: Fix CVE-2007-4965 and CVE-2008-1679, multiple integer overflows in the imageop and rgbimgmodule modules. - Issue #2586: Fix CVE-2008-1721, zlib crash from zlib.decompressobj().flush(val) when val is not positive. - Issues #2588, #2589: Fix potential integer underflow and overflow conditions in the PyOS_vsnprintf C API function. CVE-2008-3144. - Issue #2587: In the C API, PyString_FromStringAndSize() takes a signed size parameter but was not verifying that it was greater than zero. Values less than zero will now raise a SystemError and return NULL to indicate a bug in the calling C code. CVE-2008-1887. - Security Issue #2: imageop did not validate arguments correctly and could segfault as a result. CVE-2008-4864. Extension Modules ----------------- Library ------- Tests ----- Build ----- Tools/Demos ----------- - Tools/faqwiz/move-faqwiz.sh: Fix unsecure use of temporary files.
174 lines
4.5 KiB
Makefile
174 lines
4.5 KiB
Makefile
# $NetBSD: Makefile,v 1.56 2011/04/23 08:53:53 obache Exp $
|
|
|
|
.include "dist.mk"
|
|
|
|
PKGNAME= python24-${PY_DISTVERSION}
|
|
CATEGORIES= lang python
|
|
|
|
MAINTAINER= pkgsrc-users@NetBSD.org
|
|
HOMEPAGE= http://www.python.org/
|
|
COMMENT= Interpreted, interactive, object-oriented programming language
|
|
LICENSE= python-software-foundation
|
|
|
|
PKG_DESTDIR_SUPPORT= user-destdir
|
|
|
|
CONFLICTS+= python-[0-9]*
|
|
|
|
GNU_CONFIGURE= yes
|
|
CONFIGURE_ARGS+= --with-threads
|
|
CONFIGURE_ARGS+= --enable-shared
|
|
CONFIGURE_ARGS+= OPT=${CFLAGS:M*:Q}
|
|
|
|
USE_LANGUAGES= c c++
|
|
|
|
PTHREAD_OPTS+= require
|
|
.include "../../mk/pthread.buildlink3.mk"
|
|
.if ${PTHREAD_TYPE} == "pth"
|
|
CONFIGURE_ARGS+= --with-pth
|
|
.endif
|
|
|
|
.include "../../mk/bsd.prefs.mk"
|
|
|
|
# fdatasync()
|
|
LIBS.SunOS+= -lrt
|
|
|
|
PY_VER_SUFFIX= 2.4
|
|
|
|
PLIST_SRC= ${.CURDIR}/../../lang/python24/PLIST.common
|
|
.if exists(${.CURDIR}/../../lang/python24/PLIST.${OPSYS})
|
|
PLIST_SRC+= ${.CURDIR}/../../lang/python24/PLIST.${OPSYS}
|
|
.endif
|
|
|
|
.if ${OPSYS} == "NetBSD" && ${_USE_DESTDIR} == "no"
|
|
PRIVILEGED_STAGES+= clean
|
|
.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/\..*//}
|
|
.elif ${OPSYS} == "HPUX"
|
|
PY_PLATNAME= hp-ux11
|
|
.else
|
|
PY_PLATNAME= ${LOWER_OPSYS}${OS_VERSION:C/\..*//}
|
|
.endif
|
|
PLIST_SUBST+= PY_PLATNAME=${PY_PLATNAME:Q}
|
|
|
|
.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 and Darwin
|
|
PLIST_VARS+= dl
|
|
.if empty(IS_64BIT_PLATFORM:M[yY][eE][sS]) && (${OPSYS} != "Darwin")
|
|
PLIST.dl= 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
|
|
|
|
# ossaudiodev is only available on x86 for the following platforms
|
|
PLIST_VARS+= oss
|
|
.if (${MACHINE_ARCH} == "i386") && \
|
|
(${PY_PLATNAME} == "linux2" || ${OPSYS} == "FreeBSD")
|
|
PLIST.oss= yes
|
|
.elif (${MACHINE_ARCH} == "x86_64") && (${PY_PLATNAME} == "linux2")
|
|
PLIST.oss= yes
|
|
.endif
|
|
|
|
# Mac OS X Leopard support:
|
|
# 1.) Fix detection of setpgrp(2).
|
|
# 2.) "lib-dynload/_OSA.so" isn't built.
|
|
PLIST_VARS+= osa
|
|
.if !empty(MACHINE_PLATFORM:MDarwin-[9].*-*)
|
|
CFLAGS+= -D__DARWIN_UNIX03
|
|
.else
|
|
PLIST.osa= yes
|
|
.endif
|
|
|
|
# Make sure python modules can link correctly
|
|
.if ${OPSYS} == "Darwin"
|
|
INSTALL_UNSTRIPPED= yes
|
|
CFLAGS+= -I${WRKSRC}/Include
|
|
.endif
|
|
|
|
PLIST_VARS+= bsddb dll nis no-nis
|
|
.if ${OPSYS} == "IRIX"
|
|
. if ${ABI} == "64"
|
|
PLIST.no-nis= yes
|
|
. else
|
|
PLIST.nis= yes
|
|
. endif
|
|
.else
|
|
. include "../../mk/bdb.buildlink3.mk"
|
|
MAKE_ENV+= PY_BDB_TYPE=${BDB_TYPE:Q}
|
|
MAKE_ENV+= PY_BDB_INCDIRS=${BDBBASE}/${BUILDLINK_INCDIRS.${BDB_TYPE}}
|
|
MAKE_ENV+= PY_BDB_LIBDIRS=${BDBBASE}/lib
|
|
PLIST.bsddb= yes
|
|
PLIST.dll= yes
|
|
.if ${OPSYS} != "NetBSD" || exists(/usr/bin/ypcat)
|
|
PLIST.nis= yes
|
|
.else
|
|
PLIST.no-nis= yes
|
|
.endif
|
|
.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+= py24
|
|
REPLACE.py24.old= .*python[^ ]*
|
|
REPLACE.py24.new= ${PREFIX}/bin/python${PY_VER_SUFFIX}
|
|
REPLACE_FILES.py24= Lib/cgi.py # explicitly demanded to be patched
|
|
REPLACE_FILES.py24+= Lib/bsddb/dbshelve.py Lib/test/test_bz2.py
|
|
REPLACE_FILES.py24+= Lib/test/test_largefile.py Lib/test/test_optparse.py
|
|
REPLACE_FILES.py24+= Lib/*.py
|
|
REPLACE_FILES.py24+= Lib/test/*.py
|
|
|
|
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}
|
|
|
|
.if ${OPSYS} == "Darwin"
|
|
post-build:
|
|
cd ${WRKSRC} && \
|
|
${SETENV} ${MAKE_ENV} ${MAKE_PROGRAM} libpython2.4.2.dylib
|
|
|
|
post-install:
|
|
${LN} -fs ${DESTDIR}${PREFIX}/lib/libpython2.4.2.dylib \
|
|
${DESTDIR}${PREFIX}/lib/libpython2.4.dylib
|
|
.endif
|
|
|
|
.if ${OPSYS} == "HPUX"
|
|
post-install:
|
|
${LN} -fs ${DESTDIR}${PREFIX}/lib/libpython2.4.sl \
|
|
${DESTDIR}${PREFIX}/lib/libpython2.4.sl.1.0
|
|
.endif
|
|
|
|
USE_GNU_READLINE= # defined
|
|
BUILDLINK_DEPMETHOD.readline= build
|
|
|
|
.include "../../archivers/bzip2/buildlink3.mk"
|
|
.include "../../devel/gettext-lib/buildlink3.mk"
|
|
.include "../../devel/readline/buildlink3.mk"
|
|
.include "../../devel/zlib/buildlink3.mk"
|
|
.include "../../security/openssl/buildlink3.mk"
|
|
.include "../../mk/dlopen.buildlink3.mk"
|
|
.include "../../mk/oss.buildlink3.mk"
|
|
.include "../../mk/bsd.pkg.mk"
|