commit: c44e033f4d003ae9d8cabadcb1a0ce142910cdbe Author: Marek Szuba <marecki <AT> gentoo <DOT> org> AuthorDate: Mon Dec 7 12:20:22 2020 +0000 Commit: Marek Szuba <marecki <AT> gentoo <DOT> org> CommitDate: Mon Dec 7 12:22:09 2020 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c44e033f
sys-apps/likwid-4.3.4: migrate to lua-single.eclass Supports lua5-2 and lua5-3 as per notes in the original ebuild, builds fine against either. Nb. on my system, even before the migration this ebuild only succeeds if I force MAKEOPTS='-j1' - otherwise while linking likwid executables the linker cannot find the package's own liblikwid.so. Adding a separate package.mask line for migrated ebuilds because there is still one ebuild in the tree which requires the package-wide mask. Closes: https://bugs.gentoo.org/752858 Signed-off-by: Marek Szuba <marecki <AT> gentoo.org> profiles/package.mask | 1 + sys-apps/likwid/likwid-4.3.4.ebuild | 26 ++++++++++++++------------ 2 files changed, 15 insertions(+), 12 deletions(-) diff --git a/profiles/package.mask b/profiles/package.mask index fc7ad871a8d..c51c373378e 100644 --- a/profiles/package.mask +++ b/profiles/package.mask @@ -594,6 +594,7 @@ gnome-base/orbit >=sci-libs/plplot-5.15.0-r100 >=sci-visualization/gnuplot-5.4.0-r100 >=sci-visualization/fityk-1.3.1-r100 +>=sys-apps/likwid-4.3.4 >=www-apache/mod_security-2.9.3-r100 >=www-client/elinks-0.13.5-r100 >=www-client/luakit-2.2.1-r100 diff --git a/sys-apps/likwid/likwid-4.3.4.ebuild b/sys-apps/likwid/likwid-4.3.4.ebuild index 02a836a19c6..914ca442fe6 100644 --- a/sys-apps/likwid/likwid-4.3.4.ebuild +++ b/sys-apps/likwid/likwid-4.3.4.ebuild @@ -1,31 +1,32 @@ # Copyright 1999-2020 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=6 +EAPI=7 FORTRAN_NEEDED=fortran +LUA_COMPAT=( lua5-{2..3} ) #PYTHON_COMPAT=( python3_{6,7} ) # 4.3.4 will need python-single-r1 -inherit fcaps fortran-2 linux-info toolchain-funcs +inherit fcaps fortran-2 linux-info lua-single toolchain-funcs DESCRIPTION="A performance-oriented tool suite for x86 multicore environments" HOMEPAGE="https://github.com/rrze-likwid/likwid" SRC_URI="https://ftp.fau.de/pub/likwid/${P}.tar.gz" -# If this ebuild is changed to use the bundled Lua-5.3, then MIT should be -# added to the LICENSE field. LICENSE="GPL-3+ BSD" SLOT="0" KEYWORDS="~amd64" # upstream partial support exists for x86 arm arm64 -IUSE="fortran" # ${PYTHON_REQUIRED_USE} +IUSE="fortran" + +REQUIRED_USE="${LUA_REQUIRED_USE}" # ${PYTHON_REQUIRED_USE} # lua: # likwid's primary functionality is driven by a set of lua scripts installed in # /usr/bin/ # likwid bundles lua-5.3.2, AND supports using a system copy of lua-5.2 or -# lua-5.3, which we use. This ebuild uses the system copy of Lua instead. +# lua-5.3. # # hwloc: # likwid bundles a MODIFIED copy of hwloc-2.0.0a1 with specific configuration @@ -41,7 +42,7 @@ IUSE="fortran" # ${PYTHON_REQUIRED_USE} # Python: # Python3 is used for one helper script, filter/json, added after 4.3.3 CDEPEND="dev-lang/perl - dev-lang/lua:5.3" + ${LUA_DEPS}" # filter/json uses Python3 RDEPEND="${CDEPEND}" @@ -68,6 +69,7 @@ PATCHES=( pkg_setup() { fortran-2_pkg_setup + lua-single_pkg_setup #python-single-r1_pkg_setup } @@ -104,8 +106,8 @@ export_emake_opts() { local INSTALLED_PREFIX=/usr local INSTALLED_LIBPREFIX=/usr/$(get_libdir) # upstream is '$(INSTALLED_PREFIX)/lib' local INSTALLED_MANPREFIX=/usr/share/man # upstream has it as used but undefined variable. - # TODO: support LUA_SINGLE_TARGET here later for Lua 5.2 - local LUASLOT='5.3' + # WARNING: setting LUA_LIB_NAME=${ELUA} does *not* work with LuaJIT, keep this on mind + # should likwid upstream ever begin to support it. # If the build is too loud, pass 'Q=@' src_compile_opts=( "Q=" @@ -118,9 +120,9 @@ export_emake_opts() { "CC=$(tc-getCC)" "ANSI_CFLAGS=${CFLAGS}" "INSTRUMENT_BENCH=true" - "LUA_INCLUDE_DIR=/usr/include/lua${LUASLOT}" - "LUA_LIB_DIR=/usr/$(get_libdir)" - "LUA_LIB_NAME=lua${LUASLOT}" + "LUA_INCLUDE_DIR=$(lua_get_include_dir)" + "LUA_LIB_DIR=$(dirname "$(lua_get_shared_lib)")" + "LUA_LIB_NAME=${ELUA}" "LUA_BIN=/usr/bin" "FORTRAN_INTERFACE=$(usex fortran likwid.mod false)" "FC=$(usex fortran "${FC}" false)"