commit:     e9b82080065b151d6e42cc8acf1e369eba42e9e2
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sun Nov 30 01:24:03 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Nov 30 01:24:31 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e9b82080

toolchain.eclass: wire up algol68

Now in-tree!

Signed-off-by: Sam James <sam <AT> gentoo.org>

 eclass/toolchain.eclass    | 9 ++++++++-
 sys-devel/gcc/metadata.xml | 1 +
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 2661b89f188a..6c9baba8fd7e 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -346,6 +346,7 @@ if [[ ${PN} != kgcc64 && ${PN} != gcc-* ]] ; then
        tc_version_is_at_least 13.3.1_p20250522 ${PV} && IUSE+=" time64"
        tc_version_is_at_least 15.1 ${PV} && IUSE+=" libgdiagnostics"
        tc_version_is_at_least 15.1 ${PV} && IUSE+=" cobol" TC_FEATURES+=( 
cobol )
+       tc_version_is_at_least 16.0.0_p20251130 ${PV} && IUSE+=" algol68"
 fi
 
 if tc_version_is_at_least 10; then
@@ -1301,6 +1302,7 @@ toolchain_src_configure() {
        is_f95 && GCC_LANG+=",f95"
        is_ada && GCC_LANG+=",ada"
        is_cobol && GCC_LANG+=",cobol"
+       is_algol68 && GCC_LANG+=",algol68"
        is_modula2 && GCC_LANG+=",m2"
        is_rust && GCC_LANG+=",rust"
        is_jit && GCC_LANG+=",jit"
@@ -2593,7 +2595,7 @@ toolchain_src_install() {
        cd "${D}"${BINPATH} || die
        # Ugh: we really need to auto-detect this list.
        #      It's constantly out of date.
-       for x in cpp gcc gccrs g++ c++ gcobol gcov gdc g77 gfortran gccgo gnat* 
; do
+       for x in cpp gcc gccrs g++ c++ ga68 gcobol gcov gdc g77 gfortran gccgo 
gnat* ; do
                # For some reason, g77 gets made instead of ${CTARGET}-g77...
                # this should take care of that
                if [[ -f ${x} ]] ; then
@@ -3154,6 +3156,11 @@ is_cobol() {
        _tc_use_if_iuse cobol
 }
 
+is_algol68() {
+       gcc-lang-supported algol68 || return 1
+       _tc_use_if_iuse algol68
+}
+
 is_modula2() {
        gcc-lang-supported m2 || return 1
        _tc_use_if_iuse cxx && _tc_use_if_iuse modula2

diff --git a/sys-devel/gcc/metadata.xml b/sys-devel/gcc/metadata.xml
index 3cad6f306155..5397dbb3355c 100644
--- a/sys-devel/gcc/metadata.xml
+++ b/sys-devel/gcc/metadata.xml
@@ -7,6 +7,7 @@
        </maintainer>
        <use>
                <flag name="ada">Build the Ada language (GNAT) frontend</flag>
+               <flag name="algol68">Build the Algol 68 frontend</flag>
                <flag name="cet" restrict="&gt;=sys-devel/gcc-10">
                        Enable support for control flow hijacking protection.
 

Reply via email to