diff --git a/sdk_container/src/third_party/portage-stable/metadata/md5-cache/sys-devel/binutils-2.29 b/sdk_container/src/third_party/portage-stable/metadata/md5-cache/sys-devel/binutils-2.29.1-r1 similarity index 67% rename from sdk_container/src/third_party/portage-stable/metadata/md5-cache/sys-devel/binutils-2.29 rename to sdk_container/src/third_party/portage-stable/metadata/md5-cache/sys-devel/binutils-2.29.1-r1 index 4b7d1d3f44..aa2c8d5c24 100644 --- a/sdk_container/src/third_party/portage-stable/metadata/md5-cache/sys-devel/binutils-2.29 +++ b/sdk_container/src/third_party/portage-stable/metadata/md5-cache/sys-devel/binutils-2.29.1-r1 @@ -4,10 +4,10 @@ DESCRIPTION=Tools necessary to build programs EAPI=5 HOMEPAGE=https://sourceware.org/binutils/ IUSE=cxx multitarget nls static-libs test vanilla -KEYWORDS=~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd -sparc-fbsd ~x86-fbsd +KEYWORDS=alpha amd64 arm arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd -sparc-fbsd ~x86-fbsd LICENSE=|| ( GPL-3 LGPL-3 ) RDEPEND=>=sys-devel/binutils-config-3 sys-libs/zlib -SLOT=2.29 -SRC_URI=mirror://gnu/binutils/binutils-2.29.tar.bz2 mirror://gentoo/binutils-2.29-patches-1.0.tar.xz https://dev.gentoo.org/~vapier/dist/binutils-2.29-patches-1.0.tar.xz https://dev.gentoo.org/~tamiko/distfiles/binutils-2.29-patches-1.0.tar.xz https://dev.gentoo.org/~dilfridge/distfiles/binutils-2.29-patches-1.0.tar.xz +SLOT=2.29.1 +SRC_URI=mirror://gnu/binutils/binutils-2.29.1.tar.bz2 mirror://gentoo/binutils-2.29.1-patches-3.tar.xz https://dev.gentoo.org/~vapier/dist/binutils-2.29.1-patches-3.tar.xz https://dev.gentoo.org/~tamiko/distfiles/binutils-2.29.1-patches-3.tar.xz https://dev.gentoo.org/~dilfridge/distfiles/binutils-2.29.1-patches-3.tar.xz _eclasses_=epatch 8233751dc5105a6ae8fcd86ce2bb0247 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 227b041a120d309fdefbebb3b8c1dfa9 flag-o-matic 2274fcc1e7ef6affaff5bcd636275417 gnuconfig b8ec1c34be4ff9dac7ad4034d277936b libtool 0081a71a261724730ec4c248494f044d ltprune 2770eed66a9b8ef944714cd0e968182e multilib 97f470f374f2e94ccab04a2fb21d811e toolchain-binutils 836af54604b9fef015d2bfd165d4ca32 toolchain-funcs 185a06792159ca143528e7010368e8af unpacker f40f7b4bd5aa88c2a4ba7b0d1e0ded70 versionator c80ccf29e90adea7c5cae94b42eb76d0 -_md5_=24f2f60a945af2707d0c9619cd761b42 +_md5_=1ac32f55d611bd9b300fd87adc6c8d4f diff --git a/sdk_container/src/third_party/portage-stable/metadata/md5-cache/sys-devel/binutils-9999 b/sdk_container/src/third_party/portage-stable/metadata/md5-cache/sys-devel/binutils-9999 index aaff9095c7..0d90867923 100644 --- a/sdk_container/src/third_party/portage-stable/metadata/md5-cache/sys-devel/binutils-9999 +++ b/sdk_container/src/third_party/portage-stable/metadata/md5-cache/sys-devel/binutils-9999 @@ -1,11 +1,11 @@ DEFINED_PHASES=compile configure install postinst postrm prepare test unpack -DEPEND=dev-vcs/git >=app-portage/elt-patches-20170422 sys-devel/gnuconfig >=sys-devel/binutils-config-3 sys-libs/zlib test? ( dev-util/dejagnu ) nls? ( sys-devel/gettext ) sys-devel/flex virtual/yacc +DEPEND=>=sys-devel/binutils-config-3 sys-libs/zlib test? ( dev-util/dejagnu ) nls? ( sys-devel/gettext ) sys-devel/flex virtual/yacc >=app-portage/elt-patches-20170422 sys-devel/gnuconfig >=dev-vcs/git-1.8.2.1 DESCRIPTION=Tools necessary to build programs -EAPI=5 +EAPI=6 HOMEPAGE=https://sourceware.org/binutils/ -IUSE=cxx multitarget nls static-libs test vanilla +IUSE=cxx multitarget nls static-libs test LICENSE=|| ( GPL-3 LGPL-3 ) RDEPEND=>=sys-devel/binutils-config-3 sys-libs/zlib SLOT=git -_eclasses_=epatch 8233751dc5105a6ae8fcd86ce2bb0247 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 227b041a120d309fdefbebb3b8c1dfa9 flag-o-matic 2274fcc1e7ef6affaff5bcd636275417 git-2 195a672bfaf52d868442171c9469bbb6 gnuconfig b8ec1c34be4ff9dac7ad4034d277936b libtool 0081a71a261724730ec4c248494f044d ltprune 2770eed66a9b8ef944714cd0e968182e multilib 97f470f374f2e94ccab04a2fb21d811e toolchain-binutils 836af54604b9fef015d2bfd165d4ca32 toolchain-funcs 185a06792159ca143528e7010368e8af unpacker f40f7b4bd5aa88c2a4ba7b0d1e0ded70 versionator c80ccf29e90adea7c5cae94b42eb76d0 -_md5_=6302eb1a0e9111cc634d6b7550d215a3 +_eclasses_=epatch 8233751dc5105a6ae8fcd86ce2bb0247 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 227b041a120d309fdefbebb3b8c1dfa9 flag-o-matic 2274fcc1e7ef6affaff5bcd636275417 git-r3 52a888802d25387c2c74cb845d1219bc gnuconfig b8ec1c34be4ff9dac7ad4034d277936b libtool 0081a71a261724730ec4c248494f044d ltprune 2770eed66a9b8ef944714cd0e968182e multilib 97f470f374f2e94ccab04a2fb21d811e toolchain-funcs 185a06792159ca143528e7010368e8af versionator c80ccf29e90adea7c5cae94b42eb76d0 +_md5_=338638d42c4824a59393690ac2858969 diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/binutils/Manifest b/sdk_container/src/third_party/portage-stable/sys-devel/binutils/Manifest index 447fb9b14b..c82f79d40d 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/binutils/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-devel/binutils/Manifest @@ -1,10 +1,10 @@ -DIST binutils-2.25.1-patches-1.1.tar.xz 18724 SHA256 3d4c0ab2d45d3a952f60246fa5a4353f057c03110130b50e3b2103bd49c345fa SHA512 209c55bf26b51d8c513b40abd2d95f687159c4e964a6c732924f277d04c97323c427fe452c63d5ec6962dcd8892d6d5d807ba88826739425bce6812a31f573dd WHIRLPOOL 2b650af352183d2b58abaee955b223606d63bd5f22a73360e79af1d3b575c5ea385f90be92348ec850534d96f7b6632b1e494f314ec1655eedc26108e849aab7 -DIST binutils-2.25.1.tar.bz2 24163561 SHA256 b5b14added7d78a8d1ca70b5cb75fef57ce2197264f4f5835326b0df22ac9f22 SHA512 0b36dda0e6d32cd25613c0e64b56b28312515c54d6a159efd3db9a86717f114ab0a0a1f69d08975084d55713ebaeab64e4085c9b3d1c3fa86712869f80eb954d WHIRLPOOL daa804331ee880296c2fe29fd9b8a52cc695629d4bbe0b9889d96ffc54d330f00fac3f3cb12b3aaf6b7505521ef499c53760912cd7c9bb54f2d5e288224bd1eb -DIST binutils-2.26.1-patches-1.0.tar.xz 11212 SHA256 e56e2a6b64b8abe2f4aed1a9b1517fc8cbb5fd661f40118d0163d93943870e77 SHA512 c520967659c66f05f7ad795bb0bc2522e139977ab3ae8cfd9ec0d093a412a7291d1cabaa6b429c618fcf7253458a6fbe5a7dc3f62e0ac9762667308067db075c WHIRLPOOL 027b6a864134e2690d309922009740338bbd927581c6657c640d3061447f308c2e27a8c06a9202ae3f4aac4bcbf9e28303b52f81745d4062bf5b8c638cd1a9b7 -DIST binutils-2.26.1.tar.bz2 25595243 SHA256 39c346c87aa4fb14b2f786560aec1d29411b6ec34dce3fe7309fe3dd56949fd8 SHA512 9d9165609fd3b0f20d616f9891fc8e2b466eb13e2bfce40125e12427f8f201d20e2b8322bb6cb2b45e8df812f0e8ac059149f8a1f69ba3ed9d86a35c6a540b67 WHIRLPOOL c33eecdf855dd17314c3b7bbb0060399148d4dba867eb038bfb7555010fd003ba8b5b86480e4df389e19bba7b1fd0b9264291e6af20be4ffd4ff504d2255d003 -DIST binutils-2.27-patches-1.1.tar.xz 9828 SHA256 fbabb2c1cb69ad0c83d97ec6342ea663dea12b61cd3858088071f5575d842f6f SHA512 5059a784344e0554965473808b9d72af34f793e5538e82010adbbf586d583ddfd9f5ca637e6ba658e566c406244ae79b2ab5135995bcfedc8a96b9293366199d WHIRLPOOL 23c10c3c71a6d7d5f1fca97dcb77cf3bdb0a4114321a3cb51d88a4549404da63d74c30e6732c1b7fdefc3380d28b2064752155dfd22fa345e62df8df25a9690d -DIST binutils-2.27.tar.bz2 26099568 SHA256 369737ce51587f92466041a97ab7d2358c6d9e1b6490b3940eb09fb0a9a6ac88 SHA512 cf276f84935312361a2ca077e04d0b469d23a3aed979d8ba5d92ea590904ffb2c2e7ed12cc842822bfc402836be86f479660cef3791aa62f3753d8a1a6f564cb WHIRLPOOL d3204b4900529f697285fb1fe622ecc949c43f064e6b83a1cecb1ea8810a214842c729266c9a44537dc0a86d6d2b3ac100f54c721cc284e54f9d6feb90930d15 -DIST binutils-2.28.1-patches-1.0.tar.xz 19772 SHA256 50cfce6ef7f546dcdb983a8b632507b5cdd51095e4acf1f15bfcd68027d438a4 SHA512 c2c7d22e1013e79040c4dcb4d70649e78a070976ba3a4bc2ceb4805827b9d93eea1805c85db4fcb6b31be5218c3d7b42a4990437a7c01dc01fd7e9dedb606828 WHIRLPOOL 2369fce643cc9b83724b486521621d744de0eaf3d95fdd34c7f1c785bc400f3ed31ae6105001870f33539664d84dd9caae854725e20007f136929d2ece755247 -DIST binutils-2.28.1.tar.bz2 28120394 SHA256 6924999be62d4464458eb53c11f27277cfb63755df8c1cd47b8d15d02c1942ea SHA512 5ec5212497b0fa8324f6a0884c284cb71c01942bbd39356d1ae745a5c9d97274c10f9d9c723f4bef6f0217662dfcd0c36e4e955a7599b11217658dc7b97553eb WHIRLPOOL 5c616f719827e5da7db23e89c761323cd4828b4779e79c3983d3ea429bce57ed40219982c478237b4dd728b77bae0a6447d912d96490ed1f5fc279ba5fd73bc6 -DIST binutils-2.29-patches-1.0.tar.xz 7548 SHA256 8ce4d1ea1224a305c4e36529e02dba87306075638ba0415b69ceeccedc77cd6e SHA512 5375bfb1b796b7692cf2adfc41bd2ae2e6dc19ff497db5f6beb35a456981b3adb8552ef14f32382faf655aa40da86c2d44177a658ec71e1c0e228dc27a4f2e18 WHIRLPOOL 73d2b78ea18e3427442bcb24440f671c1d35c0b559bf2141f30052b2bb8d6a8a6e29994cac741e4e50071c716d761f32b36358487a176d67e8cd226dfaaeafc2 -DIST binutils-2.29.tar.bz2 29073316 SHA256 29a29549869039aad75fdf507ac30366da5ad0b974fbff4a8e7148dbf4f40ebf SHA512 8148587d7e4f14ebcbcb3f984b116deaae5d4008228628acde14bc242a64a4b53faf1f6077a2c4ca4750e2f254b698ba506bd657f79e1202e87e7029b0069337 WHIRLPOOL 62b3e9ff6f85f8f4a13b71361f5abc4081a70de560931dcaaece1daef04c6bc7d3e0085cbacff0abbb750c4779863d45bc0d8d17273965472992c6b61b5cab20 +DIST binutils-2.25.1-patches-1.1.tar.xz 18724 BLAKE2B 0a8380427247463340b28fa28171f127b9a3c8163ce63d103d1d15492c30df9cf24a5122ff271dc80425a0b212438f5d39f99783fda52e7b5e861a3f5f0e2992 SHA512 209c55bf26b51d8c513b40abd2d95f687159c4e964a6c732924f277d04c97323c427fe452c63d5ec6962dcd8892d6d5d807ba88826739425bce6812a31f573dd +DIST binutils-2.25.1.tar.bz2 24163561 BLAKE2B 25fc879f99d6547fd0dc911e74c35cf52f3da2c0f9fd758031dda90da63cdd819345d0a69f692a40dee9f63895d816cee7910a9f48ce56e7b4251827768946f4 SHA512 0b36dda0e6d32cd25613c0e64b56b28312515c54d6a159efd3db9a86717f114ab0a0a1f69d08975084d55713ebaeab64e4085c9b3d1c3fa86712869f80eb954d +DIST binutils-2.26.1-patches-1.0.tar.xz 11212 BLAKE2B f785930a9bf994312f3a525ef46727c582e6cd3992b5648bdf4c787f55fed4b36c69be3ac7d9962dcd72b6dbe0155dbf23d1daa14be5c7ad5da1cf634f2522aa SHA512 c520967659c66f05f7ad795bb0bc2522e139977ab3ae8cfd9ec0d093a412a7291d1cabaa6b429c618fcf7253458a6fbe5a7dc3f62e0ac9762667308067db075c +DIST binutils-2.26.1.tar.bz2 25595243 BLAKE2B 5114ab9ebfc1097f0ebfd1e134ea098b583724d2c822fb7365b6212be0edfd313961bcee8de1193f359b7e904b23146036bfa9e3e7bc0621160bf85f573a8d44 SHA512 9d9165609fd3b0f20d616f9891fc8e2b466eb13e2bfce40125e12427f8f201d20e2b8322bb6cb2b45e8df812f0e8ac059149f8a1f69ba3ed9d86a35c6a540b67 +DIST binutils-2.27-patches-1.1.tar.xz 9828 BLAKE2B 158787c0ee2b26ad78d90b0ce3c8c0c79256d2e85d5f4b582b275953235555a6323f791a98e1de357559994fef284a910a54749dcfc3ac0aea9cfad6ee70980e SHA512 5059a784344e0554965473808b9d72af34f793e5538e82010adbbf586d583ddfd9f5ca637e6ba658e566c406244ae79b2ab5135995bcfedc8a96b9293366199d +DIST binutils-2.27.tar.bz2 26099568 BLAKE2B e9433b4dc28b0aeaa31d21fc039459e73c47050bb79dc0cf3f00e384604c37c0c1704ac6cba79c6b15edcbfd13f17b8013efeaca422d5b0e5a7f60c202fc5d18 SHA512 cf276f84935312361a2ca077e04d0b469d23a3aed979d8ba5d92ea590904ffb2c2e7ed12cc842822bfc402836be86f479660cef3791aa62f3753d8a1a6f564cb +DIST binutils-2.28.1-patches-1.0.tar.xz 19772 BLAKE2B 146b393b49ba868c7c064c58275ba1af3b7cbc7e97cc55b03c80d8b391955c40dd4e81ac4eeabcdfb53e41ea334a377d86300e037f8ccb810555a48dfa9da878 SHA512 c2c7d22e1013e79040c4dcb4d70649e78a070976ba3a4bc2ceb4805827b9d93eea1805c85db4fcb6b31be5218c3d7b42a4990437a7c01dc01fd7e9dedb606828 +DIST binutils-2.28.1.tar.bz2 28120394 BLAKE2B 3a0ed2bcf0c859638546b7460d9e6f0a55518402ff0c65c90ce462a318f5ae6690961616d188ce6cf0271c9f2fb8b7902782d32cf0e711068c53d3d06956d89e SHA512 5ec5212497b0fa8324f6a0884c284cb71c01942bbd39356d1ae745a5c9d97274c10f9d9c723f4bef6f0217662dfcd0c36e4e955a7599b11217658dc7b97553eb +DIST binutils-2.29.1-patches-3.tar.xz 20904 BLAKE2B 5549cb2412123e4ad3a13935762cc0dca46215950dbf38a149caf4c6416da382a0fd7ecffe97b10bce4dfdcef5edc2673d49bb21e9d37be37e33b454a8c2bc1a SHA512 ba54efaf9e9f668d2922972acd2cdf5c3e6f174cfcc73d29953ab4ba6e157ce0cb500c583568a4e3baaaa92c9d30c394a327f29b51292acc66f8d3f20f5eae2a +DIST binutils-2.29.1.tar.bz2 29123355 BLAKE2B 83de518a27bae0f13c57b1979493dd7f7cabae424cff5e8495d1f064da24b6ef9e1c19d1d1adad2dca7142372782023f66b4b4223170a49b96ba3834266fe878 SHA512 4063d34555526922376ccceb3f14b43e287442e82a8038cf50f4f51ad97d438c672c0e310ca4b856c9aff5aa9911073e256e8298a7a3f1844eeb60b90d955592 diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.29.1-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.29.1-r1.ebuild new file mode 100644 index 0000000000..8cac4ed2a8 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.29.1-r1.ebuild @@ -0,0 +1,12 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="5" + +PATCHVER="3" +ELF2FLT_VER="" +inherit toolchain-binutils + +KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd -sparc-fbsd ~x86-fbsd" + +PATCHES=( "${FILESDIR}/${P}-nogoldtest.patch" ) diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.29.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.29.ebuild deleted file mode 100644 index 6fafa8ee88..0000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.29.ebuild +++ /dev/null @@ -1,10 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI="5" - -PATCHVER="1.0" -ELF2FLT_VER="" -inherit toolchain-binutils - -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd -sparc-fbsd ~x86-fbsd" diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-9999.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-9999.ebuild index cf90a61b1d..3c7b8b3b06 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-9999.ebuild @@ -1,6 +1,389 @@ # Copyright 1999-2017 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -EAPI="5" +EAPI=6 -inherit toolchain-binutils +inherit eutils libtool flag-o-matic gnuconfig multilib versionator + +DESCRIPTION="Tools necessary to build programs" +HOMEPAGE="https://sourceware.org/binutils/" +LICENSE="|| ( GPL-3 LGPL-3 )" +IUSE="cxx multitarget nls static-libs test" + +# Variables that can be set here: +# PATCH_VER - the patchset version +# Default: empty, no patching +# PATCH_BINUTILS_VER - the binutils version in the patchset name +# - Default: PV +# PATCH_DEV - Use download URI https://dev.gentoo.org/~{PATCH_DEV}/distfiles/... +# for the patchsets +# Default: dilfridge :) + +case ${PV} in + 9999) + BVER="git" + EGIT_REPO_URI="https://sourceware.org/git/binutils-gdb.git" + inherit git-r3 + S=${WORKDIR}/binutils + EGIT_CHECKOUT_DIR=${S} + ;; + *) + BVER=${PV} + SRC_URI="mirror://gnu/binutils/binutils-${BVER}.tar.xz" + ;; +esac +SLOT="${BVER}" + +# +# The Gentoo patchset +# +PATCH_BINUTILS_VER=${PATCH_BINUTILS_VER:-${BVER}} +PATCH_DEV=${PATCH_DEV:-dilfridge} + +[[ -z ${PATCH_VER} ]] || SRC_URI="${SRC_URI} + https://dev.gentoo.org/~${PATCH_DEV}/distfiles/binutils-${PATCH_BINUTILS_VER}-patches-${PATCH_VER}.tar.xz" + +# +# The cross-compile logic +# +export CTARGET=${CTARGET:-${CHOST}} +if [[ ${CTARGET} == ${CHOST} ]] ; then + if [[ ${CATEGORY} == cross-* ]] ; then + export CTARGET=${CATEGORY#cross-} + fi +fi +is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; } + +# +# The dependencies +# +RDEPEND=" + >=sys-devel/binutils-config-3 + sys-libs/zlib +" +DEPEND="${RDEPEND} + test? ( dev-util/dejagnu ) + nls? ( sys-devel/gettext ) + sys-devel/flex + virtual/yacc +" +if is_cross ; then + # The build assumes the host has libiberty and such when cross-compiling + # its build tools. We should probably make binutils itself build a local + # copy to use, but until then, be lazy. + DEPEND+=" >=sys-libs/binutils-libs-${PV}" +fi + +MY_BUILDDIR=${WORKDIR}/build + +src_unpack() { + case ${PV} in + 9999) + git-r3_src_unpack; + ;; + *) + default + ;; + esac + mkdir -p "${MY_BUILDDIR}" + [[ -d ${WORKDIR}/patch ]] && mkdir "${WORKDIR}"/patch/skip +} + +src_prepare() { + if [[ ! -z ${PATCH_VER} ]] ; then + elog "Applying binutils-${PATCH_BINUTILS_VER} patchset ${PATCH_VER}" + eapply "${WORKDIR}/patch"/*.patch + fi + + # This check should probably go somewhere else, like pkg_pretend. + if [[ ${CTARGET} == *-uclibc* ]] ; then + if grep -qs 'linux-gnu' "${S}"/ltconfig ; then + die "sorry, but this binutils doesn't yet support uClibc :(" + fi + fi + + # Make sure our explicit libdir paths don't get clobbered. #562460 + sed -i \ + -e 's:@bfdlibdir@:@libdir@:g' \ + -e 's:@bfdincludedir@:@includedir@:g' \ + {bfd,opcodes}/Makefile.in || die + + # Fix locale issues if possible #122216 + if [[ -e ${FILESDIR}/binutils-configure-LANG.patch ]] ; then + einfo "Fixing misc issues in configure files" + for f in $(find "${S}" -name configure -exec grep -l 'autoconf version 2.13' {} +) ; do + ebegin " Updating ${f/${S}\/}" + patch "${f}" "${FILESDIR}"/binutils-configure-LANG.patch >& "${T}"/configure-patch.log \ + || eerror "Please file a bug about this" + eend $? + done + fi + + # Fix conflicts with newer glibc #272594 + if [[ -e libiberty/testsuite/test-demangle.c ]] ; then + sed -i 's:\:get_line:g' libiberty/testsuite/test-demangle.c + fi + + # Fix po Makefile generators + sed -i \ + -e '/^datadir = /s:$(prefix)/@DATADIRNAME@:@datadir@:' \ + -e '/^gnulocaledir = /s:$(prefix)/share:$(datadir):' \ + */po/Make-in || die "sed po's failed" + + # Apply things from PATCHES and user dirs + default + + # Run misc portage update scripts + gnuconfig_update + elibtoolize --portage --no-uclibc +} + +# Intended for ebuilds to override to set their own versioning information. +toolchain-binutils_bugurl() { + printf "https://bugs.gentoo.org/" +} +toolchain-binutils_pkgversion() { + printf "Gentoo ${BVER}" + [[ -n ${PATCH_VER} ]] && printf " p${PATCH_VER}" +} + +src_configure() { + # Setup some paths + LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${BVER} + INCPATH=${LIBPATH}/include + DATAPATH=/usr/share/binutils-data/${CTARGET}/${BVER} + if is_cross ; then + BINPATH=/usr/${CHOST}/${CTARGET}/binutils-bin/${BVER} + else + BINPATH=/usr/${CTARGET}/binutils-bin/${BVER} + fi + + # Make sure we filter $LINGUAS so that only ones that + # actually work make it through #42033 + strip-linguas -u */po + + # Keep things sane + strip-flags + + local x + echo + for x in CATEGORY CBUILD CHOST CTARGET CFLAGS LDFLAGS ; do + einfo "$(printf '%10s' ${x}:) ${!x}" + done + echo + + cd "${MY_BUILDDIR}" + local myconf=() + + # enable gold (installed as ld.gold) and ld's plugin architecture + if use cxx ; then + myconf+=( --enable-gold ) + myconf+=( --enable-plugins ) + fi + + if use nls ; then + myconf+=( --without-included-gettext ) + else + myconf+=( --disable-nls ) + fi + + myconf+=( --with-system-zlib ) + + # For bi-arch systems, enable a 64bit bfd. This matches + # the bi-arch logic in toolchain.eclass. #446946 + # We used to do it for everyone, but it's slow on 32bit arches. #438522 + case $(tc-arch) in + ppc|sparc|x86) myconf+=( --enable-64-bit-bfd ) ;; + esac + + use multitarget && myconf+=( --enable-targets=all --enable-64-bit-bfd ) + + [[ -n ${CBUILD} ]] && myconf+=( --build=${CBUILD} ) + + is_cross && myconf+=( + --with-sysroot="${EPREFIX}"/usr/${CTARGET} + --enable-poison-system-directories + ) + + # glibc-2.3.6 lacks support for this ... so rather than force glibc-2.5+ + # on everyone in alpha (for now), we'll just enable it when possible + has_version ">=${CATEGORY}/glibc-2.5" && myconf+=( --enable-secureplt ) + has_version ">=sys-libs/glibc-2.5" && myconf+=( --enable-secureplt ) + + myconf+=( + --prefix="${EPREFIX}"/usr + --host=${CHOST} + --target=${CTARGET} + --datadir="${EPREFIX}"${DATAPATH} + --infodir="${EPREFIX}"${DATAPATH}/info + --mandir="${EPREFIX}"${DATAPATH}/man + --bindir="${EPREFIX}"${BINPATH} + --libdir="${EPREFIX}"${LIBPATH} + --libexecdir="${EPREFIX}"${LIBPATH} + --includedir="${EPREFIX}"${INCPATH} + --enable-obsolete + --enable-shared + --enable-threads + # Newer versions (>=2.27) offer a configure flag now. + --enable-relro + # Newer versions (>=2.24) make this an explicit option. #497268 + --enable-install-libiberty + --disable-werror + --with-bugurl="$(toolchain-binutils_bugurl)" + --with-pkgversion="$(toolchain-binutils_pkgversion)" + $(use_enable static-libs static) + ${EXTRA_ECONF} + # Disable modules that are in a combined binutils/gdb tree. #490566 + --disable-{gdb,libdecnumber,readline,sim} + # Strip out broken static link flags. + # https://gcc.gnu.org/PR56750 + --without-stage1-ldflags + ) + echo ./configure "${myconf[@]}" + "${S}"/configure "${myconf[@]}" || die + + # Prevent makeinfo from running in releases. It may not always be + # installed, and older binutils may fail with newer texinfo. + # Besides, we never patch the doc files anyways, so regenerating + # in the first place is useless. #193364 + # For older versions, it means we don't get any info pages at all. + # Oh well, tough luck. #294617 + if [[ -e ${S}/gas/doc/as.info ]] || ! version_is_at_least 2.24 ; then + sed -i \ + -e '/^MAKEINFO/s:=.*:= true:' \ + Makefile || die + fi +} + +src_compile() { + cd "${MY_BUILDDIR}" + emake all + + # only build info pages if we user wants them, and if + # we have makeinfo (may not exist when we bootstrap) + if type -p makeinfo > /dev/null ; then + emake info + fi + + # we nuke the manpages when we're left with junk + # (like when we bootstrap, no perl -> no manpages) + find . -name '*.1' -a -size 0 -delete +} + +src_test() { + cd "${MY_BUILDDIR}" + emake -k check +} + +src_install() { + local x d + + cd "${MY_BUILDDIR}" + emake DESTDIR="${D}" tooldir="${EPREFIX}${LIBPATH}" install + rm -rf "${ED}"/${LIBPATH}/bin + use static-libs || find "${ED}" -name '*.la' -delete + + # Newer versions of binutils get fancy with ${LIBPATH} #171905 + cd "${ED}"/${LIBPATH} + for d in ../* ; do + [[ ${d} == ../${BVER} ]] && continue + mv ${d}/* . || die + rmdir ${d} || die + done + + # Now we collect everything intp the proper SLOT-ed dirs + # When something is built to cross-compile, it installs into + # /usr/$CHOST/ by default ... we have to 'fix' that :) + if is_cross ; then + cd "${ED}"/${BINPATH} + for x in * ; do + mv ${x} ${x/${CTARGET}-} + done + + if [[ -d ${ED}/usr/${CHOST}/${CTARGET} ]] ; then + mv "${ED}"/usr/${CHOST}/${CTARGET}/include "${ED}"/${INCPATH} + mv "${ED}"/usr/${CHOST}/${CTARGET}/lib/* "${ED}"/${LIBPATH}/ + rm -r "${ED}"/usr/${CHOST}/{include,lib} + fi + fi + insinto ${INCPATH} + local libiberty_headers=( + # Not all the libiberty headers. See libiberty/Makefile.in:install_to_libdir. + demangle.h + dyn-string.h + fibheap.h + hashtab.h + libiberty.h + objalloc.h + splay-tree.h + ) + doins "${libiberty_headers[@]/#/${S}/include/}" || die + if [[ -d ${ED}/${LIBPATH}/lib ]] ; then + mv "${ED}"/${LIBPATH}/lib/* "${ED}"/${LIBPATH}/ + rm -r "${ED}"/${LIBPATH}/lib + fi + + # Generate an env.d entry for this binutils + insinto /etc/env.d/binutils + cat <<-EOF > "${T}"/env.d + TARGET="${CTARGET}" + VER="${BVER}" + LIBPATH="${EPREFIX}${LIBPATH}" + EOF + newins "${T}"/env.d ${CTARGET}-${BVER} + + # Handle documentation + if ! is_cross ; then + cd "${S}" + dodoc README + docinto bfd + dodoc bfd/ChangeLog* bfd/README bfd/PORTING bfd/TODO + docinto binutils + dodoc binutils/ChangeLog binutils/NEWS binutils/README + docinto gas + dodoc gas/ChangeLog* gas/CONTRIBUTORS gas/NEWS gas/README* + docinto gprof + dodoc gprof/ChangeLog* gprof/TEST gprof/TODO gprof/bbconv.pl + docinto ld + dodoc ld/ChangeLog* ld/README ld/NEWS ld/TODO + docinto libiberty + dodoc libiberty/ChangeLog* libiberty/README + docinto opcodes + dodoc opcodes/ChangeLog* + fi + + # Remove shared info pages + rm -f "${ED}"/${DATAPATH}/info/{dir,configure.info,standards.info} + + # Trim all empty dirs + find "${ED}" -depth -type d -exec rmdir {} + 2>/dev/null +} + +pkg_postinst() { + # Make sure this ${CTARGET} has a binutils version selected + [[ -e ${EROOT}/etc/env.d/binutils/config-${CTARGET} ]] && return 0 + binutils-config ${CTARGET}-${BVER} +} + +pkg_postrm() { + local current_profile=$(binutils-config -c ${CTARGET}) + + # If no other versions exist, then uninstall for this + # target ... otherwise, switch to the newest version + # Note: only do this if this version is unmerged. We + # rerun binutils-config if this is a remerge, as + # we want the mtimes on the symlinks updated (if + # it is the same as the current selected profile) + if [[ ! -e ${EPREFIX}${BINPATH}/ld ]] && [[ ${current_profile} == ${CTARGET}-${BVER} ]] ; then + local choice=$(binutils-config -l | grep ${CTARGET} | awk '{print $2}') + choice=${choice//$'\n'/ } + choice=${choice/* } + if [[ -z ${choice} ]] ; then + env -i ROOT="${ROOT}" binutils-config -u ${CTARGET} + else + binutils-config ${choice} + fi + elif [[ $(CHOST=${CTARGET} binutils-config -c) == ${CTARGET}-${BVER} ]] ; then + binutils-config ${CTARGET}-${BVER} + fi +} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/binutils/files/binutils-2.29.1-nogoldtest.patch b/sdk_container/src/third_party/portage-stable/sys-devel/binutils/files/binutils-2.29.1-nogoldtest.patch new file mode 100644 index 0000000000..8e0669922d --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/binutils/files/binutils-2.29.1-nogoldtest.patch @@ -0,0 +1,27 @@ +From 40f6e93e5078f16897f23856886566fe3b546206 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20K=2E=20H=C3=BCttel?= +Date: Fri, 3 Nov 2017 21:51:35 +0100 +Subject: [PATCH] Gentoo: Disable gold testsuite for users since it fails + upstream + +https://bugs.gentoo.org/634348 +https://sourceware.org/bugzilla/show_bug.cgi?id=21090 +--- + Makefile.in | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/Makefile.in b/Makefile.in +index 3acb83b8de..49de829bfa 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -2340,7 +2340,6 @@ check-host: \ + maybe-check-mpc \ + maybe-check-isl \ + maybe-check-libelf \ +- maybe-check-gold \ + maybe-check-gprof \ + maybe-check-intl \ + maybe-check-tcl \ +-- +2.15.0 +