From 778bcc52e751edb3d000ff58fe08c73eaa2a854e Mon Sep 17 00:00:00 2001 From: Marek Szuba Date: Sun, 20 Dec 2020 13:05:42 +0000 Subject: sci-libs/libsc: migrate to lua-single.eclass Both the latest release and the live ebuild. Compatibility as per upstream build scripts. Uses a weird home-grown way of detecting Lua which makes implicit assumptions about paths used by Lua headers, I think I've managed to figure it out though. Status: - 2.2-r100 builds and installs fine but has one test (dmatrix) failing with a non-zero exit code, which test however has got nothing to do with Lua; - 9999 fails to build on an unrelated matter (upstream version-processing macros do not like "9999" appearing as version number). Closes: https://bugs.gentoo.org/752840 Signed-off-by: Marek Szuba --- .../files/libsc-2.2-autoconf_lua_version.patch | 51 +++++++++++ .../libsc-9999_20201220-autoconf_lua_version.patch | 57 ++++++++++++ sci-libs/libsc/libsc-2.2-r100.ebuild | 101 +++++++++++++++++++++ sci-libs/libsc/libsc-9999.ebuild | 24 +++-- 4 files changed, 225 insertions(+), 8 deletions(-) create mode 100644 sci-libs/libsc/files/libsc-2.2-autoconf_lua_version.patch create mode 100644 sci-libs/libsc/files/libsc-9999_20201220-autoconf_lua_version.patch create mode 100644 sci-libs/libsc/libsc-2.2-r100.ebuild (limited to 'sci-libs/libsc') diff --git a/sci-libs/libsc/files/libsc-2.2-autoconf_lua_version.patch b/sci-libs/libsc/files/libsc-2.2-autoconf_lua_version.patch new file mode 100644 index 000000000000..c2cbdb1b003b --- /dev/null +++ b/sci-libs/libsc/files/libsc-2.2-autoconf_lua_version.patch @@ -0,0 +1,51 @@ +--- a/config/sc_include.m4 ++++ b/config/sc_include.m4 +@@ -281,7 +281,7 @@ AC_DEFUN([SC_CHECK_LIBRARIES], + [ + SC_REQUIRE_LIB([m], [fabs]) + SC_CHECK_LIB([z], [adler32_combine], [ZLIB], [$1]) +-SC_CHECK_LIB([lua52 lua5.2 lua51 lua5.1 lua lua5], [lua_createtable], ++SC_CHECK_LIB([$LUA_IMPL], [lua_createtable], + [LUA], [$1]) + SC_CHECK_BLAS_LAPACK([$1]) + SC_BUILTIN_ALL_PREFIX([$1]) +--- a/configure.ac ++++ b/configure.ac +@@ -74,7 +74,7 @@ echo "| Checking headers" + echo "o---------------------------------------" + + AC_CHECK_HEADERS([execinfo.h signal.h sys/time.h sys/types.h time.h]) +-AC_CHECK_HEADERS([lua.h lua5.1/lua.h lua5.2/lua.h lua5.3/lua.h]) ++AC_CHECK_HEADERS([$LUA_IMPL/lua.h]) + + echo "o---------------------------------------" + echo "| Checking functions" +--- a/src/sc_lua.h ++++ b/src/sc_lua.h +@@ -30,23 +30,9 @@ + + SC_EXTERN_C_BEGIN; + +-#ifdef SC_HAVE_LUA5_2_LUA_H +-#include +-#include +-#include +-#else +-#ifdef SC_HAVE_LUA5_1_LUA_H +-#include +-#include +-#include +-#else +-#ifdef SC_HAVE_LUA_H +-#include +-#include +-#include +-#endif +-#endif +-#endif ++#include <@LUA_IMPL@/lua.h> ++#include <@LUA_IMPL@/lualib.h> ++#include <@LUA_IMPL@/lauxlib.h> + + SC_EXTERN_C_END; + diff --git a/sci-libs/libsc/files/libsc-9999_20201220-autoconf_lua_version.patch b/sci-libs/libsc/files/libsc-9999_20201220-autoconf_lua_version.patch new file mode 100644 index 000000000000..c138bb3fc4ba --- /dev/null +++ b/sci-libs/libsc/files/libsc-9999_20201220-autoconf_lua_version.patch @@ -0,0 +1,57 @@ +--- a/config/sc_include.m4 ++++ b/config/sc_include.m4 +@@ -281,7 +281,7 @@ AC_DEFUN([SC_CHECK_LIBRARIES], + [ + SC_REQUIRE_LIB([m], [fabs]) + SC_CHECK_LIB([z], [adler32_combine], [ZLIB], [$1]) +-SC_CHECK_LIB([lua53 lua5.3 lua52 lua5.2 lua51 lua5.1 lua lua5], [lua_createtable], ++SC_CHECK_LIB([$LUA_IMPL], [lua_createtable], + [LUA], [$1]) + SC_CHECK_BLAS_LAPACK([$1]) + SC_BUILTIN_ALL_PREFIX([$1]) +--- a/configure.ac ++++ b/configure.ac +@@ -74,7 +74,7 @@ echo "| Checking headers" + echo "o---------------------------------------" + + AC_CHECK_HEADERS([execinfo.h signal.h sys/time.h sys/types.h time.h]) +-AC_CHECK_HEADERS([lua.h lua5.1/lua.h lua5.2/lua.h lua5.3/lua.h]) ++AC_CHECK_HEADERS([$LUA_IMPL/lua.h]) + + echo "o---------------------------------------" + echo "| Checking functions" +--- a/src/sc_lua.h ++++ b/src/sc_lua.h +@@ -30,29 +30,9 @@ + + SC_EXTERN_C_BEGIN; + +-#ifdef SC_HAVE_LUA5_3_LUA_H +-#include +-#include +-#include +-#else +-#ifdef SC_HAVE_LUA5_2_LUA_H +-#include +-#include +-#include +-#else +-#ifdef SC_HAVE_LUA5_1_LUA_H +-#include +-#include +-#include +-#else +-#ifdef SC_HAVE_LUA_H +-#include +-#include +-#include +-#endif +-#endif +-#endif +-#endif ++#include <@LUA_IMPL@/lua.h> ++#include <@LUA_IMPL@/lualib.h> ++#include <@LUA_IMPL@/lauxlib.h> + + SC_EXTERN_C_END; + diff --git a/sci-libs/libsc/libsc-2.2-r100.ebuild b/sci-libs/libsc/libsc-2.2-r100.ebuild new file mode 100644 index 000000000000..0f53a1eb30b7 --- /dev/null +++ b/sci-libs/libsc/libsc-2.2-r100.ebuild @@ -0,0 +1,101 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +LUA_COMPAT=( lua5-{1..2} ) + +inherit autotools lua-single toolchain-funcs eutils + +DESCRIPTION="Support for parallel scientific applications" +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" + KEYWORDS="~amd64 ~x86" +fi + +LICENSE="LGPL-2.1+" +SLOT="0" +IUSE="debug examples mpi openmp romio static-libs threads" + +REQUIRED_USE="${LUA_REQUIRED_USE} + romio? ( mpi )" + +RDEPEND="${LUA_DEPS} + sys-apps/util-linux + virtual/blas + virtual/lapack + mpi? ( virtual/mpi[romio?] )" + +DEPEND=" + ${RDEPEND} + virtual/pkgconfig" + +PATCHES=( + "${FILESDIR}"/${PN}-2.2-autoconf_lua_version.patch +) + +DOCS=( AUTHORS NEWS README ) + +AUTOTOOLS_AUTORECONF=true + +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 + + sed -i -e "s/@LUA_IMPL@/${ELUA}/" "${S}"/src/sc_lua.h || die + + # Inject a version number into the build system + echo "${PV}" > ${S}/.tarball-version || die + eautoreconf +} + +src_configure() { + local myeconfargs=( + $(use_enable debug) + $(use_enable mpi) + $(use_enable openmp openmp) + $(use_enable romio mpiio) + $(use_enable static-libs static) + $(use_enable threads pthread) + --with-blas="$($(tc-getPKG_CONFIG) --libs blas)" + --with-lapack="$($(tc-getPKG_CONFIG) --libs lapack)" + ) + econf LUA_IMPL="${ELUA}" "${myeconfargs[@]}" +} + +src_install() { + default + + 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 + + # Remove ac files, bug #619806 + rm -r "${ED}"/usr/share/aclocal || die "rm failed" + + # Fix wrong installation paths: + dodir /usr/share/libsc + mv "${ED}"/etc/* "${ED}"/usr/share/libsc || die "mv failed" + rmdir "${ED}"/etc/ || die "rmdir failed" + mv "${ED}"/usr/share/ini/* "${ED}"/usr/share/libsc || die "mv failed" + rmdir "${ED}"/usr/share/ini || die "rmdir failed" +} diff --git a/sci-libs/libsc/libsc-9999.ebuild b/sci-libs/libsc/libsc-9999.ebuild index 229d1ccd05fc..4c588fc838b4 100644 --- a/sci-libs/libsc/libsc-9999.ebuild +++ b/sci-libs/libsc/libsc-9999.ebuild @@ -1,9 +1,11 @@ -# Copyright 1999-2017 Gentoo Foundation +# Copyright 1999-2020 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=6 +EAPI=7 -inherit autotools toolchain-funcs eutils +LUA_COMPAT=( lua5-{1..3} ) + +inherit autotools lua-single toolchain-funcs eutils DESCRIPTION="Support for parallel scientific applications" HOMEPAGE="http://www.p4est.org/" @@ -23,10 +25,10 @@ LICENSE="LGPL-2.1+" SLOT="0" IUSE="debug examples mpi openmp romio static-libs threads" -REQUIRED_USE="romio? ( mpi )" +REQUIRED_USE="${LUA_REQUIRED_USE} + romio? ( mpi )" -RDEPEND=" - dev-lang/lua:* +RDEPEND="${LUA_DEPS} sys-apps/util-linux virtual/blas virtual/lapack @@ -36,6 +38,10 @@ DEPEND=" ${RDEPEND} virtual/pkgconfig" +PATCHES=( + "${FILESDIR}"/${PN}-9999_20201220-autoconf_lua_version.patch +) + DOCS=( AUTHORS NEWS README ) AUTOTOOLS_AUTORECONF=true @@ -50,8 +56,10 @@ pkg_pretend() { src_prepare() { default + sed -i -e "s/@LUA_IMPL@/${ELUA}/" "${S}"/src/sc_lua.h || die + # Inject a version number into the build system - echo "${PV}" > ${S}/.tarball-version + echo "${PV}" > ${S}/.tarball-version || die eautoreconf } @@ -66,7 +74,7 @@ src_configure() { --with-blas="$($(tc-getPKG_CONFIG) --libs blas)" --with-lapack="$($(tc-getPKG_CONFIG) --libs lapack)" ) - econf "${myeconfargs[@]}" + econf LUA_IMPL="${ELUA}" "${myeconfargs[@]}" } src_install() { -- cgit v1.2.3-65-gdbad