GNU bug report logs - #77986
[PATCH 0/2] Update and fix python-omero-py.

Previous Next

Package: guix-patches;

Reported by: Nicolas Graves <ngraves <at> ngraves.fr>

Date: Tue, 22 Apr 2025 12:03:01 UTC

Severity: normal

Tags: patch

Done: Sharlatan Hellseher <sharlatanus <at> gmail.com>

To reply to this bug, email your comments to 77986 AT debbugs.gnu.org.
There is no need to reopen the bug first.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#77986; Package guix-patches. (Tue, 22 Apr 2025 12:03:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Nicolas Graves <ngraves <at> ngraves.fr>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Tue, 22 Apr 2025 12:03:01 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: guix-patches <at> gnu.org
Cc: Nicolas Graves <ngraves <at> ngraves.fr>
Subject: [PATCH 0/2] Update and fix python-omero-py. 
Date: Tue, 22 Apr 2025 14:02:01 +0200
Nicolas Graves (2):
  gnu: python-zeroc-ice-3.6: Fix build with Python <at> 3.11.
  gnu: python-omero-py: Update to 5.20.0.

 ...-zeroc-ice-3.6.5-python-3.11-support.patch |  33 ++++
 gnu/packages/python-xyz.scm                   | 173 ++++++++++--------
 2 files changed, 128 insertions(+), 78 deletions(-)
 create mode 100644 gnu/packages/patches/python-zeroc-ice-3.6.5-python-3.11-support.patch

-- 
2.49.0





Information forwarded to guix-patches <at> gnu.org:
bug#77986; Package guix-patches. (Tue, 22 Apr 2025 12:05:01 GMT) Full text and rfc822 format available.

Message #8 received at 77986 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: 77986 <at> debbugs.gnu.org
Cc: Nicolas Graves <ngraves <at> ngraves.fr>
Subject: [PATCH 1/2] gnu: python-zeroc-ice-3.6: Fix build with Python <at> 3.11.
Date: Tue, 22 Apr 2025 14:04:03 +0200
* gnu/packages/python-xyz.scm (python-zeroc-ice-3.6)
  [source]: Add patch.
* gnu/packages/patches/python-zeroc-ice-3.6.5-python-3.11-support.patch:
  Add patch.
---
 ...-zeroc-ice-3.6.5-python-3.11-support.patch | 33 +++++++++++++++++++
 gnu/packages/python-xyz.scm                   |  5 ++-
 2 files changed, 37 insertions(+), 1 deletion(-)
 create mode 100644 gnu/packages/patches/python-zeroc-ice-3.6.5-python-3.11-support.patch

