pkgsrc-wip/dolfin/Makefile

111 lines
3.9 KiB
Makefile

# $NetBSD: Makefile,v 1.20 2014/06/01 12:49:35 thomasklausner Exp $
#
DISTNAME= dolfin-${MMVERSION}.0
PKGREVISION= 1
CATEGORIES= math python
MASTER_SITES= http://launchpad.net/dolfin/${MMVERSION}.x/${MMVERSION}.0/+download/
MAINTAINER= bacon@NetBSD.org
HOMEPAGE= https://launchpad.net/dolfin
COMMENT= C++/Python interface of FEniCS
LICENSE= gnu-lgpl-v3
# Don't add gsed yet: Causes ../../mk/tools/replace.mk to override the
# gsed command and use sed
USE_TOOLS+= pkg-config
USE_LANGUAGES= c c++ python
USE_CMAKE= yes
REPLACE_PYTHON+= scripts/dolfin-plot/dolfin-plot
REPLACE_PYTHON+= scripts/dolfin-order/dolfin-order
REPLACE_PYTHON+= scripts/dolfin-convert/dolfin-convert
CMAKE_ARGS+= -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \
-DDOLFIN_ENABLE_MPI:BOOL=OFF \
-DLOCALBASE=${PREFIX}
# CHOLMOD_DIR, UMFPACK_DIR, etc. will default to .buildlink. See CMakeCache.txt
# Installed dolfin-config.cmake contains .buildlink where it should use
# ${LOCALBASE}. Using post-install patch for now. Is there a better solution?
# -DCHOLMOD_DIR:PATH=${LOCALBASE} \
# -DCAMD_DIR:PATH=${LOCALBASE} \
# -DCCOLAMD_DIR:PATH=${LOCALBASE} \
# -DCOLAMD_DIR:PATH=${LOCALBASE} \
# -DUMFPACK_DIR:PATH=${LOCALBASE} \
# -DAMD_DIR:PATH=${LOCALBASE} \
# -DARMADILLO_DIR:PATH=${LOCALBASE} \
.include "../../mk/bsd.prefs.mk"
CXXFLAGS+= -fpermissive
.if ${OPSYS} == "Darwin"
CXXFLAGS+= -I${PREFIX}/${PYINC}
.endif
# Fix for variadic template warnings, but causes make_pair() error
# According to FEniCS developer, warnings are caused by c++ not realizing
# that boost headers are system headers. ( Because they're included
# from .buildlink? )
# .if ${OPSYS} == "Linux" || ${OPSYS} == "NetBSD"
# CXXFLAGS+= -std=gnu++0x
# CXXFLAGS+= -std=c++0x
# .endif
PKGCONFIG_OVERRIDE+= cmake/templates/dolfin.pc.in
SUBST_CLASSES+= bash
SUBST_STAGE.bash= post-configure
SUBST_FILES.bash= dolfin-version
SUBST_SED.bash= -e 's|/bin/bash|/usr/bin/env bash|'
SUBST_CLASSES+= ospath
SUBST_STAGE.ospath= post-patch
SUBST_FILES.ospath= site-packages/dolfin/compilemodules/compilemodule.py
SUBST_SED.ospath= -e 's|os.path.join(os.path.sep,"opt","local")|os.path.normpath("${PREFIX}")|' \
-e 's|os.path.join(os.path.sep,"usr")|os.path.normpath("${PREFIX}")|'
# Replace .buildlink with PREFIX in installed cmake file.
# Patching files after install doesn't seem quite kosher, but it's the
# simplest solution I've found so far. dolfin-config.cmake is regenerated
# by 'make install', so patches applied in any other phase are overwritten.
# dolfin-config.cmake may also be used during build, so maybe it should
# contain .buildlink paths until install.
DATADIR= ${DESTDIR}${PREFIX}/share/dolfin
SUBST_CLASSES+= dolfinconf
SUBST_STAGE.dolfinconf= post-install
SUBST_FILES.dolfinconf= ${DATADIR}/cmake/dolfin-config.cmake
SUBST_SED.dolfinconf= -e 's|${WRKDIR}/.buildlink|${PREFIX}|g' \
-e 's|${WRKDIR}/.wrapper|${PREFIX}|g'
# From lang/python/extension.mk
PLIST_SUBST+= PYSITELIB=${PYSITELIB}
MMVERSION= 1.2
.include "../../lang/python/application.mk"
.include "../../wip/armadillo/buildlink3.mk"
.include "../../math/metis/buildlink3.mk"
.include "../../wip/ufc/buildlink3.mk"
.include "../../wip/py-ffc/buildlink3.mk"
.include "../../wip/py-fiat/buildlink3.mk"
.include "../../wip/py-instant/buildlink3.mk"
.include "../../wip/py-ufl/buildlink3.mk"
.include "../../wip/py-viper/buildlink3.mk"
.include "../../mk/blas.buildlink3.mk"
# cgal requires qt4-libs and qt4-tools, which don't currently build on Linux or Mac
#.include "../../math/cgal/buildlink3.mk"
.include "../../math/py-numpy/buildlink3.mk"
.include "../../devel/boost-libs/buildlink3.mk"
.include "../../devel/swig2/buildlink3.mk"
.include "../../wip/suitesparse/buildlink3.mk"
.include "../../textproc/libxml2/buildlink3.mk"
# Broken package
#.include "../../wip/petsc/buildlink3.mk"
# vtk-python module required for plotting
# Broken package
#.include "../../graphics/vtk/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"