diff options
author | Ricardo Wurmus <rekado@elephly.net> | 2023-03-28 17:56:53 +0200 |
---|---|---|
committer | Ricardo Wurmus <rekado@elephly.net> | 2023-03-28 17:59:59 +0200 |
commit | d7673b49c086c898a8e749fd042081dc9d4631b8 (patch) | |
tree | 8c0e3337ec638b3414f7131aabcd15edf779fee7 /gnu/packages/python-xyz.scm | |
parent | b52fe15dc78a6e118488d70444c22a8480734c83 (diff) |
gnu: Add python-omero-py.
* gnu/packages/python-xyz.scm (python-omero-py): New variable.
Diffstat (limited to 'gnu/packages/python-xyz.scm')
-rw-r--r-- | gnu/packages/python-xyz.scm | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 58c28b68a7..615ee37537 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -2891,6 +2891,84 @@ from @code{lxml}. It aims to provide a low memory, compatible implementation of @code{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 + 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 +server.") + (license license:gpl2))) + (define-public python-openpyxl (package (name "python-openpyxl") |