version 1.66, 2016/07/26 16:44:28 |
version 1.78, 2019/03/26 16:12:28 |
|
|
.include "dist.mk" |
.include "dist.mk" |
|
|
PKGNAME= python27-${PY_DISTVERSION} |
PKGNAME= python27-${PY_DISTVERSION} |
PKGREVISION= 3 |
|
CATEGORIES= lang python |
CATEGORIES= lang python |
|
|
MAINTAINER= pkgsrc-users@NetBSD.org |
MAINTAINER= pkgsrc-users@NetBSD.org |
HOMEPAGE= http://www.python.org/ |
HOMEPAGE= https://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 |
|
|
Line 15 DEPENDS= mozilla-rootcerts>=1.0.20150804 |
|
Line 14 DEPENDS= mozilla-rootcerts>=1.0.20150804 |
|
|
|
CONFLICTS+= python-[0-9]* |
CONFLICTS+= python-[0-9]* |
|
|
|
USE_LANGUAGES= c c++ |
GNU_CONFIGURE= yes |
GNU_CONFIGURE= yes |
CONFIGURE_ARGS+= --with-threads |
|
CONFIGURE_ARGS+= --enable-shared |
CONFIGURE_ARGS+= --enable-shared |
CONFIGURE_ARGS+= OPT=${CFLAGS:Q} |
|
CONFIGURE_ARGS+= --with-system-ffi |
|
CONFIGURE_ARGS+= --with-dbmliborder=ndbm:bdb |
CONFIGURE_ARGS+= --with-dbmliborder=ndbm:bdb |
|
CONFIGURE_ARGS+= --with-system-ffi |
|
CONFIGURE_ARGS+= --with-threads |
CONFIGURE_ENV+= MKDIR_P=${MKDIR:Q} |
CONFIGURE_ENV+= MKDIR_P=${MKDIR:Q} |
|
CONFIGURE_ENV+= OPT=${CFLAGS:M*:Q} |
PKGCONFIG_OVERRIDE+= Misc/python.pc.in |
PKGCONFIG_OVERRIDE+= Misc/python.pc.in |
|
|
LDFLAGS+= -L${WRKSRC} |
LDFLAGS+= -L${WRKSRC} |
Line 30 LDFLAGS+= -L${WRKSRC} |
|
Line 29 LDFLAGS+= -L${WRKSRC} |
|
# $RANDOM usage there is fine |
# $RANDOM usage there is fine |
CHECK_PORTABILITY_SKIP= Tools/faqwiz/move-faqwiz.sh |
CHECK_PORTABILITY_SKIP= Tools/faqwiz/move-faqwiz.sh |
|
|
USE_LANGUAGES= c c++ |
|
|
|
PTHREAD_OPTS+= require |
PTHREAD_OPTS+= require |
PTHREAD_AUTO_VARS= yes |
PTHREAD_AUTO_VARS= yes |
.include "../../mk/pthread.buildlink3.mk" |
.include "../../mk/pthread.buildlink3.mk" |
Line 53 LIBS.SunOS+= -lrt |
|
Line 50 LIBS.SunOS+= -lrt |
|
|
|
PY_VER_SUFFIX= 2.7 |
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" |
.if ${OPSYS} == "NetBSD" |
# 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 |
Line 89 IS_64BIT_PLATFORM?= yes |
|
Line 80 IS_64BIT_PLATFORM?= yes |
|
IS_64BIT_PLATFORM?= no |
IS_64BIT_PLATFORM?= no |
.endif |
.endif |
|
|
|
PLIST_VARS+= dl dll extra-so nis no-nis qt |
|
|
# the dl module isn't built for 64 bit archs |
# the dl module isn't built for 64 bit archs |
PLIST_VARS+= dl |
|
.if empty(IS_64BIT_PLATFORM:M[yY][eE][sS]) |
.if empty(IS_64BIT_PLATFORM:M[yY][eE][sS]) |
PLIST.dl= yes |
PLIST.dl= yes |
.endif |
.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 |
|
.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 |
|
|
# For Xcode 5 we need to search the SDK path for headers, otherwise certain |
# For Xcode 5 we need to search the SDK path for headers, otherwise certain |
# modules will not be built. |
# modules will not be built. |
.if ${OPSYS} == "Darwin" && exists(${OSX_SDK_PATH}/usr/include) |
.if ${OPSYS} == "Darwin" |
CFLAGS+= -I${OSX_SDK_PATH}/usr/include |
. if exists(${OSX_SDK_PATH}/usr/include) |
|
CFLAGS+= -I${OSX_SDK_PATH:Q}/usr/include |
|
. endif |
|
. if exists(${OSX_SDK_PATH}/System/Library/Frameworks/QuickTime.framework) |
|
PLIST.qt= yes |
|
. endif |
.endif |
.endif |
|
|
PLIST_VARS+= dll nis no-nis |
|
.if ${OPSYS} == "IRIX" |
.if ${OPSYS} == "IRIX" |
|
# Assume that IRIX (and IRIX alone) does not support a libpython.so. |
|
# Assume that 32-bit IRIX has NIS and 64-bit IRIX does not. |
. if ${ABI} == "64" |
. if ${ABI} == "64" |
PLIST.no-nis= yes |
PLIST.no-nis= yes |
. else |
. else |
|
|
. endif |
. endif |
.else |
.else |
PLIST.dll= yes |
PLIST.dll= yes |
. if ${OPSYS} == "MirBSD" |
# Determine if lib-dynload/nis.so (PLIST.nis) or |
|
# lib-dynload/nis-failed.so (PLIST.no-nis) will be built. |
|
. if ${OPSYS} == "MirBSD" || "${OS_VARIANT}" == "chromeos" |
# neither nis nor no-nis |
# neither nis nor no-nis |
. elif ${OPSYS} != "NetBSD" || exists(/usr/bin/ypcat) |
. elif ${OPSYS} != "NetBSD" || exists(/usr/bin/ypcat) |
|
# \todo Explain the "!= NetBSD"; that seems to declare that any |
|
# remaining system other than NetBSD will have NIS, even if ypcat is |
|
# missing. |
PLIST.nis= yes |
PLIST.nis= yes |
. else |
. else |
PLIST.no-nis= yes |
PLIST.no-nis= yes |
. endif |
. endif |
.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 |
|
|
|
# configure complains about buggy getaddrinfo() |
# configure complains about buggy getaddrinfo() |
CONFIGURE_ARGS.OSF1+= --disable-ipv6 |
CONFIGURE_ARGS.OSF1+= --disable-ipv6 |
|
|
.if defined(BUILDLINK_TRANSFORM) |
|
MAKE_ENV+= PY_BDB_TRANSFORM=${BUILDLINK_TRANSFORM:Q} |
|
.endif |
|
|
|
PLIST_SUBST+= PY_VER_SUFFIX=${PY_VER_SUFFIX:Q} |
PLIST_SUBST+= PY_VER_SUFFIX=${PY_VER_SUFFIX:Q} |
|
|
TEST_TARGET= test |
TEST_TARGET= test |
Line 147 INSTALL_TARGET= altinstall |
|
Line 138 INSTALL_TARGET= altinstall |
|
REPLACE_INTERPRETER+= py27 |
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/UserString.py |
REPLACE_FILES.py27+= Lib/*/*/*/*.py |
REPLACE_FILES.py27+= Lib/base64.py |
|
REPLACE_FILES.py27+= Lib/cProfile.py |
|
REPLACE_FILES.py27+= Lib/cgi.py |
|
REPLACE_FILES.py27+= Lib/encodings/rot_13.py |
|
REPLACE_FILES.py27+= Lib/idlelib/PyShell.py |
|
REPLACE_FILES.py27+= Lib/keyword.py |
|
REPLACE_FILES.py27+= Lib/lib2to3/pgen2/token.py |
|
REPLACE_FILES.py27+= Lib/lib2to3/tests/data/different_encoding.py |
|
REPLACE_FILES.py27+= Lib/lib2to3/tests/data/false_encoding.py |
|
REPLACE_FILES.py27+= Lib/lib2to3/tests/pytree_idempotency.py |
|
REPLACE_FILES.py27+= Lib/mimify.py |
|
REPLACE_FILES.py27+= Lib/pdb.py |
|
REPLACE_FILES.py27+= Lib/plat-mac/appletrunner.py |
|
REPLACE_FILES.py27+= Lib/plat-mac/bundlebuilder.py |
|
REPLACE_FILES.py27+= Lib/platform.py |
|
REPLACE_FILES.py27+= Lib/profile.py |
|
REPLACE_FILES.py27+= Lib/pydoc.py |
|
REPLACE_FILES.py27+= Lib/quopri.py |
|
REPLACE_FILES.py27+= Lib/smtpd.py |
|
REPLACE_FILES.py27+= Lib/smtplib.py |
|
REPLACE_FILES.py27+= Lib/symbol.py |
|
REPLACE_FILES.py27+= Lib/tabnanny.py |
|
REPLACE_FILES.py27+= Lib/test/bisect_cmd.py |
|
REPLACE_FILES.py27+= Lib/test/curses_tests.py |
|
REPLACE_FILES.py27+= Lib/test/re_tests.py |
|
REPLACE_FILES.py27+= Lib/test/pystone.py |
|
REPLACE_FILES.py27+= Lib/test/regrtest.py |
|
REPLACE_FILES.py27+= Lib/timeit.py |
|
REPLACE_FILES.py27+= Lib/trace.py |
|
REPLACE_FILES.py27+= Lib/uu.py |
|
REPLACE_FILES.py27+= Lib/webbrowser.py |
|
|
SUBST_CLASSES+= libffi |
SUBST_CLASSES+= libffi |
SUBST_MESSAGE.libffi= Fixing libffi include path on Darwin. |
SUBST_MESSAGE.libffi= Fixing libffi include path on Darwin. |
Line 156 SUBST_STAGE.libffi= pre-configure |
|
Line 177 SUBST_STAGE.libffi= pre-configure |
|
SUBST_FILES.libffi= setup.py |
SUBST_FILES.libffi= setup.py |
SUBST_SED.libffi= -e 's,/usr/include/ffi,${BUILDLINK_PREFIX.libffi}/include,' |
SUBST_SED.libffi= -e 's,/usr/include/ffi,${BUILDLINK_PREFIX.libffi}/include,' |
|
|
|
# XXX: It might be needed to add manually more paths like ${PREFIX}/qt5/lib |
|
# Test: python -c 'from ctypes.util import find_library; print(find_library("ffi"));' |
SUBST_CLASSES+= findlib |
SUBST_CLASSES+= findlib |
SUBST_MESSAGE.findlib= Fixing find_library_file on Darwin. |
SUBST_MESSAGE.findlib= Fixing find_library(). |
SUBST_STAGE.findlib= pre-configure |
SUBST_STAGE.findlib= pre-configure |
SUBST_FILES.findlib= Lib/distutils/unixccompiler.py |
SUBST_FILES.findlib= Lib/ctypes/macholib/dyld.py |
|
SUBST_FILES.findlib+= Lib/ctypes/util.py |
|
SUBST_FILES.findlib+= Lib/distutils/unixccompiler.py |
SUBST_SED.findlib= -e 's,/usr/local,${PREFIX},' |
SUBST_SED.findlib= -e 's,/usr/local,${PREFIX},' |
|
SUBST_SED.findlib+= -e 's!\(-Wl,-t -o\)!${COMPILER_RPATH_FLAG}${PREFIX}/lib -L${PREFIX}/lib \1!' |
# 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" |
.include "options.mk" |
|
|
Line 192 SUBST_CLASSES+= cacert |
|
Line 200 SUBST_CLASSES+= cacert |
|
SUBST_MESSAGE.cacert= Configuring location of default CA certificate file. |
SUBST_MESSAGE.cacert= Configuring location of default CA certificate file. |
SUBST_STAGE.cacert= pre-configure |
SUBST_STAGE.cacert= pre-configure |
SUBST_FILES.cacert= Modules/_ssl.c |
SUBST_FILES.cacert= Modules/_ssl.c |
SUBST_SED.cacert= -e 's,@PREFIX@,${PREFIX},' |
SUBST_VARS.cacert= PREFIX |
|
|
post-extract: |
post-extract: |
${LN} -s ${WRKSRC}/Lib/smtpd.py ${WRKSRC}/Tools/scripts/smtpd${PY_VER_SUFFIX}.py |
${LN} -s ${WRKSRC}/Lib/smtpd.py ${WRKSRC}/Tools/scripts/smtpd${PY_VER_SUFFIX}.py |
Line 219 BUILDLINK_DEPMETHOD.readline= build |
|
Line 227 BUILDLINK_DEPMETHOD.readline= build |
|
.include "../../devel/readline/buildlink3.mk" |
.include "../../devel/readline/buildlink3.mk" |
.include "../../devel/zlib/buildlink3.mk" |
.include "../../devel/zlib/buildlink3.mk" |
.include "../../security/openssl/buildlink3.mk" |
.include "../../security/openssl/buildlink3.mk" |
|
.include "../../mk/bdb.buildlink3.mk" |
.include "../../mk/dlopen.buildlink3.mk" |
.include "../../mk/dlopen.buildlink3.mk" |
.include "../../mk/bsd.pkg.mk" |
.include "../../mk/bsd.pkg.mk" |