summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Gilbert <floppym@gentoo.org>2013-08-04 20:42:34 +0000
committerMike Gilbert <floppym@gentoo.org>2013-08-04 20:42:34 +0000
commit073f2c6e7cf5c8819fa619859cfade2da27bf08e (patch)
tree784de1d8e7758e5fa4a66a93db12a0e2869192df /sys-boot/grub
parentUse the right distfile this time. (diff)
downloadhistorical-073f2c6e7cf5c8819fa619859cfade2da27bf08e.tar.gz
historical-073f2c6e7cf5c8819fa619859cfade2da27bf08e.tar.bz2
historical-073f2c6e7cf5c8819fa619859cfade2da27bf08e.zip
New snapshot, resolves bug 468136. Append -fuse-ld=bfd to LDFLAGS for gcc-4.8+ as a workaround for bug 439082.
Package-Manager: portage-2.2.0_alpha193/cvs/Linux x86_64 Manifest-Sign-Key: 0x0BBEEA1FEA4843A4
Diffstat (limited to 'sys-boot/grub')
-rw-r--r--sys-boot/grub/ChangeLog9
-rw-r--r--sys-boot/grub/Manifest12
-rw-r--r--sys-boot/grub/grub-2.00_p5086.ebuild264
-rw-r--r--sys-boot/grub/grub-9999.ebuild24
4 files changed, 294 insertions, 15 deletions
diff --git a/sys-boot/grub/ChangeLog b/sys-boot/grub/ChangeLog
index 83f563420214..86aa8e17fb4f 100644
--- a/sys-boot/grub/ChangeLog
+++ b/sys-boot/grub/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for sys-boot/grub
# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-boot/grub/ChangeLog,v 1.269 2013/07/28 17:32:59 floppym Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-boot/grub/ChangeLog,v 1.270 2013/08/04 20:42:32 floppym Exp $
+
+*grub-2.00_p5086 (04 Aug 2013)
+
+ 04 Aug 2013; Mike Gilbert <floppym@gentoo.org> +grub-2.00_p5086.ebuild,
+ grub-9999.ebuild:
+ New snapshot, resolves bug 468136. Append -fuse-ld=bfd to LDFLAGS for gcc-4.8+
+ as a workaround for bug 439082.
28 Jul 2013; Mike Gilbert <floppym@gentoo.org> grub-2.00_p4946.ebuild,
grub-9999.ebuild:
diff --git a/sys-boot/grub/Manifest b/sys-boot/grub/Manifest
index 662b4920c23c..6a134b41804b 100644
--- a/sys-boot/grub/Manifest
+++ b/sys-boot/grub/Manifest
@@ -43,6 +43,7 @@ DIST grub-0.97-patches-1.9.tar.bz2 51809 SHA256 6b8445c9260803f059031cbe7475a45f
DIST grub-0.97.tar.gz 971783 SHA256 4e1d15d12dbd3e9208111d6b806ad5a9857ca8850c47877d36575b904559260b SHA512 c2bc9ffc8583aeae71cee9ddcc4418969768d4e3764d47307da54f93981c0109fb07d84b061b3a3628bd00ba4d14a54742bc04848110eb3ae8ca25dbfbaabadb WHIRLPOOL 0ad7f5dc035e2a3ad5fd29b6388f06fd12a8cc694117b4cbd42b5302433aa522db23566222d35219fe17fb95edb5090553156198507f70208eda5d858fd52dd5
DIST grub-1.99.tar.xz 2639224 SHA256 f308148d4c83c6f16a73b58a0cd39381656edb740929028cae7ad5f0d651021b SHA512 604b931eef3781cdfbd9589ed76c96d6bc9fd9d6429a7a32c94ab1ea5dc2b2e1e26b60c93353763831bddbe071368779bab8564234139cb5eb6cbc3c88395ff4 WHIRLPOOL 68d9de328eb492b9dc1771db6a356de9af5d0bbceb1e187c0aea48f117c94b492c721e773e715664d3e431bda7f0ff5d63774184d2f2c413a08554a91c13dde4
DIST grub-2.00.tar.xz 5136412 SHA256 784ec38e7edc32239ad75b8e66df04dc8bfb26d88681bc9f627133a6eb85c458 SHA512 f0dbfc90639491e5c671d2df206dec0139171bf096a99ee236f7ebf21cdafc6e6d39a9607e14ad2a6aee7c199ecc63f0a39573d969318e1a0cd32f989aa6b44a WHIRLPOOL b9690c023ab507926b8615ce28bf9de82b793ebd02126a5ecd52a130ab4bc52e2ae650b02ae2d784d4089e2981be944ba8b4800cde742aab793ff0d9029843c8
+DIST grub-2.00_p5086.tar.xz 5831260 SHA256 6871f3495aeb468afee125ef480358b58ad1d0d9638a314fe06a8b5b019efbad SHA512 e0b7fc4937e991abe065c18d53edc0cba5546aa08b6b68dd184888ab4eef8369bed80a23ecac336dd8ce0c1055430b67525845833ce70a23dc26ab5af0c50831 WHIRLPOOL 58265a3be25e328841bf19864c04b534cf3eda4a4767ddb1a12826a2c400c2ebab24348b93e541acebec730d367388a394261733c95edef2cc9615d0e770d990
DIST grub-2.00~beta6.tar.xz 5122792 SHA256 e58f5ae62b3384ccb75ea9709c85f344b68823e422fd3dea127b1dc28c08abfc SHA512 e37e40f888c962c561a47c459b7d2a6e8b38d736169750199656fae72e227472695bf820267cbe9f73635cbd07d1ae2dfc967c3e18d17e4d595ba4ebcfac8e8a WHIRLPOOL c7074824bc369ef5179418acf222204ba35e87d7a582cd0e03abeca4fdff4b5a2ad89480069297da5ffd9d37cbc5941a5c38f7b7bd533860ce8a001432144862
DIST grub-2.00~p4946.tar.xz 5850764 SHA256 b395190a89a11019453d3cfe0ccb0b2cac1b8824491a2c6f5245f6fde97de840 SHA512 0736059e4bdb6d7f2dc5c3a1be3145e28c7bd2cc7577a6482b996135f9b42b337951eb3372a89f240dbad5b4d77228d171bed3fec6a5be86fad77976a0bf6d0c WHIRLPOOL 34a8ab3b1d0c8aa8b50ba27d0b6a6a5fb863013223b72f327039502666a7f29fe542fa22dbc09c2ed01912ce4882610e9bc5669cc4d91519cd00355352fbc272
DIST splash.xpm.gz 33856 SHA256 b95600f777331b0dd31d51c68f60f0e846e4c8b628857a41165f4e6b30e6acaf SHA512 5ae1f786f7d46a95a7061068d5b2b3ad64607c7b190d6f28379508c5dce67e26308325bfd637542a84855dfcf1ea3d143947326fdb189a6a8972208d3ead23da WHIRLPOOL d95b7b588ea8ac7c2c8c53eb8057aef21c825da6411afe3b7e864c606aeffaaebce8ae41ce3e979f277bd6b48a9e82a1f2ea8afc836213b56523d8a854227d7b
@@ -70,13 +71,14 @@ EBUILD grub-2.00-r3.ebuild 9763 SHA256 99d4ee93c26b5e4569e65c733663033f96b3e23d1
EBUILD grub-2.00-r4.ebuild 6773 SHA256 cff41ddda910c1daf2ba655e25cb9b372a0bc554b0376fcfec836f402b7aa6df SHA512 7fa959f8379bc6ebc538f0c1ec99eb0bc499e5216724243606f8735303a0be08cb1e800725e208f00172961647699cfd3533f80dd0d6351b630b8041b78f0db9 WHIRLPOOL 0b7e08e517627cd69160127fc70a29556b8fd374ec7580bb2b442925414eb32f76e555e4a639806ff8d0130b06093c4074684bf3f2fc44f4aae114169468d240
EBUILD grub-2.00_beta6.ebuild 7140 SHA256 8026d9d32d21863e5427cac5b641fbc5f799662437bd9a40daa3f9a377a0de68 SHA512 35b5a7aa5224ba1f0d3dabaeb03d915b86a3c16419f6ef012c8092b198e8bbc054f22e4658930f704402066622b98c67c869f0c9cf5d74637c34ae786b0861fa WHIRLPOOL 54839cae4be956d12f8c62524923e9087f76c5e2c3c7db7cca074084deba71cd870238e514227a73a1131748fac501566afe29866231b68e4bbddbf2b465a71b
EBUILD grub-2.00_p4946.ebuild 6393 SHA256 f62b8b173efb5ffd7aacdb79b1552e30f72c56195054bf1baba67aed33defbdb SHA512 ef9cdbbc29db8c74a17c8a9cd417991cef61c443fc1c98c44c024573bc0037f6a46c2c6d4b72ea0e9587246b423ab3c5ee9a3ff4dc65646d3b6109bd9dd9f25a WHIRLPOOL b12e7653bb49f4fd2880c64c32214e0cf4d4767a960b91095986dfbc00f1f41c6b0fbd563eb90653ffcce60d9d5e36ddb92378b1fffa460f6857b3323d1f429d
-EBUILD grub-9999.ebuild 6388 SHA256 fd5621e7a983767836db0977351ea01e9de6157e36cd5a4bee56e0b76cb86fa5 SHA512 711d0a7df019ae3f2bca73b0a18ac869563a5427c4ba1e61df9b134c55bfeb5e335916135e895718ced73764297ecfce85a53b0bf700e0dfdc375fc92d353ec0 WHIRLPOOL ee399f45da7ecdd44e68d00298ea503492d3796d03012d56d2582ac3d8520b37881688e3782b8d02ce83f2c0cd76e2ae4f7f93e92a9b28e82da5cb8618efecdd
-MISC ChangeLog 51229 SHA256 a42087ee17739d50938e10505c3431a477112f6c2235dd59c0218f704d5997bc SHA512 75049f250f479c7d4d23c8f19d7331db78ee9f53fe07ad467527d5c24f4ebfe27dfce274920dbfc8db39c2468040a3b60ba3c7ea9cc549d154673aca1876645a WHIRLPOOL de11feb86dd2af64020a0ac221e03c18cd6825bf938a3123d02eb15c83791807be6cd3b96c9d76f3f74f913ec7a8bdce00216b1c7fd6208f130f6953aeb235a0
+EBUILD grub-2.00_p5086.ebuild 6568 SHA256 3ea567bda3dc668842a19fc44808d11e7f2f8ea704f6fe17cc57cb5ab69ca288 SHA512 9608944b5c30523b29f9e7736d4a597f2aec816d712c5bce2d52c740e8df828135876b02aecab6ee51d0f522e8cb0bc80369065cbb26f3dc4744a558c8a8fb20 WHIRLPOOL 04bc6f8449d245e44c755a0b512591895156896f107173a23281541c35966da19e97205649123d063014ccac274d3c4f79db824abfa747e1337f900b87cb8f2c
+EBUILD grub-9999.ebuild 6563 SHA256 6ede79dab359c55bf9739638459c0d2057d394c594ffc46e4cbd1a1954bc0707 SHA512 6a85039312e869da8e9ed5a99ef9fd71468d6f4322536453936c8c66e99339ab67ac6d118ff208c170231e0fce67815a5e5adcb5ff8e059a90f5573859f90782 WHIRLPOOL 94eaa00cf963400f3f2c36b4998f1bc112a4504c3a3f231fa10c2a5390d80f3a325f36f1a38d99e02db7f723e643efa45bb1e41517b233a5608bf33ca65a6dce
+MISC ChangeLog 51471 SHA256 8ae912e884ebb9ff78c25a6f8c7e09986064b868c07e41d8cd910ad3e583bfab SHA512 634c7c992a73ff4905d87de1d90c79d9fe79dbe1a49281d2b0039206a1a4ff4fe2bd50f1b84495991202b772a35bf8b0f48d4118cc578f77b6409a60f12e3e7c WHIRLPOOL 174e24d8265c61487dff66020945675e3fc04efefbfcab4ea982866e49e3a666f78a280dfca88835a5341ad31b79b67476c53cc4e9172e4eafd8cd16f23fbe8a
MISC metadata.xml 852 SHA256 d03182ca221633a5a479beec5bad1444859f2c586ad4d7764a9f531687cc73c0 SHA512 190483450afea0409f50f592e0290744cfc9e10362ec9c0c0d02b6f9933788bfc6b88a2e37a7e5a26066b914b6979a5dac6c6a2e7fa861dc5e728b34aec37e5b WHIRLPOOL 9c904cae80a6cbe7a7b35ef1d889478e79aac5006aa693af2884a7c21483f90f943322bf9206921db39db706cb36b5b509b420199269a385b47e75c8b2c2bb42
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.20 (GNU/Linux)
-iF4EAREIAAYFAlH1Vc0ACgkQC77qH+pIQ6Rg8QD+LnIFb3AiZ/3HbzYnYkpxd0zu
-10EtNHzqGWSvKVJfg3gA/imRaGup/IKOzN2puqhyy6W/9f1W85E8Ar6k8t3LYlAm
-=PTCR
+iF4EAREIAAYFAlH+vLoACgkQC77qH+pIQ6Q/hQEAlfVoCE+j87W0YZO3RLRq/MxN
+MqQzvX8XGcKZX8z1DjcA/3uxW94NIbysh4ed4RSEBFkERccL36um4mZ/CQbnWlvf
+=xoTb
-----END PGP SIGNATURE-----
diff --git a/sys-boot/grub/grub-2.00_p5086.ebuild b/sys-boot/grub/grub-2.00_p5086.ebuild
new file mode 100644
index 000000000000..db9426357660
--- /dev/null
+++ b/sys-boot/grub/grub-2.00_p5086.ebuild
@@ -0,0 +1,264 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-boot/grub/grub-2.00_p5086.ebuild,v 1.1 2013/08/04 20:42:32 floppym Exp $
+
+EAPI=5
+
+if [[ ${PV} == 9999 ]]; then
+ AUTOTOOLS_AUTORECONF=1
+fi
+
+inherit autotools-utils bash-completion-r1 eutils flag-o-matic multibuild pax-utils toolchain-funcs versionator
+
+if [[ ${PV} != 9999 ]]; then
+ if [[ ${PV} == *_alpha* || ${PV} == *_beta* || ${PV} == *_rc* ]]; then
+ MY_P=${P/_/~}
+ SRC_URI="mirror://gnu-alpha/${PN}/${MY_P}.tar.xz"
+ S=${WORKDIR}/${MY_P}
+ else
+ SRC_URI="mirror://gnu/${PN}/${P}.tar.xz
+ mirror://gentoo/${P}.tar.xz
+ http://dev.gentoo.org/~floppym/dist/${P}.tar.xz"
+ S=${WORKDIR}/${P%_*}
+ fi
+ KEYWORDS="~amd64 ~x86"
+ PATCHES=()
+else
+ inherit bzr
+ EBZR_REPO_URI="http://bzr.savannah.gnu.org/r/grub/trunk/grub/"
+fi
+
+DESCRIPTION="GNU GRUB boot loader"
+HOMEPAGE="http://www.gnu.org/software/grub/"
+
+LICENSE="GPL-3"
+SLOT="2"
+IUSE="custom-cflags debug device-mapper doc efiemu mount +multislot nls static sdl test truetype libzfs"
+
+GRUB_ALL_PLATFORMS=(
+ # everywhere:
+ emu
+ # mips only:
+ qemu-mips yeeloong
+ # amd64, x86, ppc, ppc64:
+ ieee1275
+ # amd64, x86:
+ coreboot multiboot efi-32 pc qemu
+ # amd64, ia64:
+ efi-64
+)
+IUSE+=" ${GRUB_ALL_PLATFORMS[@]/#/grub_platforms_}"
+
+REQUIRED_USE="grub_platforms_qemu? ( truetype )
+ grub_platforms_yeeloong? ( truetype )"
+
+# os-prober: Used on runtime to detect other OSes
+# xorriso (dev-libs/libisoburn): Used on runtime for mkrescue
+RDEPEND="
+ app-arch/xz-utils
+ >=sys-libs/ncurses-5.2-r5
+ debug? (
+ sdl? ( media-libs/libsdl )
+ )
+ device-mapper? ( >=sys-fs/lvm2-2.02.45 )
+ libzfs? ( sys-fs/zfs )
+ mount? ( sys-fs/fuse )
+ truetype? (
+ media-libs/freetype
+ media-fonts/dejavu
+ >=media-fonts/unifont-5
+ )
+ ppc? ( sys-apps/ibm-powerpc-utils sys-apps/powerpc-utils )
+ ppc64? ( sys-apps/ibm-powerpc-utils sys-apps/powerpc-utils )
+"
+DEPEND="${RDEPEND}
+ app-misc/pax-utils
+ >=dev-lang/python-2.5.2
+ sys-devel/flex
+ sys-devel/bison
+ sys-apps/help2man
+ sys-apps/texinfo
+ static? (
+ truetype? (
+ app-arch/bzip2[static-libs(+)]
+ media-libs/freetype[static-libs(+)]
+ sys-libs/zlib[static-libs(+)]
+ )
+ )
+ test? (
+ dev-libs/libisoburn
+ app-emulation/qemu
+ )
+"
+RDEPEND+="
+ kernel_linux? (
+ grub_platforms_efi-32? ( sys-boot/efibootmgr )
+ grub_platforms_efi-64? ( sys-boot/efibootmgr )
+ )
+ !multislot? ( !sys-boot/grub:0 )
+"
+
+if [[ -n ${AUTOTOOLS_AUTORECONF} ]]; then
+ DEPEND+=" >=sys-devel/autogen-5.10"
+fi
+
+STRIP_MASK="*/grub/*/*.{mod,img}"
+RESTRICT="test"
+
+QA_EXECSTACK="
+ usr/bin/grub*
+ usr/sbin/grub*
+ usr/lib*/grub/*/*.mod
+ usr/lib*/grub/*/*.module
+ usr/lib*/grub/*/kernel.exec
+ usr/lib*/grub/*/kernel.img
+"
+
+QA_WX_LOAD="
+ usr/lib*/grub/*/kernel.exec
+ usr/lib*/grub/*/kernel.img
+ usr/lib*/grub/*/*.image
+"
+
+QA_PRESTRIPPED="
+ usr/lib.*/grub/.*/kernel.img
+"
+
+pkg_pretend() {
+ if [[ ${MERGE_TYPE} != binary ]]; then
+ # Bug 439082
+ if ! version_is_at_least 4.8 "$(gcc-version)" &&
+ $(tc-getLD) --version | grep -q "GNU gold"; then
+ eerror "GRUB does not function correctly when built with the gold linker."
+ eerror "Please select the bfd linker with binutils-config."
+ die "GNU gold detected"
+ fi
+ fi
+}
+
+src_prepare() {
+ [[ ${PATCHES} ]] && epatch "${PATCHES[@]}"
+ sed -i -e /autoreconf/d autogen.sh || die
+ if use multislot; then
+ # fix texinfo file name, bug 416035
+ sed -i -e 's/^\* GRUB:/* GRUB2:/' -e 's/(grub)/(grub2)/' docs/grub.texi || die
+ fi
+ epatch_user
+ if [[ -n ${AUTOTOOLS_AUTORECONF} ]]; then
+ bash autogen.sh || die
+ autopoint() { return 0; }
+ eautoreconf
+ fi
+}
+
+grub_configure() {
+ local platform
+
+ case ${MULTIBUILD_VARIANT} in
+ efi-32)
+ platform=efi
+ if [[ ${CTARGET:-${CHOST}} == x86_64* ]]; then
+ local CTARGET=${CTARGET:-i386}
+ fi ;;
+ efi-64)
+ platform=efi
+ if [[ ${CTARGET:-${CHOST}} == i?86* ]]; then
+ local CTARGET=${CTARGET:-x86_64}
+ local TARGET_CFLAGS="-Os -march=x86-64 ${TARGET_CFLAGS}"
+ local TARGET_CPPFLAGS="-march=x86-64 ${TARGET_CPPFLAGS}"
+ export TARGET_CFLAGS TARGET_CPPFLAGS
+ fi ;;
+ guessed) ;;
+ *) platform=${MULTIBUILD_VARIANT} ;;
+ esac
+
+ local myeconfargs=(
+ --disable-werror
+ --program-prefix=
+ --libdir="${EPREFIX}"/usr/lib
+ --htmldir="${EPREFIX}"/usr/share/doc/${PF}/html
+ $(use_enable debug mm-debug)
+ $(use_enable debug grub-emu-usb)
+ $(use_enable mount grub-mount)
+ $(use_enable nls)
+ $(use_enable truetype grub-mkfont)
+ $(use_enable libzfs)
+ $(use sdl && use_enable debug grub-emu-sdl)
+ ${platform:+--with-platform=}${platform}
+
+ # Let configure detect this where supported
+ $(usex efiemu '' '--disable-efiemu')
+ )
+
+ if use multislot; then
+ myeconfargs+=(
+ --program-transform-name="s,grub,grub2,"
+ --with-grubdir=grub2
+ )
+ fi
+
+ autotools-utils_src_configure
+}
+
+src_configure() {
+ use custom-cflags || unset CCASFLAGS CFLAGS CPPFLAGS LDFLAGS
+ use static && append-ldflags -static
+
+ if version_is_at_least 4.8 "$(gcc-version)"; then
+ export TARGET_LDFLAGS+=" -fuse-ld=bfd"
+ fi
+
+ tc-export CC NM OBJCOPY STRIP
+ export TARGET_CC=${TARGET_CC:-${CC}}
+
+ # Portage will take care of cleaning up GRUB_PLATFORMS
+ MULTIBUILD_VARIANTS=( ${GRUB_PLATFORMS:-guessed} )
+ multibuild_parallel_foreach_variant grub_configure
+}
+
+src_compile() {
+ # Sandbox bug 404013.
+ use libzfs && addpredict /etc/dfs:/dev/zfs
+
+ multibuild_foreach_variant autotools-utils_src_compile
+
+ use doc && multibuild_for_best_variant \
+ autotools-utils_src_compile -C docs html
+}
+
+src_test() {
+ # The qemu dependency is a bit complex.
+ # You will need to adjust QEMU_SOFTMMU_TARGETS to match the cpu/platform.
+ multibuild_foreach_variant autotools-utils_src_test
+}
+
+src_install() {
+ multibuild_foreach_variant autotools-utils_src_install \
+ bashcompletiondir="$(get_bashcompdir)"
+
+ use doc && multibuild_for_best_variant run_in_build_dir \
+ emake -C docs DESTDIR="${D}" install-html
+
+ if use multislot; then
+ mv "${ED%/}"/usr/share/info/grub{,2}.info || die
+ fi
+
+ insinto /etc/default
+ newins "${FILESDIR}"/grub.default-2 grub
+
+ cd "${ED}" || die
+ pax-mark mpes $(scanelf -BF %F usr/{bin,sbin})
+}
+
+pkg_postinst() {
+ elog "For information on how to configure grub-2 please refer to the guide:"
+ elog " http://wiki.gentoo.org/wiki/GRUB2_Quick_Start"
+ if [[ -z ${REPLACING_VERSIONS} ]]; then
+ if ! has_version sys-boot/os-prober; then
+ elog "Install sys-boot/os-prober to enable detection of other operating systems using grub2-mkconfig."
+ fi
+ if ! has_version dev-libs/libisoburn; then
+ elog "Install dev-libs/libisoburn to enable creation of rescue media using grub2-mkrescue."
+ fi
+ fi
+}
diff --git a/sys-boot/grub/grub-9999.ebuild b/sys-boot/grub/grub-9999.ebuild
index e717f936fcff..4451b117604c 100644
--- a/sys-boot/grub/grub-9999.ebuild
+++ b/sys-boot/grub/grub-9999.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-boot/grub/grub-9999.ebuild,v 1.98 2013/07/28 17:32:59 floppym Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-boot/grub/grub-9999.ebuild,v 1.99 2013/08/04 20:42:32 floppym Exp $
EAPI=5
@@ -8,19 +8,20 @@ if [[ ${PV} == 9999 ]]; then
AUTOTOOLS_AUTORECONF=1
fi
-inherit autotools-utils bash-completion-r1 eutils flag-o-matic multibuild pax-utils toolchain-funcs
+inherit autotools-utils bash-completion-r1 eutils flag-o-matic multibuild pax-utils toolchain-funcs versionator
if [[ ${PV} != 9999 ]]; then
- MY_P=${P/_/\~}
if [[ ${PV} == *_alpha* || ${PV} == *_beta* || ${PV} == *_rc* ]]; then
+ MY_P=${P/_/~}
SRC_URI="mirror://gnu-alpha/${PN}/${MY_P}.tar.xz"
+ S=${WORKDIR}/${MY_P}
else
- SRC_URI="mirror://gnu/${PN}/${MY_P}.tar.xz
- mirror://gentoo/${MY_P}.tar.xz
- http://dev.gentoo.org/~floppym/dist/${MY_P}.tar.xz"
+ SRC_URI="mirror://gnu/${PN}/${P}.tar.xz
+ mirror://gentoo/${P}.tar.xz
+ http://dev.gentoo.org/~floppym/dist/${P}.tar.xz"
+ S=${WORKDIR}/${P%_*}
fi
KEYWORDS="~amd64 ~x86"
- S=${WORKDIR}/${MY_P}
PATCHES=()
else
inherit bzr
@@ -126,7 +127,8 @@ QA_PRESTRIPPED="
pkg_pretend() {
if [[ ${MERGE_TYPE} != binary ]]; then
# Bug 439082
- if $(tc-getLD) --version | grep -q "GNU gold"; then
+ if ! version_is_at_least 4.8 "$(gcc-version)" &&
+ $(tc-getLD) --version | grep -q "GNU gold"; then
eerror "GRUB does not function correctly when built with the gold linker."
eerror "Please select the bfd linker with binutils-config."
die "GNU gold detected"
@@ -185,7 +187,7 @@ grub_configure() {
${platform:+--with-platform=}${platform}
# Let configure detect this where supported
- $(usex efiemu '' --disable-efiemu)
+ $(usex efiemu '' '--disable-efiemu')
)
if use multislot; then
@@ -202,6 +204,10 @@ src_configure() {
use custom-cflags || unset CCASFLAGS CFLAGS CPPFLAGS LDFLAGS
use static && append-ldflags -static
+ if version_is_at_least 4.8 "$(gcc-version)"; then
+ export TARGET_LDFLAGS+=" -fuse-ld=bfd"
+ fi
+
tc-export CC NM OBJCOPY STRIP
export TARGET_CC=${TARGET_CC:-${CC}}