diff --git a/gnu/packages/patches/python-zeroc-ice-3.6.5-python-3.11-support.patch b/gnu/packages/patches/python-zeroc-ice-3.6.5-python-3.11-support.patch
new file mode 100644
index 00000000000..17cae7297c0
--- /dev/null
+++ b/gnu/packages/patches/python-zeroc-ice-3.6.5-python-3.11-support.patch
@@ -0,0 +1,33 @@
+Only in zeroc-ice-3.6.5: setup.py.orig
+diff --color -ur zeroc-ice-3.6.5.orig/src/Slice.cpp zeroc-ice-3.6.5/src/Slice.cpp
+--- zeroc-ice-3.6.5.orig/src/Slice.cpp	2019-07-31 21:49:38.000000000 +0200
++++ zeroc-ice-3.6.5/src/Slice.cpp	2023-10-12 10:52:07.029069937 +0200
+@@ -17,12 +17,6 @@
+ #include <Slice/Util.h>
+ #include <IceUtil/Options.h>
+ 
+-//
+-// Python headers needed for PyEval_EvalCode.
+-//
+-#include <compile.h>
+-#include <eval.h>
+-
+ using namespace std;
+ using namespace IcePy;
+ using namespace Slice;
+diff --color -ur zeroc-ice-3.6.5.orig/src/Util.cpp zeroc-ice-3.6.5/src/Util.cpp
+--- zeroc-ice-3.6.5.orig/src/Util.cpp	2019-07-31 21:49:38.000000000 +0200
++++ zeroc-ice-3.6.5/src/Util.cpp	2023-10-12 10:49:15.033366926 +0200
+@@ -214,7 +214,12 @@
+     //
+     // Get name of current function.
+     //
++    // Use PyEval_GetFrame with Pyhthon >= 3.11
++#if PY_VERSION_HEX >= 0x030B0000
++    PyFrameObject *f = PyEval_GetFrame();
++#else
+     PyFrameObject *f = PyThreadState_GET()->frame;
++#endif
+     PyObjectHandle code = PyObject_GetAttrString(reinterpret_cast<PyObject*>(f), STRCAST("f_code"));
+     assert(code.get());
+     PyObjectHandle func = PyObject_GetAttrString(code.get(), STRCAST("co_name"));
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index ef66d071677..1fbd1730b01 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -40633,7 +40633,10 @@ (define-public python-zeroc-ice-3.6
               (uri (pypi-uri "zeroc-ice" version))
               (sha256
                (base32
-                "0mikjfvq26kh8asnn9v55z41pap4c5ypymqnwwi4xkavc3mzyda2"))))))
+                "0mikjfvq26kh8asnn9v55z41pap4c5ypymqnwwi4xkavc3mzyda2"))
+              (patches
+               (search-patches
+                "python-zeroc-ice-3.6.5-python-3.11-support.patch"))))))
 
 (define-public python-whenever
   (package
-- 
2.49.0





Information forwarded to guix-patches <at> gnu.org:
bug#77986; Package guix-patches. (Tue, 22 Apr 2025 12:05:02 GMT) Full text and rfc822 format available.

Message #11 received at 77986 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: 77986 <at> debbugs.gnu.org
Cc: Nicolas Graves <ngraves <at> ngraves.fr>
Subject: [PATCH 2/2] gnu: python-omero-py: Update to 5.20.0.
Date: Tue, 22 Apr 2025 14:04:04 +0200
* gnu/packages/python-xyz.scm (python-omero-py): Update to 5.20.0.
  [arguments]<test-flags>: Ignore collection of some tests (which should
  be fixed when updating to numpy <at> 2).
  [native-inputs]: Add python-portalocker. Update omero-blitz to 5.8.2.
---
 gnu/packages/python-xyz.scm | 168 +++++++++++++++++++-----------------
 1 file changed, 91 insertions(+), 77 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 1fbd1730b01..e60d21207e4 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -5155,84 +5155,98 @@ (define-public python-et-xmlfile
     (license license:expat)))
 
 (define-public python-omero-py
-  (package
-    (name "python-omero-py")
-    (version "5.13.1")
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "https://github.com/ome/omero-py")
-                    (commit (string-append "v" version))))
-              (file-name (git-file-name name version))
-              (sha256
-               (base32
-                "0n94v5dpmh873hjqd9k9ky85iab4xh37ibmi13rqpclv01ibvvxa"))))
-    (build-system pyproject-build-system)
-    (arguments
-     (list
-      #:test-flags
-      '(list "-m" "not broken" "-rf" "test" "-s"
-             ;; TestImport tries to download Java things; TestSessions
-             ;; and TestBuildQuery require networking.
-             "-k" "not TestImport and not TestSessions and not TestBuildQuery")
-      #:modules '((guix build pyproject-build-system)
-                  (guix build utils)
-                  (ice-9 match)
-                  (srfi srfi-1)
-                  (srfi srfi-26))
-      #:phases
-      #~(modify-phases %standard-phases
-          (add-after 'unpack 'find-artifacts
-            (lambda* (#:key inputs #:allow-other-keys)
-              (let ((zip-file
-                     (match inputs
-                       (((labels . files) ...)
-                        (find (cut string-suffix? "omero-blitz-5.5.5-python.zip" <>)
-                              files)))))
-                (setenv "ZIP_FILE"
-                        (or zip-file (error "failed to find artifact file"))))))
-          ;; Some tests need this, such as TestTempFileManager
-          (add-after 'build 'set-HOME
-            (lambda _ (setenv "HOME" "/tmp")))
-          ;; The sanity check mistakes omero_model_TypeAnnotationI.py for a
-          ;; module to load.
-          (delete 'sanity-check)
-          ;; The argument parser is picky and interprets the "-real" part as
-          ;; the first argument.
-          (add-after 'wrap 'rename-executable
-            (lambda _
-              (with-directory-excursion (string-append #$output "/bin")
-                (rename-file ".omero-real" ".omero")
-                (substitute* "omero"
-                  (("bin/.omero-real") "bin/.omero"))))))))
-    (propagated-inputs
-     (list python-appdirs
-           python-future
-           python-numpy
-           python-pillow
-           python-pyyaml
-           python-requests
-           python-tables
-           python-zeroc-ice-3.6))
-    (native-inputs
-     (list python-mox3
-           python-pytest
-           python-pytest-rerunfailures
-           python-pytest-xdist
-           python-setuptools
-           python-wheel
-           unzip
-           (origin
-             (method url-fetch)
-             (uri "https://artifacts.openmicroscopy.org/artifactory/\
-ome.releases/org/openmicroscopy/omero-blitz/5.5.5/omero-blitz-5.5.5-python.zip")
-             (sha256
-              (base32 "0wyja1zv19c1r3m31gsp555jzj3cg2v2pl00zlybpw3qd36yffwc")))))
-    (home-page "https://github.com/ome/omero-py")
-    (synopsis "Python bindings to the OMERO.blitz server")
-    (description "This package provides Python bindings to the OMERO.blitz
+  (let ((omero-blitz-version "5.8.2"))
+    (package
+      (name "python-omero-py")
+      (version "5.20.0")
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/ome/omero-py")
+               (commit (string-append "v" version))))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "02zsw1p35n6lkqh410qpgw7c4467dkbg0hxly3gjqrwdh349j47g"))))
+      (build-system pyproject-build-system)
+      (arguments
+       (list
+        ;; #:tests? #f
+        #:test-flags
+        #~(list
+           "-m" "not broken" "-rf" "test" "-s"
+           ;; XXX: Failing collection because of Numpy compatibility.
+           "--ignore=test/unit/tablestest/test_hdfstorage.py"
+           "--ignore=test/unit/tablestest/test_servants.py"
+           ;; TestImport tries to download Java things; TestSessions
+           ;; and TestBuildQuery require networking.
+           "-k" "not TestImport and not TestSessions and not TestBuildQuery")
+        #:modules '((guix build pyproject-build-system)
+                    (guix build utils)
+                    (ice-9 match)
+                    (srfi srfi-1)
+                    (srfi srfi-26))
+        #:phases
+        #~(modify-phases %standard-phases
+            (add-after 'unpack 'find-artifacts
+              (lambda* (#:key inputs #:allow-other-keys)
+                (let ((zip-file
+                       (match inputs
+                         (((labels . files) ...)
+                          (find (cut string-suffix?
+                                     (string-append "omero-blitz-"
+                                                    #$omero-blitz-version
+                                                    "-python.zip")
+                                     <>)
+                                files)))))
+                  (setenv "ZIP_FILE"
+                          (or zip-file (error "failed to find artifact file"))))))
+            ;; Some tests need this, such as TestTempFileManager
+            (add-after 'build 'set-HOME
+              (lambda _ (setenv "HOME" "/tmp")))
+            ;; The sanity check mistakes omero_model_TypeAnnotationI.py for a
+            ;; module to load.
+            (delete 'sanity-check)
+            ;; The argument parser is picky and interprets the "-real" part as
+            ;; the first argument.
+            (add-after 'wrap 'rename-executable
+              (lambda _
+                (with-directory-excursion (string-append #$output "/bin")
+                  (rename-file ".omero-real" ".omero")
+                  (substitute* "omero"
+                    (("bin/.omero-real") "bin/.omero"))))))))
+      (propagated-inputs
+       (list python-appdirs
+             python-future
+             python-numpy-2
+             python-pillow
+             python-pyyaml
+             python-requests
+             python-tables
+             python-zeroc-ice-3.6))
+      (native-inputs
+       (list python-portalocker
+             python-pytest
+             python-pytest-mock
+             python-pytest-rerunfailures
+             python-pytest-xdist
+             python-setuptools
+             python-wheel
+             unzip
+             (origin
+               (method url-fetch)
+               (uri (format #f "\
+https://artifacts.openmicroscopy.org/artifactory/ome.releases/org/\
+openmicroscopy/omero-blitz/~a/omero-blitz-~a-python.zip"
+                            omero-blitz-version
+                            omero-blitz-version))
+               (sha256
+                (base32 "1nb17xmx6n7i5vkcw661iq42yfgc3i0gmhz3x8iwcrhp8pajzm3l")))))
+      (home-page "https://github.com/ome/omero-py")
+      (synopsis "Python bindings to the OMERO.blitz server")
+      (description "This package provides Python bindings to the OMERO.blitz
 server.")
-    (license license:gpl2)))
+      (license license:gpl2))))
 
 (define-public python-openpyxl
   (package
-- 
2.49.0





Reply sent to Sharlatan Hellseher <sharlatanus <at> gmail.com>:
You have taken responsibility. (Wed, 23 Apr 2025 22:20:01 GMT) Full text and rfc822 format available.

Notification sent to Nicolas Graves <ngraves <at> ngraves.fr>:
bug acknowledged by developer. (Wed, 23 Apr 2025 22:20:02 GMT) Full text and rfc822 format available.

Message #16 received at 77986-done <at> debbugs.gnu.org (full text, mbox):

From: Sharlatan Hellseher <sharlatanus <at> gmail.com>
To: 77986-done <at> debbugs.gnu.org
Subject: [PATCH 0/2] Update and fix python-omero-py.
Date: Wed, 23 Apr 2025 23:19:05 +0100
[Message part 1 (text/plain, inline)]
Hi,

Thanks for resolving it!

Pushed to master as: 
3901b539d2 * gnu: python-omero-py: Update to 5.20.0.
03c4dc54a7 * gnu: python-zeroc-ice-3.6: Fix build with Python <at> 3.11.

--
Oleg
[signature.asc (application/pgp-signature, inline)]

This bug report was last modified today.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.