public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
* [rpms/python-PyMuPDF] f44: Update to new upstream release 1.28.2 (rhbz#2446026)
@ 2026-08-16 19:05 Michael J Gruber
  0 siblings, 0 replies; only message in thread
From: Michael J Gruber @ 2026-08-16 19:05 UTC (permalink / raw)
  To: git-commits

            A new commit has been pushed.

            Repo   : rpms/python-PyMuPDF
            Branch : f44
            Commit : 5e1f75987023e774795f8f7bbc0134489348939f
            Author : Michael J Gruber <mjg@fedoraproject.org>
            Date   : 2026-08-07T12:34:29+02:00
            Stats  : +51/-115 in 10 file(s)
            URL    : https://src.fedoraproject.org/rpms/python-PyMuPDF/c/5e1f75987023e774795f8f7bbc0134489348939f?branch=f44

            Log:
            Update to new upstream release 1.28.2 (rhbz#2446026)

- Compatible with MuPDF-1.28.2.
- pymupdf.Document.__init__(): new arg `archive` to support documents with archives.
- pymupdf.Document.convert_to_pdf(): also generate links.
- pymupdf.Document.save() now saves non-PDF documents in PDF format.
- New method pymupdf.Document.apply_css().
- Various fixes.

---
diff --git a/.gitignore b/.gitignore
index f8bb639..481a2f1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -107,3 +107,5 @@
 /PyMuPDF-1.26.5.tar.gz
 /PyMuPDF-1.27.1.tar.gz
 /PyMuPDF-1.27.2.2.tar.gz
+/PyMuPDF-1.28.0.tar.gz
+/PyMuPDF-1.28.2.tar.gz

diff --git a/0001-adjust-tests-to-tesseract-5.5.1.patch b/0001-adjust-tests-to-tesseract-5.5.1.patch
index a6544c1..0ad1540 100644
--- a/0001-adjust-tests-to-tesseract-5.5.1.patch
+++ b/0001-adjust-tests-to-tesseract-5.5.1.patch
@@ -1,5 +1,5 @@
-From 735e1b2ebc83223287224ab3df08e2e5acb1d05c Mon Sep 17 00:00:00 2001
-Message-ID: <735e1b2ebc83223287224ab3df08e2e5acb1d05c.1772136348.git.mjg@fedoraproject.org>
+From 5f1f16ebdc828f7ffca5d589289dad8e7f8e53ce Mon Sep 17 00:00:00 2001
+Message-ID: <5f1f16ebdc828f7ffca5d589289dad8e7f8e53ce.1784469686.git.mjg@fedoraproject.org>
 From: Michael J Gruber <mjg@fedoraproject.org>
 Date: Tue, 15 Jul 2025 17:21:56 +0200
 Subject: [PATCH] adjust tests to tesseract 5.5.1
@@ -9,7 +9,7 @@ Subject: [PATCH] adjust tests to tesseract 5.5.1
  1 file changed, 4 insertions(+)
 
 diff --git a/tests/test_tesseract.py b/tests/test_tesseract.py
-index 11c38352..f94557b0 100644
+index 734bdae5..20e5d524 100644
 --- a/tests/test_tesseract.py
 +++ b/tests/test_tesseract.py
 @@ -69,6 +69,8 @@ def test_3842b():
@@ -21,7 +21,7 @@ index 11c38352..f94557b0 100644
              else:
                  assert 'Tesseract language initialisation failed' in str(e)
  
-@@ -87,6 +89,8 @@ def test_3842():
+@@ -92,6 +94,8 @@ def test_3842():
              print(f'test_3842(): received exception: {e}', flush=1)
              if 'No tessdata specified and Tesseract is not installed' in str(e):
                  pass
@@ -31,5 +31,5 @@ index 11c38352..f94557b0 100644
                  pass
              else:
 -- 
-2.53.0.546.g660574eaac
+2.55.0.430.g36796e6be8
 

diff --git a/0001-fix-test_-font.patch b/0001-fix-test_-font.patch
index 3350e26..1587859 100644
--- a/0001-fix-test_-font.patch
+++ b/0001-fix-test_-font.patch
@@ -1,5 +1,5 @@
-From bfe6ec95145551ca9e4d1f2dfb97cf498286bbae Mon Sep 17 00:00:00 2001
-Message-ID: <bfe6ec95145551ca9e4d1f2dfb97cf498286bbae.1772136358.git.mjg@fedoraproject.org>
+From 13f153faf141dbeb74ac7738856ec04d735ae31e Mon Sep 17 00:00:00 2001
+Message-ID: <13f153faf141dbeb74ac7738856ec04d735ae31e.1784469695.git.mjg@fedoraproject.org>
 From: Michael J Gruber <mjg@fedoraproject.org>
 Date: Sat, 15 Apr 2023 17:53:27 +0200
 Subject: [PATCH] fix test_*font
@@ -13,10 +13,10 @@ Adjust the tests to use the fallback font instead.
  1 file changed, 4 insertions(+), 4 deletions(-)
 
 diff --git a/tests/test_general.py b/tests/test_general.py
-index 96d070f1..f86ccac7 100644
+index 0d729107..d4da7bee 100644
 --- a/tests/test_general.py
 +++ b/tests/test_general.py
-@@ -188,9 +188,9 @@ def test_bug1971():
+@@ -183,9 +183,9 @@ def test_bug1971():
          assert doc.is_closed
  
  def test_default_font():
@@ -29,8 +29,8 @@ index 96d070f1..f86ccac7 100644
  
  def test_add_ink_annot():
      import math
-@@ -255,7 +255,7 @@ def test_get_text_dict():
-         assert pymupdf.TOOLS.mupdf_warnings() == 'bogus font ascent/descent values (0 / 0)'
+@@ -248,7 +248,7 @@ def test_get_text_dict():
+     json.dumps( blocks, indent=4)
  
  def test_font():
 -    font = pymupdf.Font()
@@ -39,5 +39,5 @@ index 96d070f1..f86ccac7 100644
      bbox = font.glyph_bbox( 65)
      print( f'bbox={bbox!r}')
 -- 
-2.53.0.546.g660574eaac
+2.55.0.430.g36796e6be8
 

diff --git a/0001-remove-usage-of-typing.ByteString.patch b/0001-remove-usage-of-typing.ByteString.patch
index 6fd14c8..12b8823 100644
--- a/0001-remove-usage-of-typing.ByteString.patch
+++ b/0001-remove-usage-of-typing.ByteString.patch
@@ -1,5 +1,5 @@
-From f5bfa9dc0c80b3715fa8526d81694aa5c54a1fa5 Mon Sep 17 00:00:00 2001
-Message-ID: <f5bfa9dc0c80b3715fa8526d81694aa5c54a1fa5.1780689448.git.mjg@fedoraproject.org>
+From 00d5ee792831504f8ebfebd1bdf4d91ab9534648 Mon Sep 17 00:00:00 2001
+Message-ID: <00d5ee792831504f8ebfebd1bdf4d91ab9534648.1784469682.git.mjg@fedoraproject.org>
 From: Michael J Gruber <mjg@fedoraproject.org>
 Date: Fri, 5 Jun 2026 21:55:08 +0200
 Subject: [PATCH] remove usage of typing.ByteString
@@ -8,7 +8,7 @@ typing.ByteString is deprecated in python 3.15 and slated for removal in
 python 3.17. This creates deprecation warnings which trip up our tests.
 
 Since we are requiring python >= 3.10 already, we can switch to the
-proper alterantive unconditionally now.
+proper alternative unconditionally now.
 ---
  src/__init__.py        | 7 +------
  src/utils.py           | 9 ++-------
@@ -17,10 +17,10 @@ proper alterantive unconditionally now.
  4 files changed, 5 insertions(+), 25 deletions(-)
 
 diff --git a/src/__init__.py b/src/__init__.py
-index 8b756ccf..2bff8ec0 100644
+index 2c3e7c7a..aa524238 100644
 --- a/src/__init__.py
 +++ b/src/__init__.py
-@@ -462,12 +462,7 @@ def _format_g(value, *, fmt='%g'):
+@@ -464,12 +464,7 @@ def _format_g(value, *, fmt='%g'):
          
  format_g = _format_g
  
@@ -91,5 +91,5 @@ index c1369afb..3639834c 100644
  AnyType = typing.Any
  OptInt = typing.Union[int, None]
 -- 
-2.54.0.1146.g083d50a523
+2.55.0.430.g36796e6be8
 

diff --git a/0001-src-__init__.py-fix-incorrect-generation-of-PDF-cont.patch b/0001-src-__init__.py-fix-incorrect-generation-of-PDF-cont.patch
deleted file mode 100644
index 3457b75..0000000
--- a/0001-src-__init__.py-fix-incorrect-generation-of-PDF-cont.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 4ab033149948b124be450f653a1a1645f1094350 Mon Sep 17 00:00:00 2001
-Message-ID: <4ab033149948b124be450f653a1a1645f1094350.1775074125.git.mjg@fedoraproject.org>
-From: Julian Smith <julian.smith@artifex.com>
-Date: Mon, 30 Mar 2026 12:38:41 +0100
-Subject: [PATCH] src/__init__.py: fix incorrect generation of PDF content
- "lineJoin j".
-
-This bug was introduced in release 1.27.2.2.
----
- src/__init__.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/__init__.py b/src/__init__.py
-index e3845575..d51472a6 100644
---- a/src/__init__.py
-+++ b/src/__init__.py
-@@ -15761,7 +15761,7 @@ class Shape:
-         if lineCap != 0:
-             self.draw_cont = f"{lineCap} J\n" + self.draw_cont
-         if lineJoin != 0:
--            self.draw_cont = "{lineJoin} j\n" + self.draw_cont
-+            self.draw_cont = f"{lineJoin} j\n" + self.draw_cont
- 
-         if dashes not in (None, "", "[] 0"):
-             self.draw_cont = f"{dashes} d\n" + self.draw_cont
--- 
-2.53.0.1300.gfe94a17884
-

diff --git a/0001-test_pixmap-adjust-to-turbojpeg.patch b/0001-test_pixmap-adjust-to-turbojpeg.patch
index 6c37c9a..7adbbdd 100644
--- a/0001-test_pixmap-adjust-to-turbojpeg.patch
+++ b/0001-test_pixmap-adjust-to-turbojpeg.patch
@@ -1,5 +1,5 @@
-From 2aa84040e144958aff4ba74610a0f58e034b2b9c Mon Sep 17 00:00:00 2001
-Message-ID: <2aa84040e144958aff4ba74610a0f58e034b2b9c.1772136355.git.mjg@fedoraproject.org>
+From a4d95819fe405a00ada1ec20cea289d95126db9a Mon Sep 17 00:00:00 2001
+Message-ID: <a4d95819fe405a00ada1ec20cea289d95126db9a.1784469692.git.mjg@fedoraproject.org>
 From: Michael J Gruber <mjg@fedoraproject.org>
 Date: Thu, 11 May 2023 16:40:03 +0200
 Subject: [PATCH] test_pixmap: adjust to turbojpeg
@@ -12,10 +12,10 @@ format.
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/tests/test_pixmap.py b/tests/test_pixmap.py
-index bfbf3c56..ee179b8e 100644
+index 9a89d32b..8f18f0a3 100644
 --- a/tests/test_pixmap.py
 +++ b/tests/test_pixmap.py
-@@ -106,7 +106,7 @@ def test_color_count():
+@@ -107,7 +107,7 @@ def test_color_count():
      e.g. in Linux system installs.
      '''
      pm = pymupdf.Pixmap(imgfile)
@@ -25,5 +25,5 @@ index bfbf3c56..ee179b8e 100644
  def test_memoryview():
      pm = pymupdf.Pixmap(imgfile)
 -- 
-2.53.0.546.g660574eaac
+2.55.0.430.g36796e6be8
 

diff --git a/0001-tests-adjust-to-verbose-font-warning.patch b/0001-tests-adjust-to-verbose-font-warning.patch
index d1c6441..e8d157c 100644
--- a/0001-tests-adjust-to-verbose-font-warning.patch
+++ b/0001-tests-adjust-to-verbose-font-warning.patch
@@ -1,5 +1,5 @@
-From a61a624e113d4764ac59f5f3bee09a1c4ba46303 Mon Sep 17 00:00:00 2001
-Message-ID: <a61a624e113d4764ac59f5f3bee09a1c4ba46303.1772136351.git.mjg@fedoraproject.org>
+From 38adc2bda4436a918e866d7ddab18d6b2eb0d8ae Mon Sep 17 00:00:00 2001
+Message-ID: <38adc2bda4436a918e866d7ddab18d6b2eb0d8ae.1784469689.git.mjg@fedoraproject.org>
 From: Michael J Gruber <mjg@fedoraproject.org>
 Date: Wed, 4 Jun 2025 15:30:42 +0200
 Subject: [PATCH] tests: adjust to verbose font warning
@@ -7,10 +7,9 @@ Subject: [PATCH] tests: adjust to verbose font warning
 ---
  tests/test_clip_page.py | 2 +-
  tests/test_font.py      | 2 +-
- tests/test_general.py   | 6 +++---
- tests/test_pixmap.py    | 4 ++--
+ tests/test_pixmap.py    | 2 +-
  tests/test_tables.py    | 3 +--
- 5 files changed, 8 insertions(+), 9 deletions(-)
+ 4 files changed, 4 insertions(+), 5 deletions(-)
 
 diff --git a/tests/test_clip_page.py b/tests/test_clip_page.py
 index 170418a9..36778ee0 100644
@@ -26,70 +25,33 @@ index 170418a9..36778ee0 100644
      # has a non-empty intersection with the rectangle.
      chars = [
 diff --git a/tests/test_font.py b/tests/test_font.py
-index 1b7fd4a9..3bde1a4e 100644
+index ccbe12d3..e589cc27 100644
 --- a/tests/test_font.py
 +++ b/tests/test_font.py
-@@ -333,4 +333,4 @@ def test_4457():
+@@ -330,7 +330,7 @@ def test_4457():
      wt = pymupdf.TOOLS.mupdf_warnings()
      print(f'{wt=}')
      if pymupdf.mupdf_version_tuple < (1, 27):
 -        assert wt == 'bogus font ascent/descent values (0 / 0)\n... repeated 5 times...'
 +        assert 'bogus font ascent/descent values (0 / 0)' in wt
-diff --git a/tests/test_general.py b/tests/test_general.py
-index f86ccac7..52c885a9 100644
---- a/tests/test_general.py
-+++ b/tests/test_general.py
-@@ -73,7 +73,7 @@ def test_iswrapped():
-     page = doc[0]
-     assert page.is_wrapped
-     if (1, 26, 0) <= pymupdf.mupdf_version_tuple < (1, 27):
--        assert pymupdf.TOOLS.mupdf_warnings() == 'bogus font ascent/descent values (0 / 0)'
-+        assert 'bogus font ascent/descent values (0 / 0)' in pymupdf.TOOLS.mupdf_warnings()
  
  
- def test_wrapcontents():
-@@ -88,7 +88,7 @@ def test_wrapcontents():
-     page.clean_contents()
-     wt = pymupdf.TOOLS.mupdf_warnings()
-     if (1, 26, 0) <= pymupdf.mupdf_version_tuple < (1, 27):
--        assert wt == 'bogus font ascent/descent values (0 / 0)\nPDF stream Length incorrect'
-+        assert 'bogus font ascent/descent values (0 / 0)' in wt and '\nPDF stream Length incorrect' in wt
-     else:
-         assert wt == 'PDF stream Length incorrect'
- 
-@@ -252,7 +252,7 @@ def test_get_text_dict():
-     # Check no opaque types in `blocks`.
-     json.dumps( blocks, indent=4)
-     if (1, 26, 0) <= pymupdf.mupdf_version_tuple < (1, 27):
--        assert pymupdf.TOOLS.mupdf_warnings() == 'bogus font ascent/descent values (0 / 0)'
-+        assert 'bogus font ascent/descent values (0 / 0)' in pymupdf.TOOLS.mupdf_warnings()
- 
- def test_font():
-     font = pymupdf.Font(ordering=0)
+ def test_5049():
 diff --git a/tests/test_pixmap.py b/tests/test_pixmap.py
-index ee179b8e..22d9c38c 100644
+index 8f18f0a3..92305cec 100644
 --- a/tests/test_pixmap.py
 +++ b/tests/test_pixmap.py
-@@ -199,7 +199,7 @@ def test_3050():
-         assert rms == 0
-         wt = pymupdf.TOOLS.mupdf_warnings()
-         if (1, 26, 0) <= pymupdf.mupdf_version_tuple < (1, 27):
--            assert wt == 'bogus font ascent/descent values (0 / 0)\nPDF stream Length incorrect'
-+            assert 'bogus font ascent/descent values (0 / 0)' in wt and '\nPDF stream Length incorrect' in wt
-         else:
-             assert wt == 'PDF stream Length incorrect'
- 
-@@ -537,7 +537,7 @@ def test_4435():
+@@ -540,7 +540,7 @@ def test_4435():
              pixmap = page.get_pixmap(alpha=False, dpi=120)
          print(f'Called page.get_pixmap().', flush=1)
      if pymupdf.mupdf_version_tuple < (1, 27):
 -        assert pymupdf.TOOLS.mupdf_warnings() == 'bogus font ascent/descent values (0 / 0)\n... repeated 9 times...'
 +        assert 'bogus font ascent/descent values (0 / 0)' in pymupdf.TOOLS.mupdf_warnings()
- 
- 
- def test_4423():
+     elif pymupdf.mupdf_version_tuple >= (1, 28, 0):
+         wt_expected = ('limit error: Overly large image\ncannot render glyph\n' * 42).rstrip()
+         assert pymupdf.TOOLS.mupdf_warnings() == wt_expected
 diff --git a/tests/test_tables.py b/tests/test_tables.py
-index d5fa5ef7..308035c5 100644
+index d42f9e65..ca390344 100644
 --- a/tests/test_tables.py
 +++ b/tests/test_tables.py
 @@ -188,8 +188,7 @@ def test_2979():
@@ -103,5 +65,5 @@ index d5fa5ef7..308035c5 100644
  
  
 -- 
-2.53.0.546.g660574eaac
+2.55.0.430.g36796e6be8
 

diff --git a/0001-tests-conftest-do-not-call-pip.patch b/0001-tests-conftest-do-not-call-pip.patch
index 1450e8a..4f27292 100644
--- a/0001-tests-conftest-do-not-call-pip.patch
+++ b/0001-tests-conftest-do-not-call-pip.patch
@@ -1,5 +1,5 @@
-From 85192c321adc855606eab63da47dcefdbc3f9f9b Mon Sep 17 00:00:00 2001
-Message-ID: <85192c321adc855606eab63da47dcefdbc3f9f9b.1772136344.git.mjg@fedoraproject.org>
+From 3cf05394db657986f73c2e0cf8008c99ff6ec982 Mon Sep 17 00:00:00 2001
+Message-ID: <3cf05394db657986f73c2e0cf8008c99ff6ec982.1784469684.git.mjg@fedoraproject.org>
 From: Michael J Gruber <mjg@fedoraproject.org>
 Date: Sat, 1 Nov 2025 22:32:10 +0100
 Subject: [PATCH] tests/conftest: do not call pip
@@ -10,10 +10,10 @@ Oh well ...
  1 file changed, 1 deletion(-)
 
 diff --git a/tests/conftest.py b/tests/conftest.py
-index c79e6990..3a4ae7a4 100644
+index 3c268c15..aa993a8d 100644
 --- a/tests/conftest.py
 +++ b/tests/conftest.py
-@@ -36,7 +36,6 @@ def install_required_packages():
+@@ -37,7 +37,6 @@ def install_required_packages():
      print(f'{__file__}:install_required_packages)(): Running: {command}', flush=1)
      subprocess.run(command, shell=1, check=1)
  
@@ -22,5 +22,5 @@ index c79e6990..3a4ae7a4 100644
  
  @pytest.fixture(scope="session", autouse=True)
 -- 
-2.53.0.546.g660574eaac
+2.55.0.430.g36796e6be8
 

diff --git a/python-PyMuPDF.spec b/python-PyMuPDF.spec
index f950960..f640671 100644
--- a/python-PyMuPDF.spec
+++ b/python-PyMuPDF.spec
@@ -6,7 +6,7 @@
 %bcond barcode 1 
 
 Name:		python-%{pypi_name}
-Version:	1.27.2.2
+Version:	1.28.2
 Release:	%autorelease
 Summary:	Python binding for MuPDF - a lightweight PDF and XPS viewer
 
@@ -21,9 +21,7 @@ Patch:		0001-test_pixmap-adjust-to-turbojpeg.patch
 Patch:		0001-tests-adjust-to-verbose-font-warning.patch
 Patch:		0001-adjust-tests-to-tesseract-5.5.1.patch
 Patch:		0001-tests-conftest-do-not-call-pip.patch
-# Upstream patches from main branch:
-Patch:		0001-src-__init__.py-fix-incorrect-generation-of-PDF-cont.patch
-# Suggested upstream::
+# Suggested upstream:
 # https://github.com/pymupdf/PyMuPDF/pull/5015
 Patch:		0001-remove-usage-of-typing.ByteString.patch
 # Replace removed Python 2 C API macros with Python 3 equivalents
@@ -125,8 +123,8 @@ SKIP="$SKIP and not test_3050"
 SKIP="$SKIP and not test_subset_fonts"
 # test_fit_springer depends on font library version (harfbuzz etc)
 SKIP="$SKIP and not test_fit_springer"
-# test_spikes uses a binary diff on rendered images
-SKIP="$SKIP and not test_spikes"
+# these tests use a binary diff on rendered images
+SKIP="$SKIP and not test_spikes and not test_5001"
 # these compare renderings with system fonts or missing fonts
 SKIP="$SKIP and not test_4180 and not test_4613 and not test_htmlbox1"
 # test downloads data from the internet
@@ -156,6 +154,8 @@ SKIP="$SKIP and not test_4435"
 SKIP="$SKIP and not test_insert and not test_3087"
 # tests are known to fail on newer Fedoras (reported)
 SKIP="$SKIP and not test_layout and not test_pageids"
+# test depends on symbols in standard font
+SKIP="$SKIP and not test_markdown_bad_unicode"
 export PYMUPDF_SYSINSTALL_TEST=1
 %pytest -k "$SKIP"
 

diff --git a/sources b/sources
index a361f5a..8af52e5 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (PyMuPDF-1.27.2.2.tar.gz) = 6a88cbe7187be13abf4154d5761a16aa7301e37c887d0968d8d8bc49ad9787ff989bb82eea968741af6889e46d699a32487d356aa93f9bfdf522ef8d1347b57a
+SHA512 (PyMuPDF-1.28.2.tar.gz) = 5676b3ecc0c4f95e155f55550f4487dcc09e64e8e109a22117a5ed6c8a7c2826f1176e861a4b0a3a6ab187346dd2cbce611a16932ec9bcdb9d6801be8c301c38

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2026-08-16 19:05 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-08-16 19:05 [rpms/python-PyMuPDF] f44: Update to new upstream release 1.28.2 (rhbz#2446026) Michael J Gruber

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox