freebsd-ports/databases/metakit/Makefile
Mathieu Arnold 551be3c723 Convert Python ports to FLAVORS.
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
2017-11-30 15:50:30 +00:00

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>