commit:     eabe7d4873e6643f697a8c3ee440186386684673
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Aug 27 20:06:52 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Aug 27 21:03:39 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=eabe7d48

dev-debug/drgn: new package, add 0.0.27

Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-debug/drgn/Manifest                        |  1 +
 dev-debug/drgn/drgn-0.0.27.ebuild              | 69 ++++++++++++++++++++++++++
 dev-debug/drgn/files/drgn-0.0.27-bashism.patch | 33 ++++++++++++
 dev-debug/drgn/metadata.xml                    | 12 +++++
 4 files changed, 115 insertions(+)

diff --git a/dev-debug/drgn/Manifest b/dev-debug/drgn/Manifest
new file mode 100644
index 000000000000..3f87369f6a99
--- /dev/null
+++ b/dev-debug/drgn/Manifest
@@ -0,0 +1 @@
+DIST drgn-0.0.27.tar.gz 1193358 BLAKE2B 
9008c2784075dd2409d6a948474914f0b08bbd4ee0a7d537e77de5f9f34ebede20dab2fd371047708af5ded0ef395ae2361760edd5cbee2fac88140fcbb3d58e
 SHA512 
fab4620eada3767184b48bf641fc700697b5897c9313ee15ff16aec1070d9e7e92a732e430d4a9d0d02d7071764961e7845b2f9ee6a87c661bdf0fc4d4ecb0f0

diff --git a/dev-debug/drgn/drgn-0.0.27.ebuild 
b/dev-debug/drgn/drgn-0.0.27.ebuild
new file mode 100644
index 000000000000..7ee10c7c39b4
--- /dev/null
+++ b/dev-debug/drgn/drgn-0.0.27.ebuild
@@ -0,0 +1,69 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit autotools distutils-r1 multiprocessing pypi toolchain-funcs
+
+DESCRIPTION="Programmable debugger"
+HOMEPAGE="
+       https://github.com/osandov/drgn
+       https://pypi.org/project/drgn/
+       https://drgn.readthedocs.io/en/latest/
+"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="openmp"
+
+DEPEND="
+       >=dev-libs/elfutils-0.165
+       dev-libs/libkdumpfile[${PYTHON_USEDEP}]
+"
+RDEPEND="${DEPEND}"
+BDEPEND="
+       virtual/pkgconfig
+       test? ( dev-libs/check )
+"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-0.0.27-bashism.patch
+)
+
+distutils_enable_tests unittest
+
+pkg_pretend() {
+       [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+       [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+src_prepare() {
+       distutils-r1_src_prepare
+
+       cd libdrgn || die
+       eautoreconf
+}
+
+src_configure() {
+       tc-export AR CC OBJCOPY OBJDUMP PKG_CONFIG RANLIB STRIP
+
+       cat >> setup.cfg <<-EOF || die
+       [build_ext]
+       parallel = $(makeopts_jobs)
+       EOF
+
+       # setuptools calls autotools (!)
+       export CONFIGURE_FLAGS
+       CONFIGURE_FLAGS="--disable-dependency-tracking --disable-silent-rules"
+       CONFIGURE_FLAGS+=" --with-libkdumpfile"
+       CONFIGURE_FLAGS+=" $(use_enable openmp)"
+       distutils-r1_src_configure
+}

diff --git a/dev-debug/drgn/files/drgn-0.0.27-bashism.patch 
b/dev-debug/drgn/files/drgn-0.0.27-bashism.patch
new file mode 100644
index 000000000000..7f7151c4d6bb
--- /dev/null
+++ b/dev-debug/drgn/files/drgn-0.0.27-bashism.patch
@@ -0,0 +1,33 @@
+https://github.com/osandov/drgn/pull/427
+
+From 4aad3f174ceaaa740728ba92181d9d156f70abac Mon Sep 17 00:00:00 2001
+From: Sam James <[email protected]>
+Date: Tue, 27 Aug 2024 21:03:42 +0100
+Subject: [PATCH] libdrgn: fix bashism in M4 macro
+
+configure scripts need to be runnable with a POSIX-compliant /bin/sh.
+
+On many (but not all!) systems, /bin/sh is provided by Bash, so errors
+like this aren't spotted. Notably Debian defaults to /bin/sh provided
+by dash which doesn't tolerate such bashisms as '=='.
+
+This retains compatibility with bash.
+
+Signed-off-by: Sam James <[email protected]>
+---
+ libdrgn/m4/my_c_auto.m4 | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/libdrgn/m4/my_c_auto.m4 b/libdrgn/m4/my_c_auto.m4
+index d38c72436..30f3221b5 100644
+--- a/libdrgn/m4/my_c_auto.m4
++++ b/libdrgn/m4/my_c_auto.m4
+@@ -12,7 +12,7 @@ if test "x$my_cv_c_auto" != xyes; then
+       AC_CACHE_CHECK([for __auto_type], [my_cv_c___auto_type],
+                      [AC_COMPILE_IFELSE([AC_LANG_SOURCE([[__auto_type x = 
1;]])],
+                                         [my_cv_c___auto_type=yes], 
[my_cv_c___auto_type=no])])
+-      if test "x$my_cv_c___auto_type" == xyes; then
++      if test "x$my_cv_c___auto_type" = xyes; then
+               AC_DEFINE([auto], [__auto_type])
+       else
+               AC_MSG_ERROR([no auto or __auto_type])

diff --git a/dev-debug/drgn/metadata.xml b/dev-debug/drgn/metadata.xml
new file mode 100644
index 000000000000..277a11e65a36
--- /dev/null
+++ b/dev-debug/drgn/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd";>
+<pkgmetadata>
+       <maintainer type="person">
+               <email>[email protected]</email>
+               <name>Sam James</name>
+       </maintainer>
+       <upstream>
+               <remote-id type="pypi">drgn</remote-id>
+               <remote-id type="github">osandov/drgn</remote-id>
+       </upstream>
+</pkgmetadata>

Reply via email to