From 3d246a8e7d1e202cc441001a27b358d79cd97366 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Sun, 29 Mar 2020 11:10:58 +0100 Subject: sys-devel/gdb: drop 8.3.1, bug #690582 Bug: https://bugs.gentoo.org/690582 Package-Manager: Portage-2.3.96, Repoman-2.3.22 Signed-off-by: Sergei Trofimovich --- sys-devel/gdb/Manifest | 1 - sys-devel/gdb/files/gdb-8.3.1-gcc-10.patch | 222 ------------------------ sys-devel/gdb/gdb-8.3.1-r1.ebuild | 262 ----------------------------- sys-devel/gdb/gdb-8.3.1.ebuild | 260 ---------------------------- 4 files changed, 745 deletions(-) delete mode 100644 sys-devel/gdb/files/gdb-8.3.1-gcc-10.patch delete mode 100644 sys-devel/gdb/gdb-8.3.1-r1.ebuild delete mode 100644 sys-devel/gdb/gdb-8.3.1.ebuild diff --git a/sys-devel/gdb/Manifest b/sys-devel/gdb/Manifest index 7770b5e8807d..5c3fc0f0d88c 100644 --- a/sys-devel/gdb/Manifest +++ b/sys-devel/gdb/Manifest @@ -1,2 +1 @@ -DIST gdb-8.3.1.tar.xz 20489528 BLAKE2B 5a671f620a2ed3337486a8ff53b93d65b3b6079e59ea07bc0f31e3ea6d459ced1d8549a76cfcf124762e0890e243eaabcf8b204bfc631002e759339a89b9bf9a SHA512 9053a2dc6b9eb921907afbc4cecc75d635aa76df5e8c4f0e5824ccf57cb206b299c19b127fff000b65c334826ff8304a54ff6098428365a8e997cca886c39e9a DIST gdb-9.1.tar.xz 20980824 BLAKE2B b84b1dc627d7ba697dfd76ba7c0f4f88f1725e1e1b83134d08cf53bf867ebfa07e1d01eff2acd9a57d22a779077bf6ed95d6098e8a58c4d86eaed034ca62ac30 SHA512 84cdd408d80a3fc5779de459c5b26154d31b329ebde7e3aa78799fb1eb245d8b64b8c8ee7242382a1dbd95b4e6f9d84fef41d12a0646aa75d3dee4709ea1f6e7 diff --git a/sys-devel/gdb/files/gdb-8.3.1-gcc-10.patch b/sys-devel/gdb/files/gdb-8.3.1-gcc-10.patch deleted file mode 100644 index affc3b7392a4..000000000000 --- a/sys-devel/gdb/files/gdb-8.3.1-gcc-10.patch +++ /dev/null @@ -1,222 +0,0 @@ -From 851c0536cabb661847c45c73ebd796eb3299066b Mon Sep 17 00:00:00 2001 -Date: Tue, 26 Nov 2019 12:52:56 -0300 -Subject: [PATCH] [ARM, sim] Fix build error and warnings -From: Luis Machado - -Newer GCC's have switched to -fno-common by default, and this breaks the build -for the ARM sim, like this: - -binutils-gdb.git~gdb-8.3-release/sim/arm/maverick.c:65: multiple definition of `DSPsc'; libsim.a(wrapper.o):binutils-gdb.git~gdb-8.3-release/sim/arm/wrapper.c:134: first defined here -binutils-gdb.git~gdb-8.3-release/sim/arm/maverick.c:64: multiple definition of `DSPacc'; libsim.a(wrapper.o):binutils-gdb.git~gdb-8.3-release/sim/arm/wrapper.c:133: first defined here -binutils-gdb.git~gdb-8.3-release/sim/arm/maverick.c:63: multiple definition of `DSPregs'; libsim.a(wrapper.o):binutils-gdb.git~gdb-8.3-release/sim/arm/wrapper.c:132: first defined here - -I also noticed a few warnings due to mismatching types, as follows: - -../../../../repos/binutils-gdb/sim/arm/wrapper.c: In function ‘sim_create_inferior’: -../../../../repos/binutils-gdb/sim/arm/wrapper.c:335:16: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers] - for (arg = argv; *arg != NULL; arg++) - ^ -../../../../repos/binutils-gdb/sim/arm/wrapper.c:342:8: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers] - arg = argv; - ^ -../../../../repos/binutils-gdb/sim/arm/wrapper.c:345:13: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers] - for (arg = argv; *arg != NULL; arg++) - ^ -The following patch fixes both of the above. - -Change-Id: I21db699d3b61b2de8c44053e47be4387285af28f ---- - sim/arm/armemu.c | 4 ---- - sim/arm/arminit.c | 4 ++++ - sim/arm/maverick.c | 35 +++++------------------------------ - sim/arm/maverick.h | 46 ++++++++++++++++++++++++++++++++++++++++++++++ - sim/arm/wrapper.c | 35 ++--------------------------------- - create mode 100644 sim/arm/maverick.h - ---- a/sim/arm/armemu.c -+++ b/sim/arm/armemu.c -@@ -1140,10 +1140,6 @@ handle_VFP_move (ARMul_State * state, ARMword instr) - - /* EMULATION of ARM6. */ - --/* The PC pipeline value depends on whether ARM -- or Thumb instructions are being executed. */ --ARMword isize; -- - ARMword - #ifdef MODE32 - ARMul_Emulate32 (ARMul_State * state) ---- a/sim/arm/arminit.c -+++ b/sim/arm/arminit.c -@@ -40,6 +40,10 @@ unsigned ARMul_MultTable[32] = - ARMword ARMul_ImmedTable[4096]; /* immediate DP LHS values */ - char ARMul_BitList[256]; /* number of bits in a byte table */ - -+/* The PC pipeline value depends on whether ARM -+ or Thumb instructions are being executed. */ -+ARMword isize; -+ - /***************************************************************************\ - * Call this routine once to set up the emulator's tables. * - \***************************************************************************/ ---- a/sim/arm/maverick.c -+++ b/sim/arm/maverick.c -@@ -19,6 +19,7 @@ - #include "armdefs.h" - #include "ansidecl.h" - #include "armemu.h" -+#include "maverick.h" - - /*#define CIRRUS_DEBUG 1 */ - #if CIRRUS_DEBUG -@@ -30,36 +31,10 @@ - #define POS64(i) ( (~(i)) >> 63 ) - #define NEG64(i) ( (i) >> 63 ) - --/* Define Co-Processor instruction handlers here. */ -- --/* Here's ARMulator's DSP definition. A few things to note: -- 1) it has 16 64-bit registers and 4 72-bit accumulators -- 2) you can only access its registers with MCR and MRC. */ -- --/* We can't define these in here because this file might not be linked -- unless the target is arm9e-*. They are defined in wrapper.c. -- Eventually the simulator should be made to handle any coprocessor -- at run time. */ --struct maverick_regs --{ -- union -- { -- int i; -- float f; -- } upper; -- -- union -- { -- int i; -- float f; -- } lower; --}; -- --union maverick_acc_regs --{ -- long double ld; /* Acc registers are 72-bits. */ --}; -- -+/* These variables are defined here and made extern in maverick.h for use -+ in wrapper.c for now. -+ Eventually the simulator should be made to handle any coprocessor at run -+ time. */ - struct maverick_regs DSPregs[16]; - union maverick_acc_regs DSPacc[4]; - ARMword DSPsc; ---- /dev/null -+++ b/sim/arm/maverick.h -@@ -0,0 +1,46 @@ -+/* maverick.h -- Cirrus/DSP co-processor interface header -+ Copyright (C) 2003-2019 Free Software Foundation, Inc. -+ Contributed by Aldy Hernandez (aldyh@redhat.com). -+ -+ This program is free software; you can redistribute it and/or modify -+ it under the terms of the GNU General Public License as published by -+ the Free Software Foundation; either version 3 of the License, or -+ (at your option) any later version. -+ -+ This program is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ GNU General Public License for more details. -+ -+ You should have received a copy of the GNU General Public License -+ along with this program. If not, see . */ -+ -+/* Define Co-Processor instruction handlers here. */ -+ -+/* Here's ARMulator's DSP definition. A few things to note: -+ 1) it has 16 64-bit registers and 4 72-bit accumulators -+ 2) you can only access its registers with MCR and MRC. */ -+ -+struct maverick_regs -+{ -+ union -+ { -+ int i; -+ float f; -+ } upper; -+ -+ union -+ { -+ int i; -+ float f; -+ } lower; -+}; -+ -+union maverick_acc_regs -+{ -+ long double ld; /* Acc registers are 72-bits. */ -+}; -+ -+extern struct maverick_regs DSPregs[16]; -+extern union maverick_acc_regs DSPacc[4]; -+extern ARMword DSPsc; ---- a/sim/arm/wrapper.c -+++ b/sim/arm/wrapper.c -@@ -37,6 +37,7 @@ - #include "gdb/signals.h" - #include "libiberty.h" - #include "iwmmxt.h" -+#include "maverick.h" - - /* TODO: This should get pulled from the SIM_DESC. */ - host_callback *sim_callback; -@@ -101,38 +102,6 @@ print_insn (ARMword instr) - fprintf (stderr, " %*s\n", size, opbuf); - } - --/* Cirrus DSP registers. -- -- We need to define these registers outside of maverick.c because -- maverick.c might not be linked in unless --target=arm9e-* in which -- case wrapper.c will not compile because it tries to access Cirrus -- registers. This should all go away once we get the Cirrus and ARM -- Coprocessor to coexist in armcopro.c-- aldyh. */ -- --struct maverick_regs --{ -- union -- { -- int i; -- float f; -- } upper; -- -- union -- { -- int i; -- float f; -- } lower; --}; -- --union maverick_acc_regs --{ -- long double ld; /* Acc registers are 72-bits. */ --}; -- --struct maverick_regs DSPregs[16]; --union maverick_acc_regs DSPacc[4]; --ARMword DSPsc; -- - static void - init (void) - { -@@ -236,7 +205,7 @@ sim_create_inferior (SIM_DESC sd ATTRIBUTE_UNUSED, - { - int argvlen = 0; - int mach; -- char **arg; -+ char * const *arg; - - init (); - --- -2.25.0 - diff --git a/sys-devel/gdb/gdb-8.3.1-r1.ebuild b/sys-devel/gdb/gdb-8.3.1-r1.ebuild deleted file mode 100644 index 2d2ec2e6952c..000000000000 --- a/sys-devel/gdb/gdb-8.3.1-r1.ebuild +++ /dev/null @@ -1,262 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -PYTHON_COMPAT=( python{3_6,3_7} ) - -inherit eutils flag-o-matic python-single-r1 - -export CTARGET=${CTARGET:-${CHOST}} -if [[ ${CTARGET} == ${CHOST} ]] ; then - if [[ ${CATEGORY} == cross-* ]] ; then - export CTARGET=${CATEGORY#cross-} - fi -fi -is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; } - -MY_PV=${PV} -case ${PV} in -9999*) - # live git tree - EGIT_REPO_URI="https://sourceware.org/git/binutils-gdb.git" - inherit git-r3 - SRC_URI="" - ;; -*.*.50.2???????) - # weekly snapshots - SRC_URI="ftp://sourceware.org/pub/gdb/snapshots/current/gdb-weekly-${PV}.tar.xz" - ;; -*) - # Normal upstream release - SRC_URI="mirror://gnu/gdb/${P}.tar.xz - ftp://sourceware.org/pub/gdb/releases/${P}.tar.xz" - ;; -esac - -PATCH_VER="" -PATCH_DEV="" -DESCRIPTION="GNU debugger" -HOMEPAGE="https://sourceware.org/gdb/" -SRC_URI="${SRC_URI} - ${PATCH_DEV:+https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${P}-patches-${PATCH_VER}.tar.xz} - ${PATCH_VER:+mirror://gentoo/${P}-patches-${PATCH_VER}.tar.xz} -" - -LICENSE="GPL-2 LGPL-2" -SLOT="0" -if [[ ${PV} != 9999* ]] ; then - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" -fi -IUSE="+client lzma multitarget nls +python +server source-highlight test vanilla xml" -REQUIRED_USE=" - python? ( ${PYTHON_REQUIRED_USE} ) - || ( client server ) -" - -# ia64 kernel crashes when gdb testsuite is running -# hppa kernel crashes when gdb testsuite is running -RESTRICT=" - hppa? ( test ) - ia64? ( test ) - - !test? ( test ) -" - -RDEPEND=" - client? ( - dev-libs/mpfr:0= - >=sys-libs/ncurses-5.2-r2:0= - sys-libs/readline:0= - lzma? ( app-arch/xz-utils ) - python? ( ${PYTHON_DEPS} ) - xml? ( dev-libs/expat ) - sys-libs/zlib - ) - source-highlight? ( - dev-util/source-highlight - ) -" -DEPEND="${RDEPEND}" -BDEPEND=" - app-arch/xz-utils - sys-apps/texinfo - client? ( - virtual/yacc - test? ( dev-util/dejagnu ) - nls? ( sys-devel/gettext ) - )" - -S=${WORKDIR}/${PN}-${MY_PV} - -PATCHES=( - "${FILESDIR}"/${PN}-8.3.1-verbose-build.patch - "${FILESDIR}"/${PN}-8.3.1-gcc-10.patch -) - -pkg_setup() { - use python && python-single-r1_pkg_setup -} - -src_prepare() { - default - - strip-linguas -u bfd/po opcodes/po -} - -gdb_branding() { - printf "Gentoo ${PV} " - if ! use vanilla && [[ -n ${PATCH_VER} ]] ; then - printf "p${PATCH_VER}" - else - printf "vanilla" - fi - [[ -n ${EGIT_COMMIT} ]] && printf " ${EGIT_COMMIT}" -} - -src_configure() { - strip-unsupported-flags - - local myconf=( - # portage's econf() does not detect presence of --d-d-t - # because it greps only top-level ./configure. But not - # gnulib's or gdb's configure. - --disable-dependency-tracking - - --with-pkgversion="$(gdb_branding)" - --with-bugurl='https://bugs.gentoo.org/' - --disable-werror - # Disable modules that are in a combined binutils/gdb tree. #490566 - --disable-{binutils,etc,gas,gold,gprof,ld} - ) - local sysroot="${EPREFIX}/usr/${CTARGET}" - is_cross && myconf+=( - --with-sysroot="${sysroot}" - --includedir="${sysroot}/usr/include" - --with-gdb-datadir="\${datadir}/gdb/${CTARGET}" - ) - - if use server && ! use client ; then - # just configure+build in the gdbserver subdir to speed things up - cd gdb/gdbserver - myconf+=( --program-transform-name='' ) - else - # gdbserver only works for native targets (CHOST==CTARGET). - # it also doesn't support all targets, so rather than duplicate - # the target list (which changes between versions), use the - # "auto" value when things are turned on. - is_cross \ - && myconf+=( --disable-gdbserver ) \ - || myconf+=( $(use_enable server gdbserver auto) ) - fi - - if ! ( use server && ! use client ) ; then - # if we are configuring in the top level, then use all - # the additional global options - myconf+=( - --enable-64-bit-bfd - --disable-install-libbfd - --disable-install-libiberty - # Disable guile for now as it requires guile-2.x #562902 - --without-guile - # This only disables building in the readline subdir. - # For gdb itself, it'll use the system version. - --disable-readline - --with-system-readline - # This only disables building in the zlib subdir. - # For gdb itself, it'll use the system version. - --without-zlib - --with-system-zlib - --with-separate-debug-dir="${EPREFIX}"/usr/lib/debug - $(use_with xml expat) - $(use_with lzma) - $(use_enable nls) - $(use_enable source-highlight) - $(use multitarget && echo --enable-targets=all) - $(use_with python python "${EPYTHON}") - ) - fi - if use sparc-solaris || use x86-solaris ; then - # disable largefile support - # https://sourceware.org/ml/gdb-patches/2014-12/msg00058.html - myconf+=( --disable-largefile ) - fi - - econf "${myconf[@]}" -} - -src_install() { - if use server && ! use client; then - cd gdb/gdbserver || die - fi - default - if use client; then - find "${ED}"/usr -name libiberty.a -delete || die - fi - cd "${S}" || die - - # Delete translations that conflict with binutils-libs. #528088 - # Note: Should figure out how to store these in an internal gdb dir. - if use nls ; then - find "${ED}" \ - -regextype posix-extended -regex '.*/(bfd|opcodes)[.]g?mo$' \ - -delete || die - fi - - # Don't install docs when building a cross-gdb - if [[ ${CTARGET} != ${CHOST} ]] ; then - rm -rf "${ED}"/usr/share/{doc,info,locale} || die - local f - for f in "${ED}"/usr/share/man/*/* ; do - if [[ ${f##*/} != ${CTARGET}-* ]] ; then - mv "${f}" "${f%/*}/${CTARGET}-${f##*/}" || die - fi - done - return 0 - fi - # Install it by hand for now: - # https://sourceware.org/ml/gdb-patches/2011-12/msg00915.html - # Only install if it exists due to the twisted behavior (see - # notes in src_configure above). - [[ -e gdb/gdbserver/gdbreplay ]] && dobin gdb/gdbserver/gdbreplay - - if use client ; then - docinto gdb - dodoc gdb/CONTRIBUTE gdb/README gdb/MAINTAINERS \ - gdb/NEWS gdb/ChangeLog gdb/PROBLEMS - fi - docinto sim - dodoc sim/{ChangeLog,MAINTAINERS,README-HACKING} - if use server ; then - docinto gdbserver - dodoc gdb/gdbserver/{ChangeLog,README} - fi - - if [[ -n ${PATCH_VER} ]] ; then - dodoc "${WORKDIR}"/extra/gdbinit.sample - fi - - # Remove shared info pages - rm -f "${ED}"/usr/share/info/{annotate,bfd,configure,standards}.info* - - # gcore is part of ubin on freebsd - if [[ ${CHOST} == *-freebsd* ]]; then - rm "${ED}"/usr/bin/gcore || die - fi - - if use python; then - python_optimize "${ED}"/usr/share/gdb/python/gdb - fi -} - -pkg_postinst() { - # portage sucks and doesnt unmerge files in /etc - rm -vf "${EROOT}"/etc/skel/.gdbinit - - if use prefix && [[ ${CHOST} == *-darwin* ]] ; then - ewarn "gdb is unable to get a mach task port when installed by Prefix" - ewarn "Portage, unprivileged. To make gdb fully functional you'll" - ewarn "have to perform the following steps:" - ewarn " % sudo chgrp procmod ${EPREFIX}/usr/bin/gdb" - ewarn " % sudo chmod g+s ${EPREFIX}/usr/bin/gdb" - fi -} diff --git a/sys-devel/gdb/gdb-8.3.1.ebuild b/sys-devel/gdb/gdb-8.3.1.ebuild deleted file mode 100644 index ac1ce8d7b8e4..000000000000 --- a/sys-devel/gdb/gdb-8.3.1.ebuild +++ /dev/null @@ -1,260 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -PYTHON_COMPAT=( python{3_6,3_7} ) - -inherit eutils flag-o-matic python-single-r1 - -export CTARGET=${CTARGET:-${CHOST}} -if [[ ${CTARGET} == ${CHOST} ]] ; then - if [[ ${CATEGORY} == cross-* ]] ; then - export CTARGET=${CATEGORY#cross-} - fi -fi -is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; } - -RPM= -MY_PV=${PV} -case ${PV} in -9999*) - # live git tree - EGIT_REPO_URI="https://sourceware.org/git/binutils-gdb.git" - inherit git-r3 - SRC_URI="" - ;; -*.*.50.2???????) - # weekly snapshots - SRC_URI="ftp://sourceware.org/pub/gdb/snapshots/current/gdb-weekly-${PV}.tar.xz" - ;; -*) - # Normal upstream release - SRC_URI="mirror://gnu/gdb/${P}.tar.xz - ftp://sourceware.org/pub/gdb/releases/${P}.tar.xz" - ;; -esac - -PATCH_VER="" -PATCH_DEV="" -DESCRIPTION="GNU debugger" -HOMEPAGE="https://sourceware.org/gdb/" -SRC_URI="${SRC_URI} - ${PATCH_DEV:+https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${P}-patches-${PATCH_VER}.tar.xz} - ${PATCH_VER:+mirror://gentoo/${P}-patches-${PATCH_VER}.tar.xz} -" - -LICENSE="GPL-2 LGPL-2" -SLOT="0" -if [[ ${PV} != 9999* ]] ; then - KEYWORDS="~alpha amd64 arm arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~riscv s390 sparc x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" -fi -IUSE="+client lzma multitarget nls +python +server source-highlight test vanilla xml" -REQUIRED_USE=" - python? ( ${PYTHON_REQUIRED_USE} ) - || ( client server ) -" - -# ia64 kernel crashes when gdb testsuite is running -# hppa kernel crashes when gdb testsuite is running -RESTRICT=" - hppa? ( test ) - ia64? ( test ) - - !test? ( test ) -" - -RDEPEND=" - client? ( - dev-libs/mpfr:0= - >=sys-libs/ncurses-5.2-r2:0= - sys-libs/readline:0= - lzma? ( app-arch/xz-utils ) - python? ( ${PYTHON_DEPS} ) - xml? ( dev-libs/expat ) - sys-libs/zlib - ) - source-highlight? ( - dev-util/source-highlight - ) -" -DEPEND="${RDEPEND}" -BDEPEND=" - app-arch/xz-utils - sys-apps/texinfo - client? ( - virtual/yacc - test? ( dev-util/dejagnu ) - nls? ( sys-devel/gettext ) - )" - -S=${WORKDIR}/${PN}-${MY_PV} - -PATCHES=( - "${FILESDIR}"/${PN}-8.3.1-verbose-build.patch -) - -pkg_setup() { - use python && python-single-r1_pkg_setup -} - -src_prepare() { - [[ -n ${RPM} ]] && rpm_spec_epatch "${WORKDIR}"/gdb.spec - - default - - strip-linguas -u bfd/po opcodes/po -} - -gdb_branding() { - printf "Gentoo ${PV} " - if ! use vanilla && [[ -n ${PATCH_VER} ]] ; then - printf "p${PATCH_VER}" - else - printf "vanilla" - fi - [[ -n ${EGIT_COMMIT} ]] && printf " ${EGIT_COMMIT}" -} - -src_configure() { - strip-unsupported-flags - - local myconf=( - # portage's econf() does not detect presence of --d-d-t - # because it greps only top-level ./configure. But not - # gnulib's or gdb's configure. - --disable-dependency-tracking - - --with-pkgversion="$(gdb_branding)" - --with-bugurl='https://bugs.gentoo.org/' - --disable-werror - # Disable modules that are in a combined binutils/gdb tree. #490566 - --disable-{binutils,etc,gas,gold,gprof,ld} - ) - local sysroot="${EPREFIX}/usr/${CTARGET}" - is_cross && myconf+=( - --with-sysroot="${sysroot}" - --includedir="${sysroot}/usr/include" - --with-gdb-datadir="\${datadir}/gdb/${CTARGET}" - ) - - if use server && ! use client ; then - # just configure+build in the gdbserver subdir to speed things up - cd gdb/gdbserver - myconf+=( --program-transform-name='' ) - else - # gdbserver only works for native targets (CHOST==CTARGET). - # it also doesn't support all targets, so rather than duplicate - # the target list (which changes between versions), use the - # "auto" value when things are turned on. - is_cross \ - && myconf+=( --disable-gdbserver ) \ - || myconf+=( $(use_enable server gdbserver auto) ) - fi - - if ! ( use server && ! use client ) ; then - # if we are configuring in the top level, then use all - # the additional global options - myconf+=( - --enable-64-bit-bfd - --disable-install-libbfd - --disable-install-libiberty - # Disable guile for now as it requires guile-2.x #562902 - --without-guile - # This only disables building in the readline subdir. - # For gdb itself, it'll use the system version. - --disable-readline - --with-system-readline - # This only disables building in the zlib subdir. - # For gdb itself, it'll use the system version. - --without-zlib - --with-system-zlib - --with-separate-debug-dir="${EPREFIX}"/usr/lib/debug - $(use_with xml expat) - $(use_with lzma) - $(use_enable nls) - $(use_enable source-highlight) - $(use multitarget && echo --enable-targets=all) - $(use_with python python "${EPYTHON}") - ) - fi - if use sparc-solaris || use x86-solaris ; then - # disable largefile support - # https://sourceware.org/ml/gdb-patches/2014-12/msg00058.html - myconf+=( --disable-largefile ) - fi - - econf "${myconf[@]}" -} - -src_install() { - if use server && ! use client; then - cd gdb/gdbserver || die - fi - default - if use client; then - find "${ED}"/usr -name libiberty.a -delete || die - fi - cd "${S}" || die - - # Delete translations that conflict with binutils-libs. #528088 - # Note: Should figure out how to store these in an internal gdb dir. - if use nls ; then - find "${ED}" \ - -regextype posix-extended -regex '.*/(bfd|opcodes)[.]g?mo$' \ - -delete || die - fi - - # Don't install docs when building a cross-gdb - if [[ ${CTARGET} != ${CHOST} ]] ; then - rm -rf "${ED}"/usr/share/{doc,info,locale} || die - local f - for f in "${ED}"/usr/share/man/*/* ; do - if [[ ${f##*/} != ${CTARGET}-* ]] ; then - mv "${f}" "${f%/*}/${CTARGET}-${f##*/}" || die - fi - done - return 0 - fi - # Install it by hand for now: - # https://sourceware.org/ml/gdb-patches/2011-12/msg00915.html - # Only install if it exists due to the twisted behavior (see - # notes in src_configure above). - [[ -e gdb/gdbserver/gdbreplay ]] && dobin gdb/gdbserver/gdbreplay - - if use client ; then - docinto gdb - dodoc gdb/CONTRIBUTE gdb/README gdb/MAINTAINERS \ - gdb/NEWS gdb/ChangeLog gdb/PROBLEMS - fi - docinto sim - dodoc sim/{ChangeLog,MAINTAINERS,README-HACKING} - if use server ; then - docinto gdbserver - dodoc gdb/gdbserver/{ChangeLog,README} - fi - - if [[ -n ${PATCH_VER} ]] ; then - dodoc "${WORKDIR}"/extra/gdbinit.sample - fi - - # Remove shared info pages - rm -f "${ED}"/usr/share/info/{annotate,bfd,configure,standards}.info* - - # gcore is part of ubin on freebsd - if [[ ${CHOST} == *-freebsd* ]]; then - rm "${ED}"/usr/bin/gcore || die - fi -} - -pkg_postinst() { - # portage sucks and doesnt unmerge files in /etc - rm -vf "${EROOT}"/etc/skel/.gdbinit - - if use prefix && [[ ${CHOST} == *-darwin* ]] ; then - ewarn "gdb is unable to get a mach task port when installed by Prefix" - ewarn "Portage, unprivileged. To make gdb fully functional you'll" - ewarn "have to perform the following steps:" - ewarn " % sudo chgrp procmod ${EPREFIX}/usr/bin/gdb" - ewarn " % sudo chmod g+s ${EPREFIX}/usr/bin/gdb" - fi -} -- cgit v1.2.3