From 2771f79232c273bc2a57d23bf335dd81ccf6af28 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sun, 5 Dec 2021 02:47:11 +0000 Subject: gentoo resync : 05.12.2021 --- eclass/Manifest.gz | Bin 36353 -> 36359 bytes eclass/ada.eclass | 13 +---------- eclass/bazel.eclass | 4 +++- eclass/ecm.eclass | 3 ++- eclass/gstreamer-meson.eclass | 13 +++++++---- eclass/java-pkg-2.eclass | 4 ++-- eclass/java-pkg-simple.eclass | 4 ++-- eclass/java-utils-2.eclass | 4 ++-- eclass/java-vm-2.eclass | 9 ++++---- eclass/kde.org.eclass | 14 ++--------- eclass/php-ext-pecl-r3.eclass | 4 ++-- eclass/php-ext-source-r3.eclass | 6 ++--- eclass/php-pear-r2.eclass | 5 +++- eclass/ruby-fakegem.eclass | 33 ++++++++++++++++++++++---- eclass/ruby-ng.eclass | 2 +- eclass/toolchain.eclass | 50 ++++++++++++++++++++++++++++++++++------ eclass/xorg-3.eclass | 2 +- 17 files changed, 109 insertions(+), 61 deletions(-) (limited to 'eclass') diff --git a/eclass/Manifest.gz b/eclass/Manifest.gz index 15a563a2ebcf..508cb7bd790f 100644 Binary files a/eclass/Manifest.gz and b/eclass/Manifest.gz differ diff --git a/eclass/ada.eclass b/eclass/ada.eclass index 6089ed6e737f..fe28142e94ae 100644 --- a/eclass/ada.eclass +++ b/eclass/ada.eclass @@ -58,7 +58,7 @@ EXPORT_FUNCTIONS pkg_setup # @DESCRIPTION: # All supported Ada implementations, most preferred last. _ADA_ALL_IMPLS=( - gnat_2019 gnat_2020 gnat_2021 + gnat_2020 gnat_2021 ) readonly _ADA_ALL_IMPLS @@ -83,9 +83,6 @@ _ada_impl_supported() { # keep in sync with _ADA_ALL_IMPLS! # (not using that list because inline patterns shall be faster) case "${impl}" in - gnat_2019) - return 0 - ;; gnat_202[01]) return 0 ;; @@ -180,10 +177,6 @@ ada_export() { local impl var case "${1}" in - gnat_201[789]) - impl=${1} - shift - ;; gnat_202[01]) impl=${1} shift @@ -200,10 +193,6 @@ ada_export() { local gcc_pv local slot case "${impl}" in - gnat_2019) - gcc_pv=8.3.1 - slot=8.3.1 - ;; gnat_2020) gcc_pv=9.3.1 slot=9.3.1 diff --git a/eclass/bazel.eclass b/eclass/bazel.eclass index ac7ca241519c..9e09255fd66f 100644 --- a/eclass/bazel.eclass +++ b/eclass/bazel.eclass @@ -1,4 +1,4 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: bazel.eclass @@ -117,6 +117,8 @@ bazel_setup_bazelrc() { EOF if tc-is-cross-compiler; then + echo "build --distinct_host_configuration" >> "${T}/bazelrc" || die + else echo "build --nodistinct_host_configuration" >> "${T}/bazelrc" || die fi } diff --git a/eclass/ecm.eclass b/eclass/ecm.eclass index a2c8ed1c9541..5ae6e73401ef 100644 --- a/eclass/ecm.eclass +++ b/eclass/ecm.eclass @@ -508,7 +508,8 @@ ecm_src_test() { export $(dbus-launch) fi - cmake_src_test + # KDE_DEBUG stops crash handlers from launching and hanging the test phase + KDE_DEBUG=1 cmake_src_test } # When run as normal user during ebuild development with the ebuild command, diff --git a/eclass/gstreamer-meson.eclass b/eclass/gstreamer-meson.eclass index 2e271c5cd4fa..34472b76c823 100644 --- a/eclass/gstreamer-meson.eclass +++ b/eclass/gstreamer-meson.eclass @@ -328,12 +328,15 @@ gstreamer_multilib_src_configure() { fi fi + if grep -qF "option('package-name'" "${EMESON_SOURCE}"/meson_options.txt ; then + gst_conf+=( -Dpackage-name="Gentoo GStreamer ebuild" ) + fi + if grep -qF "option('package-origin'" "${EMESON_SOURCE}"/meson_options.txt ; then + gst_conf+=( -Dpackage-origin="https://www.gentoo.org" ) + fi + gst_conf+=( "${@}" ) + einfo "Configuring to build ${GST_PLUGINS_ENABLED} plugin(s) ..." - gst_conf+=( - -Dpackage-name="Gentoo GStreamer ebuild" - -Dpackage-origin="https://www.gentoo.org" - "${@}" - ) meson_src_configure "${gst_conf[@]}" } diff --git a/eclass/java-pkg-2.eclass b/eclass/java-pkg-2.eclass index b0573eea4d0b..764aa95ba373 100644 --- a/eclass/java-pkg-2.eclass +++ b/eclass/java-pkg-2.eclass @@ -6,7 +6,7 @@ # java@gentoo.org # @AUTHOR: # Thomas Matthijs -# @SUPPORTED_EAPIS: 5 6 7 +# @SUPPORTED_EAPIS: 5 6 7 8 # @PROVIDES: java-utils-2 # @BLURB: Eclass for Java Packages # @DESCRIPTION: @@ -14,7 +14,7 @@ # need to use Java. case ${EAPI:-0} in - [567]) ;; + [5678]) ;; *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;; esac diff --git a/eclass/java-pkg-simple.eclass b/eclass/java-pkg-simple.eclass index fc006ff2fcc4..26dc06b1a6fa 100644 --- a/eclass/java-pkg-simple.eclass +++ b/eclass/java-pkg-simple.eclass @@ -6,7 +6,7 @@ # java@gentoo.org # @AUTHOR: # Java maintainers -# @SUPPORTED_EAPIS: 5 6 7 +# @SUPPORTED_EAPIS: 5 6 7 8 # @BLURB: Eclass for packaging Java software with ease. # @DESCRIPTION: # This class is intended to build pure Java packages from Java sources @@ -17,7 +17,7 @@ # directory before calling the src_compile function of this eclass. case ${EAPI:-0} in - [567]) ;; + [5678]) ;; *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;; esac diff --git a/eclass/java-utils-2.eclass b/eclass/java-utils-2.eclass index 2c93cbdf0eeb..050a5c4847a6 100644 --- a/eclass/java-utils-2.eclass +++ b/eclass/java-utils-2.eclass @@ -6,7 +6,7 @@ # java@gentoo.org # @AUTHOR: # Thomas Matthijs , Karl Trygve Kalleberg -# @SUPPORTED_EAPIS: 5 6 7 +# @SUPPORTED_EAPIS: 5 6 7 8 # @BLURB: Base eclass for Java packages # @DESCRIPTION: # This eclass provides functionality which is used by java-pkg-2.eclass, @@ -18,7 +18,7 @@ # Ant-based packages. case ${EAPI:-0} in - [567]) ;; + [5678]) ;; *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;; esac diff --git a/eclass/java-vm-2.eclass b/eclass/java-vm-2.eclass index 5f14493f18a1..d24339200ce0 100644 --- a/eclass/java-vm-2.eclass +++ b/eclass/java-vm-2.eclass @@ -4,14 +4,14 @@ # @ECLASS: java-vm-2.eclass # @MAINTAINER: # java@gentoo.org -# @SUPPORTED_EAPIS: 5 6 +# @SUPPORTED_EAPIS: 6 8 # @BLURB: Java Virtual Machine eclass # @DESCRIPTION: # This eclass provides functionality which assists with installing # virtual machines, and ensures that they are recognized by java-config. case ${EAPI:-0} in - 5|6) ;; + [68]) ;; *) die "EAPI=${EAPI} is not supported" ;; esac @@ -20,8 +20,9 @@ inherit multilib pax-utils prefix xdg-utils EXPORT_FUNCTIONS pkg_setup pkg_postinst pkg_prerm pkg_postrm RDEPEND=" - >=dev-java/java-config-2.2.0-r3 - >=app-eselect/eselect-java-0.4.0" + dev-java/java-config + app-eselect/eselect-java +" DEPEND="${RDEPEND}" export WANT_JAVA_CONFIG=2 diff --git a/eclass/kde.org.eclass b/eclass/kde.org.eclass index 9e357001a970..4128e1238d29 100644 --- a/eclass/kde.org.eclass +++ b/eclass/kde.org.eclass @@ -222,14 +222,8 @@ _kde.org_calculate_src_uri() { ;; esac - if [[ ${PN} == kdevelop* ]]; then - case ${PV} in - *.*.[6-9]? ) - _src_uri+="unstable/kdevelop/${PV}/src/" - RESTRICT+=" mirror" - ;; - *) _src_uri+="stable/kdevelop/${PV}/src/" ;; - esac + if [[ ${PN} == kdevelop* && ${PV} == 5.6.2 ]]; then + _src_uri+="stable/kdevelop/${PV}/src/" fi if [[ -n ${KDE_ORG_COMMIT} ]]; then @@ -272,10 +266,6 @@ _kde.org_calculate_live_repo() { EGIT_BRANCH="Plasma/$(ver_cut 1-2)" fi - if [[ ${PV} != 9999 && ${PN} == kdevelop* ]]; then - EGIT_BRANCH="$(ver_cut 1-2)" - fi - # @ECLASS-VARIABLE: EGIT_REPONAME # @DESCRIPTION: # This variable allows overriding of default repository diff --git a/eclass/php-ext-pecl-r3.eclass b/eclass/php-ext-pecl-r3.eclass index 0d1485aa1f7f..8f2a92f0fcbd 100644 --- a/eclass/php-ext-pecl-r3.eclass +++ b/eclass/php-ext-pecl-r3.eclass @@ -4,7 +4,7 @@ # @ECLASS: php-ext-pecl-r3.eclass # @MAINTAINER: # Gentoo PHP team -# @SUPPORTED_EAPIS: 6 7 +# @SUPPORTED_EAPIS: 6 7 8 # @PROVIDES: php-ext-source-r3 # @BLURB: A uniform way to install PECL extensions # @DESCRIPTION: @@ -13,7 +13,7 @@ # see https://pecl.php.net/ case ${EAPI:-0} in - [67]) ;; + 6|7|8) ;; *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;; esac diff --git a/eclass/php-ext-source-r3.eclass b/eclass/php-ext-source-r3.eclass index 556b51ecb0cf..4f580436d3e9 100644 --- a/eclass/php-ext-source-r3.eclass +++ b/eclass/php-ext-source-r3.eclass @@ -4,7 +4,7 @@ # @ECLASS: php-ext-source-r3.eclass # @MAINTAINER: # Gentoo PHP team -# @SUPPORTED_EAPIS: 6 7 +# @SUPPORTED_EAPIS: 6 7 8 # @BLURB: Compile and install standalone PHP extensions. # @DESCRIPTION: # A unified interface for compiling and installing standalone PHP @@ -14,7 +14,7 @@ inherit autotools case ${EAPI:-0} in 6) inherit eapi7-ver ;; - 7) ;; + 7|8) ;; *) die "${ECLASS} is not compatible with EAPI=${EAPI}" esac @@ -134,7 +134,7 @@ RDEPEND="${PHPDEPEND}" case ${EAPI:-0} in 6) DEPEND="${TOOLDEPS} ${PHPDEPEND}" ;; - 7) DEPEND="${PHPDEPEND}" ; BDEPEND="${TOOLDEPS} ${PHPDEPEND}" ;; + 7|8) DEPEND="${PHPDEPEND}" ; BDEPEND="${TOOLDEPS} ${PHPDEPEND}" ;; esac unset PHPDEPEND TOOLDEPS diff --git a/eclass/php-pear-r2.eclass b/eclass/php-pear-r2.eclass index f0fe4b96f8ef..45ff81b92ebe 100644 --- a/eclass/php-pear-r2.eclass +++ b/eclass/php-pear-r2.eclass @@ -6,7 +6,7 @@ # Gentoo PHP Team # @AUTHOR: # Author: Brian Evans -# @SUPPORTED_EAPIS: 6 7 +# @SUPPORTED_EAPIS: 6 7 8 # @BLURB: Provides means for an easy installation of PEAR packages. # @DESCRIPTION: # This eclass provides means for an easy installation of PEAR packages. @@ -19,6 +19,9 @@ EXPORT_FUNCTIONS src_install pkg_postinst pkg_postrm case "${EAPI:-0}" in 6|7) ;; + 8) + IDEPEND=">=dev-php/pear-1.8.1" + ;; *) die "Unsupported EAPI=${EAPI} for ${ECLASS}" ;; diff --git a/eclass/ruby-fakegem.eclass b/eclass/ruby-fakegem.eclass index 7f88c292e536..3832165761c9 100644 --- a/eclass/ruby-fakegem.eclass +++ b/eclass/ruby-fakegem.eclass @@ -123,6 +123,13 @@ RUBY_FAKEGEM_BINDIR="${RUBY_FAKEGEM_BINDIR-bin}" # the configuration script that needs to be run to generate the # extension. +# @ECLASS-VARIABLE: RUBY_FAKEGEM_EXTENSION_OPTIONS +# @DEFAULT_UNSET +# @DESCRIPTION: +# Additional options that are passed when configuring the +# extension. Some extensions use this to locate paths or turn specific +# parts of the extionsion on or off. + # @ECLASS-VARIABLE: RUBY_FAKEGEM_EXTENSION_LIBDIR # @DESCRIPTION: # The lib directory where extensions are copied directly after they have @@ -404,7 +411,7 @@ EOF each_fakegem_configure() { tc-export PKG_CONFIG for extension in "${RUBY_FAKEGEM_EXTENSIONS[@]}" ; do - ${RUBY} --disable=did_you_mean -C ${extension%/*} ${extension##*/} || die + CC=$(tc-getCC) ${RUBY} --disable=did_you_mean -C ${extension%/*} ${extension##*/} --with-cflags="${CFLAGS}" --with-ldflags="${LDFLAGS}" ${RUBY_FAKEGM_EXTENSION_OPTIONS} || die done } @@ -539,6 +546,24 @@ if [[ ${RUBY_FAKEGEM_RECIPE_TEST} != none ]]; then } fi +# @FUNCTION: ruby_fakegem_extensions_installed +# @DESCRIPTION: +# Install the marker indicating that extensions have been +# installed. This is normally done as part of the extension +# installation, but may be useful when we handle extensions manually. +ruby_fakegem_extensions_installed() { + mkdir -p "${ED}$(ruby_fakegem_extensionsdir)" || die + touch "${ED}$(ruby_fakegem_extensionsdir)/gem.build_complete" || die +} + +# @FUNCTION: ruby_fakegem_extensionsdir +# @DESCRIPTION: +# The directory where rubygems expects extensions for this package +# version. +ruby_fakegem_extensionsdir() { + echo "$(ruby_fakegem_gemsdir)/extensions/$(ruby_rbconfig_value 'arch')/$(ruby_rbconfig_value 'ruby_version')/${RUBY_FAKEGEM_NAME}-${RUBY_FAKEGEM_VERSION}" +} + # @FUNCTION: each_fakegem_install # @DESCRIPTION: # Install the package for each ruby target. @@ -555,14 +580,12 @@ each_fakegem_install() { if [[ -n ${RUBY_FAKEGEM_EXTENSIONS} ]] && [ ${#RUBY_FAKEGEM_EXTENSIONS[@]} -ge 0 ]; then einfo "installing extensions" - local _extensionsdir="$(ruby_fakegem_gemsdir)/extensions/$(ruby_rbconfig_value 'arch')/$(ruby_rbconfig_value 'ruby_version')/${RUBY_FAKEGEM_NAME}-${RUBY_FAKEGEM_VERSION}" for extension in ${RUBY_FAKEGEM_EXTENSIONS[@]} ; do - emake V=1 sitearchdir="${ED}${_extensionsdir}" sitelibdir="${ED}$(ruby_rbconfig_value 'sitelibdir')" -C ${extension%/*} install + emake V=1 sitearchdir="${ED}$(ruby_fakegem_extensionsdir)" sitelibdir="${ED}$(ruby_rbconfig_value 'sitelibdir')" -C ${extension%/*} install done - # Add the marker to indicate that the extensions are installed - touch "${ED}${_extensionsdir}/gem.build_complete" || die + ruby_fakegem_extensions_installed fi } diff --git a/eclass/ruby-ng.eclass b/eclass/ruby-ng.eclass index 6b3c0c25eaa2..90da695a04c2 100644 --- a/eclass/ruby-ng.eclass +++ b/eclass/ruby-ng.eclass @@ -734,7 +734,7 @@ ruby-ng_cucumber() { ;; esac - ${RUBY} -S cucumber ${cucumber_params} "$@" || die "cucumber failed" + CUCUMBER_PUBLISH_QUIET=true ${RUBY} -S cucumber ${cucumber_params} "$@" || die "cucumber failed" } # @FUNCTION: ruby-ng_testrb-2 diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass index 5a272a209361..fd03ba176276 100644 --- a/eclass/toolchain.eclass +++ b/eclass/toolchain.eclass @@ -90,11 +90,11 @@ GCC_CONFIG_VER=${GCC_RELEASE_VER} # Pre-release support. Versioning schema: # 1.0.0_pre9999: live ebuild -# 1.2.3_alphaYYYYMMDD: weekly snapshots +# 1.2.3_pYYYYMMDD: weekly snapshots # 1.2.3_rcYYYYMMDD: release candidates -if [[ ${GCC_PV} == *_alpha* ]] ; then +if [[ ${GCC_PV} == *_p* ]] ; then # weekly snapshots - SNAPSHOT=${GCCMAJOR}-${GCC_PV##*_alpha} + SNAPSHOT=${GCCMAJOR}-${GCC_PV##*_p} elif [[ ${GCC_PV} == *_rc* ]] ; then # release candidates SNAPSHOT=${GCC_PV%_rc*}-RC-${GCC_PV##*_rc} @@ -180,6 +180,7 @@ if [[ ${PN} != "kgcc64" && ${PN} != gcc-* ]] ; then IUSE+=" systemtap" TC_FEATURES+=(systemtap) tc_version_is_at_least 9.0 && IUSE+=" d" tc_version_is_at_least 9.1 && IUSE+=" lto" + tc_version_is_at_least 10 && IUSE+=" cet" tc_version_is_at_least 10 && IUSE+=" zstd" TC_FEATURES+=(zstd) tc_version_is_at_least 11 && IUSE+=" valgrind" TC_FEATURES+=(valgrind) tc_version_is_at_least 11 && IUSE+=" custom-cflags" @@ -289,11 +290,16 @@ S=$( ) gentoo_urls() { - local devspace="HTTP~vapier/dist/URI HTTP~rhill/dist/URI - HTTP~zorry/patches/gcc/URI HTTP~blueness/dist/URI - HTTP~tamiko/distfiles/URI HTTP~sam/distfiles/URI HTTP~slyfox/distfiles/URI" + local devspace=" + HTTP~soap/distfiles/URI + HTTP~sam/distfiles/URI + HTTP~sam/distfiles/sys-devel/gcc/URI + HTTP~tamiko/distfiles/URI + HTTP~zorry/patches/gcc/URI + HTTP~vapier/dist/URI + HTTP~blueness/dist/URI" devspace=${devspace//HTTP/https:\/\/dev.gentoo.org\/} - echo mirror://gentoo/$1 ${devspace//URI/$1} + echo ${devspace//URI/$1} mirror://gentoo/$1 } # This function handles the basics of setting the SRC_URI for a gcc ebuild. @@ -354,6 +360,7 @@ gentoo_urls() { get_gcc_src_uri() { export PATCH_GCC_VER=${PATCH_GCC_VER:-${GCC_RELEASE_VER}} export UCLIBC_GCC_VER=${UCLIBC_GCC_VER:-${PATCH_GCC_VER}} + export MUSL_GCC_VER=${MUSL_GCC_VER:-${PATCH_GCC_VER}} export PIE_GCC_VER=${PIE_GCC_VER:-${GCC_RELEASE_VER}} export HTB_GCC_VER=${HTB_GCC_VER:-${GCC_RELEASE_VER}} export SPECS_GCC_VER=${SPECS_GCC_VER:-${GCC_RELEASE_VER}} @@ -379,6 +386,8 @@ get_gcc_src_uri() { GCC_SRC_URI+=" $(gentoo_urls gcc-${UCLIBC_GCC_VER}-uclibc-patches-${UCLIBC_VER}.tar.bz2)" [[ -n ${PATCH_VER} ]] && \ GCC_SRC_URI+=" $(gentoo_urls gcc-${PATCH_GCC_VER}-patches-${PATCH_VER}.tar.bz2)" + [[ -n ${MUSL_VER} ]] && \ + GCC_SRC_URI+=" $(gentoo_urls gcc-${MUSL_GCC_VER}-musl-patches-${MUSL_VER}.tar.bz2)" [[ -n ${PIE_VER} ]] && \ PIE_CORE=${PIE_CORE:-gcc-${PIE_GCC_VER}-piepatches-v${PIE_VER}.tar.bz2} && \ @@ -547,9 +556,27 @@ do_gcc_gentoo_patches() { 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 + + if [[ -n ${MUSL_VER} ]] && [[ ${CTARGET} == *musl* ]] ; then + if [[ ${CATEGORY} == cross-* ]] ; then + # We don't want to apply some patches when cross-compiling. + if [[ -d "${WORKDIR}"/musl/nocross ]] ; then + rm -fv "${WORKDIR}"/musl/nocross/*.patch || die + else + # Just make an empty directory to make the glob below easier. + mkdir -p "${WORKDIR}"/musl/nocross || die + fi + fi + + local shopt_save=$(shopt -p nullglob) + shopt -s nullglob + tc_apply_patches "Applying musl patches ..." "${WORKDIR}"/musl/{,nocross/}*.patch + ${shopt_save} + fi fi } @@ -603,6 +630,11 @@ make_gcc_hard() { # -z now # see *_all_extra-options.patch gcc patches. gcc_hard_flags+=" -DEXTRA_OPTIONS" + + if _tc_use_if_iuse cet && [[ ${CTARGET} == *x86_64*-linux* ]] ; then + gcc_hard_flags+=" -DEXTRA_OPTIONS_CF" + fi + # rebrand to make bug reports easier BRANDING_GCC_PKGVERSION=${BRANDING_GCC_PKGVERSION/Gentoo/Gentoo Hardened} fi @@ -1151,6 +1183,10 @@ toolchain_src_configure() { confgcc+=( --disable-libada ) fi + if in_iuse cet ; then + confgcc+=( $(use_enable cet) ) + fi + if in_iuse cilk ; then confgcc+=( $(use_enable cilk libcilkrts) ) fi diff --git a/eclass/xorg-3.eclass b/eclass/xorg-3.eclass index 41732e289b94..d5dadbad3f54 100644 --- a/eclass/xorg-3.eclass +++ b/eclass/xorg-3.eclass @@ -25,7 +25,7 @@ GIT_ECLASS="" if [[ ${PV} == *9999* ]]; then GIT_ECLASS="git-r3" - XORG_EAUTORECONF="yes" + : ${XORG_EAUTORECONF:="yes"} fi # If we're a font package, but not the font.alias one -- cgit v1.2.3