forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
sys-devel/gdb: Version bump to 8.0.1
Package-Manager: Portage-2.3.11, Repoman-2.3.3
- Loading branch information
Showing
2 changed files
with
247 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,5 @@ | ||
DIST gdb-7.10.1.tar.xz 18531436 SHA256 25c72f3d41c7c8554d61cacbeacd5f40993276d2ccdec43279ac546e3993d6d5 SHA512 17a5138277a31685a5c2a841cb47ed9bc4626ea617b8ca77750513b300299f4fbbffe504958b5372de610dcb952c679cf8fa9c1bdadd380294fbf59b6e366010 WHIRLPOOL 02936f59d3f3f8a57966c72402f1da128dd8e10e686097ffdb3a2741cc0c1831ef27f97daa047fa006ff2ae9f79ae0480f6f0dc2d3f5904190a1dade0590c837 | ||
DIST gdb-7.12.1.tar.xz 19225392 SHA256 4607680b973d3ec92c30ad029f1b7dbde3876869e6b3a117d8a7e90081113186 SHA512 0ac8d0a495103611ef41167a08313a010dce6ca4c6d827cbe8558a0c1a1a8a6bfa53f1b7704251289cababbfaaf9e075550cdf741a54d6cd9ca3433d910efcd8 WHIRLPOOL 1da1d9680639531000f2518fb6e01551f7d35091065b933a25381339f7d78d64486b7ce54dd9815f7e82884133ccd6868950a15c27fb5a7b9b13243e99eba697 | ||
DIST gdb-7.9.1.tar.xz 17867692 SHA256 cd9c543a411a05b2b647dd38936034b68c2b5d6f10e0d51dc168c166c973ba40 SHA512 eebdf88b24e52e792b8a4b89ea85790de72b462a7810b44975fdf4232c068f353b15506071f450102a9d4bcecdde8e93dc3748a10699b7f73f3e04fb2d9d8414 WHIRLPOOL fe7afb392f453fa5aab290da3b74118c4e3bbae6f4e276f2efd7f978e3987e031d92ecd90d35e0531901f1cf68b04a313df050b25bb3b632d1b6e62360acd591 | ||
DIST gdb-8.0.1.tar.xz 19583920 SHA256 3dbd5f93e36ba2815ad0efab030dcd0c7b211d7b353a40a53f4c02d7d56295e3 SHA512 5eb328910033f0918058be2f92caebf1e8dfc6caa3c730d99d621627e53de3c1b43761c2f683d53555893253c2f06768cbf56cdea051a3d291ffb6cfae87b5e1 WHIRLPOOL 4632580658f85faab596b98f4f9b3b21a48fc067f56c9ac987e4895f3bd1b430d8f78ef95965e0b78c53e69b502acdeeff5e966c3e8021e6426ce86b78807c17 | ||
DIST gdb-8.0.tar.xz 19588616 SHA256 f6a24ffe4917e67014ef9273eb8b547cb96a13e5ca74895b06d683b391f3f4ee SHA512 e4044bdd162cbf95044ec1eaa44d2fa62a33e051bdbbacbc97afd4dfb07bae1bea514381fc1966aede89d6796ef2377a15748a93d95e2ad494c8497db489e886 WHIRLPOOL 8e5f49fd8d6a57778ba80cab8768fc11426720c15d54010f9fbcac2c6d8495e7d17ea133f9006d650ed34fdb95b82ac1942d935eaa6b7218fc51d6de6e2213bb |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,246 @@ | ||
# Copyright 1999-2017 Gentoo Foundation | ||
# Distributed under the terms of the GNU General Public License v2 | ||
|
||
EAPI=6 | ||
PYTHON_COMPAT=( python{2_7,3_4,3_5} ) | ||
|
||
inherit flag-o-matic eutils 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-2 | ||
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="" | ||
DESCRIPTION="GNU debugger" | ||
HOMEPAGE="https://sourceware.org/gdb/" | ||
SRC_URI="${SRC_URI} ${PATCH_VER:+mirror://gentoo/${P}-patches-${PATCH_VER}.tar.xz}" | ||
|
||
LICENSE="GPL-2 LGPL-2" | ||
SLOT="0" | ||
if [[ ${PV} != 9999* ]] ; then | ||
# alpha #562128 | ||
KEYWORDS="-alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" | ||
fi | ||
IUSE="+client lzma multitarget nls +python +server test vanilla xml" | ||
REQUIRED_USE=" | ||
python? ( ${PYTHON_REQUIRED_USE} ) | ||
|| ( client server ) | ||
" | ||
|
||
RDEPEND="server? ( !dev-util/gdbserver ) | ||
client? ( | ||
>=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 | ||
)" | ||
DEPEND="${RDEPEND} | ||
app-arch/xz-utils | ||
sys-apps/texinfo | ||
client? ( | ||
virtual/yacc | ||
test? ( dev-util/dejagnu ) | ||
nls? ( sys-devel/gettext ) | ||
)" | ||
|
||
S=${WORKDIR}/${PN}-${MY_PV} | ||
|
||
pkg_setup() { | ||
use python && python-single-r1_pkg_setup | ||
} | ||
|
||
src_prepare() { | ||
[[ -n ${RPM} ]] && rpm_spec_epatch "${WORKDIR}"/gdb.spec | ||
! use vanilla && [[ -n ${PATCH_VER} ]] && EPATCH_SUFFIX="patch" epatch "${WORKDIR}"/patch | ||
|
||
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 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 -r "${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* | ||
} | ||
|
||
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 | ||
} |