1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-16 03:24:07 +00:00
freebsd-ports/databases/monetdb/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

253 lines
7.2 KiB
Makefile

# Created by: Jim Ohlstein <jim@ohlste.in>
# $FreeBSD$
PORTNAME= monetdb
PORTVERSION= 11.15.19
PORTREVISION= 2
CATEGORIES= databases
MASTER_SITES= http://www.monetdb.org/downloads/sources/Feb2013-SP6/
DISTNAME= MonetDB-${PORTVERSION}
MAINTAINER= jim@ohlste.in
COMMENT= Multithreaded "column-oriented" SQL databasee
LICENSE= MonetDB_License
LICENSE_NAME= MonetDB Public License Version 1.1
LICENSE_FILE= ${WRKSRC}/COPYING
LICENSE_PERMS= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
LIB_DEPENDS= libpcre.so:devel/pcre
USE_GNOME= libxml2
USES= bison iconv gmake libtool pkgconfig tar:xz
USE_LDCONFIG= yes
USE_RC_SUBR= monetdbd
WRKSRC= ${WRKDIR}/MonetDB-${PORTVERSION}
CONFIGURE_ENV= openssl_CFLAGS=-I/usr/include \
openssl_LIBS="-L/usr/lib -lssl -lcrypto"
LDFLAGS+= -L${PREFIX}/lib
CFLAGS+= -I${PREFIX}/include
INSTALL_TARGET= install-strip
OPTIONS_DEFINE= CONSOLE CURL DATACELL FITS GEOM JDBC MEROCONTROL ODBC \
PERL RDF RUBYGEMS SPHINXCLIENT TESTING OPTIMIZE
OPTIONS_RADIO= PYTHON
OPTIONS_RADIO_PYTHON= PYTHON2 PYTHON3
OPTIONS_SINGLE= PASSWD_HASH_ALGORITHM
OPTIONS_SINGLE_PASSWD_HASH_ALGORITHM= MD5 SHA1 RIPEMD160 SHA224 SHA256 \
SHA384 SHA512
OPTIONS_DEFAULT= PERL PYTHON2 SHA512
NO_OPTIONS_SORT= yes
OPTIONS_SUB= yes
CONSOLE_DESC= Direct console on the server (involves security risks)
CURL_DESC= cURL support
DATACELL_DESC= Datacell stream components (experimental)
FITS_DESC= Support for FITS via CFITSIO
GEOM_DESC= Support for geom module
JDBC_DESC= Build the MonetDB JDBC (java) driver
MEROCONTROL_DESC= Bbuild the Merovingian control driver (requires java)
ODBC_DESC= ODBC support via unixODBC
PASSWD_HASH_ALGORITHM_DESC= Password hash algorithm
MD5_DESC= MD5 password hash
SHA1_DESC= SHA1 password hash
RIPEMD160_DESC= RIPEMD160 password hash
SHA224_DESC= SHA224 password hash
SHA256_DESC= SHA256 password hash
SHA384_DESC= SHA384 password hash
SHA512_DESC= SHA512 password hash
PERL_DESC= Build and install Perl modules
PYTHON2_DESC= Build and install Python 2.7 packages
PYTHON3_DESC= Build and install Python 3.3 packages
RDF_DESC= Support for RDF (experimental)
RUBYGEMS_DESC= Build and install ruby gems
SPHINXCLIENT_DESC= Sphinxclient support
TESTING_DESC= Build and install testing (requires Python2 and Perl)
OPTIMIZE_DESC= Extra compiler optimization flags
MONETDB_VARDIR?= /var
MONETDB_LOGDIR?= ${MONETDB_VARDIR}/log/${PORTNAME}
MONETDB_RUNDIR?= ${MONETDB_VARDIR}/run/${PORTNAME}
MONETDB_LIBDIR?= ${PREFIX}/lib
MONETDB_INCLUDEDIR?= ${PREFIX}/include
PLIST_SUB+= MONETDB_LOGDIR=${MONETDB_LOGDIR} \
MONETDB_RUNDIR=${MONETDB_RUNDIR} \
PERL_PORT=${PERL_PORT}
GNU_CONFIGURE= yes
USERS= monetdb
GROUPS= monetdb
CONFIGURE_ARGS+= --enable-gdk \
--enable-monetdb5 \
--enable-gdk \
--enable-sql \
--enable-jaql \
--enable-largefile \
--with-bz2 \
--with-logdir=${MONETDB_LOGDIR} \
--with-rundir=${MONETDB_RUNDIR} \
--bindir=${PREFIX}/bin \
--libdir=${MONETDB_LIBDIR} \
--includedir=${MONETDB_INCLUDEDIR} \
--localstatedir="${PREFIX}/var" \
--docdir=${PREFIX}/${DATADIR}
SPHINXCLIENT_CONFIGURE_WITH= sphinxclient
MEROCONTROL_CONFIGURE_ENABLE= merocontrol
DATACELL_CONFIGURE_ENABLE= datacell
OPTIMIZE_CONFIGURE_ENABLE= optimize
RUBYGEMS_CONFIGURE_WITH= rubygem
CONSOLE_CONFIGURE_ENABLE= console
TESTING_CONFIGURE_ENABLE= testing
FITS_CONFIGURE_ENABLE= fits
GEOM_CONFIGURE_ENABLE= geom
JDBC_CONFIGURE_ENABLE= jdbc
ODBC_CONFIGURE_ENABLE= odbc
PERL_CONFIGURE_WITH= perl
RDF_CONFIGURE_ENABLE= rdf
SPHINXCLIENT_LIB_DEPENDS= libsphinxclient.so:textproc/libsphinxclient
RUBYGEMS_BUILD_DEPENDS= gem:devel/ruby-gems
RUBYGEMS_RUN_DEPENDS= gem:devel/ruby-gems
PYTHON3_BUILD_DEPENDS= python3:lang/python3
PYTHON3_RUN_DEPENDS= python3:lang/python3
CURL_LIB_DEPENDS= libcurl.so:ftp/curl
FITS_LIB_DEPENDS= libcfitsio.so:astro/cfitsio
GEOM_LIB_DEPENDS= libgeos.so:graphics/geos
ODBC_LIB_DEPENDS= libodbcinst.so:databases/unixODBC
PERL_BUILD_DEPENDS= p5-DBI>=1.08:databases/p5-DBI
PERL_RUN_DEPENDS= p5-DBI>=1.08:databases/p5-DBI
RDF_LIB_DEPENDS= libraptor.so:textproc/raptor
PERL_USES= perl5
.include <bsd.port.options.mk>
.if ${PORT_OPTIONS:MFITS}
CATEGORIES+= science
.endif
.if ${PORT_OPTIONS:MGEOM}
CATEGORIES+= math
.endif
.if ${PORT_OPTIONS:MJDBC} || ${PORT_OPTIONS:MMEROCONTROL}
CATEGORIES+= java
BUILD_DEPENDS+= ant:devel/apache-ant
USE_JAVA= yes
JAVA_VENDOR= openjdk
JAVA_BUILD= yes
JAVA_RUN= yes
PLIST_SUB+= JAVA=""
.else
PLIST_SUB+= JAVA="@comment "
.endif
.if ${PORT_OPTIONS:MPERL}
USE_PERL5= run build
CATEGORIES+= perl5
.endif
.if ${PORT_OPTIONS:MRDF}
CATEGORIES+= textproc
.endif
.if ${PORT_OPTIONS:MRUBYGEMS}
CATEGORIES+= ruby
.endif
.if ${PORT_OPTIONS:MTESTING}
. if empty(PORT_OPTIONS:MPYTHON2) || empty(PORT_OPTIONS:MPERL)
IGNORE= testing option requires both Python2 and Perl
. endif
.endif
.if ${PORT_OPTIONS:MPYTHON2} || ${PORT_OPTIONS:MPYTHON3}
CATEGORIES+= python
PLIST_SUB+= PYTHON=
.else
PLIST_SUB+= PYTHON="@comment "
.endif
.if ${PORT_OPTIONS:MPYTHON2}
USES+= python:2.7
PLIST_SUB+= PYTHON_VER=${PYTHON_VER}
CONFIGURE_ARGS+= --with-python2=${PYTHON_CMD} \
--without-python3
.else
CONFIGURE_ARGS+= --without-python2
.endif
.if ${PORT_OPTIONS:MPYTHON3}
USES+= python:3.4+
USE_PYTHON= py3kplist
PLIST_SUB+= PYTHON_VER=${PYTHON_VER}
CONFIGURE_ARGS+= --with-python3=${PYTHON_CMD} \
--without-python2
.else
CONFIGURE_ARGS+= --without-python3
.endif
.if ${PORT_OPTIONS:MMD5}
CONFIGURE_ARGS+= --with-password-backend=MD5
.elif ${PORT_OPTIONS:MSHA1}
CONFIGURE_ARGS+= --with-password-backend=SHA1
.elif ${PORT_OPTIONS:MRIPEMD160}
CONFIGURE_ARGS+= --with-password-backend=RIPEMD160
.elif ${PORT_OPTIONS:MSHA224}
CONFIGURE_ARGS+= --with-password-backend=SHA224
.elif ${PORT_OPTIONS:MSHA256}
CONFIGURE_ARGS+= --with-password-backend=SHA256
.elif ${PORT_OPTIONS:MSHA384}
CONFIGURE_ARGS+= -with-password-backend=SHA384
.elif ${PORT_OPTIONS:MSHA512}
CONFIGURE_ARGS+= -with-password-backend=SHA512
.endif
pre-install:
${INSTALL_DATA} ${WRKSRC}/clients/mapilib/monetdb-mapi.pc \
${STAGEDIR}${PREFIX}/libdata/pkgconfig
${INSTALL_DATA} ${WRKSRC}/common/stream/monetdb-stream.pc \
${STAGEDIR}${PREFIX}/libdata/pkgconfig
${MKDIR} ${STAGEDIR}${MONETDB_LOGDIR} \
${STAGEDIR}${MONETDB_RUNDIR} \
${STAGEDIR}${DOCSDIR}
.if ${PORT_OPTIONS:MPERL}
${MKDIR} ${STAGEDIR}${PREFIX}/${SITE_ARCH_REL}/DBD/monetdb \
${STAGEDIR}${PREFIX}/${SITE_ARCH_REL}/MonetDB
.endif
${INSTALL_DATA} ${WRKSRC}/sql/dump-restore.* ${STAGEDIR}${DOCSDIR}
post-install:
${RM} -r ${STAGEDIR}${PREFIX}/share/doc/MonetDB-SQL-11.15.19
${RM} -r ${STAGEDIR}${PREFIX}/etc/tmpfiles.d
${MV} ${STAGEDIR}${PREFIX}/var/* ${STAGEDIR}${PREFIX}
${RMDIR} ${STAGEDIR}${PREFIX}/var
.if ${PORT_OPTIONS:MPERL}
${MV} ${STAGEDIR}${PREFIX}/Mapi.pm \
${STAGEDIR}${PREFIX}/${SITE_ARCH_REL}
${MV} ${STAGEDIR}${PREFIX}/DBD/monetdb.pm \
${STAGEDIR}${PREFIX}/${SITE_ARCH_REL}/DBD
${MV} ${STAGEDIR}${PREFIX}/DBD/monetdb/*.pm \
${STAGEDIR}${PREFIX}/${SITE_ARCH_REL}/DBD/monetdb
${MV} ${STAGEDIR}${PREFIX}/MonetDB \
${STAGEDIR}${PREFIX}/${SITE_ARCH_REL}
${RM} -r ${STAGEDIR}${PREFIX}/DBD
.endif
.if ${PORT_OPTIONS:MPYTHON2} || ${PORT_OPTIONS:MPYTHON3}
# Python support has broken DESTDIR support, force recompile
cd ${STAGEDIR}${PREFIX} && \
${PYTHON_CMD} ${PYTHON_LIBDIR}/compileall.py \
-d ${PYTHONPREFIX_SITELIBDIR} \
-f ${PYTHONPREFIX_SITELIBDIR:S;${PREFIX}/;;}
.endif
.include <bsd.port.mk>