Plenty of packages can use python 3.12, but are artificially limited by their ebuilds' PYTHON_COMPAT setting. According to a discussion on the ml with mv, these are the affected packages: On 2023-12-16 09:47, Martin Vaeth wrote: >stefan11111@shitposting.expert <stefan11111@shitposting.expert> wrote: > >>I have done the migration to python 3.12. >>The problem is that portage is pulling in python 3.11. > > >A python version jump in gentoo is always a horrible work: >Many ebuilds have not been updated and pull in unnecessarily >python 3.11. If you use any of these packages, you need a patched >version of them in your overlay. > >The list is not complete, even less if you have USE=python in >some packages. > >The most notable package is www-client/firefox which is the only >one which actually *needs* <python-3.12 - the others just have >a broken dependency declaration. > > > > >app-crypt/gcr >app-portage/gverify >app-portage/mirrorselect >app-portage/overlint >app-text/iso-codes >dev-cpp/atkmm >dev-cpp/glibmm >dev-cpp/pangomm >dev-libs/glib >dev-libs/gobject-introspection >dev-libs/libevdev >dev-libs/libinput >dev-libs/jsoncpp >dev-libs/newt >dev-libs/zziplib >dev-python/ssl-fetch >dev-util/flawfinder >dev-util/intel_clc >gui-libs/gtk-layer-shell >gui-libs/vte-common >media-gfx/sane-backends >media-libs/avidemux-plugins >media-libs/fcft >media-libs/gegl >media-libs/graphene >media-libs/libaom >media-libs/libepoxy >media-libs/libglvnd >media-libs/libmypaint >media-libs/mesa >media-libs/opus >net-libs/libmbim >net-libs/nodejs >sys-apps/merge-usr >sys-boot/grub >sys-process/htop >www-client/firefox >x11-libs/vte >x11-themes/fvwm-crystal >x11-wm/fvwm >xfce-base/xfce4-settings > >Note also that for quite another number of packages you need the >unstable version, because quite often the stable version >(falsely) claims to require <python-3.12. These are at least >(for xfcbe-base, it is actually only one ebuild, but updating >this requires to have also the other updated or you might >experience runtime errors): > >app-office/libreoffice >app-office/libreoffice-l10n >dev-cpp/libcmis >dev-libs/gobject-introspection-common >dev-libs/icu >dev-python/pygobject >dev-util/gdbus-codegen >mail-client/claws-mail >net-misc/networkmanager >sys-process/systemd-cron >x11-misc/redshift >xfce-base/exo >xfce-base/garcon >xfce-base/libxfce4ui >xfce-base/libxfce4util >xfce-base/libxfce4windowing >xfce-base/thunar >xfce-base/xfce4-appfinder >xfce-base/xfce4-panel >xfce-base/xfce4-session >xfce-base/xfconf >xfce-base/xfdesktop Reproducible: Always
Split to not make the first post too long. The ones I tested myself are: dev-libs/glib media-libs/libglvnd media-libs/fontconfig media-libs/mesa media-libs/libepoxy The all seem to work fine with python 3.12. I couldn't run the tests for glib because those require dbus installed. media-libs/libglvnd and media-libs/fontconfig passed all tests. media-libs/mesa fails a test about float conversion, but that is probably because I built it with -ffast-math Failure! 2046/65536 half floats failed a conversion to float and back. ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――― 39/53 mesa / translate_test x86 OK 0.02s 40/53 mesa / translate_test nosse OK 0.02s 41/53 mesa / translate_test sse OK 0.01s 42/53 mesa / translate_test sse2 OK 0.01s 43/53 mesa / translate_test sse3 OK 0.02s 44/53 mesa / translate_test sse4.1 OK 0.02s 45/53 mesa:gallium / u_prim_verts_test OK 0.01s 46/53 mesa:glx / glx-test OK 0.01s 47/53 mesa:glx / dispatch-index-check OK 0.03s 48/53 mesa:st_mesa / st_format_test OK 0.00s 49/53 mesa:mesa / main-test OK 0.02s 50/53 mesa:egl / egl-entrypoint-check OK 0.04s 51/53 mesa:egl / egl-symbols-check OK 0.05s 52/53 mesa:util / util_tests FAIL 1.73s exit status 1 >>> MALLOC_PERTURB_=245 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 /var/tmp/portage/media-libs/mesa-23.3.2/work/mesa-23.3.2-abi_x86_64.amd64/src/util/util_tests media-libs/libepoxy also fails a test(tries to test a driver I don't have?): meson test --print-errorlogs -C /var/tmp/portage/media-libs/libepoxy-1.5.10-r2/work/libepoxy-1.5.10-abi_x86_64.amd64 --num-processes 4 ninja: Entering directory `/var/tmp/portage/media-libs/libepoxy-1.5.10-r2/work/libepoxy-1.5.10-abi_x86_64.amd64' ninja: no work to do. 1/17 header_guards OK 0.01s 2/17 misc_defines OK 0.01s 3/17 khronos_typedefs OK 0.01s 4/17 gl_version OK 0.01s 5/17 egl_has_extension_nocontext OK 0.03s 6/17 egl_gles2_without_glx SKIP 0.15s exit status 77 7/17 egl_epoxy_api OK 0.17s 8/17 egl_gl OK 0.14s 9/17 egl_gles1_without_glx SKIP 0.19s exit status 77 10/17 glx_glxgetprocaddress_nocontext OK 0.04s 11/17 glx_has_extension_nocontext OK 0.03s 12/17 glx_public_api OK 0.13s 13/17 glx_public_api_core OK 0.14s 14/17 glx_beginend OK 0.17s 15/17 glx_shared_znow OK 0.12s 16/17 glx_alias_prefer_same_name OK 0.11s 17/17 glx_gles2 FAIL 0.12s exit status 1 >>> UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 LD_LIBRARY_PATH=/var/tmp/portage/media-libs/libepoxy-1.5.10-r2/work/libepoxy-1.5.10-abi_x86_64.amd64/src ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=149 /var/tmp/portage/media-libs/libepoxy-1.5.10-r2/work/libepoxy-1.5.10-abi_x86_64.amd64/test/glx_gles2 ――――――――――――――――――――――――――――――――――――― ✀ ――――――――――――――――――――――――――――――――――――― stderr: MESA-LOADER: failed to open zink: /usr/lib64/dri/zink_dri.so: cannot open shared object file: No such file or directory (search paths /usr/lib64/dri, suffix _dri) failed to load driver: zink X Error of failed request: BadAlloc (insufficient resources for operation) Major opcode of failed request: 149 (GLX) Minor opcode of failed request: 0 () Serial number of failed request: 29 Current serial number in output stream: 29 ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――― Summary of Failures: 17/17 glx_gles2 FAIL 0.12s exit status 1 Ok: 14 Expected Fail: 0 Fail: 1 Unexpected Pass: 0 Skipped: 2 Timeout: 0
Mass bugs like this aren't useful. Also, the default won't change until almost all, or all, packages are ready.
(In reply to stefan11111 from comment #1) > media-libs/mesa fails a test about float conversion, but that is probably > because I built it with -ffast-math Yup, that was it. It passed the test when built without -ffast-math.
(In reply to Sam James from comment #2) > Mass bugs like this aren't useful. > > Also, the default won't change until almost all, or all, packages are ready. Out of 59 packages that require python3 installed on my system, 54 are fixed to accept python 3.12 in the ebuild. Why not fix the other 5 too?