summaryrefslogtreecommitdiff
path: root/eclass
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-10-06 19:22:30 +0100
committerV3n3RiX <venerix@koprulu.sector>2022-10-06 19:22:30 +0100
commit744892aecb5cdf9ca0bbe504f7bbcdfb87b518fc (patch)
tree0b99b178b866e693a85d013eb47de3d1236e35b8 /eclass
parent275074c50dca7b941cc7cd7966a2ace71c29ecae (diff)
gentoo auto-resync : 06:10:2022 - 19:22:30
Diffstat (limited to 'eclass')
-rw-r--r--eclass/Manifest.gzbin37301 -> 37300 bytes
-rw-r--r--eclass/postgres.eclass4
-rw-r--r--eclass/toolchain.eclass37
3 files changed, 38 insertions, 3 deletions
diff --git a/eclass/Manifest.gz b/eclass/Manifest.gz
index 283ef9c921cc..52132a5c1f08 100644
--- a/eclass/Manifest.gz
+++ b/eclass/Manifest.gz
Binary files differ
diff --git a/eclass/postgres.eclass b/eclass/postgres.eclass
index ec5242be59f8..3ae1c49adc68 100644
--- a/eclass/postgres.eclass
+++ b/eclass/postgres.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EXPORT_FUNCTIONS pkg_setup
@@ -27,7 +27,7 @@ esac
# @DESCRIPTION:
# List of versions to reverse sort POSTGRES_COMPAT slots
-_POSTGRES_ALL_VERSIONS=( 9999 14 13 12 11 10 )
+_POSTGRES_ALL_VERSIONS=( 9999 15 14 13 12 11 10 )
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 71342765c78e..62977f16309f 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -57,6 +57,7 @@ is_crosscompile() {
[[ ${CHOST} != ${CTARGET} ]]
}
+
# @FUNCTION: tc_version_is_at_least
# @USAGE: ver1 [ver2]
# @DESCRIPTION:
@@ -138,6 +139,32 @@ GCCMINOR=$(ver_cut 2 ${GCC_PV})
# GCC micro version.
GCCMICRO=$(ver_cut 3 ${GCC_PV})
+tc_use_major_version_only() {
+ local use_major_version_only=0
+
+ if ! tc_version_is_at_least 10 ; then
+ return 1
+ fi
+
+ if [[ ${GCCMAJOR} -eq 10 ]] && ver_test ${PV} -ge 10.4.1_p20220929 ; then
+ use_major_version_only=1
+ elif [[ ${GCCMAJOR} -eq 11 ]] && ver_test ${PV} -ge 11.3.1_p20220930 ; then
+ use_major_version_only=1
+ elif [[ ${GCCMAJOR} -eq 12 ]] && ver_test ${PV} -ge 12.2.1_p20221001 ; then
+ use_major_version_only=1
+ elif [[ ${GCCMAJOR} -eq 13 ]] && ver_test ${PV} -ge 13.0.0_pre20221002 ; then
+ use_major_version_only=1
+ elif [[ ${GCCMAJOR} -gt 13 ]] ; then
+ use_major_version_only=1
+ fi
+
+ if [[ ${use_major_version_only} -eq 1 ]] ; then
+ return 0
+ fi
+
+ return 1
+}
+
# @ECLASS_VARIABLE: GCC_CONFIG_VER
# @INTERNAL
# @DESCRIPTION:
@@ -145,7 +172,11 @@ GCCMICRO=$(ver_cut 3 ${GCC_PV})
# of binary and gcc-config names not directly tied to upstream
# versioning. In practice it's hard to untangle from gcc/BASE-VER
# (GCC_RELEASE_VER) value.
-GCC_CONFIG_VER=${GCC_RELEASE_VER}
+if tc_use_major_version_only ; then
+ GCC_CONFIG_VER=${GCCMAJOR}
+else
+ GCC_CONFIG_VER=${GCC_RELEASE_VER}
+fi
# Pre-release support. Versioning schema:
# 1.0.0_pre9999: live ebuild
@@ -1006,6 +1037,10 @@ toolchain_src_configure() {
--with-pkgversion="${BRANDING_GCC_PKGVERSION}"
)
+ if tc_use_major_version_only ; then
+ confgcc+=( --with-gcc-major-version-only )
+ fi
+
# If we want hardened support with the newer PIE patchset for >=gcc 4.4
if tc_version_is_at_least 4.4 && want_minispecs && in_iuse hardened ; then
confgcc+=( $(use_enable hardened esp) )