diff options
author | 2013-07-25 11:08:48 +0200 | |
---|---|---|
committer | 2013-07-25 11:53:16 +0200 | |
commit | 0c5d62cedabb94f483c1295b08e0a440d0e82c94 (patch) | |
tree | 8cdfd4088493faf16bed18b43409c33558b4dec2 /sci-libs/dealii/dealii-9999.ebuild | |
parent | fixed profile syntax (diff) | |
download | sci-0c5d62cedabb94f483c1295b08e0a440d0e82c94.tar.gz sci-0c5d62cedabb94f483c1295b08e0a440d0e82c94.tar.bz2 sci-0c5d62cedabb94f483c1295b08e0a440d0e82c94.zip |
An ebuild for deal.II [1]
This commit introduces an ebuild for the deal.II library.
[1] http://www.dealii.org/
"deal.II is a C++ program library targeted at the computational solution of
partial differential equations using adaptive finite elements. It uses
state-of-the-art programming techniques to offer you a modern interface to the
complex data structures and algorithms required."
Diffstat (limited to 'sci-libs/dealii/dealii-9999.ebuild')
-rw-r--r-- | sci-libs/dealii/dealii-9999.ebuild | 118 |
1 files changed, 118 insertions, 0 deletions
diff --git a/sci-libs/dealii/dealii-9999.ebuild b/sci-libs/dealii/dealii-9999.ebuild new file mode 100644 index 000000000..9a4f7c84e --- /dev/null +++ b/sci-libs/dealii/dealii-9999.ebuild @@ -0,0 +1,118 @@ +# Copyright 2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=5 + +if [[ ${PV} == "9999" ]] ; then + inherit cmake-utils subversion eutils multilib +else + inherit cmake-utils eutils multilib +fi + +DESCRIPTION="library for solving partial differential equations with the finite element method" +HOMEPAGE="http://www.dealii.org/" + +if [[ ${PV} == "9999" ]] ; then + ESVN_REPO_URI="https://svn.dealii.org/trunk/deal.II" + ESVN_OPTIONS="--trust-server-cert --non-interactive" + KEYWORDS="" +else + SRC_URI="https://dealii.googlecode.com/files/deal.II-${PV}.tar.gz + doc? ( https://dealii.googlecode.com/files/deal.offlinedoc-${PV}.tar.gz )" + S="${WORKDIR}/deal.II" + KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" +fi + +LICENSE="LGPL-2.1+" +SLOT="0" +IUSE="arpack avx +debug doc +examples hdf5 +lapack mesh_converter metis mpi mumps netcdf p4est parameter_gui petsc sse2 +threads trilinos +umfpack +zlib" +# TODO: add slepc use flag once slepc is packaged for gentoo-science + +DEPEND=" + dev-libs/boost + sys-libs/zlib + arpack? ( sci-libs/arpack[mpi?] ) + doc? ( app-doc/doxygen[dot] dev-lang/perl ) + hdf5? ( sci-libs/hdf5[mpi?] ) + lapack? ( virtual/lapack ) + metis? ( >=sci-libs/parmetis-4[mpi?] ) + mpi? ( virtual/mpi ) + mumps? ( sci-libs/mumps[mpi?] ) + netcdf? ( || ( <sci-libs/netcdf-4.2[cxx] sci-libs/netcdf-cxx ) ) + p4est? ( sci-libs/p4est[mpi?] ) + parameter_gui? ( dev-qt/qtgui ) + petsc? ( sci-mathematics/petsc[mpi?] ) + threads? ( dev-cpp/tbb ) + trilinos? ( sci-libs/trilinos ) + umfpack? ( sci-libs/umfpack ) + zlib? ( sys-libs/zlib ) +" +RDEPEND="${DEPEND}" + +src_configure() { + + if [[ ${PV} == "9999" ]] ; then + subversion_wc_info + local live_version="-DDEAL_II_PACKAGE_VERSION=99.99.svn${ESVN_WC_REVISION}" + fi + + if use debug; then + CMAKE_BUILD_TYPE="DebugRelease" + else + CMAKE_BUILD_TYPE="Release" + fi + + local mycmakeargs=( + ${live_version} + "-DDEAL_II_ALLOW_AUTODETECTION=OFF" + "-DDEAL_II_ALLOW_BUNDLED=OFF" + "-DDEAL_II_ALLOW_PLATFORM_INTROSPECTION=OFF" + $(cmake-utils_use arpack DEAL_II_WITH_ARPACK) + $(cmake-utils_use avx DEAL_II_HAVE_AVX) + $(cmake-utils_use doc DEAL_II_COMPONENT_DOCUMENTATION) + $(cmake-utils_use examples DEAL_II_COMPONENT_EXAMPLES) + $(cmake-utils_use hdf5 DEAL_II_WITH_HDF5) + $(cmake-utils_use lapack DEAL_II_WITH_LAPACK) + $(cmake-utils_use mesh_converter DEAL_II_COMPONENT_MESH_CONVERTER) + $(cmake-utils_use metis DEAL_II_WITH_METIS) + $(cmake-utils_use mpi DEAL_II_WITH_MPI) + $(cmake-utils_use mumps DEAL_II_WITH_MUMPS) + $(cmake-utils_use netcdf DEAL_II_WITH_NETCDF) + $(cmake-utils_use p4est DEAL_II_WITH_P4EST) + $(cmake-utils_use parameter_gui DEAL_II_COMPONENT_PARAMETER_GUI) + $(cmake-utils_use petsc DEAL_II_WITH_PETSC) + $(cmake-utils_use sse2 DEAL_II_HAVE_SSE2) + $(cmake-utils_use threads DEAL_II_WITH_THREADS) + $(cmake-utils_use trilinos DEAL_II_WITH_TRILINOS) + $(cmake-utils_use umfpack DEAL_II_WITH_UMFPACK) + $(cmake-utils_use zlib DEAL_II_WITH_ZLIB) + "-DCMAKE_INSTALL_RPATH_USE_LINK_PATH=OFF" + "-DDEAL_II_COMPONENT_COMPAT_FILES=OFF" + "-DDEAL_II_CMAKE_MACROS_RELDIR=share/${PN}/cmake/macros" + "-DDEAL_II_DOCHTML_RELDIR=share/doc/${PF}/html" + "-DDEAL_II_DOCREADME_RELDIR=share/doc/${PF}/" + "-DDEAL_II_EXAMPLES_RELDIR=share/${PN}/examples" + "-DDEAL_II_LIBRARY_RELDIR=$(get_libdir)" + ) + cmake-utils_src_configure +} + +src_install() { + dodoc LICENSE README + + if use !doc; then + # install some minimalistic bits of the html documentation: + dohtml doc/authors.html doc/license.html doc/screen.css + else + if [[ ${PV} != "9999" ]] ; then + # copy missing images to the build directory: + cp -r "${WORKDIR}"/doc/doxygen/deal.II/images "${WORKDIR}"/${P}_build/doc/doxygen/deal.II + # replace links: + sed -i \ + 's#"http://www.dealii.org/images/steps/developer/\(step-.*\)"#"images/\1"#g' \ + "${WORKDIR}"/${P}_build/doc/doxygen/deal.II/step_*.html || die "sed failed" + fi + fi + cmake-utils_src_install +} |