pkgsrc/lang/python24/Makefile
obache 65fabcc454 Update python24 to 2.4.6.
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.
2011-04-23 08:53:53 +00:00

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"