diff mbox series

[bug#71787,09/12] gnu: Add python-pymupdf.

Message ID 20240626192717.12818-9-david.elsing@posteo.net
State New
Headers show
Series Update and unbundle ghostscript and mupdf | expand

Commit Message

David Elsing June 26, 2024, 7:27 p.m. UTC
* gnu/packages/python-xyz.scm (python-pymupdf): New variable.
---
 gnu/packages/python-xyz.scm | 49 +++++++++++++++++++++++++++++++++++++
 1 file changed, 49 insertions(+)
diff mbox series

Patch

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index ff507e1855..111a3dd56c 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -8990,6 +8990,55 @@  (define-public python-pdftotext
     (description "Pdftotext is a Python library of PDF text extraction.")
     (license license:expat)))
 
+(define-public python-pymupdf
+  (package
+    (name "python-pymupdf")
+    (version "1.24.7")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "PyMuPDF" version))
+       (sha256
+        (base32 "1f2r7c0nfw2g49q8fgf0kwkadihnf6c47pa93zavl5gj0kiflk53"))))
+    (build-system pyproject-build-system)
+    (inputs
+     (list
+      mupdf/tesseract))
+    (native-inputs
+     (list
+      python-pillow
+      python-pytest
+      python-psutil
+      swig))
+    (propagated-inputs (list mupdf))
+    (arguments
+     (list
+      ;; Disable failing tests
+      #:test-flags
+      '(list
+        "-k" (string-append
+              "not test_flake8"
+              " and not test_fontarchive"
+              " and not test_subset_fonts"
+              " and not test_color_count"
+              " and not test_3050"
+              " and not test_pylint"
+              " and not test_textbox3"))
+      #:phases
+      '(modify-phases %standard-phases
+         (add-after 'unpack 'setenv
+           (lambda _
+             (setenv "PYMUPDF_SETUP_MUPDF_BUILD" "")
+             (setenv "PYMUPDF_SETUP_IMPLEMENTATIONS" "b"))))))
+    (home-page "https://github.com/pymupdf/PyMuPDF")
+    (synopsis
+     "Python library for the analysis and manipulation of PDF files")
+    (description
+     "This package provides a high performance Python library for data
+extraction, analysis, conversion & manipulation of PDF (and other)
+documents.")
+    (license license:agpl3+)))
+
 (define-public python-pluginbase
   (package
     (name "python-pluginbase")