Hi everyone,
Upstream gnu.org used to provide .gz and .bz2 compressed tarballs for
gcc's source code. With gcc-6.4.0 however, they only provide .gz and
.xz. Our toolchain.eclass is written only for .bz2. I'd like to commit
the attached patch to deal with this change. A better fix would
autodetect whether upstream has .bz2 or .xz but I'm not sure how to
proceed with that.
--
Anthony G. Basile, Ph.D.
Gentoo Linux Developer [Hardened]
E-Mail : [email protected]
GnuPG FP : 1FED FAD9 D82C 52A5 3BAB DC79 9384 FA6E F52D 4BBA
GnuPG ID : F52D4BBA
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index db6e643148c..3114bd85832 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -320,7 +320,11 @@ get_gcc_src_uri() {
elif [[ -n ${SNAPSHOT} ]] ; then
GCC_SRC_URI="ftp://gcc.gnu.org/pub/gcc/snapshots/${SNAPSHOT}/gcc-${SNAPSHOT}.tar.bz2"
else
-
GCC_SRC_URI="mirror://gnu/gcc/gcc-${GCC_PV}/gcc-${GCC_RELEASE_VER}.tar.bz2"
+ if tc_version_is_between 6.4.0 7 ; then
+
GCC_SRC_URI="mirror://gnu/gcc/gcc-${GCC_PV}/gcc-${GCC_RELEASE_VER}.tar.xz"
+ else
+
GCC_SRC_URI="mirror://gnu/gcc/gcc-${GCC_PV}/gcc-${GCC_RELEASE_VER}.tar.bz2"
+ fi
# we want all branch updates to be against the main release
[[ -n ${BRANCH_UPDATE} ]] && \
GCC_SRC_URI+=" $(gentoo_urls
gcc-${GCC_RELEASE_VER}-branch-update-${BRANCH_UPDATE}.patch.bz2)"
@@ -424,7 +428,11 @@ gcc_quick_unpack() {
elif [[ -n ${SNAPSHOT} ]] ; then
unpack gcc-${SNAPSHOT}.tar.bz2
elif [[ ${PV} != *9999* ]] ; then
- unpack gcc-${GCC_RELEASE_VER}.tar.bz2
+ if tc_version_is_between 6.4.0 7 ; then
+ unpack gcc-${GCC_RELEASE_VER}.tar.xz
+ else
+ unpack gcc-${GCC_RELEASE_VER}.tar.bz2
+ fi
# We want branch updates to be against a release tarball
if [[ -n ${BRANCH_UPDATE} ]] ; then
pushd "${S}" > /dev/null