summaryrefslogtreecommitdiff
path: root/eclass
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2019-11-03 16:06:58 +0000
committerV3n3RiX <venerix@redcorelinux.org>2019-11-03 16:06:58 +0000
commitbd4aeefe33e63f613512604e47bfca7b2187697d (patch)
treeadb35b5a9a00ee7ea591ab0c987f70167c23b597 /eclass
parent48ece6662cbd443015f5a57ae6d8cbdbd69ef37c (diff)
gentoo resync : 03.11.2019
Diffstat (limited to 'eclass')
-rw-r--r--eclass/Manifest.gzbin37634 -> 37628 bytes
-rw-r--r--eclass/ada.eclass7
-rw-r--r--eclass/bzr.eclass6
-rw-r--r--eclass/distutils-r1.eclass2
-rw-r--r--eclass/font.eclass116
-rw-r--r--eclass/java-ant-2.eclass15
-rw-r--r--eclass/java-utils-2.eclass9
-rw-r--r--eclass/kde5-functions.eclass53
-rw-r--r--eclass/kde5.eclass33
-rw-r--r--eclass/llvm.org.eclass198
-rw-r--r--eclass/myspell.eclass256
-rw-r--r--eclass/nvidia-driver.eclass1
-rw-r--r--eclass/perl-app.eclass9
-rw-r--r--eclass/perl-module.eclass15
-rw-r--r--eclass/python-utils-r1.eclass2
-rw-r--r--eclass/qt5-build.eclass2
-rwxr-xr-xeclass/tests/toolchain.sh1
-rw-r--r--eclass/texlive-module.eclass8
-rw-r--r--eclass/toolchain-glibc.eclass12
-rw-r--r--eclass/toolchain.eclass183
20 files changed, 417 insertions, 511 deletions
diff --git a/eclass/Manifest.gz b/eclass/Manifest.gz
index 3231925b1992..593e355d8ccb 100644
--- a/eclass/Manifest.gz
+++ b/eclass/Manifest.gz
Binary files differ
diff --git a/eclass/ada.eclass b/eclass/ada.eclass
index dad3d9acce85..361ffb65cd10 100644
--- a/eclass/ada.eclass
+++ b/eclass/ada.eclass
@@ -355,7 +355,7 @@ ada_wrapper_setup() {
mkdir -p "${workdir}"/bin || die
local GCC GNATMAKE GNATLS GNATBIND GNATCHOP GNATPREP
- ada_export "${impl}" GCC GNATMAKE GNATLS GNATCHOP GNATBIND GNATPREP
+ ada_export "${impl}" GCC GNAT GNATMAKE GNATLS GNATCHOP GNATBIND GNATPREP
# Ada compiler
cat > "${workdir}/bin/gcc" <<-_EOF_ || die
@@ -388,6 +388,11 @@ ada_wrapper_setup() {
exec "${GNATPREP}" "\${@}"
_EOF_
chmod a+x "${workdir}/bin/gnatprep" || die
+ cat > "${workdir}/bin/gnat" <<-_EOF_ || die
+ #!/bin/sh
+ exec "${GNAT}" "\${@}"
+ _EOF_
+ chmod a+x "${workdir}/bin/gnat" || die
fi
# Now, set the environment.
diff --git a/eclass/bzr.eclass b/eclass/bzr.eclass
index 598a0f87fe6d..fc1de9dc9ccc 100644
--- a/eclass/bzr.eclass
+++ b/eclass/bzr.eclass
@@ -1,6 +1,6 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-#
+
# @ECLASS: bzr.eclass
# @MAINTAINER:
# Ulrich Müller <ulm@gentoo.org>
@@ -197,7 +197,7 @@ bzr_update() {
|| die "${EBZR}: can't chdir to ${branch_dir}"
${EBZR_UPDATE_CMD} ${EBZR_OPTIONS} "${repo_uri}" \
|| die "${EBZR}: can't pull from ${repo_uri}"
- popd > /dev/null
+ popd > /dev/null || die "${EBZR}: popd failed"
fi
}
@@ -278,7 +278,7 @@ bzr_fetch() {
einfo \
"revision ${EBZR_REVISION:-${EBZR_REVNO}} is now in ${EBZR_UNPACK_DIR}"
- popd > /dev/null
+ popd > /dev/null || die "${EBZR}: popd failed"
}
# @FUNCTION: bzr_src_unpack
diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index 7c56a0c8a136..d3eb8f22ead2 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -547,6 +547,8 @@ distutils-r1_python_install() {
# failures if some packages haven't compiled their modules yet.
addpredict "${EPREFIX}/usr/lib/${EPYTHON}"
addpredict "${EPREFIX}/usr/$(get_libdir)/${EPYTHON}"
+ addpredict /usr/lib/pypy2.7
+ addpredict /usr/lib/pypy3.6
addpredict /usr/lib/portage/pym
addpredict /usr/local # bug 498232
diff --git a/eclass/font.eclass b/eclass/font.eclass
index 1570bf3f6e19..76c20549ea64 100644
--- a/eclass/font.eclass
+++ b/eclass/font.eclass
@@ -4,16 +4,15 @@
# @ECLASS: font.eclass
# @MAINTAINER:
# fonts@gentoo.org
-# @SUPPORTED_EAPIS: 0 1 2 3 4 5 6
+# @SUPPORTED_EAPIS: 0 1 2 3 4 5 6 7
# @BLURB: Eclass to make font installation uniform
case ${EAPI:-0} in
- 0|1|2|3|4|5|6) ;;
- *) die "EAPI ${EAPI} is not supported by font.eclass." ;;
+ 0|1|2|3|4|5|6) inherit eutils ;;
+ 7) ;;
+ *) die "EAPI ${EAPI} is not supported by font.eclass." ;;
esac
-inherit eutils
-
EXPORT_FUNCTIONS pkg_setup src_install pkg_postinst pkg_postrm
# @ECLASS-VARIABLE: FONT_SUFFIX
@@ -67,18 +66,18 @@ fi
# Generate Xorg font files (mkfontscale/mkfontdir).
font_xfont_config() {
local dir_name
- if has X ${IUSE//+} && use X ; then
+ if in_iuse X && use X ; then
dir_name="${1:-${FONT_PN}}"
- ebegin "Creating fonts.scale & fonts.dir in ${dir_name##*/}"
- rm -f "${ED}${FONTDIR}/${1//${S}/}"/{fonts.{dir,scale},encodings.dir}
- mkfontscale "${ED}${FONTDIR}/${1//${S}/}"
+ rm -f "${ED%/}/${FONTDIR}/${1//${S}/}"/{fonts.{dir,scale},encodings.dir} \
+ || die "failed to prepare ${FONTDIR}/${1//${S}/}"
+ einfo "Creating fonts.scale & fonts.dir in ${dir_name##*/}"
+ mkfontscale "${ED%/}/${FONTDIR}/${1//${S}/}" || eerror "failed to create fonts.scale"
mkfontdir \
-e ${EPREFIX}/usr/share/fonts/encodings \
-e ${EPREFIX}/usr/share/fonts/encodings/large \
- "${ED}${FONTDIR}/${1//${S}/}"
- eend $?
- if [[ -e fonts.alias ]] ; then
- doins fonts.alias
+ "${ED%/}/${FONTDIR}/${1//${S}/}" || eerror "failed to create fonts.dir"
+ if [[ -e fonts.alias ]]; then
+ doins fonts.alias || die "failed to install fonts.alias" # TODO old EAPI cleanup
fi
fi
}
@@ -91,7 +90,9 @@ font_fontconfig() {
if [[ -n ${FONT_CONF[@]} ]]; then
insinto /etc/fonts/conf.avail/
for conffile in "${FONT_CONF[@]}"; do
- [[ -e ${conffile} ]] && doins ${conffile}
+ if [[ -e ${conffile} ]]; then
+ doins ${conffile} || die "failed to install conf file" # TODO old EAPI cleanup
+ fi
done
fi
}
@@ -105,20 +106,18 @@ font_cleanup_dirs() {
local d f g generated candidate otherfile
ebegin "Cleaning up font directories"
- find -L "${EROOT}"usr/share/fonts/ -type d -print0 | while read -d $'\0' d; do
+ while read -d $'\0' -r; do
candidate=false
otherfile=false
for f in "${d}"/*; do
generated=false
# make sure this is a file and not a subdir
[[ -e ${f} || -L ${f} ]] || continue
- for g in ${genfiles}; do
- if [[ ${f##*/} == ${g} ]]; then
- # this is a generated file
- generated=true
- break
- fi
- done
+ if has ${f##*/} ${genfiles}; then
+ # this is a generated file
+ generated=true
+ break
+ fi
# if the file is a generated file then we know this is a font dir (as
# opposed to something like encodings or util) and a candidate for
# removal. if it's not generated then it's an "otherfile".
@@ -133,13 +132,14 @@ font_cleanup_dirs() {
# media-fonts/font-alias. any other fonts.alias files will have
# already been unmerged with their packages.
for g in ${genfiles}; do
- [[ ${g} != fonts.alias && ( -e ${d}/${g} || -L ${d}/${g} ) ]] \
- && rm "${d}"/${g}
+ if [[ ${g} != fonts.alias && ( -e ${d}/${g} || -L ${d}/${g} ) ]] ; then
+ rm "${d}"/${g} || eerror "failed to remove ${d}/${g}"
+ fi
done
# if there's nothing left remove the directory
- find "${d}" -maxdepth 0 -type d -empty -exec rmdir '{}' \;
+ find "${d}" -maxdepth 0 -type d -empty -delete || eerror "failed to purge ${d}"
fi
- done
+ done < <(find -L "${EROOT%/}"/usr/share/fonts/ -type d -print0)
eend 0
}
@@ -162,7 +162,9 @@ font_pkg_setup() {
# make sure we get no collisions
# setup is not the nicest place, but preinst doesn't cut it
- [[ -e "${EROOT}/${FONTDIR}/fonts.cache-1" ]] && rm -f "${EROOT}/${FONTDIR}/fonts.cache-1"
+ if [[ -e "${EROOT%/}/${FONTDIR}/fonts.cache-1" ]] ; then
+ rm "${EROOT%/}/${FONTDIR}/fonts.cache-1" || die "failed to remove fonts.cache-1"
+ fi
}
# @FUNCTION: font_src_install
@@ -179,7 +181,7 @@ font_src_install() {
pushd "${dir}" > /dev/null
insinto "${FONTDIR}/${dir//${S}/}"
for suffix in ${FONT_SUFFIX}; do
- doins *.${suffix}
+ doins *.${suffix} || die "font installation failed" # TODO old EAPI cleanup
done
font_xfont_config "${dir}"
popd > /dev/null
@@ -188,7 +190,7 @@ font_src_install() {
pushd "${FONT_S}" > /dev/null
insinto "${FONTDIR}"
for suffix in ${FONT_SUFFIX}; do
- doins *.${suffix}
+ doins *.${suffix} || die "font installation failed" # TODO old EAPI cleanup
done
font_xfont_config
popd > /dev/null
@@ -196,7 +198,7 @@ font_src_install() {
font_fontconfig
- [[ -n ${DOCS} ]] && { dodoc ${DOCS} || die "docs installation failed" ; }
+ [[ -n ${DOCS} ]] && { dodoc ${DOCS} || die "docs installation failed" ; } # TODO old EAPI cleanup
# install common docs
for commondoc in COPYRIGHT README{,.md,.txt} NEWS AUTHORS BUGS ChangeLog FONTLOG.txt; do
@@ -204,36 +206,47 @@ font_src_install() {
done
}
+# @FUNCTION: _update_fontcache
+# @DESCRIPTION:
+# Updates fontcache if !prefix and media-libs/fontconfig installed
+_update_fontcache() {
+ # unreadable font files = fontconfig segfaults
+ find "${EROOT%/}"/usr/share/fonts/ -type f '!' -perm 0644 \
+ -exec chmod -v 0644 2>/dev/null {} + || die "failed to fix font files perms"
+
+ if [[ -z ${ROOT%/} ]] ; then
+ if has_version media-libs/fontconfig ; then
+ ebegin "Updating global fontcache"
+ fc-cache -fs
+ if ! eend $? ; then
+ die "failed to update global fontcache"
+ fi
+ else
+ einfo "Skipping fontcache update (media-libs/fontconfig not installed)"
+ fi
+ else
+ einfo "Skipping fontcache update (ROOT != /)"
+ fi
+}
+
# @FUNCTION: font_pkg_postinst
# @DESCRIPTION:
# The font pkg_postinst function.
font_pkg_postinst() {
- # unreadable font files = fontconfig segfaults
- find "${EROOT}"usr/share/fonts/ -type f '!' -perm 0644 -print0 \
- | xargs -0 chmod -v 0644 2>/dev/null
-
if [[ -n ${FONT_CONF[@]} ]]; then
local conffile
- echo
elog "The following fontconfig configuration files have been installed:"
elog
for conffile in "${FONT_CONF[@]}"; do
- if [[ -e ${EROOT}etc/fonts/conf.avail/$(basename ${conffile}) ]]; then
- elog " $(basename ${conffile})"
+ if [[ -e "${EROOT%/}"/etc/fonts/conf.avail/${conffile##*/} ]]; then
+ elog " ${conffile##*/}"
fi
done
elog
elog "Use \`eselect fontconfig\` to enable/disable them."
- echo
fi
- if has_version media-libs/fontconfig && [[ ${ROOT} == / ]]; then
- ebegin "Updating global fontcache"
- fc-cache -fs
- eend $?
- else
- einfo "Skipping fontcache update (media-libs/fontconfig is not installed or ROOT != /)"
- fi
+ _update_fontcache
}
# @FUNCTION: font_pkg_postrm
@@ -241,16 +254,5 @@ font_pkg_postinst() {
# The font pkg_postrm function.
font_pkg_postrm() {
font_cleanup_dirs
-
- # unreadable font files = fontconfig segfaults
- find "${EROOT}"usr/share/fonts/ -type f '!' -perm 0644 -print0 \
- | xargs -0 chmod -v 0644 2>/dev/null
-
- if has_version media-libs/fontconfig && [[ ${ROOT} == / ]]; then
- ebegin "Updating global fontcache"
- fc-cache -fs
- eend $?
- else
- einfo "Skipping fontcache update (media-libs/fontconfig is not installed or ROOT != /)"
- fi
+ _update_fontcache
}
diff --git a/eclass/java-ant-2.eclass b/eclass/java-ant-2.eclass
index 1fd4feb39134..5be76953edd6 100644
--- a/eclass/java-ant-2.eclass
+++ b/eclass/java-ant-2.eclass
@@ -224,8 +224,13 @@ java-ant_bsfix_files() {
files+=( -f "${file}" )
done
- local rewriter3="${EPREFIX}/usr/$(get_libdir)/javatoolkit/bin/xml-rewrite-3.py"
- local rewriter4="${EPREFIX}/usr/$(get_libdir)/javatoolkit/bin/build-xml-rewrite"
+ if [ -e "${EPREFIX}/usr/libexec/javatoolkit" ]; then
+ local rewriter3="${EPREFIX}/usr/libexec/javatoolkit/xml-rewrite-3.py"
+ local rewriter4="${EPREFIX}/usr/libexec/javatoolkit/build-xml-rewrite"
+ else
+ local rewriter3="${EPREFIX}/usr/$(get_libdir)/javatoolkit/bin/xml-rewrite-3.py"
+ local rewriter4="${EPREFIX}/usr/$(get_libdir)/javatoolkit/bin/build-xml-rewrite"
+ fi
if [[ -x ${rewriter4} && ${JAVA_ANT_ENCODING} ]]; then
[[ ${JAVA_ANT_REWRITE_CLASSPATH} ]] && local gcp="-g"
@@ -375,11 +380,11 @@ java-ant_ignore-system-classes() {
# @DESCRIPTION:
# Run the right xml-rewrite binary with the given arguments
java-ant_xml-rewrite() {
- local gen2="${EPREFIX}/usr/bin/xml-rewrite-2.py"
local gen2_1="${EPREFIX}/usr/$(get_libdir)/javatoolkit/bin/xml-rewrite-2.py"
+ local gen2_2="${EPREFIX}/usr/libexec/javatoolkit/xml-rewrite-2.py"
# gen1 is deprecated
- if [[ -x "${gen2}" ]]; then
- ${gen2} "${@}" || die "${gen2} failed"
+ if [[ -x "${gen2_2}" ]]; then
+ ${gen2_2} "${@}" || die "${gen2_2} failed"
elif [[ -x "${gen2_1}" ]]; then
${gen2_1} "${@}" || die "${gen2_1} failed"
else
diff --git a/eclass/java-utils-2.eclass b/eclass/java-utils-2.eclass
index 4f7eb0356fc9..e32cb572f147 100644
--- a/eclass/java-utils-2.eclass
+++ b/eclass/java-utils-2.eclass
@@ -2729,10 +2729,13 @@ java-pkg_jar-list() {
java-pkg_verify-classes() {
#$(find ${D} -type f -name '*.jar' -o -name '*.class')
- local version_verify="/usr/bin/class-version-verify.py"
+ local version_verify_1="${EPREFIX}/usr/$(get_libdir)/javatoolkit/bin/class-version-verify.py"
+ local version_verify_2="${EPREFIX}/usr/libexec/javatoolkit/class-version-verify.py"
- if [[ ! -x "${version_verify}" ]]; then
- version_verify="/usr/$(get_libdir)/javatoolkit/bin/class-version-verify.py"
+ if [[ -x "${version_verify_1}" ]]; then
+ local version_verify=${version_verify_1}
+ else
+ local version_verify=${version_verify_2}
fi
if [[ ! -x "${version_verify}" ]]; then
diff --git a/eclass/kde5-functions.eclass b/eclass/kde5-functions.eclass
index 377f741cb28f..652ed06b7be5 100644
--- a/eclass/kde5-functions.eclass
+++ b/eclass/kde5-functions.eclass
@@ -4,7 +4,7 @@
# @ECLASS: kde5-functions.eclass
# @MAINTAINER:
# kde@gentoo.org
-# @SUPPORTED_EAPIS: 6 7
+# @SUPPORTED_EAPIS: 7
# @BLURB: Common ebuild functions for packages based on KDE Frameworks 5.
# @DESCRIPTION:
# This eclass contains functions shared by the other KDE eclasses and forms
@@ -19,7 +19,6 @@ inherit toolchain-funcs
case ${EAPI} in
7) ;;
- 6) inherit eapi7-ver ;;
*) die "EAPI=${EAPI:-0} is not supported" ;;
esac
@@ -38,10 +37,7 @@ case ${CATEGORY} in
[[ ${KDE_BUILD_TYPE} = live ]] && : ${FRAMEWORKS_MINIMAL:=9999}
;;
kde-plasma)
- if [[ ${PV} = 5.15.5 ]]; then
- : ${FRAMEWORKS_MINIMAL:=5.57.0}
- : ${QT_MINIMAL:=5.11.1}
- fi
+ [[ ${PV} = 5.17* ]] && : ${FRAMEWORKS_MINIMAL:=5.63.0}
[[ ${KDE_BUILD_TYPE} = live ]] && : ${FRAMEWORKS_MINIMAL:=9999}
;;
esac
@@ -252,10 +248,6 @@ add_qt_dep() {
if [[ -z ${version} ]]; then
version=${QT_MINIMAL}
- if [[ ${1} = qtwebkit ]]; then
- version=5.9.1
- [[ ${EAPI} != 6 ]] && die "${FUNCNAME} is disallowed for 'qtwebkit' in EAPI 7 and later"
- fi
fi
if [[ -z ${slot} ]]; then
slot="5"
@@ -264,47 +256,6 @@ add_qt_dep() {
_add_category_dep dev-qt "${1}" "${2}" "${version}" "${slot}"
}
-# @FUNCTION: get_kde_version [version]
-# @DESCRIPTION:
-# Translates an ebuild version into a major.minor KDE release version, taking
-# into account KDE's prerelease versioning scheme.
-# For example, get_kde_version 17.07.80 will return "17.08".
-# If the version equals 9999, "live" is returned.
-# If no version is specified, ${PV} is used.
-get_kde_version() {
- [[ ${EAPI} != 6 ]] && die "${FUNCNAME} is banned in EAPI 7 and later"
- local ver=${1:-${PV}}
- local major=$(ver_cut 1 ${ver})
- local minor=$(ver_cut 2 ${ver})
- local micro=$(ver_cut 3 ${ver})
- if [[ ${ver} == 9999 ]]; then
- echo live
- else
- (( micro < 50 )) && echo ${major}.${minor} || echo ${major}.$((minor + 1))
- fi
-}
-
-# @FUNCTION: kde_l10n2lingua
-# @USAGE: <l10n>...
-# @INTERNAL
-# @DESCRIPTION:
-# Output KDE lingua flag name(s) (without prefix(es)) appropriate for
-# given l10n(s).
-kde_l10n2lingua() {
- [[ ${EAPI} != 6 ]] && die "${FUNCNAME} is banned in EAPI 7 and later"
- local l
- for l; do
- case ${l} in
- ca-valencia) echo ca@valencia;;
- sr-ijekavsk) echo sr@ijekavian;;
- sr-Latn-ijekavsk) echo sr@ijekavianlatin;;
- sr-Latn) echo sr@latin;;
- uz-Cyrl) echo uz@cyrillic;;
- *) echo "${l/-/_}";;
- esac
- done
-}
-
# @FUNCTION: punt_bogus_dep
# @USAGE: <prefix> <dependency>
# @DESCRIPTION:
diff --git a/eclass/kde5.eclass b/eclass/kde5.eclass
index db9fc4427c71..ee1d3b35aa8c 100644
--- a/eclass/kde5.eclass
+++ b/eclass/kde5.eclass
@@ -4,7 +4,7 @@
# @ECLASS: kde5.eclass
# @MAINTAINER:
# kde@gentoo.org
-# @SUPPORTED_EAPIS: 6 7
+# @SUPPORTED_EAPIS: 7
# @BLURB: Support eclass for packages that follow KDE packaging conventions.
# @DESCRIPTION:
# This eclass is intended to streamline the creation of ebuilds for packages
@@ -34,10 +34,6 @@ _KDE5_ECLASS=1
inherit cmake-utils flag-o-matic kde5-functions virtualx xdg
-case ${EAPI} in
- 6) inherit eapi7-ver eutils gnome2-utils ;;
-esac
-
if [[ ${KDE_BUILD_TYPE} = live ]]; then
inherit git-r3
fi
@@ -207,10 +203,10 @@ case ${KDE_DESIGNERPLUGIN} in
false) ;;
*)
IUSE+=" designer"
- if [[ ${CATEGORY} = kde-frameworks ]]; then
- BDEPEND+=" designer? ( $(add_qt_dep designer) )"
- else
+ if [[ ${CATEGORY} = kde-apps && ${PV} = 19.0[48]* ]]; then
BDEPEND+=" designer? ( $(add_frameworks_dep kdesignerplugin) )"
+ else
+ BDEPEND+=" designer? ( $(add_qt_dep designer) )"
fi
esac
@@ -257,10 +253,6 @@ case ${KDE_SELINUX_MODULE} in
;;
esac
-case ${EAPI} in
- 6) DEPEND+=" ${BDEPEND}" ;;
-esac
-
DEPEND+=" ${COMMONDEPEND}"
RDEPEND+=" ${COMMONDEPEND}"
unset COMMONDEPEND
@@ -619,9 +611,9 @@ kde5_src_configure() {
cmakeargs+=(
# install mkspecs in the same directory as qt stuff
-DKDE_INSTALL_USE_QT_SYS_PATHS=ON
+ # move handbook outside of doc dir, bug 667138
+ -DKDE_INSTALL_DOCBUNDLEDIR="${EPREFIX}/usr/share/help"
)
- # move handbook outside of doc dir for at least two QA warnings, bug 667138
- [[ ${EAPI} != 6 ]] && cmakeargs+=( -DKDE_INSTALL_DOCBUNDLEDIR="${EPREFIX}/usr/share/help" )
fi
# allow the ebuild to override what we set here
@@ -674,22 +666,11 @@ kde5_src_test() {
# @FUNCTION: kde5_src_install
# @DESCRIPTION:
-# Wrapper for cmake-utils_src_install with extra logic to avoid compressing
-# certain types of files. For example, khelpcenter is not able to read
-# compressed handbooks.
+# Wrapper for cmake-utils_src_install. Currently doesn't do anything extra.
kde5_src_install() {
debug-print-function ${FUNCNAME} "$@"
cmake-utils_src_install
-
- if [[ ${EAPI} = 6 ]]; then
- # We don't want /usr/share/doc/HTML to be compressed,
- # because then khelpcenter can't find the docs
- #todo: clean up trailing slash check when EAPI <7 is removed
- if [[ -d ${ED%/}/usr/share/doc/HTML ]]; then
- docompress -x /usr/share/doc/HTML
- fi
- fi
}
# @FUNCTION: kde5_pkg_preinst
diff --git a/eclass/llvm.org.eclass b/eclass/llvm.org.eclass
new file mode 100644
index 000000000000..5a704c1d9805
--- /dev/null
+++ b/eclass/llvm.org.eclass
@@ -0,0 +1,198 @@
+# Copyright 2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# @ECLASS: llvm.org.eclass
+# @MAINTAINER:
+# Michał Górny <mgorny@gentoo.org>
+# @AUTHOR:
+# Michał Górny <mgorny@gentoo.org>
+# @BLURB: Common bits for fetching & unpacking llvm.org projects
+# @DESCRIPTION:
+# The llvm.org eclass provides common code to fetch and unpack parts
+# of the llvm.org project tree. It takes care of handling both git
+# checkouts and source tarballs, making it possible to unify the code
+# of live and release ebuilds and effectively reduce the work needed
+# to package new releases/RCs/branches.
+#
+# In order to use this eclass, the ebuild needs to declare
+# LLVM_COMPONENTS and then call llvm.org_set_globals. If tests require
+# additional components, they need to be listed in LLVM_TEST_COMPONENTS.
+# The eclass exports an implementation of src_unpack() phase.
+#
+# Example:
+# @CODE
+# inherit llvm.org
+#
+# LLVM_COMPONENTS=( lld )
+# LLVM_TEST_COMPONENTS=( llvm/utils/lit )
+# llvm.org_set_globals
+# @CODE
+
+case "${EAPI:-0}" in
+ 7)
+ ;;
+ *)
+ die "Unsupported EAPI=${EAPI} for ${ECLASS}"
+ ;;
+esac
+
+
+# == internal control bits ==
+
+# @ECLASS-VARIABLE: _LLVM_MASTER_MAJOR
+# @INTERNAL
+# @DESCRIPTION:
+# The major version of current LLVM trunk. Used to determine
+# the correct branch to use.
+_LLVM_MASTER_MAJOR=10
+
+# @ECLASS-VARIABLE: _LLVM_SOURCE_TYPE
+# @INTERNAL
+# @DESCRIPTION:
+# Source type to use: 'git' or 'tar'.
+if [[ -z ${_LLVM_SOURCE_TYPE+1} ]]; then
+ if [[ ${PV} == *.9999 ]]; then
+ _LLVM_SOURCE_TYPE=git
+ else
+ _LLVM_SOURCE_TYPE=tar
+ fi
+fi
+
+[[ ${_LLVM_SOURCE_TYPE} == git ]] && inherit git-r3
+
+[[ ${PV} == ${_LLVM_MASTER_MAJOR}.* && ${_LLVM_SOURCE_TYPE} == tar ]] &&
+ die "${ECLASS}: Release ebuild for master branch?!"
+
+
+# == control variables ==
+
+# @ECLASS-VARIABLE: LLVM_COMPONENTS
+# @REQUIRED
+# @DESCRIPTION:
+# List of components needed unconditionally. Specified as bash array
+# with paths relative to llvm-project git. Automatically translated
+# for tarball releases.
+#
+# The first path specified is used to construct default S.
+
+# @ECLASS-VARIABLE: LLVM_TEST_COMPONENTS
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# List of additional components needed for tests.
+
+
+# == global scope logic ==
+
+# @FUNCTION: _llvm.org_get_archives
+# @USAGE: <components>
+# @INTERNAL
+# @DESCRIPTION:
+# Set 'archives' array to list of unique archive filenames
+# for components passed as parameters.
+_llvm.org_get_archives() {
+ local c
+ archives=()
+
+ for c; do
+ local cn=${c%%/*}
+ case ${cn} in
+ clang) cn=cfe;;
+ esac
+
+ local a=${cn}-${PV}.src.tar.xz
+ has "${a}" "${archives[@]}" || archives+=( "${a}" )
+ done
+}
+
+# @FUNCTION: llvm.org_set_globals
+# @DESCRIPTION:
+# Set global variables. This must be called after setting LLVM_*
+# variables used by the eclass.
+llvm.org_set_globals() {
+ if [[ $(declare -p LLVM_COMPONENTS) != "declare -a"* ]]; then
+ die 'LLVM_COMPONENTS must be an array.'
+ fi
+ if declare -p LLVM_TEST_COMPONENTS &>/dev/null; then
+ if [[ $(declare -p LLVM_TEST_COMPONENTS) != "declare -a"* ]]; then
+ die 'LLVM_TEST_COMPONENTS must be an array.'
+ fi
+ fi
+
+ if [[ ${_LLVM_SOURCE_TYPE} == git ]]; then
+ EGIT_REPO_URI="https://github.com/llvm/llvm-project.git"
+
+ [[ ${PV} != ${_LLVM_MASTER_MAJOR}.* ]] &&
+ EGIT_BRANCH="release/${PV%%.*}.x"
+ elif [[ ${_LLVM_SOURCE_TYPE} == tar ]]; then
+ local a archives=()
+ _llvm.org_get_archives "${LLVM_COMPONENTS[@]}"
+ for a in "${archives[@]}"; do
+ SRC_URI+="
+ https://releases.llvm.org/${PV}/${a}"
+ done
+ else
+ die "Invalid _LLVM_SOURCE_TYPE: ${LLVM_SOURCE_TYPE}"
+ fi
+
+ S=${WORKDIR}/${LLVM_COMPONENTS[0]}
+
+ if [[ -n ${LLVM_TEST_COMPONENTS+1} ]]; then
+ IUSE+=" test"
+ RESTRICT+=" !test? ( test )"
+
+ if [[ ${_LLVM_SOURCE_TYPE} == tar ]]; then
+ SRC_URI+="
+ test? ("
+
+ _llvm.org_get_archives "${LLVM_TEST_COMPONENTS[@]}"
+ for a in "${archives[@]}"; do
+ SRC_URI+="
+ https://releases.llvm.org/${PV}/${a}"
+ done
+
+ SRC_URI+="
+ )"
+ fi
+ fi
+
+ _LLVM_ORG_SET_GLOBALS_CALLED=1
+}
+
+
+# == phase functions ==
+
+EXPORT_FUNCTIONS src_unpack
+
+# @FUNCTION: llvm.org_src_unpack
+# @DESCRIPTION:
+# Unpack or checkout requested LLVM components.
+llvm.org_src_unpack() {
+ if [[ ! ${_LLVM_ORG_SET_GLOBALS_CALLED} ]]; then
+ die "llvm.org_set_globals must be called in global scope"
+ fi
+
+ local components=( "${LLVM_COMPONENTS[@]}" )
+ if [[ ${LLVM_TEST_COMPONENTS+1} ]] && use test; then
+ components+=( "${LLVM_TEST_COMPONENTS[@]}" )
+ fi
+
+ if [[ ${_LLVM_SOURCE_TYPE} == git ]]; then
+ git-r3_fetch
+ git-r3_checkout '' . '' "${components[@]}"
+ else
+ local c archives
+ # TODO: optimize this
+ for c in "${components[@]}"; do
+ local top_dir=${c%%/*}
+ _llvm.org_get_archives "${c}"
+ local sub_path=${archives[0]%.tar.xz}
+ [[ ${c} == */* ]] && sub_path+=/${c#*/}
+
+ ebegin "Unpacking ${sub_path} from ${archives[0]}"
+ mkdir -p "${top_dir}" || die
+ tar -C "${top_dir}" -x -J -o --strip-components 1 \
+ -f "${DISTDIR}/${archives[0]}" "${sub_path}" || die
+ eend
+ done
+ fi
+}
diff --git a/eclass/myspell.eclass b/eclass/myspell.eclass
deleted file mode 100644
index 528384212996..000000000000
--- a/eclass/myspell.eclass
+++ /dev/null
@@ -1,256 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-# Author: Kevin F. Quinn <kevquinn@gentoo.org>
-# Packages: app-dicts/myspell-*
-# Maintainer: maintainer-needed@gentoo.org
-
-inherit multilib
-
-EXPORT_FUNCTIONS src_install pkg_preinst pkg_postinst
-
-IUSE=""
-
-SLOT="0"
-
-# tar, gzip, bzip2 are included in the base profile, but not unzip
-DEPEND="app-arch/unzip"
-
-# Dictionaries don't have any runtime dependencies
-# Myspell dictionaries can be used by hunspell, openoffice and others
-RDEPEND=""
-
-# The destination directory for myspell dictionaries
-MYSPELL_DICTBASE="/usr/share/myspell"
-
-# Legacy variable for dictionaries installed before eselect-oodict existed
-# so has to remain for binpkg support. This variable is unmaintained -
-# if you have a problem with it, emerge app-eselect/eselect-oodict.
-# The location for openoffice softlinks
-MYSPELL_OOOBASE="/usr/lib/openoffice/share/dict/ooo"
-
-
-# set array "fields" to the elements of $1, separated by $2.
-# This saves having to muck about with IFS all over the place.
-set_fields() {
- local old_IFS
- old_IFS="${IFS}"
- IFS=$2
- fields=($1)
- IFS="${old_IFS}"
-}
-
-# language is the second element of the ebuild name
-# myspell-<lang>-<version>
-get_myspell_lang() {
- local fields
- set_fields "${P}" "-"
- echo ${fields[1]}
-}
-
-get_myspell_suffixes() {
- case $1 in
- DICT) echo ".aff .dic" ;;
- HYPH) echo ".dic" ;;
- THES) echo ".dat .idx" ;;
- esac
-}
-
-# OOo dictionary files are held on the mirrors, rather than
-# being fetched direct from the OOo site as upstream doesn't
-# change the name when they rebuild the dictionaries.
-# <lang>-<country>.zip becomes myspell-<lang>-<country>-version.zip
-get_myspell_ooo_uri() {
- local files fields newfile filestem srcfile dict uris
- files=()
- uris=""
- for dict in \
- "${MYSPELL_SPELLING_DICTIONARIES[@]}" \
- "${MYSPELL_HYPHENATION_DICTIONARIES[@]}" \
- "${MYSPELL_THESAURUS_DICTIONARIES[@]}"; do
- set_fields "${dict}" ","
- newfile=${fields[4]// }
- for file in "${files[@]}"; do
- [[ ${file} == ${newfile} ]] && continue 2
- done
- filestem=${newfile/.zip}
- files=("${files[@]}" "${newfile}")
- srcfile="myspell-${filestem}-${PV}.zip"
- [[ -z ${uris} ]] &&
- uris="mirror://gentoo/${srcfile}" ||
- uris="${uris} mirror://gentoo/${srcfile}"
- done
- echo "${uris}"
-}
-
-
-[[ -z ${SRC_URI} ]] && SRC_URI=$(get_myspell_ooo_uri)
-
-# Format of dictionary.lst files (from OOo standard
-# dictionary.lst file):
-#
-# List of All Dictionaries to be Loaded by OpenOffice
-# ---------------------------------------------------
-# Each Entry in the list have the following space delimited fields
-#
-# Field 0: Entry Type "DICT" - spellchecking dictionary
-# "HYPH" - hyphenation dictionary
-# "THES" - thesaurus files
-#
-# Field 1: Language code from Locale "en" or "de" or "pt" ...
-#
-# Field 2: Country Code from Locale "US" or "GB" or "PT"
-#
-# Field 3: Root name of file(s) "en_US" or "hyph_de" or "th_en_US"
-# (do not add extensions to the name)
-
-# Format of MYSPELL_[SPELLING|HYPHENATION|THESAURUS]_DICTIONARIES:
-#
-# Field 0: Language code
-# Field 1: Country code
-# Field 2: Root name of dictionary files
-# Field 3: Description
-# Field 4: Archive filename
-#
-# This format is from the available.lst, hyphavail.lst and
-# thesavail.lst files on the openoffice.org repository.
-
-myspell_src_install() {
- local filen fields entry dictlst
- cd "${WORKDIR}"
- # Install the dictionary, hyphenation and thesaurus files.
- # Create dictionary.lst.<lang> file containing the parts of
- # OOo's dictionary.lst file for this language, indicating
- # which dictionaries are relevant for each country variant
- # of the language.
- insinto ${MYSPELL_DICTBASE}
- dictlst="dictionary.lst.$(get_myspell_lang)"
- echo "# Autogenerated by ${CATEGORY}/${P}" > ${dictlst}
- for entry in "${MYSPELL_SPELLING_DICTIONARIES[@]}"; do
- set_fields "${entry}" ","
- echo "DICT ${fields[0]} ${fields[1]} ${fields[2]}" >> ${dictlst}
- doins ${fields[2]}.aff || die "Missing ${fields[2]}.aff"
- doins ${fields[2]}.dic || die "Missing ${fields[2]}.dic"
- done
- for entry in "${MYSPELL_HYPHENATION_DICTIONARIES[@]}"; do
- set_fields "${entry}" ","
- echo "HYPH ${fields[0]} ${fields[1]} ${fields[2]}" >> ${dictlst}
- doins ${fields[2]}.dic || die "Missing ${fields[2]}.dic"
- done
- for entry in "${MYSPELL_THESAURUS_DICTIONARIES[@]}"; do
- set_fields "${entry}" ","
- echo "THES ${fields[0]} ${fields[1]} ${fields[2]}" >> ${dictlst}
- doins ${fields[2]}.dat || die "Missing ${fields[2]}.dat"
- doins ${fields[2]}.idx || die "Missing ${fields[2]}.idx"
- done
- doins ${dictlst} || die "Failed to install ${dictlst}"
- # Install any txt files (usually README.txt) as documentation
- for filen in *.txt; do
- [[ -s ${filen} ]] && dodoc ${filen}
- done
-}
-
-
-# Add entries in dictionary.lst.<lang> to OOo dictionary.lst
-# and create softlinks indicated by dictionary.lst.<lang>
-myspell_pkg_postinst() {
- # Update for known applications
- if has_version ">=app-eselect/eselect-oodict-20060706"; then
- if has_version app-office/openoffice; then
- eselect oodict set myspell-$(get_myspell_lang)
- fi
- if has_version app-office/openoffice-bin; then
- # On AMD64, openoffice-bin is 32-bit so force ABI
- has_multilib_profile && ABI=x86
- eselect oodict set myspell-$(get_myspell_lang) --libdir $(get_libdir)
- fi
- return
- fi
- if has_version app-eselect/eselect-oodict; then
- eselect oodict set myspell-$(get_myspell_lang)
- return
- fi
-
- # Legacy code for dictionaries installed before eselect-oodict existed
- # so has to remain for binpkg support. This code is unmaintained -
- # if you have a problem with it, emerge app-eselect/eselect-oodict.
- [[ -d ${MYSPELL_OOOBASE} ]] || return
- # This stuff is here, not in src_install, as the softlinks are
- # deliberately _not_ listed in the package database.
- local dictlst entry fields prefix suffix suffixes filen
- # Note; can only reach this point if ${MYSPELL_DICTBASE}/${dictlst}
- # was successfully installed
- dictlst="dictionary.lst.$(get_myspell_lang)"
- while read entry; do
- fields=(${entry})
- [[ ${fields[0]:0:1} == "#" ]] && continue
- [[ -f ${MYSPELL_OOOBASE}/dictionary.lst ]] || \
- touch ${MYSPELL_OOOBASE}/dictionary.lst
- grep "^${fields[0]} ${fields[1]} ${fields[2]} " \
- ${MYSPELL_OOOBASE}/dictionary.lst > /dev/null 2>&1 ||
- echo "${entry}" >> ${MYSPELL_OOOBASE}/dictionary.lst
- for suffix in $(get_myspell_suffixes ${fields[0]}); do
- filen="${fields[3]}${suffix}"
- [[ -h ${MYSPELL_OOOBASE}/${filen} ]] &&
- rm -f ${MYSPELL_OOOBASE}/${filen}
- [[ ! -f ${MYSPELL_OOOBASE}/${filen} ]] &&
- ln -s ${MYSPELL_DICTBASE}/${filen} \
- ${MYSPELL_OOOBASE}/${filen}
- done
- done < ${MYSPELL_DICTBASE}/${dictlst}
-}
-
-
-# Remove softlinks and entries in dictionary.lst - uses
-# dictionary.<lang>.lst from /usr/share/myspell
-# Done in preinst (prerm happens after postinst, which overwrites
-# the dictionary.<lang>.lst file)
-myspell_pkg_preinst() {
- # Update for known applications
- if has_version ">=app-eselect/eselect-oodict-20060706"; then
- if has_version app-office/openoffice; then
- # When building from source, the default library path is correct
- eselect oodict unset myspell-$(get_myspell_lang)
- fi
- if has_version app-office/openoffice-bin; then
- # On AMD64, openoffice-bin is 32-bit, so get 32-bit library directory
- has_multilib_profile && ABI=x86
- eselect oodict unset myspell-$(get_myspell_lang) --libdir $(get_libdir)
- fi
- eselect oodict unset myspell-$(get_myspell_lang) --libdir $(get_libdir)
- return
- fi
- # Previous versions of eselect-oodict didn't cater for -bin on amd64
- if has_version app-eselect/eselect-oodict; then
- eselect oodict unset myspell-$(get_myspell_lang)
- return
- fi
-
- # Legacy code for dictionaries installed before eselect-oodict existed
- # Don't delete this; needed for uninstalls and binpkg support.
- # This code is unmaintained - if you have a problem with it,
- # emerge app-eselect/eselect-oodict.
- local filen dictlst entry fields removeentry suffix
- dictlst="dictionary.lst.$(get_myspell_lang)"
- [[ -d ${MYSPELL_OOOBASE} ]] || return
- [[ -f ${MYSPELL_DICTBASE}/${dictlst} ]] || return
- while read entry; do
- fields=(${entry})
- [[ ${fields[0]:0:1} == "#" ]] && continue
- [[ ${fields[3]} == "" ]] && continue
- # Remove entry from dictionary.lst
- sed -i -e "/^${fields[0]} ${fields[1]} ${fields[2]} ${fields[3]}$/ { d }" \
- ${MYSPELL_OOOBASE}/dictionary.lst
- # See if any other entries in dictionary.lst match the current
- # dictionary type and filename
- grep "^${fields[0]} .* ${fields[3]}$" ${MYSPELL_OOOBASE}/dictionary.lst \
- 2>&1 > /dev/null && continue
- # If no other entries match, remove relevant symlinks
- for suffix in $(get_myspell_suffixes ${fields[0]}); do
- filen="${fields[3]}${suffix}"
- ewarn "Removing entry ${MYSPELL_OOOBASE}/${filen}"
- [[ -h ${MYSPELL_OOOBASE}/${filen} ]] &&
- rm -f ${MYSPELL_OOOBASE}/${filen}
- done
- done < ${MYSPELL_DICTBASE}/${dictlst}
-}
diff --git a/eclass/nvidia-driver.eclass b/eclass/nvidia-driver.eclass
index 482c62c012ff..a8631947748a 100644
--- a/eclass/nvidia-driver.eclass
+++ b/eclass/nvidia-driver.eclass
@@ -14,6 +14,7 @@
inherit readme.gentoo-r1 versionator
DEPEND="sys-apps/pciutils"
+RESTRICT="bindist mirror test"
# Variables for readme.gentoo.eclass:
DISABLE_AUTOFORMATTING="yes"
diff --git a/eclass/perl-app.eclass b/eclass/perl-app.eclass
index 074902294e59..3fb897917c69 100644
--- a/eclass/perl-app.eclass
+++ b/eclass/perl-app.eclass
@@ -1,6 +1,15 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
+# @DEAD
+# This eclass is dead and all its consumers have been removed from
+# the tree.
+# Please use perl-module.eclass if you need phase functions, and
+# perl-functions.eclass if you don't.
+# In overlays, perl-app.eclass usage can be replaced by
+# perl-module.eclass without further changes.
+# Bug 637836. Removal in 14 days.
+
# Author: Michael Cummings <mcummings@gentoo.org>
# Maintained by the Perl herd <perl@gentoo.org>
# @SUPPORTED_EAPIS: 5
diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass
index e1fb97df3260..7a839bc7288c 100644
--- a/eclass/perl-module.eclass
+++ b/eclass/perl-module.eclass
@@ -134,25 +134,29 @@ esac
LICENSE="${LICENSE:-|| ( Artistic GPL-1+ )}"
# @ECLASS-VARIABLE: DIST_NAME
+# @DEFAULT_UNSET
# @DESCRIPTION:
# (EAPI=6 and later) This variable provides a way to override PN for the calculation of S,
-# SRC_URI, and HOMEPAGE. Defaults to PN.
+# SRC_URI, and HOMEPAGE. If unset, defaults to PN.
# @ECLASS-VARIABLE: DIST_VERSION
+# @DEFAULT_UNSET
# @DESCRIPTION:
# (EAPI=6 and later) This variable provides a way to override PV for the calculation of S and SRC_URI.
-# Use it to provide the non-normalized, upstream version number. Defaults to PV.
+# Use it to provide the non-normalized, upstream version number. If unset, defaults to PV.
# Named MODULE_VERSION in EAPI=5.
# @ECLASS-VARIABLE: DIST_A_EXT
+# @DEFAULT_UNSET
# @DESCRIPTION:
# (EAPI=6 and later) This variable provides a way to override the distfile extension for the calculation of
-# SRC_URI. Defaults to tar.gz. Named MODULE_A_EXT in EAPI=5.
+# SRC_URI. If unset, defaults to tar.gz. Named MODULE_A_EXT in EAPI=5.
# @ECLASS-VARIABLE: DIST_A
+# @DEFAULT_UNSET
# @DESCRIPTION:
# (EAPI=6 and later) This variable provides a way to override the distfile name for the calculation of
-# SRC_URI. Defaults to ${DIST_NAME}-${DIST_VERSION}.${DIST_A_EXT} Named MODULE_A in EAPI=5.
+# SRC_URI. If unset, defaults to ${DIST_NAME}-${DIST_VERSION}.${DIST_A_EXT} Named MODULE_A in EAPI=5.
# @ECLASS-VARIABLE: DIST_AUTHOR
# @DEFAULT_UNSET
@@ -340,9 +344,10 @@ perl-module_src_compile() {
}
# @ECLASS-VARIABLE: DIST_TEST
+# @DEFAULT_UNSET
# @DESCRIPTION:
# (EAPI=6 and later) Variable that controls if tests are run in the test phase
-# at all, and if yes under which conditions. Defaults to "do parallel"
+# at all, and if yes under which conditions. If unset, defaults to "do parallel"
# If neither "do" nor "parallel" is recognized, tests are skipped.
# (In EAPI=5 the variable is called SRC_TEST, defaults to "skip", and
# recognizes fewer options.)
diff --git a/eclass/python-utils-r1.eclass b/eclass/python-utils-r1.eclass
index f8f51ecb694a..549dd5f2e56e 100644
--- a/eclass/python-utils-r1.eclass
+++ b/eclass/python-utils-r1.eclass
@@ -692,7 +692,7 @@ python_optimize() {
if [[ ${f} == /* && -d ${D%/}${f} ]]; then
set -- "${D%/}${f}" "${@}"
fi
- done < <("${PYTHON}" -c 'import sys; print("\0".join(sys.path))' || die)
+ done < <("${PYTHON}" -c 'import sys; print("".join(x + "\0" for x in sys.path))' || die)
debug-print "${FUNCNAME}: using sys.path: ${*/%/;}"
fi
diff --git a/eclass/qt5-build.eclass b/eclass/qt5-build.eclass
index 2e5a15d930ab..2bee3a3fae47 100644
--- a/eclass/qt5-build.eclass
+++ b/eclass/qt5-build.eclass
@@ -816,7 +816,7 @@ qt5_regenerate_global_configs() {
-execdir cat '{}' + | sort -u > "${T}"/gentoo-qconfig.h
[[ -s ${T}/gentoo-qconfig.h ]] || ewarn "Generated gentoo-qconfig.h is empty"
- mv -f "${T}"/gentoo-qconfig.h "${ROOT%/}${QT5_HEADERDIR}"/Gentoo/gentoo-qconfig.h \
+ cp "${T}"/gentoo-qconfig.h "${ROOT%/}${QT5_HEADERDIR}"/Gentoo/gentoo-qconfig.h \
|| eerror "Failed to install new gentoo-qconfig.h"
einfo "Updating QT_CONFIG in qconfig.pri"
diff --git a/eclass/tests/toolchain.sh b/eclass/tests/toolchain.sh
index ec2253568569..2c09f2238d74 100755
--- a/eclass/tests/toolchain.sh
+++ b/eclass/tests/toolchain.sh
@@ -168,7 +168,6 @@ test_var_assert GCC_BRANCH_VER 7.3
test_var_assert GCCMAJOR 7
test_var_assert GCCMINOR 3
test_var_assert GCCMICRO 0
-test_var_assert BRANCH_UPDATE ''
test_var_assert GCC_CONFIG_VER 7.3.0
test_var_assert PREFIX /usr
diff --git a/eclass/texlive-module.eclass b/eclass/texlive-module.eclass
index c9faf39debd3..bd338ee625c3 100644
--- a/eclass/texlive-module.eclass
+++ b/eclass/texlive-module.eclass
@@ -24,39 +24,46 @@
# bash array.
# @ECLASS-VARIABLE: TEXLIVE_MODULE_CONTENTS
+# @REQUIRED
# @DESCRIPTION:
# The list of packages that will be installed. This variable will be expanded to
# SRC_URI:
# foo -> texlive-module-foo-${PV}.tar.xz
# @ECLASS-VARIABLE: TEXLIVE_MODULE_DOC_CONTENTS
+# @REQUIRED
# @DESCRIPTION:
# The list of packages that will be installed if the doc useflag is enabled.
# Expansion to SRC_URI is the same as for TEXLIVE_MODULE_CONTENTS.
# @ECLASS-VARIABLE: TEXLIVE_MODULE_SRC_CONTENTS
+# @REQUIRED
# @DESCRIPTION:
# The list of packages that will be installed if the source useflag is enabled.
# Expansion to SRC_URI is the same as for TEXLIVE_MODULE_CONTENTS.
# @ECLASS-VARIABLE: TEXLIVE_MODULE_BINSCRIPTS
+# @DEFAULT_UNSET
# @DESCRIPTION:
# A space separated list of files that are in fact scripts installed in the
# texmf tree and that we want to be available directly. They will be installed in
# /usr/bin.
# @ECLASS-VARIABLE: TEXLIVE_MODULE_BINLINKS
+# @DEFAULT_UNSET
# @DESCRIPTION:
# A space separated list of links to add for BINSCRIPTS.
# The systax is: foo:bar to create a symlink bar -> foo.
# @ECLASS-VARIABLE: TL_PV
+# @INTERNAL
# @DESCRIPTION:
# Normally the module's PV reflects the TeXLive release it belongs to.
# If this is not the case, TL_PV takes the version number for the
# needed app-text/texlive-core.
# @ECLASS-VARIABLE: TL_MODULE_INFORMATION
+# @DEFAULT_UNSET
# @DESCRIPTION:
# Information to display about the package.
# e.g. for enabling/disabling a feature
@@ -124,6 +131,7 @@ RDEPEND="${COMMON_DEPEND}"
IUSE="${IUSE} doc"
# @ECLASS-VARIABLE: TEXLIVE_MODULE_OPTIONAL_ENGINE
+# @DEFAULT_UNSET
# @DESCRIPTION:
# A space separated list of Tex engines that can be made optional.
# e.g. "luatex luajittex"
diff --git a/eclass/toolchain-glibc.eclass b/eclass/toolchain-glibc.eclass
index 30781fed7775..87704c5bb5a9 100644
--- a/eclass/toolchain-glibc.eclass
+++ b/eclass/toolchain-glibc.eclass
@@ -416,7 +416,6 @@ just_headers() {
glibc_banner() {
local b="Gentoo ${PVR}"
[[ -n ${SNAP_VER} ]] && b+=" snapshot ${SNAP_VER}"
- [[ -n ${BRANCH_UPDATE} ]] && b+=" branch ${BRANCH_UPDATE}"
[[ -n ${PATCH_VER} ]] && ! use vanilla && b+=" p${PATCH_VER}"
echo "${b}"
}
@@ -740,17 +739,6 @@ toolchain-glibc_src_unpack() {
}
toolchain-glibc_src_prepare() {
- # XXX: We should do the branchupdate, before extracting the manpages and
- # infopages else it does not help much (mtimes change if there is a change
- # to them with branchupdate)
- if [[ -n ${BRANCH_UPDATE} ]] ; then
- epatch "${DISTDIR}"/glibc-${RELEASE_VER}-branch-update-${BRANCH_UPDATE}.patch.bz2
-
- # Snapshot date patch
- einfo "Patching version to display snapshot date ..."
- sed -i -e "s:\(#define RELEASE\).*:\1 \"${BRANCH_UPDATE}\":" version.h
- fi
-
# tag, glibc is it
if ! version_is_at_least 2.17 ; then
[[ -e csu/Banner ]] && die "need new banner location"
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index bc7d7b1c2609..d2bfa6ab2f1d 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -2,24 +2,23 @@
# Distributed under the terms of the GNU General Public License v2
# Maintainer: Toolchain Ninjas <toolchain@gentoo.org>
-# @SUPPORTED_EAPIS: 5 6
+# @SUPPORTED_EAPIS: 5 6 7
DESCRIPTION="The GNU Compiler Collection"
HOMEPAGE="https://gcc.gnu.org/"
-RESTRICT="strip" # cross-compilers need controlled stripping
inherit eutils fixheadtails flag-o-matic gnuconfig libtool multilib pax-utils toolchain-funcs prefix
-if [[ ${PV} == *_pre9999* ]] ; then
+if [[ ${PV} == *9999* ]] ; then
EGIT_REPO_URI="git://gcc.gnu.org/git/gcc.git"
# naming style:
- # gcc-4.7.1_pre9999 -> gcc-4_7-branch
+ # gcc-10.1.0_pre9999 -> gcc-10-branch
# Note that the micro version is required or lots of stuff will break.
# To checkout master set gcc_LIVE_BRANCH="master" in the ebuild before
# inheriting this eclass.
- EGIT_BRANCH="${PN}-${PV%.?_pre9999}-branch"
+ EGIT_BRANCH="${PN}-${PV%.?.?_pre9999}-branch"
EGIT_BRANCH=${EGIT_BRANCH//./_}
- inherit git-2
+ inherit git-r3
fi
FEATURES=${FEATURES/multilib-strict/}
@@ -27,8 +26,20 @@ FEATURES=${FEATURES/multilib-strict/}
case ${EAPI:-0} in
0|1|2|3|4*) die "Need to upgrade to at least EAPI=5" ;;
5*|6) inherit eapi7-ver ;;
+ 7) ;;
*) die "I don't speak EAPI ${EAPI}." ;;
esac
+
+tc_supports_dostrip() {
+ case ${EAPI:-0} in
+ 5*|6) return 1 ;;
+ 7) return 0 ;;
+ *) die "Update apply_patches() for ${EAPI}." ;;
+ esac
+}
+
+tc_supports_dostrip || RESTRICT="strip" # cross-compilers need controlled stripping
+
EXPORT_FUNCTIONS pkg_pretend pkg_setup src_unpack src_prepare src_configure \
src_compile src_test src_install pkg_postinst pkg_postrm
@@ -67,8 +78,6 @@ GCC_BRANCH_VER=$(ver_cut 1-2 ${GCC_PV})
GCCMAJOR=$(ver_cut 1 ${GCC_PV})
GCCMINOR=$(ver_cut 2 ${GCC_PV})
GCCMICRO=$(ver_cut 3 ${GCC_PV})
-[[ ${BRANCH_UPDATE-notset} == "notset" ]] && \
- BRANCH_UPDATE=$(ver_cut 4 ${GCC_PV})
# According to gcc/c-cppbuiltin.c, GCC_CONFIG_VER MUST match this regex.
# ([^0-9]*-)?[0-9]+[.][0-9]+([.][0-9]+)?([- ].*)?
@@ -177,7 +186,13 @@ if [[ ${PN} != "kgcc64" && ${PN} != gcc-* ]] ; then
tc_version_is_at_least 9.1 && IUSE+=" lto"
fi
-SLOT="${GCC_CONFIG_VER}"
+if tc_version_is_at_least 10; then
+ # Note: currently we pull in prereleases, snapshots and
+ # git versions into the same SLOT.
+ SLOT="${GCCMAJOR}"
+else
+ SLOT="${GCC_CONFIG_VER}"
+fi
#---->> DEPEND <<----
@@ -251,7 +266,9 @@ PDEPEND=">=sys-devel/gcc-config-1.7"
# Set the source directory depending on whether we're using
# a prerelease, snapshot, or release tarball.
S=$(
- if [[ -n ${PRERELEASE} ]] ; then
+ if [[ ${PV} == *9999* ]]; then
+ echo ${EGIT_CHECKOUT_DIR}
+ elif [[ -n ${PRERELEASE} ]] ; then
echo ${WORKDIR}/gcc-${PRERELEASE}
elif [[ -n ${SNAPSHOT} ]] ; then
echo ${WORKDIR}/gcc-${SNAPSHOT}
@@ -282,14 +299,6 @@ gentoo_urls() {
# the ebuild has a _pre suffix, this variable is ignored and the
# prerelease tarball is used instead.
#
-# BRANCH_UPDATE
-# If set, this variable signals that we should be using the main
-# release tarball (determined by ebuild version) and applying a
-# CVS branch update patch against it. The location of this branch
-# update patch is assumed to be in ${GENTOO_TOOLCHAIN_BASE_URI}.
-# Just like with SNAPSHOT, this variable is ignored if the ebuild
-# has a _pre suffix.
-#
# PATCH_VER
# PATCH_GCC_VER
# This should be set to the version of the gentoo patch tarball.
@@ -360,9 +369,6 @@ get_gcc_src_uri() {
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)"
fi
[[ -n ${UCLIBC_VER} ]] && \
@@ -370,7 +376,6 @@ get_gcc_src_uri() {
[[ -n ${PATCH_VER} ]] && \
GCC_SRC_URI+=" $(gentoo_urls gcc-${PATCH_GCC_VER}-patches-${PATCH_VER}.tar.bz2)"
- # strawberry pie, Cappuccino and a Gauloises (it's a good thing)
[[ -n ${PIE_VER} ]] && \
PIE_CORE=${PIE_CORE:-gcc-${PIE_GCC_VER}-piepatches-v${PIE_VER}.tar.bz2} && \
GCC_SRC_URI+=" $(gentoo_urls ${PIE_CORE})"
@@ -440,7 +445,7 @@ toolchain_pkg_setup() {
toolchain_src_unpack() {
if [[ ${PV} == *9999* ]]; then
- git-2_src_unpack
+ git-r3_src_unpack
else
gcc_quick_unpack
fi
@@ -454,6 +459,8 @@ gcc_quick_unpack() {
export HTB_GCC_VER=${HTB_GCC_VER:-${GCC_RELEASE_VER}}
export SPECS_GCC_VER=${SPECS_GCC_VER:-${GCC_RELEASE_VER}}
+ # Injection point for more tarballs. dev-lang/gnat-gpl uses
+ # 'GCC_A_FAKEIT' to specify it's own source and binary tarballs.
if [[ -n ${GCC_A_FAKEIT} ]] ; then
unpack ${GCC_A_FAKEIT}
elif [[ -n ${PRERELEASE} ]] ; then
@@ -470,12 +477,6 @@ gcc_quick_unpack() {
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
- epatch "${DISTDIR}"/gcc-${GCC_RELEASE_VER}-branch-update-${BRANCH_UPDATE}.patch.bz2
- popd > /dev/null
- fi
fi
if [[ -n ${D_VER} ]] && use d ; then
@@ -518,30 +519,34 @@ gcc_quick_unpack() {
#---->> src_prepare <<----
+# 'epatch' is not available in EAPI=7. Abstract away patchset application
+# until we eventually get all gcc ebuilds on EAPI=7 or later.
+tc_apply_patches() {
+ [[ ${#@} -lt 2 ]] && die "usage: tc_apply_patches <message> <patches...>"
+
+ einfo "$1"; shift
+
+ case ${EAPI:-0} in
+ # Note: even for EAPI=6 we used 'epatch' semantics. To avoid
+ # breaking existing ebuilds use 'eapply' only in EAPI=7 or later.
+ 5*|6) epatch "$@" ;;
+ 7) eapply "$@" ;;
+ *) die "Update apply_patches() for ${EAPI}." ;;
+ esac
+}
+
toolchain_src_prepare() {
export BRANDING_GCC_PKGVERSION="Gentoo ${GCC_PVR}"
cd "${S}"
- if ! use vanilla ; then
- if [[ -n ${PATCH_VER} ]] ; then
- guess_patch_type_in_dir "${WORKDIR}"/patch
- EPATCH_MULTI_MSG="Applying Gentoo patches ..." \
- epatch "${WORKDIR}"/patch
- BRANDING_GCC_PKGVERSION="${BRANDING_GCC_PKGVERSION} p${PATCH_VER}"
- fi
- if [[ -n ${UCLIBC_VER} ]] ; then
- guess_patch_type_in_dir "${WORKDIR}"/uclibc
- EPATCH_MULTI_MSG="Applying uClibc patches ..." \
- epatch "${WORKDIR}"/uclibc
- fi
- fi
+ do_gcc_gentoo_patches
do_gcc_HTB_patches
do_gcc_PIE_patches
do_gcc_CYGWINPORTS_patches
case ${EAPI:-0} in
5*) epatch_user;;
- 6) eapply_user ;;
+ 6|7) eapply_user ;;
*) die "Update toolchain_src_prepare() for ${EAPI}." ;;
esac
@@ -633,8 +638,11 @@ toolchain_src_prepare() {
sed -i 's|A-Za-z0-9|[:alnum:]|g' "${S}"/gcc/*.awk #215828
# Prevent new texinfo from breaking old versions (see #198182, #464008)
- tc_version_is_at_least 4.1 && epatch "${FILESDIR}"/gcc-configure-texinfo.patch
+ if tc_version_is_at_least 4.1; then
+ tc_apply_patches "Remove texinfo (bug #198182, bug ##464008)" "${FILESDIR}"/gcc-configure-texinfo.patch
+ fi
+ # >=gcc-4
if [[ -x contrib/gcc_update ]] ; then
einfo "Touching generated files"
./contrib/gcc_update --touch | \
@@ -644,17 +652,23 @@ toolchain_src_prepare() {
fi
}
-guess_patch_type_in_dir() {
- [[ -n $(ls "$1"/*.bz2 2>/dev/null) ]] \
- && EPATCH_SUFFIX="patch.bz2" \
- || EPATCH_SUFFIX="patch"
+do_gcc_gentoo_patches() {
+ if ! use vanilla ; then
+ if [[ -n ${PATCH_VER} ]] ; then
+ tc_apply_patches "Applying Gentoo patches ..." "${WORKDIR}"/patch/*.patch
+ BRANDING_GCC_PKGVERSION="${BRANDING_GCC_PKGVERSION} p${PATCH_VER}"
+ fi
+ if [[ -n ${UCLIBC_VER} ]] ; then
+ tc_apply_patches "Applying uClibc patches ..." "${WORKDIR}"/uclibc/*.patch
+ fi
+ fi
}
do_gcc_HTB_patches() {
use_if_iuse boundschecking || return 0
# modify the bounds checking patch with a regression patch
- epatch "${WORKDIR}/bounds-checking-gcc-${HTB_GCC_VER}-${HTB_VER}.patch"
+ tc_apply_patches "Bounds checking patch" "${WORKDIR}/bounds-checking-gcc-${HTB_GCC_VER}-${HTB_VER}.patch"
BRANDING_GCC_PKGVERSION="${BRANDING_GCC_PKGVERSION}, HTB-${HTB_GCC_VER}-${HTB_VER}"
}
@@ -662,23 +676,7 @@ do_gcc_PIE_patches() {
want_pie || return 0
use vanilla && return 0
- if tc_version_is_at_least 4.3.2 ; then
- guess_patch_type_in_dir "${WORKDIR}"/piepatch/
- EPATCH_MULTI_MSG="Applying pie patches ..." \
- epatch "${WORKDIR}"/piepatch/
- else
- guess_patch_type_in_dir "${WORKDIR}"/piepatch/upstream
-
- # corrects startfile/endfile selection and shared/static/pie flag usage
- EPATCH_MULTI_MSG="Applying upstream pie patches ..." \
- epatch "${WORKDIR}"/piepatch/upstream
- # adds non-default pie support (rs6000)
- EPATCH_MULTI_MSG="Applying non-default pie patches ..." \
- epatch "${WORKDIR}"/piepatch/nondef
- # adds default pie support (rs6000 too) if DEFAULT_PIE[_SSP] is defined
- EPATCH_MULTI_MSG="Applying default pie patches ..." \
- epatch "${WORKDIR}"/piepatch/def
- fi
+ tc_apply_patches "Applying pie patches ..." "${WORKDIR}"/piepatch/*.patch
BRANDING_GCC_PKGVERSION="${BRANDING_GCC_PKGVERSION}, pie-${PIE_VER}"
}
@@ -690,18 +688,15 @@ do_gcc_CYGWINPORTS_patches() {
local p d="${WORKDIR}/gcc-${CYGWINPORTS_GITREV}"
# readarray -t is available since bash-4.4 only, #690686
local patches=( $(sed -e '1,/PATCH_URI="/d;/"/,$d' < "${d}"/gcc.cygport) )
- for p in ${patches[*]}; do
- epatch "${d}/${p}"
- done
+ tc_apply_patches "Applying cygwin port patches ..." ${patches[*]}
}
# configure to build with the hardened GCC specs as the default
make_gcc_hard() {
-
local gcc_hard_flags=""
# If we use gcc-6 or newer with pie enable to compile older gcc we need to pass -no-pie
- # to stage1; bug 618908
+ # to stage1; bug #618908
if ! tc_version_is_at_least 6.0 && [[ $(gcc-major-version) -ge 6 ]] ; then
einfo "Disabling PIE in stage1 (only) ..."
sed -i -e "/^STAGE1_LDFLAGS/ s/$/ -no-pie/" "${S}"/Makefile.in || die
@@ -716,7 +711,10 @@ make_gcc_hard() {
einfo "Updating gcc to use automatic SSP building ..."
fi
if use_if_iuse hardened ; then
- # Will add some optimatizion as default.
+ # Will add some hardened options as default, like:
+ # -fstack-clash-protection
+ # -z now
+ # see *_all_extra-options.patch gcc patches.
gcc_hard_flags+=" -DEXTRA_OPTIONS"
# rebrand to make bug reports easier
BRANDING_GCC_PKGVERSION=${BRANDING_GCC_PKGVERSION/Gentoo/Gentoo Hardened}
@@ -820,7 +818,6 @@ gcc_version_patch() {
tc_version_is_at_least 4.3 && return 0
local version_string=${GCC_CONFIG_VER}
- [[ -n ${BRANCH_UPDATE} ]] && version_string+=" ${BRANCH_UPDATE}"
einfo "patching gcc version: ${version_string} (${BRANDING_GCC_PKGVERSION})"
@@ -969,9 +966,9 @@ toolchain_src_configure() {
tc_version_is_at_least 3.4 || confgcc+=( --disable-libunwind-exceptions )
# Use the default ("release") checking because upstream usually neglects
- # to test "disabled" so it has a history of breaking. #317217
+ # to test "disabled" so it has a history of breaking. bug #317217
if tc_version_is_at_least 3.4 && in_iuse debug ; then
- # The "release" keyword is new to 4.0. #551636
+ # The "release" keyword is new to 4.0. bug #551636
local off=$(tc_version_is_at_least 4.0 && echo release || echo no)
confgcc+=( --enable-checking="${GCC_CHECKS_LIST:-$(usex debug yes ${off})}" )
fi
@@ -989,12 +986,12 @@ toolchain_src_configure() {
# allow gcc to search for clock funcs in the main C lib.
# if it can't find them, then tough cookies -- we aren't
- # going to link in -lrt to all C++ apps. #411681
+ # going to link in -lrt to all C++ apps. bug #411681
if tc_version_is_at_least 4.4 && is_cxx ; then
confgcc+=( --enable-libstdcxx-time )
fi
- # Build compiler using LTO
+ # Build compiler itself using LTO
if tc_version_is_at_least 9.1 && use_if_iuse lto ; then
confgcc+=( --with-build-config=bootstrap-lto )
fi
@@ -1007,7 +1004,9 @@ toolchain_src_configure() {
# The jit language requires this.
is_jit && confgcc+=( --enable-host-shared )
- # # Turn on the -Wl,--build-id flag by default for ELF targets. #525942
+ # build-id was disabled for file collisions: bug #526144
+ #
+ # # Turn on the -Wl,--build-id flag by default for ELF targets. bug #525942
# # This helps with locating debug files.
# case ${CTARGET} in
# *-linux-*|*-elf|*-eabi)
@@ -1033,7 +1032,7 @@ toolchain_src_configure() {
# disable a bunch of features or gcc goes boom
local needed_libc=""
case ${CTARGET} in
- *-linux) needed_libc=no-fucking-clue;;
+ *-linux) needed_libc=error-unknown-libc;;
*-dietlibc) needed_libc=dietlibc;;
*-elf|*-eabi)
needed_libc=newlib
@@ -1048,10 +1047,12 @@ toolchain_src_configure() {
*-klibc) needed_libc=klibc;;
*-musl*) needed_libc=musl;;
*-uclibc*)
+ # Enable shared library support only on targets
+ # that support it: bug #291870
if ! echo '#include <features.h>' | \
$(tc-getCPP ${CTARGET}) -E -dD - 2>/dev/null | \
grep -q __HAVE_SHARED__
- then #291870
+ then
confgcc+=( --disable-shared )
fi
needed_libc=uclibc-ng
@@ -1059,7 +1060,6 @@ toolchain_src_configure() {
*-cygwin) needed_libc=cygwin;;
x86_64-*-mingw*|\
*-w64-mingw*) needed_libc=mingw64-runtime;;
- mingw*|*-mingw*) needed_libc=mingw-runtime;;
avr) confgcc+=( --enable-shared --disable-threads );;
esac
if [[ -n ${needed_libc} ]] ; then
@@ -1553,6 +1553,13 @@ gcc_do_filter_flags() {
filter-flags -Wstack-protector
fi
+ if tc_version_is_between 6 8 ; then
+ # -mstackrealign triggers crashes in exception throwing
+ # at least on ada: bug #688580
+ # The reason is unknown. Drop the flag for now.
+ filter-flags -mstackrealign
+ fi
+
if tc_version_is_at_least 3.4 ; then
case $(tc-arch) in
amd64|x86)
@@ -1774,7 +1781,7 @@ toolchain_src_test() {
toolchain_src_install() {
cd "${WORKDIR}"/build
- # Do allow symlinks in private gcc include dir as this can break the build
+ # Don't allow symlinks in private gcc include dir as this can break the build
find gcc/include*/ -type l -delete
# Copy over the info pages. We disabled their generation earlier, but the
@@ -1870,15 +1877,17 @@ toolchain_src_install() {
fi
fi
- # TODO: implement stripping (we use RESTRICT=strip)
- # As gcc installs object files both build against ${CHOST} and ${CTARGET}
- # we will ned to run stripping using different tools:
+ # As gcc installs object files built against bost ${CHOST} and ${CTARGET}
+ # ideally we will need to strip them using different tools:
# Using ${CHOST} tools:
# - "${D}${BINPATH}"
# - (for is_crosscompile) "${D}${HOSTLIBPATH}"
# - "${D}${PREFIX}/libexec/gcc/${CTARGET}/${GCC_CONFIG_VER}"
# Using ${CTARGET} tools:
# - "${D}${LIBPATH}"
+ # As dostrip does not specify host to override ${CHOST} tools just skip
+ # non-native binary stripping.
+ is_crosscompile && tc_supports_dostrip && dostrip -x "${LIBPATH}"
cd "${S}"
if is_crosscompile; then
@@ -2284,10 +2293,6 @@ toolchain_pkg_postrm() {
if [[ ! -e ${LIBPATH}/libstdc++.so ]] ; then
einfo "Running 'fix_libtool_files.sh ${GCC_RELEASE_VER}'"
fix_libtool_files.sh ${GCC_RELEASE_VER}
- if [[ -n ${BRANCH_UPDATE} ]] ; then
- einfo "Running 'fix_libtool_files.sh ${GCC_RELEASE_VER}-${BRANCH_UPDATE}'"
- fix_libtool_files.sh ${GCC_RELEASE_VER}-${BRANCH_UPDATE}
- fi
fi
return 0