summaryrefslogtreecommitdiff
path: root/sys-apps/likwid
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2020-12-14 13:26:14 +0000
committerV3n3RiX <venerix@redcorelinux.org>2020-12-14 13:26:14 +0000
commit6abbf81ef2f298e3221ff5e67a1f3c5f23958212 (patch)
tree25413d1cb3a0cbfe36029db32398c0f333609215 /sys-apps/likwid
parent9c417bacd51da6d8b57fa9f37425161d30d4b95b (diff)
gentoo resync : 14.12.2020
Diffstat (limited to 'sys-apps/likwid')
-rw-r--r--sys-apps/likwid/Manifest4
-rw-r--r--sys-apps/likwid/likwid-4.3.3.ebuild185
-rw-r--r--sys-apps/likwid/likwid-4.3.4.ebuild26
3 files changed, 15 insertions, 200 deletions
diff --git a/sys-apps/likwid/Manifest b/sys-apps/likwid/Manifest
index 9268a4bcabea..a89e8d933ac0 100644
--- a/sys-apps/likwid/Manifest
+++ b/sys-apps/likwid/Manifest
@@ -1,6 +1,4 @@
AUX likwid-4.3.1-fix-gnustack.patch 1014 BLAKE2B 68ac831c96f826156238bbb4178c4923cb869a2757928af12f788a01067fb129326fec0c7a98b073f504f0aa8234d42dcd9fe7cdb0185b8107a6db3962cfbc08 SHA512 ab12e2ebebfca5c87b1ad2c89c5073aaa6987e8d440cfdfffc107233fc5b66c6562f25fdbd6720df3c1477becaaa3c3ac470fa4f99ac15bb78ea09fa06460a4b
-DIST likwid-4.3.3.tar.gz 1579433 BLAKE2B 9ec468bba009dec860b24c9c55c3d6023ffda3ab0985d835796686ba52d1d3372b2bfce926cf229388978de34e1ab0b41d8d27c88623c51c3e8ff1e9d674906b SHA512 ae4d68e238bc40e4a4ab5df628561c9bb7a0ef8727d5779dba2c32fff0be1dd333532bee7e4c197e5fe286de81d35b863ef09f4bc8b9f9145360e6e461f3d94e
DIST likwid-4.3.4.tar.gz 1584829 BLAKE2B dcd1c3a0c5e549dc3d22bb98120339521e270da55460f5af9f2fe04849af0fe1ac4d9b881883a4efc3695ceb087d1afad5bcc55b55543199d2c33b0f5012cc68 SHA512 f1ee930a98d160728078a81a2cdc798ec62ac484545ced937131e6a6443e5ac23b8e597d31c7b1b9f67c1169e1c662c366cf1098158cb467d9f7ff12946b08a2
-EBUILD likwid-4.3.3.ebuild 5524 BLAKE2B f1f755a47c7ecd2f8f549dcb264f22fa11641038c50b8e0aaea538145c724e92b8b0d86066441240aba2c961a5aa897963457797a480dbbbfacdcf9847d01a05 SHA512 fbd78dcadcf4e66b3e4b37b7fa4345d7c52ebdc10fcb340f2dad878889b836ba6b19090b3d17c96ff9dcdc6e3f72092de8141a6ffb7bb8be217dec45de0bb950
-EBUILD likwid-4.3.4.ebuild 5524 BLAKE2B f1f755a47c7ecd2f8f549dcb264f22fa11641038c50b8e0aaea538145c724e92b8b0d86066441240aba2c961a5aa897963457797a480dbbbfacdcf9847d01a05 SHA512 fbd78dcadcf4e66b3e4b37b7fa4345d7c52ebdc10fcb340f2dad878889b836ba6b19090b3d17c96ff9dcdc6e3f72092de8141a6ffb7bb8be217dec45de0bb950
+EBUILD likwid-4.3.4.ebuild 5514 BLAKE2B c7bdc0310f21b8985128bc6006f57a3bfa3746783a8bbdd6187a7569ad4ea74580a67ee6a250e0aa73960adf01066d0428a75b21479011c23a79bec54eaa4d8c SHA512 b9a511141568693eb960a4837914e8357dc814280b58e062286ba6472aedadca86e9f6cbaab89320a456df99a2edf1c61ee3978411d2d38f78690aba93160914
MISC metadata.xml 333 BLAKE2B bb0321ece26d2e67d8c0cce9895247e8dcb84d72ca1b0186f066e639805e4006d9a8288403042c6fd96fd02489b554eb208843eafe436140f6e352121e5b1806 SHA512 bc44f5e8d86426c7fc32dc2d75c42d85a456c69cacccc1f44dbb8c561defb1748dd665fcc916d3a6577766a3d7bbd0944fa73f7df04b2d17b3fd3353929fa2e2
diff --git a/sys-apps/likwid/likwid-4.3.3.ebuild b/sys-apps/likwid/likwid-4.3.3.ebuild
deleted file mode 100644
index 02a836a19c6d..000000000000
--- a/sys-apps/likwid/likwid-4.3.3.ebuild
+++ /dev/null
@@ -1,185 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-FORTRAN_NEEDED=fortran
-#PYTHON_COMPAT=( python3_{6,7} )
-
-# 4.3.4 will need python-single-r1
-inherit fcaps fortran-2 linux-info 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}
-
-# 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.
-#
-# hwloc:
-# likwid bundles a MODIFIED copy of hwloc-2.0.0a1 with specific configuration
-# for CPU probing & access
-#
-# Perl:
-# likwid uses Perl to convert from an internal text format to ASM listings
-# likwid also uses perl for some installed helper scripts
-# The build system bundles some Perl modules, that are not removed at this time:
-# Parse-RecDescent
-# Template
-#
-# Python:
-# Python3 is used for one helper script, filter/json, added after 4.3.3
-CDEPEND="dev-lang/perl
- dev-lang/lua:5.3"
-
-# filter/json uses Python3
-RDEPEND="${CDEPEND}"
- #${PYTHON_DEPS}"
-
-# Part of the build process depends on Data::Dumper
-# perl-core/Data-Dumper"
-DEPEND="${CDEPEND}"
-
-CONFIG_CHECK="~X86_MSR"
-
-FILECAPS=(
- -M 755 cap_sys_rawio+ep usr/sbin/likwid-accessD
- --
- -M 755 cap_sys_rawio+ep usr/sbin/likwid-setFreq
-)
-
-PATCHES=(
- "${FILESDIR}/${PN}-4.3.1-fix-gnustack.patch"
- # Old patches are obsolete:
- #"${FILESDIR}/${PN}-4.3.1-Makefile.patch"
- #"${FILESDIR}/${PN}-4.3.1-config.mk.patch"
-)
-
-pkg_setup() {
- fortran-2_pkg_setup
- #python-single-r1_pkg_setup
-}
-
-src_prepare() {
- # Ensure we build with a non executable stack
- sed \
- -e '/^SHARED_CFLAGS/s/$/ -Wa,--noexecstack/' \
- -i make/include_{GCC*,CLANG}.mk \
- || die "Failed to set nonexecstack"
-
- # Make the install targets respect Q= for being quiet or not
- # MUCH easier for debugging
- sed -r \
- -e '/^install/,/^[a-z]/{/^\t@/{ s/@/$(Q)/; }}' \
- -i \
- Makefile || die "Failed to sed Makefile"
-
- sed -i \
- -e '/^\.NOTPARALLEL:/d' \
- Makefile \
- bench/Makefile \
- ext/hwloc/Makefile || die "Failed to re-enable parallel"
-
- default
-}
-
-export_emake_opts() {
- # Warning: this build system uses PREFIX in a way that differs from
- # autoconf! It's more like:
- # PREFIX=$(DESTDIR)$(INSTALLED_PREFIX)
- # it's not 100% like that, because parts of the Makefiles are inconsistent.
- # this is the same solution used in the upstream RPM specs
- # these variables are uppercase so they match what's put into Make.
- 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'
- # If the build is too loud, pass 'Q=@'
- src_compile_opts=(
- "Q="
- "INSTALLED_PREFIX=${INSTALLED_PREFIX}"
- "INSTALLED_LIBPREFIX=${INSTALLED_LIBPREFIX}"
- "INSTALLED_MANPREFIX=${INSTALLED_MANPREFIX}"
- "PREFIX=${INSTALLED_PREFIX}"
- "LIBPREFIX=${INSTALLED_LIBPREFIX}"
- "MANPREFIX=${INSTALLED_MANPREFIX}"
- "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_BIN=/usr/bin"
- "FORTRAN_INTERFACE=$(usex fortran likwid.mod false)"
- "FC=$(usex fortran "${FC}" false)"
- "FCFLAGS=-J ./ -fsyntax-only" # needed for building correctly
- )
- src_install_opts=(
- "PREFIX=${D}${INSTALLED_PREFIX}"
- "LIBPREFIX=${D}${INSTALLED_LIBPREFIX}"
- "MANPREFIX=${D}${INSTALLED_MANPREFIX}"
- )
-}
-
-src_compile() {
- export_emake_opts
- emake \
- "${src_compile_opts[@]}"
-}
-
-src_install() {
- export_emake_opts
- emake \
- "${src_compile_opts[@]}" \
- "${src_install_opts[@]}" \
- DESTDIR="${D}" \
- install
-
- use fortran && doheader likwid.mod
-
- # Fix Python filter added shortly after 4.3.3
- #python_fix_shebang "${D}"/usr/share/likwid/filter/
-
- # Do NOT use 'doman'! The upstream 'make install' target does a sed as it's
- # generating the final manpage to the real install dir; and the copies in
- # ${S} are unmodified.
- dodoc README.md CHANGELOG doc/logo.png
- dodoc doc/*.txt
- dodoc doc/*.md
- dodoc -r doc/applications doc/archs
- # Fix upstream partial doc install
- rm -rf "${D}"/usr/share/likwid/docs || die
- ln -sf "/usr/share/doc/${PF}" "${D}"/usr/share/likwid/docs || die
-}
-
-pkg_preinst() {
- # This is now a symlink, but used to be a plain directory
- OLDDOCDIR=/usr/share/likwid/docs
- if [[ ! -L "${OLDDOCDIR}" && -d "${OLDDOCDIR}" ]]; then
- einfo "Cleaning up old docdir at ${OLDDOCDIR}"
- rm -rf "${OLDDOCDIR}" || die
- fi
-}
-
-pkg_postinst() {
- fcaps_pkg_postinst
- einfo "If you get 'Cannot gather values from MSR_PLATFORM_INFO', then 'modprobe msr'!"
- einfo
- ewarn "To enable users to access performance counters it is necessary to"
- ewarn "change the access permissions to /dev/cpu/msr[0]* devices."
- ewarn "It can be accomplished by adding the following line to file"
- ewarn "/etc/udev/rules.d/99-myrules.rules: KERNEL==\"msr[0-9]*\" MODE=\"0666\""
- ewarn "Alternatively, assign the MSR files to a unique group and use mode 0660"
-}
diff --git a/sys-apps/likwid/likwid-4.3.4.ebuild b/sys-apps/likwid/likwid-4.3.4.ebuild
index 02a836a19c6d..914ca442fe63 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)"