diff options
author | Marek Szuba <marecki@gentoo.org> | 2020-12-20 13:18:48 +0000 |
---|---|---|
committer | Marek Szuba <marecki@gentoo.org> | 2020-12-20 13:28:57 +0000 |
commit | b136f3d38de4caab673aff7ec9e33b5c4a603d7a (patch) | |
tree | e04af4c6aa4c5f48c0029ca83622590bff024bd6 /sci-libs/p4est | |
parent | sci-libs/libsc: migrate to lua-single.eclass (diff) | |
download | gentoo-b136f3d38de4caab673aff7ec9e33b5c4a603d7a.tar.gz gentoo-b136f3d38de4caab673aff7ec9e33b5c4a603d7a.tar.bz2 gentoo-b136f3d38de4caab673aff7ec9e33b5c4a603d7a.zip |
sci-libs/p4est: migrate to lua-single.eclass
Both the latest release and the live ebuild.
Doesn't do any Lua detection by itself, relies on libsc configuration
instead. Therefore, the same compatibility as respective libsc versions.
Status:
- 2.2-r100 builds, tests and installs fine
- 9999 untested due to build failures in sci-libs/libsc-9999
Closes: https://bugs.gentoo.org/752846
Signed-off-by: Marek Szuba <marecki@gentoo.org>
Diffstat (limited to 'sci-libs/p4est')
-rw-r--r-- | sci-libs/p4est/p4est-2.2-r100.ebuild | 121 | ||||
-rw-r--r-- | sci-libs/p4est/p4est-9999.ebuild | 14 |
2 files changed, 129 insertions, 6 deletions
diff --git a/sci-libs/p4est/p4est-2.2-r100.ebuild b/sci-libs/p4est/p4est-2.2-r100.ebuild new file mode 100644 index 000000000000..cde320a2e5c6 --- /dev/null +++ b/sci-libs/p4est/p4est-2.2-r100.ebuild @@ -0,0 +1,121 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +LUA_COMPAT=( lua5-{1..2} ) + +# The build system currently fails with everything newer than 1.11. +WANT_AUTOMAKE=1.11 + +inherit autotools lua-single 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="${LUA_REQUIRED_USE} + romio? ( mpi )" + +RDEPEND="${LUA_DEPS} + ~sci-libs/libsc-${PV}[${LUA_SINGLE_USEDEP},mpi=,openmp=,romio=,static-libs=,threads=] + 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#lib/libsc\.la#$(get_libdir)/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" +} diff --git a/sci-libs/p4est/p4est-9999.ebuild b/sci-libs/p4est/p4est-9999.ebuild index 7f8e399758eb..cf8dea879cea 100644 --- a/sci-libs/p4est/p4est-9999.ebuild +++ b/sci-libs/p4est/p4est-9999.ebuild @@ -1,12 +1,14 @@ # Copyright 1999-2020 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=6 +EAPI=7 + +LUA_COMPAT=( lua5-{1..3} ) # The build system currently fails with everything newer than 1.11. WANT_AUTOMAKE=1.11 -inherit autotools toolchain-funcs eutils +inherit autotools lua-single toolchain-funcs eutils DESCRIPTION="Scalable Algorithms for Parallel Adaptive Mesh Refinement on Forests of Octrees" HOMEPAGE="http://www.p4est.org/" @@ -29,11 +31,11 @@ SLOT="0" # TODO petsc IUSE="debug doc examples mpi openmp romio static-libs threads +vtk-binary" -REQUIRED_USE="romio? ( mpi )" +REQUIRED_USE="${LUA_REQUIRED_USE} + romio? ( mpi )" -RDEPEND=" - ~sci-libs/libsc-${PV}[mpi=,openmp=,romio=,static-libs=,threads=] - dev-lang/lua:0= +RDEPEND="${LUA_DEPS} + ~sci-libs/libsc-${PV}[${LUA_SINGLE_USEDEP},mpi=,openmp=,romio=,static-libs=,threads=] sys-apps/util-linux virtual/blas virtual/lapack |