diff options
-rw-r--r-- | sci-libs/p4est/Manifest | 2 | ||||
-rw-r--r-- | sci-libs/p4est/p4est-2.0.ebuild | 120 |
2 files changed, 122 insertions, 0 deletions
diff --git a/sci-libs/p4est/Manifest b/sci-libs/p4est/Manifest index 13859d7595c7..993bf23d9221 100644 --- a/sci-libs/p4est/Manifest +++ b/sci-libs/p4est/Manifest @@ -1,4 +1,6 @@ DIST libsc-1.0.tar.gz 257930 SHA256 a9f8a0f342a4a92c4031735e044e7ee73d9fd7e6df3e50a51c4c5016e27ed1ba SHA512 bf5af600e9cbd4038b1bd40c88776b21be5d474e34f9aacf287b890d262a22dc50ca27982c2eb9adba9735c8d9bb1fc31de2a27b24cdab534e3b2f610d76db7d WHIRLPOOL 56f89fcaf90bc8d4f872cee4fe150f692933b39376758c42b67d2e42659c19a9332a1d5e6d2d81c011dade0c6ab40c526c69ce2168fe41060f5d4be1a6595b1b DIST libsc-1.1.tar.gz 263643 SHA256 99c3fb3b7d6514ccaa667bdc848a7308c00f05bf6fdc0561ce286db9644ee03e SHA512 a3d8bea406a1987e68e88dd587aebe28c796f2a5bddfc381b34b5eb1448e0ac23889cc6f97fc1e4010289f83996180db42cbb001d0518360349b993dd37d4579 WHIRLPOOL b6c123cd245e4beb4cd6479e9d781d86784fab6975edc20562c14b5ecc59dbc824aca10fb02e4fa7612f0b2743fd7c7d3799f203546c5859896812a21e1362df +DIST libsc-2.0.tar.gz 296392 SHA256 759c7ed33537fc5eb2fee4c9d90f5d80f7112f13042f4d2d5f34d6c6461cb8e6 SHA512 e4cfe42a1c1fe17412e1ffb6ebebe1f760861a7fb707a6f8fd01cdebda96b166ee05e7ff034f3b9e30de5e9baa82c9a2cebe93d40772dbd206603321de40559c WHIRLPOOL 247a985d948ceba0e682491f4b85d761c76599a82d5f3096ba5214d64691bff1b497739d1f2687ac6a6b04c121eb057c3770a17ee7d5040af16a288bb9f79299 DIST p4est-1.0.tar.gz 695027 SHA256 d669b0487eb0d2765c77adcab551c447f2cfa49d60a5a9016eaf48526ece74b6 SHA512 781240bbca2779f4076c310575ad99e8b526ecf6a3da8b7b5f096615bbfb570dd0556e607797715b69c95c6dd73baf837f1c632be763efae835941107f1fe3df WHIRLPOOL 690e350c3960b48cf5ac6bbc9aeff49557da25a69e152b7dca8fdb91b424f1669e9cf603903fb3f4de01078b964c63f7811b63000cacc5d56845ba96f6c516bf DIST p4est-1.1.tar.gz 1241423 SHA256 14a4ba6c5883ece611c90fae29bc60a454c20db43df646b232bd5aa552acd5cf SHA512 11eb576a16a4cc959eff8894d6cb11d8bae092951be9cf9d71b538825bdf675af7fd77d79505b9e896ec1810c1f8e9391447a79263c6d2e33fef780e97d07f29 WHIRLPOOL 38253d7dd01d5406c5e7e773afdabcac85d49bedd86d3a325c227b32e9d09ddb5397a77e8485489a2e46c582ea242d5eaad877c139504088246d2b8d31b86c63 +DIST p4est-2.0.tar.gz 1296762 SHA256 1533989c089253372bf3a134740a06cad3fff6c6e9969c09dc31ee14b27f1efe SHA512 05f8a95ad431bd36fd3e48ca9360de0f90d1af7dfc77601cd46766898a9bc82b9157e22bdb6135e7003f59c7ecc4cd9ad34b89de25ba3c6f11a86d46cac8592c WHIRLPOOL 0b9d50ae1e9349db32fe2b3eee98b868a306df7666d2b085946a0e9279dcd38514fbd78247523f0e5722687015a1dd92e7c806cf4ffa294539c0e74664a26614 diff --git a/sci-libs/p4est/p4est-2.0.ebuild b/sci-libs/p4est/p4est-2.0.ebuild new file mode 100644 index 000000000000..a54c8b564e3e --- /dev/null +++ b/sci-libs/p4est/p4est-2.0.ebuild @@ -0,0 +1,120 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +# The build system currently fails with everything newer than 1.11. +WANT_AUTOMAKE=1.11 + +inherit autotools toolchain-funcs eutils + +DESCRIPTION="Scalable Algorithms for Parallel Adaptive Mesh Refinement on Forests of Octrees" +HOMEPAGE="http://www.p4est.org/" + +if [[ ${PV} = *9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/cburstedde/${PN}.git" + EGIT_BRANCH="develop" + SRC_URI="" + KEYWORDS="" +else + SRC_URI=" + https://github.com/cburstedde/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz + https://github.com/cburstedde/libsc/archive/v${PV}.tar.gz -> libsc-${PV}.tar.gz" + KEYWORDS="~amd64 ~x86" +fi + +LICENSE="GPL-2+" +SLOT="0" + +# TODO petsc +IUSE="debug doc examples mpi openmp romio static-libs threads +vtk-binary" +REQUIRED_USE="romio? ( mpi )" + +RDEPEND=" + ~sci-libs/libsc-${PV}[mpi=,openmp=,romio=,static-libs=,threads=] + dev-lang/lua:* + sys-apps/util-linux + virtual/blas + virtual/lapack + mpi? ( virtual/mpi[romio=] )" + +DEPEND=" + ${RDEPEND} + sys-devel/automake:1.11 + virtual/pkgconfig" + +DOCS=( AUTHORS NEWS README ) + +pkg_pretend() { + if [[ ${MERGE_TYPE} != "binary" ]] && use openmp; then + tc-has-openmp || \ + die "Please select an openmp capable compiler like gcc[openmp]" + fi +} + +src_prepare() { + default + + # Inject libsc to get all parts of the build system... + if ! [[ ${PV} = *9999* ]]; then + rmdir "${S}/sc" || die "rmdir failed" + mv "${WORKDIR}/libsc-${PV}" "${S}/sc" || die "mv failed" + fi + + # Inject a version number into the build system + echo "${PV}" > ${S}/.tarball-version + + AT_M4DIR="${WORKDIR}/${P}/config ${WORKDIR}/${P}/sc/config" + eautoreconf + + sed -i \ + "s/P4EST_SC_DIR\/etc/P4EST_SC_DIR\/share\/libsc/" \ + "${S}"/configure || die "sed failed" + + sed -i \ + "s/libsc\.la/libsc\.so/" \ + "${S}"/configure || die "sed failed" + +} + +src_configure() { + # avoid underlinkage + LDFLAGS="${LDFLAGS} -lsc" + + local myeconfargs=( + $(use_enable debug) + $(use_enable mpi) + $(use_enable openmp) + $(use_enable romio mpiio) + $(use_enable static-libs static) + $(use_enable threads pthread) + $(use_enable vtk-binary) + --with-blas="$($(tc-getPKG_CONFIG) --libs blas)" + --with-lapack="$($(tc-getPKG_CONFIG) --libs lapack)" + --with-sc="${EPREFIX}/usr" + ) + econf "${myeconfargs[@]}" +} + +src_install() { + default + + use doc && dodoc -r doc/* + + if use examples + then + docinto examples + dodoc -r example/* + docompress -x /usr/share/doc/${PF}/examples + else + # Remove compiled example binaries in case of -examples: + rm -r "${ED}"/usr/bin || die "rm failed" + fi + + # Fix wrong installation paths: + dodir /usr/share/p4est + mv "${ED}"/usr/share/data "${ED}"/usr/share/p4est/data || die "mv failed" + mv "${ED}"/etc/* "${ED}"/usr/share/p4est || die "mv failed" + rmdir "${ED}"/etc/ || die "rmdir failed" +} |