diff options
Diffstat (limited to 'lang/python34/Makefile')
-rw-r--r-- | lang/python34/Makefile | 108 |
1 files changed, 108 insertions, 0 deletions
diff --git a/lang/python34/Makefile b/lang/python34/Makefile new file mode 100644 index 000000000000..e090827b670d --- /dev/null +++ b/lang/python34/Makefile @@ -0,0 +1,108 @@ +# Created by: Kubilay Kocak <koobs@FreeBSD.org> +# $FreeBSD$ + +PORTNAME= python34 +DISTVERSION= 3.4.0 +CATEGORIES= lang python ipv6 +MASTER_SITES= PYTHON +MASTER_SITE_SUBDIR= ${PYTHON_MASTER_SITE_SUBDIR} +DISTNAME= Python-${DISTVERSION} +DIST_SUBDIR= python + +MAINTAINER= python@FreeBSD.org +COMMENT= Interpreted object-oriented programming language + +LICENSE= PSFL + +USES= ncurses pkgconfig readline tar:xz +USE_LDCONFIG= yes +USE_PYTHON= yes +GNU_CONFIGURE= yes + +PYTHON_VERSION= python3.4 +PYTHON_NO_DEPENDS= yes + +DISABLED_EXTENSIONS= _sqlite3 _tkinter _gdbm +CONFIGURE_ARGS+= --enable-shared --without-ensurepip +CONFIGURE_ENV+= OPT="" DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS}" # Null out OPT to respect user CFLAGS and remove optimizations + +INSTALL_TARGET= altinstall # Don't want cloberring of unprefixed files +SHAREMODE= 644 # Match upstream INSTALL_DATA=644, so we can STRIP shared libraries +MAKE_ARGS+= INSTALL_SHARED="${INSTALL_LIB}" # Override read-only for libraries, so we can STRIP them +MAKE_ARGS+= LIBPC="${PREFIX}/libdata/pkgconfig" # Until pathfix gets support for files other than Makefile.in + +PLIST_SUB= VER=${PYTHON_VER} ABI=${ABIFLAGS} XY=${PYTHON_SUFFIX} \ + OSMAJOR=${OSVERSION:C/([0-9]*)[0-9]{5}/\1/} # For plat-freebsd* in pkg-plist. http://bugs.python.org/issue19554 + +OPTIONS_DEFINE= DEBUG IPV6 NLS PYMALLOC THREADS TSC +OPTIONS_DEFAULT= IPV6 NLS PYMALLOC THREADS +OPTIONS_RADIO= HASH +OPTIONS_RADIO_HASH= FNV SIPHASH +OPTIONS_SUB= yes + +NLS_DESC= Enable gettext support for the locale module +PYMALLOC_DESC= Enable specialized mallocs +TSC_DESC= Enable processor timestamp counter profiling + +HASH_DESC= Hash Algorithm (PEP-456) +FNV_DESC= Modified Fowler-Noll-Vo Algorithm +SIPHASH_DESC= SipHash24 Algorithm + +FNV_CONFIGURE_ON= --with-hash-algorithm=fnv +SIPHASH_CONFIGURE_ON= --with-hash-algorithm=siphash24 +DEBUG_CONFIGURE_WITH= pydebug +IPV6_CONFIGURE_ENABLE= ipv6 + +# Use CPPFLAGS over CFLAGS due to -I ordering, causing elementtree and pyexpat +# to break in Python 2.7, or preprocessor complaints in Python >= 3.3 +# Upstream Issue: http://bugs.python.org/issue6299 +NLS_USES= gettext +NLS_LDFLAGS= -L${LOCALBASE}/lib +NLS_CPPFLAGS= -I${LOCALBASE}/include +NLS_CONFIGURE_ENV_OFF= ac_cv_lib_intl_textdomain=no ac_cv_header_libintl_h=no + +PYMALLOC_CONFIGURE_WITH= pymalloc + +THREADS_CONFIGURE_WITH= threads +THREADS_CFLAGS= ${PTHREAD_CFLAGS} +THREADS_LDFLAGS= ${PTHREAD_LIBS} +TSC_CONFIGURE_WITH= tsc + +.include <bsd.port.options.mk> + +.if ${PORT_OPTIONS:MPYMALLOC} +ABIFLAGS:= m${ABIFLAGS} +.endif + +.if ${PORT_OPTIONS:MDEBUG} +ABIFLAGS:= d${ABIFLAGS} +.endif + +.if !empty(ABIFLAGS) +PLIST_FILES+= bin/python%%VER%%%%ABI%% +.endif + +.if ${ARCH} == sparc64 +CFLAGS+= -DPYTHON_DEFAULT_RECURSION_LIMIT=900 +.endif + +# See http://bugs.freebsd.org/115940 +.if !exists(/usr/bin/ypcat) || defined(WITHOUT_NIS) # the world with NO_NIS +PLIST_SUB+= NO_NIS="@comment " +DISABLED_EXTENSIONS+= nis +.else +PLIST_SUB+= NO_NIS="" +.endif + +post-install: +.if ! ${PORT_OPTIONS:MDEBUG} + ${RM} -f ${STAGEDIR}${PREFIX}/lib/libpython3.so # Upstream Issue: http://bugs.python.org/issue17975 +.endif + for i in ${STAGEDIR}${PREFIX}/lib/python3.4/lib-dynload/*.so; do \ + ${STRIP_CMD} $$i; done # Strip shared extensions + ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libpython3.4${ABIFLAGS}.so.1 # Strip shared library + +regression-test: build + @cd ${WRKSRC} && ${MAKE} TESTOPTS=-j${MAKE_JOBS_NUMBER} test + +.include <bsd.port.mk> |