summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sci-libs/p4est/p4est-2.8.5-r3.ebuild')
-rw-r--r--sci-libs/p4est/p4est-2.8.5-r3.ebuild74
1 files changed, 74 insertions, 0 deletions
diff --git a/sci-libs/p4est/p4est-2.8.5-r3.ebuild b/sci-libs/p4est/p4est-2.8.5-r3.ebuild
new file mode 100644
index 000000000000..253f6ee31911
--- /dev/null
+++ b/sci-libs/p4est/p4est-2.8.5-r3.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake toolchain-funcs
+
+DESCRIPTION="Scalable Algorithms for Parallel Adaptive Mesh Refinement on Forests of Octrees"
+HOMEPAGE="http://www.p4est.org/"
+
+LIBSC_VERSION="${PV}"
+
+if [[ ${PV} = *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/cburstedde/${PN}.git"
+ EGIT_BRANCH="develop"
+ SRC_URI=""
+else
+ SRC_URI="https://github.com/cburstedde/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-2+"
+SLOT="0"
+
+# TODO petsc
+IUSE="debug doc examples mpi openmp threads +vtk-binary"
+
+RDEPEND="
+ ~sci-libs/libsc-${LIBSC_VERSION}[mpi=,openmp=,threads=]
+ sys-apps/util-linux
+ virtual/blas
+ virtual/lapack
+ mpi? ( virtual/mpi[romio] )"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-fix_build_system.patch
+ "${FILESDIR}"/${P}-set_version.patch
+ "${FILESDIR}"/${P}-fix_cmake_path.patch
+)
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+src_configure() {
+ # avoid using debug codepaths that are manually enabled with the
+ # RelWithDebInfo build type
+ local CMAKE_BUILD_TYPE="Release"
+
+ local mycmakeargs=(
+ -Dmpi="$(usex mpi)"
+ -Dopenmp="$(usex openmp)"
+ -Dlibrary_reldir="$(get_libdir)"
+ )
+
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+
+ [ ! "$(get_libdir)" = "lib" ] && mv "${ED}"/usr/{lib,$(get_libdir)}/pkgconfig || die "mv failed"
+
+ mkdir -p "${ED}"/usr/share/doc/${PF}
+ mv "${ED}"/usr/share/docs/P4EST/* "${ED}"/usr/share/doc/${PF}/ || die "mv failed"
+ rm -r "${ED}"/usr/share/docs || die "rm failed"
+}