1 # $NetBSD: Makefile,v 1.11 2012/05/13 09:00:43 obache Exp $
5 PKGNAME= python31-${PY_DISTVERSION}
7 CATEGORIES= lang python
9 MAINTAINER= pkgsrc-users@NetBSD.org
10 HOMEPAGE= http://www.python.org/
11 COMMENT= Interpreted, interactive, object-oriented programming language
13 LICENSE= python-software-foundation
15 PKG_DESTDIR_SUPPORT= user-destdir
17 CONFLICTS+= python-[0-9]*
20 CONFIGURE_ARGS+= --with-threads
21 CONFIGURE_ARGS+= --enable-shared
22 CONFIGURE_ARGS+= OPT=${CFLAGS:M*:Q}
23 CONFIGURE_ARGS+= --with-system-ffi
27 # $RANDOM usage there is fine
28 CHECK_PORTABILITY_SKIP= Tools/faqwiz/move-faqwiz.sh
30 CHECK_PORTABILITY_SKIP+= Mac/BuildScript/scripts/postflight.patch-profile
34 PTHREAD_OPTS+= require
35 .include "../../mk/pthread.buildlink3.mk"
36 .if ${PTHREAD_TYPE} == "pth"
37 CONFIGURE_ARGS+= --with-pth
40 .include "../../mk/bsd.prefs.mk"
47 PLIST_SRC= ${.CURDIR}/../../lang/python31/PLIST.common
48 .if exists(${.CURDIR}/../../lang/python31/PLIST.${OPSYS})
49 PLIST_SRC+= ${.CURDIR}/../../lang/python31/PLIST.${OPSYS}
51 PLIST_SRC+= ${.CURDIR}/../../lang/python31/PLIST.common_end
53 .if ${OPSYS} == "NetBSD"
54 PRIVILEGED_STAGES+= clean
57 .if ${OPSYS} == "Darwin" || ${OPSYS} == "Interix"
58 PY_PLATNAME= ${LOWER_OPSYS}
60 .elif ${OPSYS} == "IRIX"
61 PY_PLATNAME= ${LOWER_OPSYS:C/\..*//}
62 .elif ${OPSYS} == "SunOS"
63 PY_PLATNAME= sunos${OS_VERSION:C/\..*//}
64 .elif ${OPSYS} == "HPUX"
67 PY_PLATNAME= ${LOWER_OPSYS}${OS_VERSION:C/\..*//}
69 PLIST_SUBST+= PY_PLATNAME=${PY_PLATNAME:Q}
72 .if ${PY_PLATNAME} == "linux2"
76 .if (${MACHINE_ARCH} == "alpha") || (${MACHINE_ARCH} == "amd64") || \
77 (${MACHINE_ARCH} == "sparc64") || (${MACHINE_ARCH} == "x86_64") || \
78 (defined(ABI) && ${ABI} == "64")
79 IS_64BIT_PLATFORM?= yes
81 IS_64BIT_PLATFORM?= no
84 # the dl module isn't built for 64 bit archs
86 .if empty(IS_64BIT_PLATFORM:M[yY][eE][sS])
90 # builds additional modules if OpenSSL < 0.9.8
91 PLIST_VARS+= openssl097
92 CHECK_BUILTIN.openssl:= yes
93 .include "../../security/openssl/builtin.mk"
94 CHECK_BUILTIN.openssl:= no
95 .if !empty(USE_BUILTIN.openssl:M[yY][eE][sS]) && \
96 !empty(BUILTIN_PKG.openssl:Mopenssl-0.9.[67]*)
100 # setup.py causes some modules to be built if the platform is *not* 64bit.
101 PLIST_VARS+= extra-so
102 .if !empty(IS_64BIT_PLATFORM:M[nN][oO])
106 # ossaudiodev is only available on x86 for the following platforms
108 .if (${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64") && \
109 (${PY_PLATNAME} == "linux2" || ${OPSYS} == "FreeBSD")
113 # Make sure python modules can link correctly
114 .if ${OPSYS} == "Darwin"
115 INSTALL_UNSTRIPPED= yes
118 PLIST_VARS+= bsddb dll nis no-nis
119 .if ${OPSYS} == "IRIX"
126 . include "../../mk/bdb.buildlink3.mk"
127 MAKE_ENV+= PY_BDB_TYPE=${BDB_TYPE}
128 MAKE_ENV+= PY_BDB_INCDIRS=${BUILDLINK_INCDIRS.${BDB_TYPE}:S,^,${BDBBASE}/,:Q}
129 MAKE_ENV+= PY_BDB_LIBDIRS=${BDBBASE}/lib
132 . if ${OPSYS} != "NetBSD" || exists(/usr/bin/ypcat)
139 .if defined(BUILDLINK_TRANSFORM)
140 MAKE_ENV+= PY_BDB_TRANSFORM=${BUILDLINK_TRANSFORM:Q}
143 PLIST_SUBST+= PY_VER_SUFFIX=${PY_VER_SUFFIX:Q}
145 PRINT_PLIST_AWK+= { gsub(/${PY_PLATNAME}/, "$${PY_PLATNAME}") }
146 PRINT_PLIST_AWK+= { gsub(/python${PY_VER_SUFFIX}/, \
147 "python$${PY_VER_SUFFIX}") }
150 INSTALL_TARGET= altinstall
152 REPLACE_INTERPRETER+= py31
153 REPLACE.py31.old= .*python[^ ]*
154 REPLACE.py31.new= ${PREFIX}/bin/python${PY_VER_SUFFIX}
155 REPLACE_FILES.py31= Lib/*.py Lib/*/*.py Lib/*/*/*.py
157 SUBST_CLASSES+= findlib
158 SUBST_MESSAGE.findlib= Fixing find_library_file on Darwin.
159 SUBST_STAGE.findlib= pre-configure
160 SUBST_FILES.findlib= Lib/distutils/unixccompiler.py
161 SUBST_SED.findlib= -e 's,/usr/local,${PREFIX},'
164 ${MV} ${WRKSRC}/Tools/scripts/pydoc3 ${WRKSRC}/Tools/scripts/pydoc${PY_VER_SUFFIX}
165 ${MV} ${WRKSRC}/Tools/scripts/2to3 ${WRKSRC}/Tools/scripts/2to3-${PY_VER_SUFFIX}
167 .if ${OPSYS} == "HPUX"
169 ${LN} -fs ${DESTDIR}${PREFIX}/lib/libpython3.1.sl \
170 ${DESTDIR}${PREFIX}/lib/libpython3.1.sl.1.0
173 USE_GNU_READLINE= yes
174 BUILDLINK_DEPMETHOD.readline= build
176 .include "../../archivers/bzip2/buildlink3.mk"
177 .include "../../devel/gettext-lib/buildlink3.mk"
178 .include "../../devel/libffi/buildlink3.mk"
179 .include "../../devel/readline/buildlink3.mk"
180 .include "../../devel/zlib/buildlink3.mk"
181 .include "../../security/openssl/buildlink3.mk"
182 .include "../../mk/dlopen.buildlink3.mk"
183 .include "../../mk/oss.buildlink3.mk"
184 .include "../../mk/bsd.pkg.mk"