commit:     390af2577dd1e8b6bac45055fae29999a7304740
Author:     Martin Kletzander <nert.pinx <AT> gmail <DOT> com>
AuthorDate: Tue Jun  7 13:12:50 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Jun  7 21:09:15 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=390af257

dev-util/systemtap: Add versions 4.6 and 4.7

Adding both because systemtap is special and very dependent on linux
kernel versions, so having both allows for better mix & match.
Version 4.7 is needed for 5.17.12 in my tests.  As far as git history
goes I have found no dependency changes.

Closes: https://bugs.gentoo.org/828656
Package-Manager: Portage-3.0.30, Repoman-3.0.3
Signed-off-by: Martin Kletzander <nert.pinx <AT> gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/25790
Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-util/systemtap/Manifest             |   2 +
 dev-util/systemtap/systemtap-4.6.ebuild | 126 ++++++++++++++++++++++++++++++++
 dev-util/systemtap/systemtap-4.7.ebuild | 126 ++++++++++++++++++++++++++++++++
 3 files changed, 254 insertions(+)

diff --git a/dev-util/systemtap/Manifest b/dev-util/systemtap/Manifest
index 1d64fe22ed41..d33047def3d6 100644
--- a/dev-util/systemtap/Manifest
+++ b/dev-util/systemtap/Manifest
@@ -1,2 +1,4 @@
 DIST systemtap-4.4.tar.gz 5532282 BLAKE2B 
bcb2f744ad09821ce63d78b3e86eb489013aed247952c72d3dbc4cc6fc1a2b85f948b71c622487876f43b615c147eb1624b2c146e9b4176e3c91e2b7cbef9ea0
 SHA512 
8fb1fe5071ec99ce3c6bcf82afdc98a3e1abc0ea937f3019b225c3a1879ada30080740b1918a84c6db06fe1893e6d1e7dc84be26c7e597d7feda1efe11354e76
 DIST systemtap-4.5.tar.gz 5549909 BLAKE2B 
3c180a49c81070cb374ae23f95f1e90cc3cf2550170363793f46584b201c2284b2ee639f395d73ed6c5b44160825b3cf128bd360b81bc243e71c98e71d779f48
 SHA512 
8136779a9f5cb0fbaae565eab1ab6fa307f1024dfc2c6c3845acfadff0eecc684ba89aa5d442c7b90c2c73edaab41ca07bae2bad8361f80fe8e9928b40466cd3
+DIST systemtap-4.6.tar.gz 5588126 BLAKE2B 
7a0b1ed201f3661d5737bbf2c8b10b8bcf708df0c9aeeb941d501f5001e13b254ff779e20ed6af72b457a9e8236f064b9d5ee6d79438f96abb09d913f5732db3
 SHA512 
835b45597e9de0ea17857b47d542c87d155cb5c772f8595f41845a25ff06b862cb9c4b635292c3a6c66cb5255a07eee3af7cb7861110a4a05f545a4b35f11402
+DIST systemtap-4.7.tar.gz 5611495 BLAKE2B 
839a824c3ef249add3edb2c9329c7bcb297d36d268d463c2913d945688845b7a6af8d811b2a533c4da8ce496cabccbdfabd080be847c754c2614f9c9efb22c61
 SHA512 
7d7c213dc4f7c5430f81763668da21403fbc351d1701b1096eb1ad233e3f0325e35f01dfd0a33e75f277b26fdde88c46d42dd32e32e4d4f27a45d53e2dd0f831

