Rockbox open source high quality audio player as a Music Player Daemon
mpris rockbox mpd libadwaita audio rust zig deno
2
fork

Configure Feed

Select the types of activity you want to include in your feed.

rockboxdev: fix glib compile error on hosts with Python 3.12 (FS#13471)

On hosts running Python 3.12, building the hosted MIPS toolchain fails
on glib with the error

Traceback (most recent call last):
File "<string>", line 2, in <module>
ModuleNotFoundError: No module named 'imp'
gmake[6]: *** [Makefile:982: install-codegenPYTHON] Error 1
gmake[6]: Leaving directory '/tmp/rbdev-build/build-glib-2.46.2/gio/gdbus-2.0/codegen'

due to 'imp' being removed from Python 3.12 after a long deprecation
period. The module is imported by automake's py-compile script, but
in newer versions of automake this has been updated to use 'importlib'
instead, so running autoreconf fixes this.

We need to patch m4macros/glib-gettext.m4 to avoid an error running
autoreconf (see: https://gitlab.gnome.org/GNOME/glib/-/issues/1159):

ac-wrapper: autoreconf: warning: auto-detected versions not found ( 2.69 2.69); falling back to latest available
autoreconf-2.71: export WARNINGS=
autoreconf-2.71: Entering directory '.'
autoreconf-2.71: configure.ac: not using Gettext
autoreconf-2.71: running: aclocal --force -I m4macros ${ACLOCAL_FLAGS}
am-wrapper: aclocal: warning: auto-detected versions not found (1.15); falling back to latest available
m4macros/glib-gettext.m4:39: error: m4_copy: won't overwrite defined macro: glib_DEFUN
m4macros/glib-gettext.m4:39: the top level
autom4te-2.71: error: /usr/bin/m4 failed with exit status: 1
aclocal-1.16: error: /usr/bin/autom4te-2.71 failed with exit status: 1
autoreconf-2.71: error: aclocal failed with exit status: 1

This problem goes away in glib 2.47.5 when they switched to using
upstream gettext.

Change-Id: I878a9d7086d17c6de43470b6e5f14917f0ae1bb9

+7 -1
+7 -1
tools/rockboxdev.sh
··· 378 378 $config_opt 379 379 elif [ "$config_opt" != "NO_CONFIGURE" ]; then 380 380 echo "ROCKBOXDEV: $toolname/configure" 381 + cflags='-U_FORTIFY_SOURCE -fgnu89-inline -O2' 382 + if [ "$tool" == "glib" ]; then 383 + run_cmd "$logfile" sed -i -e 's/m4_copy/m4_copy_force/g' "$cfg_dir/m4macros/glib-gettext.m4" 384 + run_cmd "$logfile" autoreconf -fiv "$cfg_dir" 385 + cflags="$cflags -Wno-format-nonliteral -Wno-format-overflow" 386 + fi 381 387 # NOTE glibc requires to be compiled with optimization 382 - CFLAGS='-U_FORTIFY_SOURCE -fgnu89-inline -O2' CXXFLAGS="$CXXFLAGS" run_cmd "$logfile" \ 388 + CFLAGS="$cflags" CXXFLAGS="$CXXFLAGS" run_cmd "$logfile" \ 383 389 "$cfg_dir/configure" "--prefix=$prefix" \ 384 390 --disable-docs $config_opt 385 391 fi