Ports using USE_PYTHON=distutils are now flavored. They will automatically get flavors (py27, py34, py35, py36) depending on what versions they support. There is also a USE_PYTHON=flavors for ports that do not use distutils but need FLAVORS to be set. A USE_PYTHON=noflavors can be set if using distutils but flavors are not wanted. A new USE_PYTHON=optsuffix that will add PYTHON_PKGNAMESUFFIX has been added to cope with Python ports that did not have the Python PKGNAMEPREFIX but are flavored. USES=python now also exports a PY_FLAVOR variable that contains the current python flavor. It can be used in dependency lines when the port itself is not python flavored. For example, deskutils/calibre. By default, all the flavors are generated. To only generate flavors for the versions in PYTHON2_DEFAULT and PYTHON3_DEFAULT, define BUILD_DEFAULT_PYTHON_FLAVORS in your make.conf. In all the ports with Python dependencies, the *_DEPENDS entries MUST end with the flavor so that the framework knows which to build/use. This is done by appending '@${PY_FLAVOR}' after the origin (or @${FLAVOR} if in a Python module with Python flavors, as the content will be the same). For example: RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}six>0:devel/py-six@${PY_FLAVOR} PR: 223071 Reviewed by: portmgr, python Sponsored by: Absolight Differential Revision: https://reviews.freebsd.org/D12464
75 lines
2.1 KiB
Makefile
75 lines
2.1 KiB
Makefile
# Created by: Russell L. Carter <rcarter@pinyon.org>
|
|
# $FreeBSD$
|
|
|
|
PORTNAME= metakit
|
|
PORTVERSION= 2.4.9.7
|
|
PORTREVISION= 2
|
|
CATEGORIES= databases
|
|
MASTER_SITES= http://www.equi4.com/pub/mk/
|
|
|
|
MAINTAINER= ports@FreeBSD.org
|
|
COMMENT= C++ embedded database engine with Python and Tcl support
|
|
|
|
LICENSE= MIT
|
|
LICENSE_FILE= ${WRKSRC}/../license.terms
|
|
|
|
GNU_CONFIGURE= yes
|
|
CONFIGURE_SCRIPT= ../unix/configure
|
|
USE_LDCONFIG= yes
|
|
|
|
WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}/builds
|
|
|
|
BROKEN_aarch64= Fails to build: error: typedef redefinition with different types
|
|
BROKEN_mips64= Fails to build: error: conflicting declaration typedef long int t4_i32
|
|
|
|
OPTIONS_DEFINE= PYTHON TCL DOCS
|
|
OPTIONS_DEFAULT= PYTHON
|
|
OPTIONS_SUB= yes
|
|
|
|
PYTHON_USES= python:2.7
|
|
PYTHON_CONFIGURE_ON= --with-python=${LOCALBASE}
|
|
PYTHON_CATEGORIES= python
|
|
|
|
TCL_USES= tcl:85
|
|
TCL_CATEGORIES= tcl
|
|
TCL_CONFIGURE_ON= --with-tcl=${TCL_INCLUDEDIR}
|
|
TCL_CONFIGURE_ENV= TCL_LIBDIR=${TCL_LIBDIR}
|
|
TCL_PLIST_SUB= TCL_V="${TCL_VER}"
|
|
|
|
pre-patch:
|
|
@${REINPLACE_CMD} -e "s=doc/==" ${WRKSRC}/../Metakit.html
|
|
@${REINPLACE_CMD} -e "s|= tclsh|=${TCLSH}|" \
|
|
${WRKSRC}/../unix/Makefile.in
|
|
@${REINPLACE_CMD} -e "s=python2.[0-9]=${PYTHON_VERSION}=" \
|
|
${WRKSRC}/../unix/Makefile.in ${WRKSRC}/../unix/configure
|
|
|
|
post-build-PYTHON-on:
|
|
${PYTHON_CMD} ${PYTHON_LIBDIR}/compileall.py \
|
|
${WRKSRC}/../python
|
|
${PYTHON_CMD} -O ${PYTHON_LIBDIR}/compileall.py \
|
|
${WRKSRC}/../python
|
|
|
|
pre-install:
|
|
@${MKDIR} ${STAGEDIR}${PYTHON_SITELIBDIR}
|
|
|
|
post-install:
|
|
${INSTALL_PROGRAM} ${WRKSRC}/libmk4.so \
|
|
${STAGEDIR}${PREFIX}/lib/libmk4.so.0
|
|
${LN} -sf libmk4.so.0 ${STAGEDIR}${PREFIX}/lib/libmk4.so
|
|
|
|
post-install-DOCS-on:
|
|
@${MKDIR} ${STAGEDIR}${DOCSDIR}
|
|
${TAR} -C ${WRKSRC}/../doc --exclude "*CVS" -cf - . | \
|
|
${TAR} -C ${STAGEDIR}${DOCSDIR} --unlink -xf -
|
|
${INSTALL_DATA} ${WRKSRC}/../Metakit.html ${WRKSRC}/../CHANGES \
|
|
${WRKSRC}/../README ${STAGEDIR}${DOCSDIR}
|
|
|
|
do-test:
|
|
@(cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} \
|
|
${MAKE_CMD} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} test)
|
|
|
|
do-test-TCL-on:
|
|
@(cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} \
|
|
${MAKE_CMD} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} test-tcl)
|
|
|
|
.include <bsd.port.mk>
|