Annotation of pkgsrc/lang/python27/Makefile, Revision 1.76
1.76 ! adam 1: # $NetBSD: Makefile,v 1.75 2018/09/28 11:01:37 adam Exp $
1.1 obache 2:
3: .include "dist.mk"
4:
5: PKGNAME= python27-${PY_DISTVERSION}
1.74 adam 6: PKGREVISION= 1
1.1 obache 7: CATEGORIES= lang python
8:
9: MAINTAINER= pkgsrc-users@NetBSD.org
1.71 wiz 10: HOMEPAGE= https://www.python.org/
1.1 obache 11: COMMENT= Interpreted, interactive, object-oriented programming language
12: LICENSE= python-software-foundation
13:
1.55 tron 14: DEPENDS= mozilla-rootcerts>=1.0.20150804nb1:../../security/mozilla-rootcerts
15:
1.1 obache 16: CONFLICTS+= python-[0-9]*
17:
1.74 adam 18: USE_LANGUAGES= c c++
1.1 obache 19: GNU_CONFIGURE= yes
20: CONFIGURE_ARGS+= --enable-shared
1.74 adam 21: CONFIGURE_ARGS+= --with-dbmliborder=ndbm:bdb
1.1 obache 22: CONFIGURE_ARGS+= --with-system-ffi
1.74 adam 23: CONFIGURE_ARGS+= --with-threads
1.25 sbd 24: CONFIGURE_ENV+= MKDIR_P=${MKDIR:Q}
1.74 adam 25: CONFIGURE_ENV+= OPT=${CFLAGS:Q}
1.31 obache 26: PKGCONFIG_OVERRIDE+= Misc/python.pc.in
27:
1.1 obache 28: LDFLAGS+= -L${WRKSRC}
29:
30: # $RANDOM usage there is fine
31: CHECK_PORTABILITY_SKIP= Tools/faqwiz/move-faqwiz.sh
32:
1.45 ryoon 33: PTHREAD_OPTS+= require
34: PTHREAD_AUTO_VARS= yes
1.1 obache 35: .include "../../mk/pthread.buildlink3.mk"
36: .if ${PTHREAD_TYPE} == "pth"
37: CONFIGURE_ARGS+= --with-pth
38: .endif
39:
1.6 adam 40: .include "../../mk/compiler.mk"
41:
42: # Clang needs -fwrapv
43: .if !empty(PKGSRC_COMPILER:Mclang)
44: CFLAGS+= -fwrapv
45: .endif
46:
1.1 obache 47: .include "../../mk/bsd.prefs.mk"
48:
49: # fdatasync()
50: LIBS.SunOS+= -lrt
51:
52: PY_VER_SUFFIX= 2.7
53:
54: .if ${OPSYS} == "NetBSD"
55: # XXX work around a botched autoconf check which ignores libintl
56: CONFIGURE_ENV+= ac_cv_func_bind_textdomain_codeset=yes
57: .endif
58:
1.24 obache 59: .if ${OPSYS} == "Cygwin" || ${OPSYS} == "Darwin" || ${OPSYS} == "Interix"
1.1 obache 60: PY_PLATNAME= ${LOWER_OPSYS}
61: USE_TOOLS+= gmake
62: .elif ${OPSYS} == "IRIX"
63: PY_PLATNAME= ${LOWER_OPSYS:C/\..*//}
64: .elif ${OPSYS} == "SunOS"
65: PY_PLATNAME= sunos${OS_VERSION:C/\..*//}
66: .elif ${OPSYS} == "HPUX"
67: PY_PLATNAME= hp-ux11
1.16 sbd 68: .elif ${OPSYS} == "Linux"
69: PY_PLATNAME= linux2
1.45 ryoon 70: .elif ${OS_VARIANT} == "SCOOSR5"
71: PY_PLATNAME= sco_sv3
1.1 obache 72: .else
73: PY_PLATNAME= ${LOWER_OPSYS}${OS_VERSION:C/\..*//}
74: .endif
75: PLIST_SUBST+= PY_PLATNAME=${PY_PLATNAME:Q}
76:
1.60 dholland 77: .if !empty(LP64PLATFORMS:@.PLAT.@${MACHINE_PLATFORM:M${.PLAT.}}@) || \
1.51 sevan 78: (defined(ABI) && ${ABI} == "64")
1.1 obache 79: IS_64BIT_PLATFORM?= yes
80: .else
81: IS_64BIT_PLATFORM?= no
82: .endif
83:
1.75 adam 84: PLIST_VARS+= dl dll extra-so nis no-nis qt
85:
1.1 obache 86: # the dl module isn't built for 64 bit archs
87: .if empty(IS_64BIT_PLATFORM:M[yY][eE][sS])
88: PLIST.dl= yes
89: .endif
90:
91: # setup.py causes some modules to be built if the platform is *not* 64bit.
92: .if !empty(IS_64BIT_PLATFORM:M[nN][oO])
93: PLIST.extra-so= yes
94: .endif
95:
1.33 jperkin 96: # For Xcode 5 we need to search the SDK path for headers, otherwise certain
97: # modules will not be built.
1.75 adam 98: .if ${OPSYS} == "Darwin"
99: . if exists(${OSX_SDK_PATH}/usr/include)
100: CFLAGS+= -I${OSX_SDK_PATH:Q}/usr/include
101: . endif
102: . if exists(${OSX_SDK_PATH}/System/Library/Frameworks/QuickTime.framework)
103: PLIST.qt= yes
104: . endif
1.33 jperkin 105: .endif
106:
1.1 obache 107: .if ${OPSYS} == "IRIX"
108: . if ${ABI} == "64"
109: PLIST.no-nis= yes
110: . else
111: PLIST.nis= yes
112: . endif
113: .else
114: PLIST.dll= yes
1.73 bsiegert 115: . if ${OPSYS} == "MirBSD" || "${OS_VARIANT}" == "chromeos"
1.7 bsiegert 116: # neither nis nor no-nis
117: . elif ${OPSYS} != "NetBSD" || exists(/usr/bin/ypcat)
1.1 obache 118: PLIST.nis= yes
119: . else
120: PLIST.no-nis= yes
121: . endif
122: .endif
123:
124: # configure complains about buggy getaddrinfo()
1.56 jperkin 125: CONFIGURE_ARGS.OSF1+= --disable-ipv6
1.1 obache 126:
127: PLIST_SUBST+= PY_VER_SUFFIX=${PY_VER_SUFFIX:Q}
128:
129: TEST_TARGET= test
130: INSTALL_TARGET= altinstall
131:
132: REPLACE_INTERPRETER+= py27
133: REPLACE.py27.old= .*python[^ ]*
134: REPLACE.py27.new= ${PREFIX}/bin/python${PY_VER_SUFFIX}
1.74 adam 135: REPLACE_FILES.py27= Lib/UserString.py
136: REPLACE_FILES.py27+= Lib/base64.py
137: REPLACE_FILES.py27+= Lib/cProfile.py
138: REPLACE_FILES.py27+= Lib/cgi.py
139: REPLACE_FILES.py27+= Lib/encodings/rot_13.py
140: REPLACE_FILES.py27+= Lib/idlelib/PyShell.py
141: REPLACE_FILES.py27+= Lib/keyword.py
142: REPLACE_FILES.py27+= Lib/lib2to3/pgen2/token.py
143: REPLACE_FILES.py27+= Lib/lib2to3/tests/data/different_encoding.py
144: REPLACE_FILES.py27+= Lib/lib2to3/tests/data/false_encoding.py
145: REPLACE_FILES.py27+= Lib/lib2to3/tests/pytree_idempotency.py
146: REPLACE_FILES.py27+= Lib/mimify.py
147: REPLACE_FILES.py27+= Lib/pdb.py
148: REPLACE_FILES.py27+= Lib/plat-mac/appletrunner.py
149: REPLACE_FILES.py27+= Lib/plat-mac/bundlebuilder.py
150: REPLACE_FILES.py27+= Lib/platform.py
151: REPLACE_FILES.py27+= Lib/profile.py
152: REPLACE_FILES.py27+= Lib/pydoc.py
153: REPLACE_FILES.py27+= Lib/quopri.py
154: REPLACE_FILES.py27+= Lib/smtpd.py
155: REPLACE_FILES.py27+= Lib/smtplib.py
156: REPLACE_FILES.py27+= Lib/symbol.py
157: REPLACE_FILES.py27+= Lib/tabnanny.py
158: REPLACE_FILES.py27+= Lib/test/bisect.py
159: REPLACE_FILES.py27+= Lib/test/curses_tests.py
160: REPLACE_FILES.py27+= Lib/test/re_tests.py
161: REPLACE_FILES.py27+= Lib/test/pystone.py
162: REPLACE_FILES.py27+= Lib/test/regrtest.py
163: REPLACE_FILES.py27+= Lib/timeit.py
164: REPLACE_FILES.py27+= Lib/trace.py
165: REPLACE_FILES.py27+= Lib/uu.py
166: REPLACE_FILES.py27+= Lib/webbrowser.py
1.1 obache 167:
1.53 adam 168: SUBST_CLASSES+= libffi
169: SUBST_MESSAGE.libffi= Fixing libffi include path on Darwin.
170: SUBST_STAGE.libffi= pre-configure
171: SUBST_FILES.libffi= setup.py
172: SUBST_SED.libffi= -e 's,/usr/include/ffi,${BUILDLINK_PREFIX.libffi}/include,'
173:
1.76 ! adam 174: # XXX: It might be needed to add manually more paths like ${PREFIX}/qt5/lib
! 175: # Test: python -c 'from ctypes.util import find_library; print(find_library("ffi"));'
1.1 obache 176: SUBST_CLASSES+= findlib
1.76 ! adam 177: SUBST_MESSAGE.findlib= Fixing find_library().
1.1 obache 178: SUBST_STAGE.findlib= pre-configure
1.76 ! adam 179: SUBST_FILES.findlib= Lib/ctypes/macholib/dyld.py
! 180: SUBST_FILES.findlib+= Lib/ctypes/util.py
! 181: SUBST_FILES.findlib+= Lib/distutils/unixccompiler.py
1.1 obache 182: SUBST_SED.findlib= -e 's,/usr/local,${PREFIX},'
1.76 ! adam 183: SUBST_SED.findlib+= -e 's!\(-Wl,-t -o\)!${COMPILER_RPATH_FLAG}${PREFIX}/lib -L${PREFIX}/lib \1!'
1.63 kamil 184:
1.66 kamil 185: .include "options.mk"
1.65 kamil 186:
1.40 bsiegert 187: SUBST_CLASSES+= sslbase
188: SUBST_MESSAGE.sslbase= Fixing find-file for openssl with SSLBASE.
189: SUBST_STAGE.sslbase= pre-configure
190: SUBST_FILES.sslbase= setup.py
191: SUBST_VARS.sslbase= SSLBASE
192:
1.55 tron 193: SUBST_CLASSES+= cacert
194: SUBST_MESSAGE.cacert= Configuring location of default CA certificate file.
195: SUBST_STAGE.cacert= pre-configure
196: SUBST_FILES.cacert= Modules/_ssl.c
197: SUBST_SED.cacert= -e 's,@PREFIX@,${PREFIX},'
198:
1.1 obache 199: post-extract:
1.37 obache 200: ${LN} -s ${WRKSRC}/Lib/smtpd.py ${WRKSRC}/Tools/scripts/smtpd${PY_VER_SUFFIX}.py
1.1 obache 201: ${MV} ${WRKSRC}/Tools/scripts/pydoc ${WRKSRC}/Tools/scripts/pydoc${PY_VER_SUFFIX}
202: ${MV} ${WRKSRC}/Tools/scripts/2to3 ${WRKSRC}/Tools/scripts/2to3-${PY_VER_SUFFIX}
203:
204: .if ${OPSYS} == "HPUX"
205: post-install:
206: ${LN} -fs ${DESTDIR}${PREFIX}/lib/libpython2.7.sl \
207: ${DESTDIR}${PREFIX}/lib/libpython2.7.sl.1.0
208: .endif
209:
1.45 ryoon 210: .if ${OS_VARIANT} == "SCOOSR5"
211: # SCO OpenServer 5.0.7/3.2 has no socklen_t in system headers, but has in
212: # GNU pth's header. It should be used in this case.
213: CONFIGURE_ENV+= ac_cv_type_socklen_t=yes
214: .endif
215:
1.1 obache 216: BUILDLINK_DEPMETHOD.readline= build
217:
218: .include "../../archivers/bzip2/buildlink3.mk"
219: .include "../../devel/gettext-lib/buildlink3.mk"
220: .include "../../devel/libffi/buildlink3.mk"
221: .include "../../devel/readline/buildlink3.mk"
222: .include "../../devel/zlib/buildlink3.mk"
223: .include "../../security/openssl/buildlink3.mk"
1.70 jperkin 224: .include "../../mk/bdb.buildlink3.mk"
1.1 obache 225: .include "../../mk/dlopen.buildlink3.mk"
226: .include "../../mk/bsd.pkg.mk"
CVSweb <webmaster@jp.NetBSD.org>