diff --git a/dev-util/systemtap/systemtap-4.6.ebuild 
b/dev-util/systemtap/systemtap-4.6.ebuild
new file mode 100644
index 000000000000..a4f2a7d2663b
--- /dev/null
+++ b/dev-util/systemtap/systemtap-4.6.ebuild
@@ -0,0 +1,126 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8..10} pypy3 )
+
+inherit autotools linux-info python-single-r1
+
+DESCRIPTION="A linux trace/probe tool"
+HOMEPAGE="https://www.sourceware.org/systemtap";
+SRC_URI="https://www.sourceware.org/${PN}/ftp/releases/${P}.tar.gz";
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 
~sparc ~x86"
+IUSE="libvirt selinux sqlite +ssl test zeroconf"
+
+CDEPEND="
+       ${PYTHON_DEPS}
+
+       >=dev-libs/elfutils-0.142
+       dev-libs/json-c:=
+       sys-libs/ncurses:0=
+       sys-libs/readline:0=
+
+       libvirt? ( >=app-emulation/libvirt-1.0.2 )
+       selinux? ( sys-libs/libselinux )
+       sqlite? ( dev-db/sqlite:3 )
+       ssl? (
+               dev-libs/nspr
+               dev-libs/nss
+       )
+       zeroconf? ( net-dns/avahi )
+"
+DEPEND="
+       ${CDEPEND}
+       app-arch/cpio
+       app-text/xmlto
+       $(python_gen_cond_dep 'dev-python/setuptools[${PYTHON_USEDEP}]')
+       >=sys-devel/gettext-0.18.2
+
+       libvirt? ( dev-libs/libxml2 )
+"
+RDEPEND="
+       ${CDEPEND}
+       acct-group/stapdev
+       acct-group/stapsys
+       acct-group/stapusr
+"
+BDEPEND="test? ( dev-util/dejagnu )"
+
+CONFIG_CHECK="~KPROBES ~RELAY ~DEBUG_FS"
+ERROR_KPROBES="${PN} requires support for KProbes Instrumentation (KPROBES) - 
this can be enabled in 'Instrumentation Support -> Kprobes'."
+ERROR_RELAY="${PN} works with support for user space relay support (RELAY) - 
this can be enabled in 'General setup -> Kernel->user space relay support 
(formerly relayfs)'."
+ERROR_DEBUG_FS="${PN} works best with support for Debug Filesystem (DEBUG_FS) 
- this can be enabled in 'Kernel hacking -> Debug Filesystem'."
+
+DOCS="AUTHORS HACKING NEWS README"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+RESTRICT="!test? ( test )"
+PATCHES=(
+       "${FILESDIR}/${PN}-3.1-ia64.patch"
+)
+
+pkg_setup() {
+       linux-info_pkg_setup
+       python-single-r1_pkg_setup
+}
+
+src_prepare() {
+       python_fix_shebang .
+
+       sed -i \
+               -e 's|-Werror||g' \
+               configure.ac \
+               Makefile.am \
+               stapbpf/Makefile.am \
+               stapdyn/Makefile.am \
+               staprun/Makefile.am \
+               testsuite/systemtap.unprivileged/unprivileged_probes.exp \
+               testsuite/systemtap.unprivileged/unprivileged_myproc.exp \
+               testsuite/systemtap.base/stmt_rel_user.exp \
+               testsuite/systemtap.base/sdt_va_args.exp \
+               testsuite/systemtap.base/sdt_misc.exp \
+               testsuite/systemtap.base/sdt.exp \
+               scripts/kprobes_test/gen_code.py \
+               || die "Failed to clean up sources"
+
+       default
+       eautoreconf
+}
+
+src_configure() {
+       local myeconfargs=(
+               --disable-docs
+               --disable-grapher
+               --disable-refdocs
+               --disable-server
+               # Our toolchain sets this for us already and adding in
+               # -D_FORTIFY_SOURCE=2 breaks builds w/ no optimisation.
+               # This option (at least as of 4.5) doesn't pass -fno* etc,
+               # it just doesn't _add_ options, which is good. If it changes
+               # to actually pass -fno-stack-protector and friends, we'll
+               # need to change course. Forcing =2 also has problems for
+               # setting it to 3.
+               # bug #794667.
+               --disable-ssp
+               --enable-pie
+               --with-python3
+               --without-java
+               --without-openssl
+               --without-python2-probes
+               --without-rpm
+               $(use_enable libvirt virt)
+               $(use_enable sqlite)
+               $(use_with zeroconf avahi)
+               $(use_with ssl nss)
+               $(use_with selinux)
+       )
+       PYTHON3="${PYTHON}" econf "${myeconfargs[@]}"
+}
+
+src_install() {
+       default
+       python_optimize
+}

