Here's a patch to fix the build failure with GCC 14+ (nullptr keyword conflict in C23/gnu23 default mode):
diff -u cdesktopenv-old/PKGBUILD cdesktopenv/PKGBUILD
--- cdesktopenv-old/PKGBUILD
+++ cdesktopenv/PKGBUILD
@@ -70,10 +70,19 @@
'1db4036888515de17a4b49d7f5ca3d34a5d601cc8696f603b390e98283197125'
'8a7ba3b3856d4ef05c5703abd8e779df577c6b91931d3d0cc5f04d15dc665d57')
+prepare() {
+ cd "cde-$pkgver"
+ # ksh93 uses 'nullptr' as a variable name, which conflicts with
+ # the C23 nullptr keyword that GCC 14+ reserves in gnu23 (default) mode.
+ # Rename it so the code compiles with gnu17+ standards.
+ sed -i 's/\bnullptr\b/null_ptr/g' programs/dtksh/ksh93/src/cmd/ksh93/sh/xec.c
+}
+
build() {
cd "cde-$pkgver"
./autogen.sh
- export CC='gcc -std=c90'
+ export CFLAGS="$CFLAGS -std=gnu17"
+ export CXXFLAGS="$CXXFLAGS -std=gnu17"
export TIC="/usr/bin/tic -o${pkgdir}/usr/dt/share/terminfo"
./configure --with-gnu-ld
make LDFLAGS=-lm
Pinned Comments