Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. =================================================================== RCS file: /ftp/cvs/cvsroot/pkgsrc/lang/python27/Makefile,v rcsdiff: /ftp/cvs/cvsroot/pkgsrc/lang/python27/Makefile,v: warning: Unknown phrases like `commitid ...;' are present. retrieving revision 1.10 retrieving revision 1.71 diff -u -p -r1.10 -r1.71 --- pkgsrc/lang/python27/Makefile 2012/01/18 14:00:30 1.10 +++ pkgsrc/lang/python27/Makefile 2017/09/03 08:53:10 1.71 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.10 2012/01/18 14:00:30 adam Exp $ +# $NetBSD: Makefile,v 1.71 2017/09/03 08:53:10 wiz Exp $ .include "dist.mk" @@ -7,11 +7,11 @@ PKGREVISION= 1 CATEGORIES= lang python MAINTAINER= pkgsrc-users@NetBSD.org -HOMEPAGE= http://www.python.org/ +HOMEPAGE= https://www.python.org/ COMMENT= Interpreted, interactive, object-oriented programming language LICENSE= python-software-foundation -PKG_DESTDIR_SUPPORT= user-destdir +DEPENDS= mozilla-rootcerts>=1.0.20150804nb1:../../security/mozilla-rootcerts CONFLICTS+= python-[0-9]* @@ -21,6 +21,9 @@ CONFIGURE_ARGS+= --enable-shared CONFIGURE_ARGS+= OPT=${CFLAGS:Q} CONFIGURE_ARGS+= --with-system-ffi CONFIGURE_ARGS+= --with-dbmliborder=ndbm:bdb +CONFIGURE_ENV+= MKDIR_P=${MKDIR:Q} + +PKGCONFIG_OVERRIDE+= Misc/python.pc.in LDFLAGS+= -L${WRKSRC} @@ -29,7 +32,8 @@ CHECK_PORTABILITY_SKIP= Tools/faqwiz/mov USE_LANGUAGES= c c++ -PTHREAD_OPTS+= require +PTHREAD_OPTS+= require +PTHREAD_AUTO_VARS= yes .include "../../mk/pthread.buildlink3.mk" .if ${PTHREAD_TYPE} == "pth" CONFIGURE_ARGS+= --with-pth @@ -56,12 +60,11 @@ PLIST_SRC+= ${.CURDIR}/../../lang/python 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" +.if ${OPSYS} == "Cygwin" || ${OPSYS} == "Darwin" || ${OPSYS} == "Interix" PY_PLATNAME= ${LOWER_OPSYS} USE_TOOLS+= gmake .elif ${OPSYS} == "IRIX" @@ -70,13 +73,16 @@ PY_PLATNAME= ${LOWER_OPSYS:C/\..*//} PY_PLATNAME= sunos${OS_VERSION:C/\..*//} .elif ${OPSYS} == "HPUX" PY_PLATNAME= hp-ux11 +.elif ${OPSYS} == "Linux" +PY_PLATNAME= linux2 +.elif ${OS_VARIANT} == "SCOOSR5" +PY_PLATNAME= sco_sv3 .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") || \ +.if !empty(LP64PLATFORMS:@.PLAT.@${MACHINE_PLATFORM:M${.PLAT.}}@) || \ (defined(ABI) && ${ABI} == "64") IS_64BIT_PLATFORM?= yes .else @@ -89,25 +95,16 @@ PLIST_VARS+= dl 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 +# For Xcode 5 we need to search the SDK path for headers, otherwise certain +# modules will not be built. +.if ${OPSYS} == "Darwin" && exists(${OSX_SDK_PATH}/usr/include) +CFLAGS+= -I${OSX_SDK_PATH}/usr/include .endif PLIST_VARS+= dll nis no-nis @@ -128,21 +125,8 @@ 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 +CONFIGURE_ARGS.OSF1+= --disable-ipv6 PLIST_SUBST+= PY_VER_SUFFIX=${PY_VER_SUFFIX:Q} @@ -153,6 +137,13 @@ 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 +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_MESSAGE.findlib= Fixing find_library_file on Darwin. @@ -160,8 +151,40 @@ SUBST_STAGE.findlib= pre-configure SUBST_FILES.findlib= Lib/distutils/unixccompiler.py 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: - ${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/2to3 ${WRKSRC}/Tools/scripts/2to3-${PY_VER_SUFFIX} @@ -171,7 +194,12 @@ post-install: ${DESTDIR}${PREFIX}/lib/libpython2.7.sl.1.0 .endif -USE_GNU_READLINE= yes +.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 .include "../../archivers/bzip2/buildlink3.mk" @@ -180,5 +208,6 @@ BUILDLINK_DEPMETHOD.readline= build .include "../../devel/readline/buildlink3.mk" .include "../../devel/zlib/buildlink3.mk" .include "../../security/openssl/buildlink3.mk" +.include "../../mk/bdb.buildlink3.mk" .include "../../mk/dlopen.buildlink3.mk" .include "../../mk/bsd.pkg.mk"