diff --git a/dev-util/systemtap/systemtap-4.7.ebuild 
b/dev-util/systemtap/systemtap-4.7.ebuild
new file mode 100644
index 000000000000..a4f2a7d2663b
--- /dev/null
+++ b/dev-util/systemtap/systemtap-4.7.ebuild
@@ -0,0 +1,126 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8..10} pypy3 )
+
+inherit autotools linux-info python-single-r1
+
+DESCRIPTION="A linux trace/probe tool"
+HOMEPAGE="https://www.sourceware.org/systemtap";
+SRC_URI="https://www.sourceware.org/${PN}/ftp/releases/${P}.tar.gz";
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 
~sparc ~x86"
+IUSE="libvirt selinux sqlite +ssl test zeroconf"
+
+CDEPEND="
+       ${PYTHON_DEPS}
+
+       >=dev-libs/elfutils-0.142
+       dev-libs/json-c:=
+       sys-libs/ncurses:0=
+       sys-libs/readline:0=
+
+       libvirt? ( >=app-emulation/libvirt-1.0.2 )
+       selinux? ( sys-libs/libselinux )
+       sqlite? ( dev-db/sqlite:3 )
+       ssl? (
+               dev-libs/nspr
+               dev-libs/nss
+       )
+       zeroconf? ( net-dns/avahi )
+"
+DEPEND="
+       ${CDEPEND}
+       app-arch/cpio
+       app-text/xmlto
+       $(python_gen_cond_dep 'dev-python/setuptools[${PYTHON_USEDEP}]')
+       >=sys-devel/gettext-0.18.2
+
+       libvirt? ( dev-libs/libxml2 )
+"
+RDEPEND="
+       ${CDEPEND}
+       acct-group/stapdev
+       acct-group/stapsys
+       acct-group/stapusr
+"
+BDEPEND="test? ( dev-util/dejagnu )"
+
+CONFIG_CHECK="~KPROBES ~RELAY ~DEBUG_FS"
+ERROR_KPROBES="${PN} requires support for KProbes Instrumentation (KPROBES) - 
this can be enabled in 'Instrumentation Support -> Kprobes'."
+ERROR_RELAY="${PN} works with support for user space relay support (RELAY) - 
this can be enabled in 'General setup -> Kernel->user space relay support 
(formerly relayfs)'."
+ERROR_DEBUG_FS="${PN} works best with support for Debug Filesystem (DEBUG_FS) 
- this can be enabled in 'Kernel hacking -> Debug Filesystem'."
+
+DOCS="AUTHORS HACKING NEWS README"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+RESTRICT="!test? ( test )"
+PATCHES=(
+       "${FILESDIR}/${PN}-3.1-ia64.patch"
+)
+
+pkg_setup() {
+       linux-info_pkg_setup
+       python-single-r1_pkg_setup
+}
+
+src_prepare() {
+       python_fix_shebang .
+
+       sed -i \
+               -e 's|-Werror||g' \
+               configure.ac \
+               Makefile.am \
+               stapbpf/Makefile.am \
+               stapdyn/Makefile.am \
+               staprun/Makefile.am \
+               testsuite/systemtap.unprivileged/unprivileged_probes.exp \
+               testsuite/systemtap.unprivileged/unprivileged_myproc.exp \
+               testsuite/systemtap.base/stmt_rel_user.exp \
+               testsuite/systemtap.base/sdt_va_args.exp \
+               testsuite/systemtap.base/sdt_misc.exp \
+               testsuite/systemtap.base/sdt.exp \
+               scripts/kprobes_test/gen_code.py \
+               || die "Failed to clean up sources"
+
+       default
+       eautoreconf
+}
+
+src_configure() {
+       local myeconfargs=(
+               --disable-docs
+               --disable-grapher
+               --disable-refdocs
+               --disable-server
+               # Our toolchain sets this for us already and adding in
+               # -D_FORTIFY_SOURCE=2 breaks builds w/ no optimisation.
+               # This option (at least as of 4.5) doesn't pass -fno* etc,
+               # it just doesn't _add_ options, which is good. If it changes
+               # to actually pass -fno-stack-protector and friends, we'll
+               # need to change course. Forcing =2 also has problems for
+               # setting it to 3.
+               # bug #794667.
+               --disable-ssp
+               --enable-pie
+               --with-python3
+               --without-java
+               --without-openssl
+               --without-python2-probes
+               --without-rpm
+               $(use_enable libvirt virt)
+               $(use_enable sqlite)
+               $(use_with zeroconf avahi)
+               $(use_with ssl nss)
+               $(use_with selinux)
+       )
+       PYTHON3="${PYTHON}" econf "${myeconfargs[@]}"
+}
+
+src_install() {
+       default
+       python_optimize
+}

Reply via email to