aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Maier <tamiko@kyomu.43-1.org>2013-07-25 11:08:48 +0200
committerMatthias Maier <tamiko@kyomu.43-1.org>2013-07-25 11:53:16 +0200
commit0c5d62cedabb94f483c1295b08e0a440d0e82c94 (patch)
tree8cdfd4088493faf16bed18b43409c33558b4dec2
parentfixed profile syntax (diff)
downloadsci-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."
-rw-r--r--sci-libs/dealii/Manifest2
l---------sci-libs/dealii/dealii-8.0.0.ebuild1
-rw-r--r--sci-libs/dealii/dealii-9999.ebuild118
-rw-r--r--sci-libs/dealii/metadata.xml28
4 files changed, 149 insertions, 0 deletions
diff --git a/sci-libs/dealii/Manifest b/sci-libs/dealii/Manifest
new file mode 100644
index 000000000..fd3018c89
--- /dev/null
+++ b/sci-libs/dealii/Manifest
@@ -0,0 +1,2 @@
+DIST deal.II-8.0.0.tar.gz 15212414 SHA256 2bf7443cb16b5fc39fe6d70b07071d731de9ac415a90658ec4d2197d40513738 SHA512 fb6c79cc7ab18dbb579a2a5dd8144c71f37b36170a9653f805b753fd69ebb66f98c866d7811c5daf24a99cb107ab1f59a7edb18ed9d9597cba566cd04753b3d7 WHIRLPOOL ac63e12431613a59275b39284da1bc6a5cbc52a36c7de2a86845202cbdbccd0d296165f57a3cecba85f2e1ccb4741292ed5770cb2afd0d1c0c4c2f42787a5345
+DIST deal.offlinedoc-8.0.0.tar.gz 90684547 SHA256 7af02e32f691dba950d78f39c227bc22863c5d882cb83665eb639f4aadea9009 SHA512 47b959d976908c5a49d957fcf8a48e53db047e0aa6d8cf2b299f5e91d82c384b48fe326399f5e78146d80ad6ca39b1a305334086730b61d9c5c6975e91641529 WHIRLPOOL 16fa92f65e45a771c1ecafe7bc29b707f38930da9c7b8b423ed933b63ecc5c58f16d25c600c19636c59e9f6b1f8b42e69f485e912ff788de5de67d35cd76ac5c
diff --git a/sci-libs/dealii/dealii-8.0.0.ebuild b/sci-libs/dealii/dealii-8.0.0.ebuild
new file mode 120000
index 000000000..9860d7b9f
--- /dev/null
+++ b/sci-libs/dealii/dealii-8.0.0.ebuild
@@ -0,0 +1 @@
+dealii-9999.ebuild \ No newline at end of file
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
+}
diff --git a/sci-libs/dealii/metadata.xml b/sci-libs/dealii/metadata.xml
new file mode 100644
index 000000000..0567794b9
--- /dev/null
+++ b/sci-libs/dealii/metadata.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci</herd>
+<maintainer>
+ <email>tamiko+GENTOO@kyomu.43-1.org</email>
+ <name>Matthias Maier</name>
+</maintainer>
+<longdescription lang="en">
+ 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.
+</longdescription>
+<use>
+ <flag name="arpack">Adds support for ARPACK (<pkg>sci-libs/arpack</pkg>)</flag>
+ <flag name="avx">Use Advanced Vector Extensions for AVX capable chips</flag>
+ <flag name="debug">Build an additional debug library with extra debug codepaths, like asserts and extra output. If you want to get meaningful backtraces see &lt;http://www.gentoo.org/proj/en/qa/backtraces.xml&gt;</flag>
+ <flag name="mesh_converter">Build and install the mesh_converter executable</flag>
+ <flag name="metis">Add support for metis (<pkg>sci-libs/metis</pkg>)</flag>
+ <flag name="mumps">Add support for mumps (<pkg>sci-libs/mumps</pkg>)</flag>
+ <flag name="p4est">Add support for p4est (<pkg>sci-mathematics/p4est</pkg>)</flag>
+ <flag name="parameter_gui">Build and install the parameter_gui executable</flag>
+ <flag name="petsc">Add support for petsc (<pkg>sci-libs/petsc</pkg>)</flag>
+ <flag name="trilinos">Add support for trilinos (<pkg>sci-libs/trilinos</pkg>)</flag>
+ <flag name="umfpack">Add support for umfpack (<pkg>sci-libs/umfpack</pkg>)</flag>
+</use>
+</pkgmetadata>