Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 920933 - Bump PYTHON_COMPAT to include python 3.12
Summary: Bump PYTHON_COMPAT to include python 3.12
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Linux bug wranglers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-12-29 12:54 UTC by stefan11111
Modified: 2023-12-29 14:03 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description stefan11111 2023-12-29 12:54:58 UTC
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
Comment 1 stefan11111 2023-12-29 13:04:41 UTC
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
Comment 2 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2023-12-29 13:23:35 UTC
Mass bugs like this aren't useful.

Also, the default won't change until almost all, or all, packages are ready.
Comment 3 stefan11111 2023-12-29 13:45:46 UTC
(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.
Comment 4 stefan11111 2023-12-29 14:03:59 UTC
(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?