ports@,
here the next diff which enables algol68 in gcc-16 which I plan go in in a
few days. It doesn't requries any bootstrap, so can be enabled globally.
Index: DESCR-algol
===================================================================
RCS file: DESCR-algol
diff -N DESCR-algol
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ DESCR-algol 19 Oct 2026 17:03:30 -0000
@@ -0,0 +1,12 @@
+The GNU Compiler Collection (GCC) includes front ends for C, C++,
+Objective-C, Fortran, Java, and Ada, as well as libraries for these
+languages (libstdc++, libgcj,...).
+
+GCC development is a part of the GNU Project and uses an open
+development environment. Its supports many other platforms in order to
+foster a world-class optimizing compiler, to attract a larger team of
+developers, to ensure that GCC and the GNU system work on multiple
+architectures and diverse environments, and to more thoroughly test and
+extend the features of GCC.
+
+This package contains the Algol68 compiler.
Index: Makefile.inc
===================================================================
RCS file: /cvs/ports/lang/gcc/Makefile.inc,v
diff -u -p -r1.26 Makefile.inc
--- Makefile.inc 19 Oct 2026 16:48:06 -0000 1.26
+++ Makefile.inc 19 Oct 2026 17:03:30 -0000
@@ -18,6 +18,7 @@ COMMENT-f95 = ${COM}: Fortran compiler
COMMENT-modula2 = ${COM}: Modula2 compiler
COMMENT-objc = ${COM}: obj C compiler
COMMENT-ada = ${COM}: Ada compiler
+COMMENT-algol = ${COM}: Algol68 compiler
COMMENT-go = ${COM}: Go compiler
COMMENT-dlang = ${COM}: D compiler
COMMENT-bootstrap = ${COM}: binary bootstrap
@@ -30,6 +31,7 @@ PKGNAME-f95 = gfortran-${FULL_PKGVERSIO
PKGNAME-modula2 = gmodula2-${FULL_PKGVERSION}
PKGNAME-objc = gobjc-${FULL_PKGVERSION}
PKGNAME-ada = gnat-${FULL_PKGVERSION}
+PKGNAME-algol = galgol-${FULL_PKGVERSION}
PKGNAME-go = gccgo-${FULL_PKGVERSION}
PKGNAME-dlang = gdc-${FULL_PKGVERSION}
PKGNAME-bootstrap = gcc-bootstrap-${FULL_PKGVERSION}
@@ -43,6 +45,7 @@ PKGSPEC-f95 = gfortran-${GCC_PKGSPEC}
PKGSPEC-modula2 = gmodula2-${GCC_PKGSPEC}
PKGSPEC-objc = gobjc-${GCC_PKGSPEC}
PKGSPEC-ada = gnat-${GCC_PKGSPEC}
+PKGSPEC-algol = galgol-${GCC_PKGSPEC}
PKGSPEC-dlang = gdc-${GCC_PKGSPEC}
PKGSPEC-bootstrap = gcc-bootstrap-${GCC_PKGSPEC}
@@ -54,6 +57,7 @@ DESCR-f95 = ${PORTSDIR}/lang/gcc/DESCR-
DESCR-modula2 = ${PORTSDIR}/lang/gcc/DESCR-modula2
DESCR-objc = ${PORTSDIR}/lang/gcc/DESCR-objc
DESCR-ada = ${PORTSDIR}/lang/gcc/DESCR-ada
+DESCR-algol = ${PORTSDIR}/lang/gcc/DESCR-algol
DESCR-go = ${PORTSDIR}/lang/gcc/DESCR-go
DESCR-dlang = ${PORTSDIR}/lang/gcc/DESCR-dlang
DESCR-bootstrap = ${PORTSDIR}/lang/gcc/DESCR-bootstrap
Index: 16/Makefile
===================================================================
RCS file: /cvs/ports/lang/gcc/16/Makefile,v
diff -u -p -r1.30 Makefile
--- 16/Makefile 19 Oct 2026 16:48:06 -0000 1.30
+++ 16/Makefile 19 Oct 2026 17:03:30 -0000
@@ -15,7 +15,7 @@ USE_NOEXECONLY = Yes
# - turn -Wimplicit-function-declaration and -Wincompatible-pointer-types
# into simple warnings.
V = 16.2.0
-REVISION = 1
+REVISION = 2
GCC_PKGSPEC = >=16,<17
# aarch64, powerpc64 and sparc64 bootstrap contain only gdc
@@ -46,13 +46,14 @@ SHARED_LIBS = estdc++ 22.1 \
m2iso 0.0 \
m2log 0.0 \
m2min 0.0 \
- m2pim 0.0
+ m2pim 0.0 \
+ ga68 0.0
PSEUDO_FLAVORS = full
FLAVOR ?=
MULTI_PACKAGES = -main -libs -f95 -objc -c++ -ada -dlang -bootstrap \
- -modula2
+ -modula2 -algol
.include <bsd.port.arch.mk>
@@ -84,7 +85,7 @@ TEST_DEPENDS += devel/dejagnu \
devel/autogen \
${BUILD_PKGPATH},-libs>=16,<17
-LANGS = c,c++,fortran,m2,objc,obj-c++
+LANGS = algol68,c,c++,fortran,m2,objc,obj-c++
.if ${BUILD_PACKAGES:M-ada} || ${BUILD_PACKAGES:M-dlang}
DISTFILES.strap += ${BOOTSTRAP-${MACHINE_ARCH}}
EXTRACT_ONLY += ${BOOTSTRAP-${MACHINE_ARCH}}
Index: 16/patches/patch-gcc_algol68_a68-lang_cc
===================================================================
RCS file: 16/patches/patch-gcc_algol68_a68-lang_cc
diff -N 16/patches/patch-gcc_algol68_a68-lang_cc
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ 16/patches/patch-gcc_algol68_a68-lang_cc 19 Oct 2026 17:03:30 -0000
@@ -0,0 +1,16 @@
+Index: gcc/algol68/a68-lang.cc
+--- gcc/algol68/a68-lang.cc.orig
++++ gcc/algol68/a68-lang.cc
+@@ -209,6 +209,12 @@ a68_build_a68_type_nodes (void)
+ a68_long_long_real_type = long_double_type_node;
+ }
+
++extern "C" const char *
++fname_as_string(int pretty_p __attribute__((__unused__)))
++{
++ return NULL;
++}
++
+ /* Language hooks data structures. This is the main interface between
+ the GCC front-end and the GCC middle-end/back-end. A list of
+ language hooks can be found in langhooks.h. */
Index: 16/patches/patch-libga68_Makefile_in
===================================================================
RCS file: 16/patches/patch-libga68_Makefile_in
diff -N 16/patches/patch-libga68_Makefile_in
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ 16/patches/patch-libga68_Makefile_in 19 Oct 2026 17:03:30 -0000
@@ -0,0 +1,13 @@
+Index: libga68/Makefile.in
+--- libga68/Makefile.in.orig
++++ libga68/Makefile.in
+@@ -473,7 +473,8 @@ libga68_la_SOURCES = libga68.c \
+
+ libga68_la_LIBTOOLFLAGS =
+ libga68_la_CFLAGS = $(LIBGA68_GCFLAGS) $(LIBGA68_BOEHM_GC_INCLUDES)
+-libga68_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` \
++include $(top_srcdir)/../libversions
++libga68_la_LDFLAGS = $(LIBga68_VERSION) \
+ $(version_arg) $(lt_host_flags)
$(extra_darwin_ldflags_libga68)
+
+ libga68_la_DEPENDENCIES = libga68.spec $(version_dep) standard.lo posix.lo
Index: 16/pkg/PLIST-algol
===================================================================
RCS file: 16/pkg/PLIST-algol
diff -N 16/pkg/PLIST-algol
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ 16/pkg/PLIST-algol 19 Oct 2026 17:03:30 -0000
@@ -0,0 +1,12 @@
+@option is-branch
+@bin bin/ega68
+@bin bin/${CONFIG}-ega68
+@info info/ga68-coding-guidelines.info
+@info info/ga68-internals.info
+@info info/ga68.info
+@static-lib lib/libga68.a
+lib/libga68.la
+@lib lib/libga68.so.${LIBga68_VERSION}
+lib/libga68.spec
+@bin libexec/gcc/${CONFIG}/${V}/a681
+@man man/man1/ega68.1
--
wbr, Kirill