From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 2EF0715808B for ; Sun, 29 Sep 2024 13:44:54 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 388C2E2A21; Sun, 29 Sep 2024 13:44:49 +0000 (UTC) Received: from tupone.it (tupone.it [IPv6:2a01:4f9:2b:129a::2]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id F056FE2A1C for ; Sun, 29 Sep 2024 13:44:48 +0000 (UTC) Received: from alfredo.tupone.it (unknown [IPv6:2a01:e11:b:c630:2e0:4cff:fe69:49b]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (prime256v1) server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by tupone.it (Postfix) with ESMTPSA id 0F74E840082 for ; Sun, 29 Sep 2024 15:44:47 +0200 (CEST) Date: Sun, 29 Sep 2024 15:44:44 +0200 From: Alfredo Tupone To: gentoo-dev@lists.gentoo.org Subject: [gentoo-dev] Foreseen update to ada.eclass to allow use of gcc:14 and gcc:15 Message-ID: <20240929154444.62742717@alfredo.tupone.it> X-Mailer: Claws Mail 4.3.0 (GTK 3.24.41; x86_64-pc-linux-gnu) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-dev@lists.gentoo.org Reply-to: gentoo-dev@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Archives-Salt: 3fc4a660-d29c-406b-9f28-28d2b31c464c X-Archives-Hash: 1928f851f61dbf8e7fb7f03932876a63 diff --git a/eclass/ada.eclass b/eclass/ada.eclass index 3c3fa3c01453..faff19a6ac85 100644 --- a/eclass/ada.eclass +++ b/eclass/ada.eclass @@ -45,31 +45,31 @@ _ADA_ECLASS=1 # dev-foo/mydep" # DEPEND="${RDEPEND}" # @CODE # # Example value: # @CODE # ada_target_gcc_12? ( sys-devel/gcc:12[ada] ) # ada_target_gnat_2021? ( dev-lang/gnat-gps:2021[ada] ) # @CODE # @ECLASS_VARIABLE: _ADA_ALL_IMPLS # @INTERNAL # @DESCRIPTION: # All supported Ada implementations, most preferred last. _ADA_ALL_IMPLS=( - gnat_2021 gcc_12 gcc_13 + gnat_2021 gcc_12 gcc_13 gcc_14 gcc_15 ) readonly _ADA_ALL_IMPLS # @ECLASS_VARIABLE: ADA_REQUIRED_USE # @OUTPUT_VARIABLE # @DESCRIPTION: # This is an eclass-generated required-use expression which ensures # that exactly one ADA_TARGET value has been enabled. # # This expression should be utilized in an ebuild by including it in # REQUIRED_USE, optionally behind a use flag. # # Example use: # @CODE # REQUIRED_USE="ada? ( ${ADA_REQUIRED_USE} )" @@ -107,31 +107,31 @@ readonly _ADA_ALL_IMPLS # is still supported. # # Returns 0 if the implementation is valid and supported. If it is # unsupported, returns 1 -- and the caller should ignore the entry. # If it is invalid, dies with an appropriate error message. _ada_impl_supported() { debug-print-function ${FUNCNAME} "${@}" [[ ${#} -eq 1 ]] || die "${FUNCNAME}: takes exactly 1 argument (impl)." local impl=${1} # keep in sync with _ADA_ALL_IMPLS! # (not using that list because inline patterns shall be faster) case "${impl}" in - gnat_2021|gcc_12|gcc_13) + gnat_2021|gcc_12|gcc_13|gcc_14|gcc_15) return 0 ;; *) [[ ${ADA_COMPAT_NO_STRICT} ]] && return 1 die "Invalid implementation in ADA_COMPAT: ${impl}" esac } # @FUNCTION: _ada_set_impls # @INTERNAL # @DESCRIPTION: # Check ADA_COMPAT for well-formedness and validity, then set # two global variables: # # - _ADA_SUPPORTED_IMPLS containing valid implementations supported @@ -201,58 +201,66 @@ _ada_set_impls() { # # The optional first parameter may specify the requested Ada # implementation (either as ADA_TARGETS value, e.g. ada2_7, # or an EADA one, e.g. ada2.7). If no implementation passed, # the current one will be obtained from ${EADA}. # # The variables which can be exported are: GCC, EADA, GNATMAKE. # They are described more completely in the eclass # variable documentation. ada_export() { debug-print-function ${FUNCNAME} "${@}" local impl var case "${1}" in - gnat_2021|gcc_12|gcc_13) + gnat_2021|gcc_12|gcc_13|gcc_14|gcc_15) impl=${1} shift ;; *) impl=${EADA} if [[ -z ${impl} ]]; then die "ada_export called without a ada implementation and EADA is unset" fi ;; esac debug-print "${FUNCNAME}: implementation: ${impl}" local gcc_pv local slot case "${impl}" in gnat_2021) gcc_pv=10 slot=10 ;; gcc_12) gcc_pv=12 slot=12 ;; gcc_13) gcc_pv=13 slot=13 ;; + gcc_14) + gcc_pv=14 + slot=14 + ;; + gcc_15) + gcc_pv=15 + slot=15 + ;; *) gcc_pv="9.9.9" slot=9.9.9 ;; esac for var; do case "${var}" in EADA) export EADA=${impl} debug-print "${FUNCNAME}: EADA = ${EADA}" ;; GCC) export GCC=${EPREFIX}/usr/bin/gcc-${gcc_pv} debug-print "${FUNCNAME}: GCC = ${GCC}" @@ -282,31 +290,31 @@ ada_export() { debug-print "${FUNCNAME}: GNATLS = ${GNATLS}" ;; GNATPREP) export GNATPREP=${EPREFIX}/usr/bin/gnatprep-${gcc_pv} debug-print "${FUNCNAME}: GNATPREP = ${GNATPREP}" ;; GNATCHOP) export GNATCHOP=${EPREFIX}/usr/bin/gnatchop-${gcc_pv} debug-print "${FUNCNAME}: GNATCHOP = ${GNATCHOP}" ;; ADA_PKG_DEP) case "${impl}" in gnat_2021) ADA_PKG_DEP="dev-lang/gnat-gpl:${slot}[ada]" ;; - gcc_12|gcc_13) + gcc_12|gcc_13|gcc_14|gcc_15) ADA_PKG_DEP="sys-devel/gcc:${slot}[ada]" ;; *) ADA_PKG_DEP="=sys-devel/gcc-${gcc_pv}*[ada]" ;; esac # use-dep if [[ ${ADA_REQ_USE} ]]; then ADA_PKG_DEP+=[${ADA_REQ_USE}] fi export ADA_PKG_DEP debug-print "${FUNCNAME}: ADA_PKG_DEP = ${ADA_PKG_DEP}" ;;