summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sci-libs/p4est/files/p4est-9999-set_version.patch44
-rw-r--r--sci-libs/p4est/p4est-9999.ebuild97
2 files changed, 65 insertions, 76 deletions
diff --git a/sci-libs/p4est/files/p4est-9999-set_version.patch b/sci-libs/p4est/files/p4est-9999-set_version.patch
new file mode 100644
index 000000000000..0820b001d8cd
--- /dev/null
+++ b/sci-libs/p4est/files/p4est-9999-set_version.patch
@@ -0,0 +1,44 @@
+diff --git a/cmake/git.cmake b/cmake/git.cmake
+index dd6009e..7c5c8f3 100644
+--- a/cmake/git.cmake
++++ b/cmake/git.cmake
+@@ -1,36 +1,3 @@
+ # --- extract version from Git
+
+-set(PROJECT_VERSION 0.0.0)
+-find_program(GIT_VERSION_GEN NAMES git-version-gen
+- PATHS ${CMAKE_SOURCE_DIR}/build-aux NO_DEFAULT_PATH)
+-if(GIT_VERSION_GEN)
+- execute_process(COMMAND ${GIT_VERSION_GEN} .tarball_version
+- WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+- RESULT_VARIABLE _err
+- OUTPUT_VARIABLE git_version
+- OUTPUT_STRIP_TRAILING_WHITESPACE)
+-endif()
+-if(_err EQUAL 0)
+- if(git_version MATCHES
+- "^(0|[1-9][0-9]*)[.](0|[1-9][0-9]*)[.](0|[1-9][0-9]*)[.].*")
+- set(_major "${CMAKE_MATCH_1}")
+- set(_minor "${CMAKE_MATCH_2}")
+- set(_patch "${CMAKE_MATCH_3}")
+- set(PROJECT_VERSION ${_major}.${_minor}.${_patch}.999)
+- elseif(git_version MATCHES
+- "^(0|[1-9][0-9]*)[.](0|[1-9][0-9]*)[.](0|[1-9][0-9]*)")
+- set(_major "${CMAKE_MATCH_1}")
+- set(_minor "${CMAKE_MATCH_2}")
+- set(_patch "${CMAKE_MATCH_3}")
+- set(PROJECT_VERSION ${_major}.${_minor}.${_patch})
+- elseif(git_version MATCHES
+- "^(0|[1-9][0-9]*)[.](0|[1-9][0-9]*)")
+- set(_major "${CMAKE_MATCH_1}")
+- set(_minor "${CMAKE_MATCH_2}")
+- set(PROJECT_VERSION ${_major}.${_minor})
+- elseif(git_version MATCHES
+- "^(0|[1-9][0-9]*)")
+- set(_major "${CMAKE_MATCH_1}")
+- set(PROJECT_VERSION ${_major})
+- endif()
+-endif()
++set(PROJECT_VERSION 9999.0.0)
+
+
diff --git a/sci-libs/p4est/p4est-9999.ebuild b/sci-libs/p4est/p4est-9999.ebuild
index c7756fee11c5..d27a0814359b 100644
--- a/sci-libs/p4est/p4est-9999.ebuild
+++ b/sci-libs/p4est/p4est-9999.ebuild
@@ -1,24 +1,22 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-LUA_COMPAT=( lua5-{1..3} )
-
-inherit autotools flag-o-matic lua-single toolchain-funcs
+inherit cmake flag-o-matic toolchain-funcs
DESCRIPTION="Scalable Algorithms for Parallel Adaptive Mesh Refinement on Forests of Octrees"
HOMEPAGE="http://www.p4est.org/"
+LIBSC_VERSION="2.8.3"
+
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
- https://github.com/cburstedde/libsc/archive/v${PV}.tar.gz -> libsc-${PV}.tar.gz"
+ SRC_URI="https://github.com/cburstedde/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~amd64 ~x86"
fi
@@ -26,22 +24,20 @@ LICENSE="GPL-2+"
SLOT="0"
# TODO petsc
-IUSE="debug doc examples mpi openmp romio threads +vtk-binary"
-REQUIRED_USE="${LUA_REQUIRED_USE}
- romio? ( mpi )"
+IUSE="debug doc examples mpi openmp threads +vtk-binary"
-RDEPEND="${LUA_DEPS}
- ~sci-libs/libsc-${PV}[${LUA_SINGLE_USEDEP},mpi=,openmp=,romio=,threads=]
+RDEPEND="
+ ~sci-libs/libsc-${LIBSC_VERSION}[mpi=,openmp=,threads=]
sys-apps/util-linux
virtual/blas
virtual/lapack
- mpi? ( virtual/mpi[romio=] )"
+ mpi? ( virtual/mpi[romio] )"
DEPEND="${RDEPEND}"
BDEPEND="virtual/pkgconfig"
PATCHES=(
- "${FILESDIR}"/${PN}-2.3-fix_aclocal.patch
- "${FILESDIR}"/${PN}-2.3-add_soname.patch
+ "${FILESDIR}"/${PN}-2.8-fix_build_system.patch
+ "${FILESDIR}"/${P}-set_version.patch
)
pkg_pretend() {
@@ -50,73 +46,22 @@ pkg_pretend() {
pkg_setup() {
[[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
- lua-single_pkg_setup
-}
-
-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
- append-libs -lsc
-
- local myeconfargs=(
- --disable-static
- $(use_enable debug)
- $(use_enable mpi)
- $(use_enable openmp)
- $(use_enable romio mpiio)
- $(use_enable threads pthread)
- $(use_enable vtk-binary)
- --with-blas="$($(tc-getPKG_CONFIG) --libs blas)"
- --with-lapack="$($(tc-getPKG_CONFIG) --libs lapack)"
- --with-sc="${ESYSROOT}/usr"
+ local mycmakeargs=(
+ -Dmpi="$(usex mpi)"
+ -Dopenmp="$(usex openmp)"
+ -Dlibrary_reldir="$(get_libdir)"
)
- econf "${myeconfargs[@]}"
+
+ cmake_src_configure
}
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"
+ cmake_src_install
- # no static archives
- find "${ED}" -name '*.la' -delete || die
+ rm "${ED}"/usr/lib/cmake/Modules/FindSC.cmake || die "rm failed"
+ mv "${ED}"/usr/share/docs/P4EST/* "${ED}"/usr/share/doc/${P}/ || die "mv failed"
+ rm -r "${ED}"/usr/share/docs || die "rm failed"
}