version 1.27, 2013/08/18 13:42:14 |
version 1.68, 2016/12/30 10:53:21 |
|
|
.include "dist.mk" |
.include "dist.mk" |
|
|
PKGNAME= python27-${PY_DISTVERSION} |
PKGNAME= python27-${PY_DISTVERSION} |
PKGREVISION= 1 |
|
CATEGORIES= lang python |
CATEGORIES= lang python |
|
|
MAINTAINER= pkgsrc-users@NetBSD.org |
MAINTAINER= pkgsrc-users@NetBSD.org |
Line 11 HOMEPAGE= http://www.python.org/ |
|
Line 10 HOMEPAGE= http://www.python.org/ |
|
COMMENT= Interpreted, interactive, object-oriented programming language |
COMMENT= Interpreted, interactive, object-oriented programming language |
LICENSE= python-software-foundation |
LICENSE= python-software-foundation |
|
|
|
DEPENDS= mozilla-rootcerts>=1.0.20150804nb1:../../security/mozilla-rootcerts |
|
|
CONFLICTS+= python-[0-9]* |
CONFLICTS+= python-[0-9]* |
|
|
GNU_CONFIGURE= yes |
GNU_CONFIGURE= yes |
Line 21 CONFIGURE_ARGS+= --with-system-ffi |
|
Line 22 CONFIGURE_ARGS+= --with-system-ffi |
|
CONFIGURE_ARGS+= --with-dbmliborder=ndbm:bdb |
CONFIGURE_ARGS+= --with-dbmliborder=ndbm:bdb |
CONFIGURE_ENV+= MKDIR_P=${MKDIR:Q} |
CONFIGURE_ENV+= MKDIR_P=${MKDIR:Q} |
|
|
|
PKGCONFIG_OVERRIDE+= Misc/python.pc.in |
|
|
LDFLAGS+= -L${WRKSRC} |
LDFLAGS+= -L${WRKSRC} |
|
|
# $RANDOM usage there is fine |
# $RANDOM usage there is fine |
Line 28 CHECK_PORTABILITY_SKIP= Tools/faqwiz/mov |
|
Line 31 CHECK_PORTABILITY_SKIP= Tools/faqwiz/mov |
|
|
|
USE_LANGUAGES= c c++ |
USE_LANGUAGES= c c++ |
|
|
PTHREAD_OPTS+= require |
PTHREAD_OPTS+= require |
|
PTHREAD_AUTO_VARS= yes |
.include "../../mk/pthread.buildlink3.mk" |
.include "../../mk/pthread.buildlink3.mk" |
.if ${PTHREAD_TYPE} == "pth" |
.if ${PTHREAD_TYPE} == "pth" |
CONFIGURE_ARGS+= --with-pth |
CONFIGURE_ARGS+= --with-pth |
Line 55 PLIST_SRC+= ${.CURDIR}/../../lang/python |
|
Line 59 PLIST_SRC+= ${.CURDIR}/../../lang/python |
|
PLIST_SRC+= ${.CURDIR}/../../lang/python27/PLIST.common_end |
PLIST_SRC+= ${.CURDIR}/../../lang/python27/PLIST.common_end |
|
|
.if ${OPSYS} == "NetBSD" |
.if ${OPSYS} == "NetBSD" |
. if !defined(USE_DESTDIR) || empty(USE_DESTDIR:M[Yy][Ee][Ss]) |
|
PRIVILEGED_STAGES+= clean |
|
. endif |
|
# XXX work around a botched autoconf check which ignores libintl |
# XXX work around a botched autoconf check which ignores libintl |
CONFIGURE_ENV+= ac_cv_func_bind_textdomain_codeset=yes |
CONFIGURE_ENV+= ac_cv_func_bind_textdomain_codeset=yes |
.endif |
.endif |
Line 73 PY_PLATNAME= sunos${OS_VERSION:C/\..*//} |
|
Line 74 PY_PLATNAME= sunos${OS_VERSION:C/\..*//} |
|
PY_PLATNAME= hp-ux11 |
PY_PLATNAME= hp-ux11 |
.elif ${OPSYS} == "Linux" |
.elif ${OPSYS} == "Linux" |
PY_PLATNAME= linux2 |
PY_PLATNAME= linux2 |
|
.elif ${OS_VARIANT} == "SCOOSR5" |
|
PY_PLATNAME= sco_sv3 |
.else |
.else |
PY_PLATNAME= ${LOWER_OPSYS}${OS_VERSION:C/\..*//} |
PY_PLATNAME= ${LOWER_OPSYS}${OS_VERSION:C/\..*//} |
.endif |
.endif |
PLIST_SUBST+= PY_PLATNAME=${PY_PLATNAME:Q} |
PLIST_SUBST+= PY_PLATNAME=${PY_PLATNAME:Q} |
|
|
.if (${MACHINE_ARCH} == "alpha") || (${MACHINE_ARCH} == "amd64") || \ |
.if !empty(LP64PLATFORMS:@.PLAT.@${MACHINE_PLATFORM:M${.PLAT.}}@) || \ |
(${MACHINE_ARCH} == "sparc64") || (${MACHINE_ARCH} == "x86_64") || \ |
|
(defined(ABI) && ${ABI} == "64") |
(defined(ABI) && ${ABI} == "64") |
IS_64BIT_PLATFORM?= yes |
IS_64BIT_PLATFORM?= yes |
.else |
.else |
|
|
PLIST.dl= yes |
PLIST.dl= yes |
.endif |
.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. |
# setup.py causes some modules to be built if the platform is *not* 64bit. |
PLIST_VARS+= extra-so |
PLIST_VARS+= extra-so |
.if !empty(IS_64BIT_PLATFORM:M[nN][oO]) |
.if !empty(IS_64BIT_PLATFORM:M[nN][oO]) |
PLIST.extra-so= yes |
PLIST.extra-so= yes |
.endif |
.endif |
|
|
# Make sure python modules can link correctly |
# For Xcode 5 we need to search the SDK path for headers, otherwise certain |
.if ${OPSYS} == "Darwin" |
# modules will not be built. |
INSTALL_UNSTRIPPED= yes |
.if ${OPSYS} == "Darwin" && exists(${OSX_SDK_PATH}/usr/include) |
|
CFLAGS+= -I${OSX_SDK_PATH}/usr/include |
.endif |
.endif |
|
|
PLIST_VARS+= dll nis no-nis |
PLIST_VARS+= dll nis no-nis |
Line 138 BUILDLINK_TRANSFORM+= rm:-ldb |
|
Line 131 BUILDLINK_TRANSFORM+= rm:-ldb |
|
.endif |
.endif |
CFLAGS+= -DHAVE_DB_185_H |
CFLAGS+= -DHAVE_DB_185_H |
|
|
.if ${OPSYS} == "OSF1" |
|
# configure complains about buggy getaddrinfo() |
# configure complains about buggy getaddrinfo() |
CONFIGURE_ARGS+= --disable-ipv6 |
CONFIGURE_ARGS.OSF1+= --disable-ipv6 |
.endif |
|
|
|
.if defined(BUILDLINK_TRANSFORM) |
.if defined(BUILDLINK_TRANSFORM) |
MAKE_ENV+= PY_BDB_TRANSFORM=${BUILDLINK_TRANSFORM:Q} |
MAKE_ENV+= PY_BDB_TRANSFORM=${BUILDLINK_TRANSFORM:Q} |
Line 156 REPLACE_INTERPRETER+= py27 |
|
Line 147 REPLACE_INTERPRETER+= py27 |
|
REPLACE.py27.old= .*python[^ ]* |
REPLACE.py27.old= .*python[^ ]* |
REPLACE.py27.new= ${PREFIX}/bin/python${PY_VER_SUFFIX} |
REPLACE.py27.new= ${PREFIX}/bin/python${PY_VER_SUFFIX} |
REPLACE_FILES.py27= Lib/*.py Lib/*/*.py Lib/*/*/*.py |
REPLACE_FILES.py27= Lib/*.py Lib/*/*.py Lib/*/*/*.py |
|
REPLACE_FILES.py27+= Lib/*/*/*/*.py |
|
|
|
SUBST_CLASSES+= libffi |
|
SUBST_MESSAGE.libffi= Fixing libffi include path on Darwin. |
|
SUBST_STAGE.libffi= pre-configure |
|
SUBST_FILES.libffi= setup.py |
|
SUBST_SED.libffi= -e 's,/usr/include/ffi,${BUILDLINK_PREFIX.libffi}/include,' |
|
|
SUBST_CLASSES+= findlib |
SUBST_CLASSES+= findlib |
SUBST_MESSAGE.findlib= Fixing find_library_file on Darwin. |
SUBST_MESSAGE.findlib= Fixing find_library_file on Darwin. |
Line 163 SUBST_STAGE.findlib= pre-configure |
|
Line 161 SUBST_STAGE.findlib= pre-configure |
|
SUBST_FILES.findlib= Lib/distutils/unixccompiler.py |
SUBST_FILES.findlib= Lib/distutils/unixccompiler.py |
SUBST_SED.findlib= -e 's,/usr/local,${PREFIX},' |
SUBST_SED.findlib= -e 's,/usr/local,${PREFIX},' |
|
|
|
# XXX: It might be needed to add manually more paths like ${PREFIX}/qt5/lib |
|
# Testing: |
|
# >>> from ctypes.util import find_library |
|
# >>> find_library("m") |
|
# 'libm.so.0' |
|
# >>> find_library("crypto") |
|
# 'libcrypto.so.11' |
|
# >>> find_library("GL") |
|
# 'libGL.so.2' |
|
# >>> find_library("curl") |
|
# 'libcurl.so.4' |
|
|
|
SUBST_CLASSES+= pfindlib |
|
SUBST_MESSAGE.pfindlib= Fixing find_library() on POSIX-like (excluding Darwin) systems. |
|
SUBST_STAGE.pfindlib= pre-configure |
|
SUBST_FILES.pfindlib= Lib/ctypes/util.py |
|
SUBST_SED.pfindlib= -e 's!\(-Wl,-t -o\)!${COMPILER_RPATH_FLAG}${PREFIX}/lib -L${PREFIX}/lib \1!' |
|
|
|
.include "options.mk" |
|
|
|
SUBST_CLASSES+= sslbase |
|
SUBST_MESSAGE.sslbase= Fixing find-file for openssl with SSLBASE. |
|
SUBST_STAGE.sslbase= pre-configure |
|
SUBST_FILES.sslbase= setup.py |
|
SUBST_VARS.sslbase= SSLBASE |
|
|
|
SUBST_CLASSES+= cacert |
|
SUBST_MESSAGE.cacert= Configuring location of default CA certificate file. |
|
SUBST_STAGE.cacert= pre-configure |
|
SUBST_FILES.cacert= Modules/_ssl.c |
|
SUBST_SED.cacert= -e 's,@PREFIX@,${PREFIX},' |
|
|
post-extract: |
post-extract: |
${MV} ${WRKSRC}/Lib/smtpd.py ${WRKSRC}/Lib/smtpd${PY_VER_SUFFIX}.py |
${LN} -s ${WRKSRC}/Lib/smtpd.py ${WRKSRC}/Tools/scripts/smtpd${PY_VER_SUFFIX}.py |
${MV} ${WRKSRC}/Tools/scripts/pydoc ${WRKSRC}/Tools/scripts/pydoc${PY_VER_SUFFIX} |
${MV} ${WRKSRC}/Tools/scripts/pydoc ${WRKSRC}/Tools/scripts/pydoc${PY_VER_SUFFIX} |
${MV} ${WRKSRC}/Tools/scripts/2to3 ${WRKSRC}/Tools/scripts/2to3-${PY_VER_SUFFIX} |
${MV} ${WRKSRC}/Tools/scripts/2to3 ${WRKSRC}/Tools/scripts/2to3-${PY_VER_SUFFIX} |
|
|
|
|
${DESTDIR}${PREFIX}/lib/libpython2.7.sl.1.0 |
${DESTDIR}${PREFIX}/lib/libpython2.7.sl.1.0 |
.endif |
.endif |
|
|
|
.if ${OS_VARIANT} == "SCOOSR5" |
|
# SCO OpenServer 5.0.7/3.2 has no socklen_t in system headers, but has in |
|
# GNU pth's header. It should be used in this case. |
|
CONFIGURE_ENV+= ac_cv_type_socklen_t=yes |
|
.endif |
|
|
BUILDLINK_DEPMETHOD.readline= build |
BUILDLINK_DEPMETHOD.readline= build |
|
|
.include "../../archivers/bzip2/buildlink3.mk" |
.include "../../archivers/bzip2/buildlink3.mk" |