From a6b30ae169cb20e970f36c2bd8f9711847def05f Mon Sep 17 00:00:00 2001 From: Yixun Lan Date: Fri, 6 Mar 2015 14:54:39 +0000 Subject: [PATCH] initial ebuild, contributed by Brendan Horan, bug 373607 Package-Manager: portage-2.2.17/cvs/Linux x86_64 Manifest-Sign-Key: 0xAABEFD55 --- sys-apps/likwid/Manifest | 24 ++++++- .../likwid/files/likwid-3.1.3-Makefile.patch | 42 ++++++++++++ .../files/likwid-3.1.3-fix-gnustack.patch | 32 +++++++++ sys-apps/likwid/likwid-3.1.3.ebuild | 67 +++++++++++++++++++ sys-apps/likwid/metadata.xml | 10 +++ 5 files changed, 173 insertions(+), 2 deletions(-) create mode 100644 sys-apps/likwid/files/likwid-3.1.3-Makefile.patch create mode 100644 sys-apps/likwid/files/likwid-3.1.3-fix-gnustack.patch create mode 100644 sys-apps/likwid/likwid-3.1.3.ebuild create mode 100644 sys-apps/likwid/metadata.xml diff --git a/sys-apps/likwid/Manifest b/sys-apps/likwid/Manifest index 29859776ab39..690d83ff9630 100644 --- a/sys-apps/likwid/Manifest +++ b/sys-apps/likwid/Manifest @@ -1,6 +1,26 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA256 + AUX likwid-3.1.3-Makefile.patch 2832 SHA256 5711cc68f6e44f64ae864e7e7f772a767416336b9a8caec26ac316260c1897d7 SHA512 8a8a9594c0ca1e9154f49ed7b65a49fcc4cab51f07de0372952753965da960fc0dc296a4ba33613186848901f783852c1dccbbf36c6cf1bb34b908e4f11f5eb0 WHIRLPOOL d25404b98acda314789560502b3391f4db40dc4765ca022b5b2a3a19ec67451d4e0119a64c7245c212028f1493b0c5c1143c4c25bb300e6699d00f544fed0da9 AUX likwid-3.1.3-fix-gnustack.patch 933 SHA256 342cdec17b690451231c89e43ec73ce53fa8fc50b95025ccbf5d58d1a6e7292a SHA512 e14e133eff0abc0d0a4b64843e7e29518de23651d2a599ac8740f6838c5faf7565e5dc0543b6ec9c1bbc273284f481c1048c70c09f19e908c2b620a8bff7502e WHIRLPOOL c7129e714ddae380548cdbcb52d0d0bcbc5416692d418348766f7448a18e61a7d7cc834802957f2235eb4f19982b879272dcc701892429a7d7904760d02f25dd DIST likwid-3.1.3.tar.gz 605675 SHA256 05078ec55dce3d4cf1c94832bd289ccbcaee7bdee9a1ea9f6681ccd3f59ece5b SHA512 e31b4498e702d4ddf61e3c123d43f0804ef4cef149bb3732b61e3894aa9d76feb7a2654bbb0467dd30323031122ea01cf17e4f01a33f193e750cdbdfc09741d7 WHIRLPOOL bccfcc68e792f09a66eab99affa81250fbe34d4759a81a4e0bd0af2535e5bb09229bee4bc165986559d14101183e5be9a933273ec9f1a7c5c8da3f97f07f9e8e -EBUILD likwid-3.1.3.ebuild 1666 SHA256 ef1e5b681c6173d0da60f00d516a82bfc99d7e5140f38f6762ba9ed4ba38456e SHA512 78607452e63c805c9bb9c13df854f367552f287bf5339b9740046804afad1fc0a6ad50051a84bb91d4fd232a27fc8b5e9fef4a94eba88544417142c000de4cc1 WHIRLPOOL bf539996ee6ede9e67ea3c18e5d1e79a01e649e2611cc4a9a72d6fcf01af08e212ee01adb04a457fe47c8458a1e569d6c29844b59dd21dc2dbe64f16eb792646 -MISC ChangeLog 365 SHA256 425d2109bd4eb7a9c92c4ed7c2f31c0e69746e97681018da2a946afb096f66f7 SHA512 33c5561f49ade4e84ddd99ab7aab4b9b257578e99950a46f3cc2ce6ec0d4389929e670f7a6bdcd2d22538838e228334a2aa0a7264db8d6c189f4f6952d1902cc WHIRLPOOL 7a0c32dae2729dcc0ed1c07a36a4b6dd793f833365c9c83b7667d67b90808d9d0c13f4f186cbaa57799c4564cf8f0a076a4d2d071ed85baa25790d754f159589 +EBUILD likwid-3.1.3.ebuild 1761 SHA256 81dcd4da9c89103ab0a7730de5e065b72fa6c5ab8167e0843941ab2edde6a419 SHA512 75a4c1bdbadf98b0a6d68717b741292bc793f837f7d09abca7775a49d0edac61ea7a01deaa94c1d102d5b62d9ccd1e2c7f59cf3ff735bd84e208dae5e37f751a WHIRLPOOL 8f3c497bf41655f94a8f61b41c5e693247d83a396d690465b40644ee4b028acb0a6938b148c48330c89f7935cd88683115ed4ffee2f8686f0ea93653a774be17 +MISC ChangeLog 450 SHA256 f6f6b9ac0c9ca78c62611bff538388c6ec396a477dcb80dd2b0ad2b06499acc8 SHA512 fe923c0ae336d8a35a7179a8603d41c78e9710b2595e499cd6538726b72432232fce976066099f4383cbc6249dda1298968190fe61fd714b3efe1f17244136f2 WHIRLPOOL 2b49f5165ecf385d3ab463462bf08337141e2199077c6371859c72d500fc300cdde7aed4337e6fdc00e3865997c34cc8d6ab44b7c9c375c6d31affc3387006c7 MISC metadata.xml 331 SHA256 241272ef41daea2c77277e3fef08e7468921439e23f8d5ba884bfa7c48c85df5 SHA512 5dad170f48d4704810153f6424db796d5719885d5cc8b25a6178f68265703a7073f640560a700014dc5230e456e60996cb012889becba65cdbd4e0a6488b71e2 WHIRLPOOL f104eff5dbdb1839a9685ce4aa5bd86db4098b2adbadd2dbd95b912a32c4f6f4be480e1a0f0858a80c0d4aa4faeb773fc3fc692b9f649b367686daec57c14799 +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v2 + +iQIcBAEBCAAGBQJU+b+uAAoJEJIMDbyqvv1Vx54QAPAT9W4XBxNnTK7XdmWgaMOW +9kqRoVlGzsG5dB+Z37e0n+Eo90o5xqJCEjFcx+Da3LKzmrkCHpopEk4bkhlPX1Tk +WRSvO6oDXZSUX9lhtFuV+wVLEHc4VI4Yk9ICgtklC9LGuBA8rPcMybq4WMV1WNtA +51UjVkYJVHKZ+ABJL67B/NF35PJtPcA4V8xC2FVRuG2Q0WuXaITUwzjTm9jQqcI2 +r49HONRs36hCK5uFHsnm4Ef4j2wE3fjZAt1E52ljxhvLpXn1pLfJis/QM8NFhFSy +HstkWb6MN8REsvtB3ev5BQsf2W/sgYimDRJWyO7MT2MVhb/AtIy/nQIwP/HQ6Wft +j/WWl99kJzqJdCE/hzVSPRWUiOY3nyYtex3DK8xOSiBPjpetXrcyME+nKhOmrxjQ +VaQ6Yjm1M6hfi83uP/QMjIWjOT77Ib8OhbLjOdsEOZjdjYsubfpHrgqbZ7h68UAO +6/kDp1jbK9pvrnxohXJu/9FL+C4Wz1Tswuy6dBQLMMHWpWjMJyTLW6nEujMza4Bv +mtdCgE6mPGLIizEYeVlh9jVLTJ0FfZf/kloJdwOIButlj58Xjjbie8FUMdK38mu8 +QhcvAXc4FXeNtsNQSalSi2Ds6+ONnCayBqMhkjfWoMimFUIz32u/skC/VYvYVC4V +jyJQe3Wo8hP2TJJRfIKD +=pGJK +-----END PGP SIGNATURE----- diff --git a/sys-apps/likwid/files/likwid-3.1.3-Makefile.patch b/sys-apps/likwid/files/likwid-3.1.3-Makefile.patch new file mode 100644 index 000000000000..a40d0c3262a2 --- /dev/null +++ b/sys-apps/likwid/files/likwid-3.1.3-Makefile.patch @@ -0,0 +1,42 @@ +--- Makefile.org 2015-03-04 16:25:59.942213571 +0800 ++++ Makefile 2015-03-04 16:46:05.640278082 +0800 +@@ -87,7 +87,7 @@ + + LIKWID_LIB = liblikwid + ifeq ($(SHARED_LIBRARY),true) +-CFLAGS += $(SHARED_CFLAGS) -ggdb ++CFLAGS += $(SHARED_CFLAGS) -g -Wa,--noexecstack + DYNAMIC_TARGET_LIB := $(LIKWID_LIB).so + TARGET_LIB := $(DYNAMIC_TARGET_LIB) + LIBS += -L. -llikwid +@@ -307,28 +307,8 @@ + echo "Only root can adjust the privileges of the daemon applications in $(PREFIX)/sbin"; \ + fi; \ + done +- @echo "===> INSTALL man pages to $(MANPREFIX)/man1" +- @mkdir -p $(MANPREFIX)/man1 +- @sed -e "s//$(VERSION)/g" -e "s//$(DATE)/g" < $(DOC_DIR)/likwid-topology.1 > $(MANPREFIX)/man1/likwid-topology.1 +- @sed -e "s//$(VERSION)/g" -e "s//$(DATE)/g" < $(DOC_DIR)/likwid-features.1 > $(MANPREFIX)/man1/likwid-features.1 +- @sed -e "s//$(VERSION)/g" -e "s//$(DATE)/g" < $(DOC_DIR)/likwid-perfctr.1 > $(MANPREFIX)/man1/likwid-perfctr.1 +- @sed -e "s//$(VERSION)/g" -e "s//$(DATE)/g" < $(DOC_DIR)/likwid-powermeter.1 > $(MANPREFIX)/man1/likwid-powermeter.1 +- @sed -e "s//$(VERSION)/g" -e "s//$(DATE)/g" < $(DOC_DIR)/likwid-pin.1 > $(MANPREFIX)/man1/likwid-pin.1 +- @sed -e "s//$(VERSION)/g" -e "s//$(DATE)/g" < $(DOC_DIR)/likwid-setFrequencies.1 > $(MANPREFIX)/man1/likwid-setFrequencies.1 +- @sed -e "s//$(VERSION)/g" -e "s//$(DATE)/g" < $(DOC_DIR)/likwid-bench.1 > $(MANPREFIX)/man1/likwid-bench.1 +- @sed -e "s//$(VERSION)/g" -e "s//$(DATE)/g" < $(DOC_DIR)/feedGnuplot.1 > $(MANPREFIX)/man1/feedGnuplot.1 +- @sed -e "s//$(VERSION)/g" -e "s//$(DATE)/g" < $(DOC_DIR)/likwid-accessD.1 > $(MANPREFIX)/man1/likwid-accessD.1 +- @sed -e "s//$(VERSION)/g" -e "s//$(DATE)/g" < $(DOC_DIR)/likwid-genCfg.1 > $(MANPREFIX)/man1/likwid-genCfg.1 +- @sed -e "s//$(VERSION)/g" -e "s//$(DATE)/g" < $(DOC_DIR)/likwid-memsweeper.1 > $(MANPREFIX)/man1/likwid-memsweeper.1 +- @sed -e "s//$(VERSION)/g" -e "s//$(DATE)/g" < $(DOC_DIR)/likwid-mpirun.1 > $(MANPREFIX)/man1/likwid-mpirun.1 +- @sed -e "s//$(VERSION)/g" -e "s//$(DATE)/g" < $(DOC_DIR)/likwid-perfscope.1 > $(MANPREFIX)/man1/likwid-perfscope.1 +- @sed -e "s//$(VERSION)/g" -e "s//$(DATE)/g" < $(DOC_DIR)/likwid-setFreq.1 > $(MANPREFIX)/man1/likwid-setFreq.1 +- @chmod 644 $(MANPREFIX)/man1/likwid-* +- @echo "===> INSTALL headers to $(PREFIX)/include" +- @mkdir -p $(PREFIX)/include/likwid +- @cp -f src/includes/likwid*.h $(PREFIX)/include/ +- @cp -f src/includes/* $(PREFIX)/include/likwid +- @cp -f GCC/perfmon_group_types.h $(PREFIX)/include/likwid ++ @echo "===> INSTALL man pages" ++ @mkdir -p $(PREFIX)/include/ + $(FORTRAN_INSTALL) + @echo "===> INSTALL libraries to $(PREFIX)/lib" + @mkdir -p $(PREFIX)/lib diff --git a/sys-apps/likwid/files/likwid-3.1.3-fix-gnustack.patch b/sys-apps/likwid/files/likwid-3.1.3-fix-gnustack.patch new file mode 100644 index 000000000000..6ee4149dd5d7 --- /dev/null +++ b/sys-apps/likwid/files/likwid-3.1.3-fix-gnustack.patch @@ -0,0 +1,32 @@ +diff --git a/Makefile b/Makefile +index eecd4e9..34eee7c 100644 +--- a/Makefile ++++ b/Makefile +@@ -259,6 +259,7 @@ $(BUILD_DIR)/%.h: $(SRC_DIR)/includes/%.txt + $(BUILD_DIR)/%.o: $(BUILD_DIR)/%.pas + @echo "===> ASSEMBLE $@" + $(Q)$(PAS) -i $(PASFLAGS) -o $(BUILD_DIR)/$*.s $< '$(DEFINES)' ++ @cat fix_gnustack.txt >> $(BUILD_DIR)/$*.s + $(Q)$(AS) $(ASFLAGS) $(BUILD_DIR)/$*.s -o $@ + + ifeq ($(findstring $(MAKECMDGOALS),clean),) +diff --git a/fix_gnustack.txt b/fix_gnustack.txt +new file mode 100644 +index 0000000..965af94 +--- /dev/null ++++ b/fix_gnustack.txt +@@ -0,0 +1,3 @@ ++#if defined(__linux__) && defined(__ELF__) ++.section .note.GNU-stack,"",%progbits ++#endif +diff --git a/src/loadData.s b/src/loadData.s +index e176c53..9934f7d 100644 +--- a/src/loadData.s ++++ b/src/loadData.s +@@ -20,3 +20,6 @@ ret + .size _loadData, .-_loadData + + ++#if defined(__linux__) && defined(__ELF__) ++.section .note.GNU-stack,"",%progbits ++#endif diff --git a/sys-apps/likwid/likwid-3.1.3.ebuild b/sys-apps/likwid/likwid-3.1.3.ebuild new file mode 100644 index 000000000000..1b3a1157694e --- /dev/null +++ b/sys-apps/likwid/likwid-3.1.3.ebuild @@ -0,0 +1,67 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-apps/likwid/likwid-3.1.3.ebuild,v 1.1 2015/03/06 14:54:27 dlan Exp $ + +EAPI=5 + +inherit eutils fcaps linux-info multilib + +DESCRIPTION="A lightweight performance-oriented tool suite for x86 multicore environments" +HOMEPAGE="https://code.google.com/p/likwid/" +SRC_URI="http://ftp.fau.de/pub/likwid/likwid-${PV}.tar.gz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64" +IUSE="-fortran" + +RDEPEND="dev-lang/perl + fortran? ( sys-devel/gcc:*[fortran] )" + +DEPEND="${RDEPEND} + sys-apps/sed" + +CONFIG_CHECK="~X86_MSR" + +FILECAPS=( + cap_sys_rawio usr/sbin/likwid-accessD -- + cap_sys_rawio usr/bin/likwid-{perfctr,bench,powermeter} +) + +src_prepare() { + sed -e 's:^PREFIX = .*:PREFIX = '${D}'/usr:' \ + -e "/^LIBLIKWIDPIN/s|lib/|$(get_libdir)/|" \ + -i config.mk || die + sed -e "s:\$(PREFIX)/lib:\$(PREFIX)/$(get_libdir):" \ + -i Makefile || die + + sed -e '/LIBS/aSHARED_LFLAGS += -Wl,-soname,$@' \ + -i make/include_GCC.mk || die + sed -e '/^Q/d' -i Makefile || die + sed -e 's//12.02.2014/g' \ + -e "s/VERSION/${PV}/g" \ + -i doc/* || die + sed -e "/exeprog/s|TOSTRING(ACCESSDAEMON)|\"/usr/sbin/likwid-accessD\"|" \ + -i src/accessClient.c || die + + epatch "${FILESDIR}/${P}-Makefile.patch" + epatch "${FILESDIR}/${P}-fix-gnustack.patch" +} + +src_configure() { + if use fortran; then + sed -i 's:^FORTRAN_INTERFACE = false:FORTRAN_INTERFACE = likwid.mod:' config.mk || die + sed -i 's:^FC = ifort:FC = gfortran:' make/include_GCC.mk || die + sed -i '/^FCFLAGS/c\FCFLAGS = -J ./ -fsyntax-only' make/include_GCC.mk || die + fi +} + +src_install () { + default + if use fortran; then + insinto /usr/include + doins likwid.mod + fi + + doman doc/* +} diff --git a/sys-apps/likwid/metadata.xml b/sys-apps/likwid/metadata.xml new file mode 100644 index 000000000000..fa053a36fa48 --- /dev/null +++ b/sys-apps/likwid/metadata.xml @@ -0,0 +1,10 @@ + + + + proxy-maintainers + + brendan@horan.hk + Brendan Horan + Proxy - Maintainer. Assign bugs to him + + -- 2.26.2