commit:     3d246a8e7d1e202cc441001a27b358d79cd97366
Author:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
AuthorDate: Sun Mar 29 10:10:58 2020 +0000
Commit:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
CommitDate: Sun Mar 29 10:10:58 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3d246a8e

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 <slyfox <AT> gentoo.org>

 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(-)

diff --git a/sys-devel/gdb/Manifest b/sys-devel/gdb/Manifest
index 7770b5e8807..5c3fc0f0d88 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 affc3b7392a..00000000000
--- 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 <luis.mach...@linaro.org>
-
-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 (al...@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 <http://www.gnu.org/licenses/>. */
-+
-+/* 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 2d2ec2e6952..00000000000
--- 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 ac1ce8d7b8e..00000000000
--- 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
-}

Reply via email to