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.31 retrieving revision 1.76 diff -u -p -r1.31 -r1.76 --- pkgsrc/lang/python27/Makefile 2013/11/10 12:12:32 1.31 +++ pkgsrc/lang/python27/Makefile 2019/03/03 10:44:41 1.76 @@ -1,26 +1,28 @@ -# $NetBSD: Makefile,v 1.31 2013/11/10 12:12:32 obache Exp $ +# $NetBSD: Makefile,v 1.76 2019/03/03 10:44:41 adam Exp $ .include "dist.mk" PKGNAME= python27-${PY_DISTVERSION} -PKGREVISION= 4 +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 +DEPENDS= mozilla-rootcerts>=1.0.20150804nb1:../../security/mozilla-rootcerts + CONFLICTS+= python-[0-9]* +USE_LANGUAGES= c c++ 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 +CONFIGURE_ARGS+= --with-system-ffi +CONFIGURE_ARGS+= --with-threads CONFIGURE_ENV+= MKDIR_P=${MKDIR:Q} - +CONFIGURE_ENV+= OPT=${CFLAGS:Q} PKGCONFIG_OVERRIDE+= Misc/python.pc.in LDFLAGS+= -L${WRKSRC} @@ -28,9 +30,8 @@ LDFLAGS+= -L${WRKSRC} # $RANDOM usage there is fine CHECK_PORTABILITY_SKIP= Tools/faqwiz/move-faqwiz.sh -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 @@ -50,16 +51,7 @@ 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" -. 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 CONFIGURE_ENV+= ac_cv_func_bind_textdomain_codeset=yes .endif @@ -75,47 +67,43 @@ PY_PLATNAME= sunos${OS_VERSION:C/\..*//} 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") || \ - (${MACHINE_ARCH} == "powerpc64") || (defined(ABI) && ${ABI} == "64") +.if !empty(LP64PLATFORMS:@.PLAT.@${MACHINE_PLATFORM:M${.PLAT.}}@) || \ + (defined(ABI) && ${ABI} == "64") IS_64BIT_PLATFORM?= yes .else IS_64BIT_PLATFORM?= no .endif +PLIST_VARS+= dl dll extra-so nis no-nis qt + # 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:= 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. -PLIST_VARS+= extra-so .if !empty(IS_64BIT_PLATFORM:M[nN][oO]) PLIST.extra-so= yes .endif -# Make sure python modules can link correctly +# For Xcode 5 we need to search the SDK path for headers, otherwise certain +# modules will not be built. .if ${OPSYS} == "Darwin" -INSTALL_UNSTRIPPED= yes +. 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 -PLIST_VARS+= dll nis no-nis .if ${OPSYS} == "IRIX" . if ${ABI} == "64" PLIST.no-nis= yes @@ -124,7 +112,7 @@ PLIST.nis= yes . endif .else PLIST.dll= yes -. if ${OPSYS} == "MirBSD" +. if ${OPSYS} == "MirBSD" || "${OS_VARIANT}" == "chromeos" # neither nis nor no-nis . elif ${OPSYS} != "NetBSD" || exists(/usr/bin/ypcat) PLIST.nis= yes @@ -133,21 +121,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} @@ -157,17 +132,72 @@ 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 -REPLACE_FILES.py27+= Lib/*/*/*/*.py +REPLACE_FILES.py27= Lib/UserString.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.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_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,' +# 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_MESSAGE.findlib= Fixing find_library_file on Darwin. +SUBST_MESSAGE.findlib= Fixing find_library(). 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!\(-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} @@ -177,6 +207,12 @@ post-install: ${DESTDIR}${PREFIX}/lib/libpython2.7.sl.1.0 .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 .include "../../archivers/bzip2/buildlink3.mk" @@ -185,5 +221,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"