** Description changed:

  [Impact]
  
  DisplayCAL, when released, was only compatible with Python 3.8-3.11.
  However, all it needed was WxWidgets 4.1.1 and a few patches to make it
- work with Python 3.12. Without, it would simply fail.
- 
+ work with Python 3.12. Without, it would simply fail. Namely, it needed
+ to be patched to remove the Python version check upon launch.
  
  [Test Case]
  
-  * Install displaycal
-  * Run displaycal
+  * Install displaycal
+  * Run displaycal
  
  Expected: Run normally
  Result:
  
  Traceback (most recent call last):
    File "/usr/bin/displaycal", line 4, in <module>
      from DisplayCAL.main import main
    File "/usr/lib/python3/dist-packages/DisplayCAL/main.py", line 27, in 
<module>
      raise RuntimeError(
  RuntimeError: Need Python version >= 3.8 <= 3.11, got 3.12.2
  
- 
  [What could go wrong]
  
  The DisplayCAL developers do not yet support Python 3.12 until the
  release of WxWidgets 4.2.0 since it could crash upon closure. I (Erich
  Eickmeyer) have not experienced this in my testing, however, it is
  plausible. Additionally, the patches that were used to make this work
  were developed after the release of DisplayCAL 3.9.12, but still applied
  cleanly to 3.9.11 and made it function correctly.
  
+ To be clear, the issue with WxWidgets is a separate bug and outside the
+ scope of this bug.
  
  [Other Information]
+ 
+ Currently the tests have to be skipped otherwise they segfault with
+ Python 3.12 and the entire source FTBFS, hence the inclusion of the
+ patch `05_skip-test-wioth-python-3.12.patch`.
  
  Original bug report:
  
  I have upgraded to the noble beta today, and displaycal fails to start.
  
  The package dependencies request python 3.12, but the actual software
  needs 3.11 (or older).
  
  ```
  $ apt show displaycal | grep Depends
  
  WARNING: apt does not have a stable CLI interface. Use with caution in
  scripts.
  
  Depends: libc6 (>= 2.34), libx11-6, libxinerama1 (>= 2:1.1.4),
  libxrandr2 (>= 2:1.2.0), libxxf86vm1, python3 (<< 3.13), python3 (>=
  3.12~), python3-build, python3-certifi, python3-dbus, python3-distro,
  python3-numpy, python3-pil, python3-pychromecast, python3-send2trash,
  python3-wxgtk4.0, python3-zeroconf, python3:any, dbus-x11, argyll,
  libjs-jquery, python3-gi, libsdl2-mixer-2.0-0
  
  $ displaycal --help
  Traceback (most recent call last):
    File "/usr/bin/displaycal", line 4, in <module>
      from DisplayCAL.main import main
    File "/usr/lib/python3/dist-packages/DisplayCAL/main.py", line 27, in 
<module>
      raise RuntimeError(
  RuntimeError: Need Python version >= 3.8 <= 3.11, got 3.12.2
  
  ```
  
  ProblemType: Bug
  DistroRelease: Ubuntu 24.04
  Package: displaycal 3.9.11-2
  ProcVersionSignature: Ubuntu 6.8.0-22.22-generic 6.8.1
  Uname: Linux 6.8.0-22-generic x86_64
  NonfreeKernelModules: zfs
  ApportVersion: 2.28.0-0ubuntu1
  Architecture: amd64
  CasperMD5CheckResult: unknown
  CurrentDesktop: ubuntu:GNOME
  Date: Sun Apr 14 15:16:10 2024
  ProcEnviron:
   LANG=en_US.UTF-8
   PATH=(custom, no user)
   SHELL=/bin/zsh
   TERM=xterm-256color
   XDG_RUNTIME_DIR=<set>
  SourcePackage: displaycal-py3
  UpgradeStatus: Upgraded to noble on 2024-04-14 (0 days ago)
  mtime.conffile..etc.xdg.autostart.z-displaycal-apply-profiles.desktop: 
2023-10-22T21:28:16.420795

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2061329

Title:
  [SRU] displaycal 3.9.11-2 needs patch to work with Python 3.12

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/displaycal-py3/+bug/2061329/+subscriptions


-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to