[BACK]Return to Makefile CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / pkgsrc / lang / python27

File: [cvs.NetBSD.org] / pkgsrc / lang / python27 / Makefile (download)

Revision 1.9.2.1, Sat Feb 18 23:35:28 2012 UTC (7 years, 1 month ago) by tron
Branch: pkgsrc-2011Q4
Changes since 1.9: +2 -1 lines

Pullup ticket #3685 - requested by drochner
lang/python25: security patch
lang/python26: security patch
lang/python27: security patch
lang/python31: security patch

Revisions pulled up:
- lang/python25/Makefile                                        1.37 via patch
- lang/python25/distinfo                                        1.22
- lang/python25/patches/patch-CVE-2012-0845                     1.1
- lang/python26/Makefile                                        1.45 via patch
- lang/python26/distinfo                                        1.43
- lang/python26/patches/patch-CVE-2012-0845                     1.1
- lang/python27/Makefile                                        1.11 via patch
- lang/python27/distinfo                                        1.15
- lang/python27/patches/patch-CVE-2012-0845                     1.1
- lang/python31/Makefile                                        1.6 via patch
- lang/python31/distinfo                                        1.8
- lang/python31/patches/patch-CVE-2012-0845                     1.1

---
   Module Name:    pkgsrc
   Committed By:   drochner
   Date:           Wed Feb 15 12:21:41 UTC 2012

   Modified Files:
           pkgsrc/lang/python26: Makefile distinfo
   Added Files:
           pkgsrc/lang/python26/patches: patch-CVE-2012-0845

   Log Message:
   add patch from Python issue#14001 to fix xmlrpc server endless loop
   by malformed request
   bump PKGREV

---
   Module Name:    pkgsrc
   Committed By:   drochner
   Date:           Wed Feb 15 16:08:26 UTC 2012

   Modified Files:
           pkgsrc/lang/python25: Makefile distinfo
           pkgsrc/lang/python27: Makefile distinfo
           pkgsrc/lang/python31: Makefile distinfo
   Added Files:
           pkgsrc/lang/python25/patches: patch-CVE-2012-0845
           pkgsrc/lang/python27/patches: patch-CVE-2012-0845
           pkgsrc/lang/python31/patches: patch-CVE-2012-0845

   Log Message:
   apply fix for CVE-2012-0845 to other Python versions too
   (2.4 is not affected)

# $NetBSD: Makefile,v 1.9.2.1 2012/02/18 23:35:28 tron Exp $

.include "dist.mk"

PKGNAME=	python27-${PY_DISTVERSION}
PKGREVISION=	2
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:Q}
CONFIGURE_ARGS+=	--with-system-ffi
CONFIGURE_ARGS+=	--with-dbmliborder=ndbm:bdb

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.7

PLIST_SRC=	${.CURDIR}/../../lang/python27/PLIST.common
.if exists(${.CURDIR}/../../lang/python27/PLIST.${OPSYS})
PLIST_SRC+=	${.CURDIR}/../../lang/python27/PLIST.${OPSYS}
.endif
PLIST_SRC+=	${.CURDIR}/../../lang/python27/PLIST.common_end

.if ${OPSYS} == "NetBSD"
PRIVILEGED_STAGES+=	clean
# 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/\..*//}
.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
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:=	no
.include "../../security/openssl/builtin.mk"
CHECK_BUILTIN.openssl:=	yes
.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+=	py27
REPLACE.py27.old=	.*python[^ ]*
REPLACE.py27.new=	${PREFIX}/bin/python${PY_VER_SUFFIX}
REPLACE_FILES.py27=	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.7.sl \
		${DESTDIR}${PREFIX}/lib/libpython2.7.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"