# Created by: Kubilay Kocak # $FreeBSD$ PORTNAME= python34 PORTVERSION= 3.4.1 PORTREVISION= 1 CATEGORIES= lang python ipv6 MASTER_SITES= PYTHON MASTER_SITE_SUBDIR= ${PYTHON_MASTER_SITE_SUBDIR} DISTNAME= ${PYTHON_DISTNAME} 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 .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%% PLIST_FILES+= bin/python%%VER%%%%ABI%%-config PLIST_FILES+= libdata/pkgconfig/python-%%VER%%%%ABI%%.pc .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