From 02d36c129957eda084ed1be1033779a02a97f3dd Mon Sep 17 00:00:00 2001 From: Sam James Date: Sat, 20 Dec 2025 06:55:25 +0000 Subject: [PATCH] dev-debug/gdb: add 17.1 We could write up the new 'disable formats and functionality' configure options but it's not clear to me there's significant benefit in doing so, or how we'd divide that up, so leave it, at least for now and possibly forever. > New option --disable-gdb-compile to disable support for the compile subsystem. > New option --disable-gdb-dwarf-support to disable support for DWARF debug information in GDB. > New option --disable-gdb-mdebug-support to disable support for mdebug/ecoff debug information. The main motivation upstream I understand was because of (debatable) CVEs in lesser-used formats. Signed-off-by: Sam James --- dev-debug/gdb/Manifest | 1 + dev-debug/gdb/gdb-17.1.ebuild | 351 ++++++++++++++++++++++++++++++++++ 2 files changed, 352 insertions(+) create mode 100644 dev-debug/gdb/gdb-17.1.ebuild diff --git a/dev-debug/gdb/Manifest b/dev-debug/gdb/Manifest index 544d900289b9..17dbb4dac38b 100644 --- a/dev-debug/gdb/Manifest +++ b/dev-debug/gdb/Manifest @@ -1 +1,2 @@ DIST gdb-16.3.tar.xz 24434444 BLAKE2B a75c8655b39580a7f6e0d85ef663f60932fbed9a92ade6d58a2e99bc8b1416b36f8410c66c23bdada83e221a65c1cdfdeb7bb7ae9a930c443557864a1769dbee SHA512 fffd6689c3405466a179670b04720dc825e4f210a761f63dd2b33027432f8cd5d1c059c431a5ec9e165eedd1901220b5329d73c522f9a444788888c731b29e9c +DIST gdb-17.1.tar.xz 24663896 BLAKE2B 35de074a50c747e6ed42faee8a87b3898b57d33e9667c9001eaf8b54c8cce555f7b16642d1583c1b4aabb45fc5e5db8c33d9f5786351e736f2db2f90d28a07ed SHA512 f1a6751e439a2128fecf3eae8b57c1608a0dc7cfe79b4356a937874e5a42bb2df0aba36eb6a9452c41966908b9a59076c7cad9720f684688ab956b65080f1d7c diff --git a/dev-debug/gdb/gdb-17.1.ebuild b/dev-debug/gdb/gdb-17.1.ebuild new file mode 100644 index 000000000000..35d537e2113e --- /dev/null +++ b/dev-debug/gdb/gdb-17.1.ebuild @@ -0,0 +1,351 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# See https://sourceware.org/gdb/wiki/DistroAdvice for general packaging +# tips & notes. + +GUILE_COMPAT=( 2-2 3-0 ) +PYTHON_COMPAT=( python3_{11..14} ) +inherit flag-o-matic guile-single linux-info python-single-r1 strip-linguas toolchain-funcs + +export CTARGET=${CTARGET:-${CHOST}} + +if [[ ${CTARGET} == ${CHOST} ]] ; then + if [[ ${CATEGORY} == cross-* ]] ; then + export CTARGET=${CATEGORY#cross-} + fi +fi + +is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; } + +case ${PV} in + 9999*) + # live git tree + EGIT_REPO_URI=" + https://sourceware.org/git/binutils-gdb.git + https://git.sr.ht/~sourceware/binutils-gdb + https://gitlab.com/x86-binutils/binutils-gdb.git + " + inherit git-r3 + SRC_URI="" + ;; + *.*.50_p2???????|*.*.90_p2???????) + # Weekly snapshots + MY_PV="${PV/_p/.}" + SRC_URI=" + https://sourceware.org/pub/gdb/snapshots/branch/gdb-weekly-${MY_PV}.tar.xz + https://sourceware.org/pub/gdb/snapshots/current/gdb-weekly-${MY_PV}.tar.xz + https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/gdb-weekly-${MY_PV}.tar.xz + " + S="${WORKDIR}/${PN}-${MY_PV}" + + # e.g. 13.1.90_p20230325 is a snapshot on the stable branch, so it's fine + if [[ ${PV} == *.[123456789].9?_p2??????? ]] ; then + REGULAR_RELEASE=1 + fi + ;; + *.*.9?) + # Prereleases + MY_PV="${PV/_p/.}" + SRC_URI=" + https://sourceware.org/pub/gdb/snapshots/branch/gdb-${MY_PV}.tar.xz + https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/gdb-${MY_PV}.tar.xz + " + S="${WORKDIR}/${PN}-${MY_PV}" + ;; + *) + # Normal upstream release + SRC_URI=" + mirror://gnu/gdb/${P}.tar.xz + https://sourceware.org/pub/gdb/releases/${P}.tar.xz + " + + REGULAR_RELEASE=1 +esac + +PATCH_DEV="" +PATCH_VER="" +DESCRIPTION="GNU debugger" +HOMEPAGE="https://sourceware.org/gdb/" +SRC_URI=" + ${SRC_URI} + ${PATCH_DEV:+https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${CATEGORY}/${PN}/${P}-patches-${PATCH_VER}.tar.xz} + ${PATCH_VER:+mirror://gentoo/${P}-patches-${PATCH_VER}.tar.xz} +" + +LICENSE="GPL-3+ LGPL-2.1+" +SLOT="0" +IUSE="babeltrace cet debuginfod guile lzma multitarget nls +python rocm +server sim source-highlight test vanilla +xml xxhash zstd" +if [[ -n ${REGULAR_RELEASE} ]] ; then + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos ~x64-solaris" +fi +REQUIRED_USE=" + guile? ( ${GUILE_REQUIRED_USE} ) + python? ( ${PYTHON_REQUIRED_USE} ) + rocm? ( multitarget ) +" +RESTRICT="!test? ( test )" + +#