+++ /dev/null
-From d46304c605ff119bc6bae38b7841d64e7568b691 Mon Sep 17 00:00:00 2001
-From: Sergei Trofimovich <slyfox@gentoo.org>
-Date: Wed, 13 Mar 2019 21:15:13 +0000
-Subject: [PATCH] gdb/configure.ac: add --enable-source-highlight
-
-Allow disabling source-highlight dependency autodetection even
-it exists in the system. More details on problem of automatic
-dependencies:
-https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Automagic_dependencies
-
-Noticed by Jeroen Roovers in https://bugs.gentoo.org/680238
---- a/gdb/configure
-+++ b/gdb/configure
-@@ -879,6 +879,7 @@ with_mpfr
- with_libmpfr_prefix
- with_python
- with_guile
-+enable_source_highlight
- enable_libmcheck
- with_intel_pt
- with_libipt_prefix
-@@ -1554,6 +1555,8 @@ Optional Features:
- --enable-profiling enable profiling of GDB
- --enable-codesign=CERT sign gdb with 'codesign -s CERT'
- --disable-rpath do not hardcode runtime library paths
-+ --enable-source-highlight
-+ enable source-highlight for source listings
- --enable-libmcheck Try linking with -lmcheck if available
- --enable-werror treat compile warnings as errors
- --enable-build-warnings enable build-time compiler warnings if gcc is used
-@@ -11393,13 +11396,30 @@ fi
-
- SRCHIGH_LIBS=
- SRCHIGH_CFLAGS=
--{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for the source-highlight library" >&5
-+
-+# Check whether --enable-source-highlight was given.
-+if test "${enable_source_highlight+set}" = set; then :
-+ enableval=$enable_source_highlight; case "${enableval}" in
-+ yes) enable_source_highlight=yes ;;
-+ no) enable_source_highlight=no ;;
-+ *) as_fn_error $? "bad value ${enableval} for source-highlight option" "$LINENO" 5 ;;
-+esac
-+else
-+ enable_source_highlight=auto
-+fi
-+
-+
-+if test "${enable_source_highlight}" != "no"; then
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for the source-highlight library" >&5
- $as_echo_n "checking for the source-highlight library... " >&6; }
--if test "${pkg_config_prog_path}" = "missing"; then
-- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no - pkg-config not found" >&5
-+ if test "${pkg_config_prog_path}" = "missing"; then
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no - pkg-config not found" >&5
- $as_echo "no - pkg-config not found" >&6; }
--else
-- if ${pkg_config_prog_path} --exists source-highlight; then
-+ if test "${enable_source_highlight}" = "yes"; then
-+ as_fn_error $? "pkg-config was not found in your system" "$LINENO" 5
-+ fi
-+ else
-+ if ${pkg_config_prog_path} --exists source-highlight; then
- SRCHIGH_CFLAGS=`${pkg_config_prog_path} --cflags source-highlight`
- SRCHIGH_LIBS=`${pkg_config_prog_path} --libs source-highlight`
-
-@@ -11407,10 +11427,14 @@ $as_echo "#define HAVE_SOURCE_HIGHLIGHT 1" >>confdefs.h
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
- $as_echo "yes" >&6; }
-- else
-+ else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
- $as_echo "no" >&6; }
-- fi
-+ if test "${enable_source_highlight}" = "yes"; then
-+ as_fn_error $? "source-highlight was not found in your system" "$LINENO" 5
-+ fi
-+ fi
-+ fi
- fi
-
-
-diff --git a/gdb/configure.ac b/gdb/configure.ac
-index 8ddd0fda61..1318c8d008 100644
---- a/gdb/configure.ac
-+++ b/gdb/configure.ac
-@@ -1220,19 +1220,38 @@ AM_CONDITIONAL(HAVE_GUILE, test "${have_libguile}" != no)
-
- SRCHIGH_LIBS=
- SRCHIGH_CFLAGS=
--AC_MSG_CHECKING([for the source-highlight library])
--if test "${pkg_config_prog_path}" = "missing"; then
-- AC_MSG_RESULT([no - pkg-config not found])
--else
-- if ${pkg_config_prog_path} --exists source-highlight; then
-+
-+AC_ARG_ENABLE(source-highlight,
-+ AS_HELP_STRING([--enable-source-highlight],
-+ [enable source-highlight for source listings]),
-+ [case "${enableval}" in
-+ yes) enable_source_highlight=yes ;;
-+ no) enable_source_highlight=no ;;
-+ *) AC_MSG_ERROR(bad value ${enableval} for source-highlight option) ;;
-+esac],
-+[enable_source_highlight=auto])
-+
-+if test "${enable_source_highlight}" != "no"; then
-+ AC_MSG_CHECKING([for the source-highlight library])
-+ if test "${pkg_config_prog_path}" = "missing"; then
-+ AC_MSG_RESULT([no - pkg-config not found])
-+ if test "${enable_source_highlight}" = "yes"; then
-+ AC_MSG_ERROR([pkg-config was not found in your system])
-+ fi
-+ else
-+ if ${pkg_config_prog_path} --exists source-highlight; then
- SRCHIGH_CFLAGS=`${pkg_config_prog_path} --cflags source-highlight`
- SRCHIGH_LIBS=`${pkg_config_prog_path} --libs source-highlight`
- AC_DEFINE([HAVE_SOURCE_HIGHLIGHT], 1,
- [Define to 1 if the source-highlight library is available])
- AC_MSG_RESULT([yes])
-- else
-+ else
- AC_MSG_RESULT([no])
-- fi
-+ if test "${enable_source_highlight}" = "yes"; then
-+ AC_MSG_ERROR([source-highlight was not found in your system])
-+ fi
-+ fi
-+ fi
- fi
- AC_SUBST(SRCHIGH_LIBS)
- AC_SUBST(SRCHIGH_CFLAGS)
---
-2.21.0
-
+++ /dev/null
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python{2_7,3_5,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="git://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"
- ;;
-*.*.*.*.*.*)
- # fedora versions; note we swap the rpm & fedora core versions.
- # gdb-6.8.50.20090302-8.fc11.src.rpm -> gdb-6.8.50.20090302.11.8.ebuild
- # gdb-7.9-11.fc23.src.rpm -> gdb-7.9.23.11.ebuild
- inherit versionator rpm
- gvcr() { get_version_component_range "$@"; }
- parse_fedora_ver() {
- set -- $(get_version_components)
- MY_PV=$(gvcr 1-$(( $# - 2 )))
- RPM="${PN}-${MY_PV}-$(gvcr $#).fc$(gvcr $(( $# - 1 ))).src.rpm"
- }
- parse_fedora_ver
- SRC_URI="mirror://fedora-dev/development/rawhide/source/SRPMS/g/${RPM}"
- ;;
-*)
- # Normal upstream release
- SRC_URI="mirror://gnu/gdb/${P}.tar.xz
- ftp://sourceware.org/pub/gdb/releases/${P}.tar.xz"
- ;;
-esac
-
-PATCH_VER="1"
-PATCH_DEV="slyfox"
-DESCRIPTION="GNU debugger"
-HOMEPAGE="https://sourceware.org/gdb/"
-SRC_URI="${SRC_URI}
- ${PATCH_DEV:+https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${PN}-8.1-patches-${PATCH_VER}.tar.xz}
- ${PATCH_VER:+mirror://gentoo/${PN}-8.1-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 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~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 )
-"
-
-RDEPEND="
- server? ( !dev-util/gdbserver )
- 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 )
- )"
-
-PATCHES=(
- "${FILESDIR}"/${P}-source-highlight.patch
- "${FILESDIR}"/${P}-c++17.patch
-)
-
-S=${WORKDIR}/${PN}-${MY_PV}
-
-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=(
- --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_test() {
- nonfatal emake check || ewarn "tests failed"
-}
-
-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
-}