summaryrefslogtreecommitdiff
path: root/media-gfx/img2pdf
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-04-13 23:44:17 +0100
committerV3n3RiX <venerix@koprulu.sector>2023-04-13 23:44:17 +0100
commitfdca6388cf31827202fae75cae067c695bd09339 (patch)
tree5021150295c139ea6a808950a9e1928b8ef593b8 /media-gfx/img2pdf
parentb43fb9ec552fc1a84599161478d77c6716dd9e0a (diff)
gentoo auto-resync : 13:04:2023 - 23:44:17
Diffstat (limited to 'media-gfx/img2pdf')
-rw-r--r--media-gfx/img2pdf/Manifest4
-rw-r--r--media-gfx/img2pdf/files/img2pdf-0.4.3-test-gif-animation.patch13
-rw-r--r--media-gfx/img2pdf/files/img2pdf-0.4.4-Support-imagemagick-7.1.0-48.patch120
-rw-r--r--media-gfx/img2pdf/img2pdf-0.4.4-r1.ebuild (renamed from media-gfx/img2pdf/img2pdf-0.4.4.ebuild)15
4 files changed, 130 insertions, 22 deletions
diff --git a/media-gfx/img2pdf/Manifest b/media-gfx/img2pdf/Manifest
index 974017b684ad..c32cd364a664 100644
--- a/media-gfx/img2pdf/Manifest
+++ b/media-gfx/img2pdf/Manifest
@@ -1,4 +1,4 @@
-AUX img2pdf-0.4.3-test-gif-animation.patch 576 BLAKE2B 27b0357c0d1e307e54377fc3dd79c9ad1ae7864166ceab2efc518d9fa656e0685798a10da1dd488f1284a295fce2e0045f92e61e897431187f7083a4c95a9378 SHA512 edb0e95b8b126ddd8784ddb306b29173a2f22299016874e33eae0441837ca5a0f8608ed1a57f93b8a91a5f1723598e0a4f3fe94ab6eeff9ae372bdcd525a1c23
+AUX img2pdf-0.4.4-Support-imagemagick-7.1.0-48.patch 4995 BLAKE2B 401e3b144f14e6468546dae30dfa0ea08014d994b3b30aec192365a6f1d06206f2981f3bb93bf02b157f477fdae12a5603ace58f3bf6f00c8abceb39b7194094 SHA512 c8459bf91c753d48289c33e80da1141d5f0861e15eaf0bff118ea00d015a0c1835f6cd0ed50df264f255a68b0c2ea7defc10b829c26d3e7947728a8b4f0d709f
DIST img2pdf-0.4.4.tar.gz 97796 BLAKE2B d04eae8c02490e4e73339dade92b2521ad410ed741ccc2987961543790589b14a5c8939cb9bbadcc795f5edcbb59a1a43bd522c75948f42dde1acffafb6266e0 SHA512 56943cd965b3e6b0680b7696ca4b5a2ba779474f945dd0d2648fb6f18ab18aab6d74640f9bd8e9c8683e3e641b0657cb84c691054910d84f0c9e8ad733f179e9
-EBUILD img2pdf-0.4.4.ebuild 1425 BLAKE2B d6542f1d01a98ba54ef8ce9cddc03e1f9337491791d6dd633b573e8b06986146d825d2d6e7d63bc6e094035796e2d963e00aa65868f7b3cd35506cdd4aa295cc SHA512 f3a67ba9847763fb2eef6f8148bf67f8de10f1a69ff778bd89fa2e92b237b4d1a343720867bd4aa1e10d1a688368acf78e58a7f7212878c78f4e9bd0cf9d1a91
+EBUILD img2pdf-0.4.4-r1.ebuild 1369 BLAKE2B 90d754211d85040b729dae8f9f5118d10d5ee30126dc1f5b5f49cc6a8cd064ebeefd5cbb52f9ecb02e727c3df2884e01e3ea9e19b03ec883fbf7a6379fb2113f SHA512 532c1f24838c2a276ca458341d492d14398619b750c870c782da6eec360c9b5b364ae280dd0fdae51ee15304960d7301a947699aee69221ff1d4a5111a3b59c0
MISC metadata.xml 923 BLAKE2B fe0074db9549519b522f9d749388c5626b702dadba5a722444f652b203a60aea8e8ea5739c3c634076b42dddf24d17b4f449220de617224e59e5491893339901 SHA512 98fc799711e027afa40d2b9bf4558c38873d385920713f58d62782a986e72d1c9b04eb5591d4ec384bbf32376e2b03bf822bf5573015d003ff53ae0d4c7e6421
diff --git a/media-gfx/img2pdf/files/img2pdf-0.4.3-test-gif-animation.patch b/media-gfx/img2pdf/files/img2pdf-0.4.3-test-gif-animation.patch
deleted file mode 100644
index 459746455c9a..000000000000
--- a/media-gfx/img2pdf/files/img2pdf-0.4.3-test-gif-animation.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff -r -U2 img2pdf-0.4.3.orig/src/img2pdf_test.py img2pdf-0.4.3/src/img2pdf_test.py
---- img2pdf-0.4.3.orig/src/img2pdf_test.py 2021-10-24 20:46:53.000000000 +0700
-+++ img2pdf-0.4.3/src/img2pdf_test.py 2022-02-08 23:20:27.584463297 +0700
-@@ -5613,8 +5613,5 @@
-
-
--@pytest.mark.skipif(
-- sys.platform in ["win32"],
-- reason="test utilities not available on Windows and MacOS",
--)
-+@pytest.mark.skip(reason="gif animation test fails")
- def test_gif_animation(tmp_path_factory, gif_animation_img, gif_animation_pdf):
- tmpdir = tmp_path_factory.mktemp("gif_animation")
diff --git a/media-gfx/img2pdf/files/img2pdf-0.4.4-Support-imagemagick-7.1.0-48.patch b/media-gfx/img2pdf/files/img2pdf-0.4.4-Support-imagemagick-7.1.0-48.patch
new file mode 100644
index 000000000000..9ad23732e229
--- /dev/null
+++ b/media-gfx/img2pdf/files/img2pdf-0.4.4-Support-imagemagick-7.1.0-48.patch
@@ -0,0 +1,120 @@
+From 57d7e07e6badb252c12015388b58fcb5285d3158 Mon Sep 17 00:00:00 2001
+From: Johannes Schauer Marin Rodrigues <josch@mister-muffin.de>
+Date: Thu, 15 Sep 2022 04:36:16 +0200
+Subject: [PATCH] Support imagemagick 7.1.0-48
+
+ - the output of -metric PSNR changed
+ - CMYK output can now be exactly compared
+
+closes: #148
+--- a/src/img2pdf_test.py
++++ b/src/img2pdf_test.py
+@@ -75,6 +75,7 @@ for prog in ["convert", "compare", "identify"]:
+ globals()[prog.upper()] = ["magick", prog]
+
+ HAVE_IMAGEMAGICK_MODERN = True
++HAVE_EXACT_CMYK8 = True
+ try:
+ ver = subprocess.check_output(CONVERT + ["-version"], stderr=subprocess.STDOUT)
+ m = re.fullmatch(
+@@ -82,13 +83,18 @@ try:
+ )
+ if m is None:
+ HAVE_IMAGEMAGICK_MODERN = False
++ HAVE_EXACT_CMYK8 = False
+ else:
+ if parse_version(m.group(1)) < parse_version("6.9.10-12"):
+ HAVE_IMAGEMAGICK_MODERN = False
++ if parse_version(m.group(1)) < parse_version("7.1.0-48"):
++ HAVE_EXACT_CMYK8 = False
+ except FileNotFoundError:
+ HAVE_IMAGEMAGICK_MODERN = False
++ HAVE_EXACT_CMYK8 = False
+ except subprocess.CalledProcessError:
+ HAVE_IMAGEMAGICK_MODERN = False
++ HAVE_EXACT_CMYK8 = False
+
+ if not HAVE_IMAGEMAGICK_MODERN:
+ warnings.warn("imagemagick >= 6.9.10-12 not available, skipping certain checks...")
+@@ -113,6 +119,12 @@ except subprocess.CalledProcessError:
+ if not HAVE_JP2:
+ warnings.warn("imagemagick has no jpeg 2000 support, skipping certain checks...")
+
++# the result of compare -metric PSNR is either just a floating point value or a
++# floating point value following by the same value multiplied by 0.01,
++# surrounded in parenthesis since ImagemMagick 7.1.0-48:
++# https://github.com/ImageMagick/ImageMagick/commit/751829cd4c911d7a42953a47c1f73068d9e7da2f
++psnr_re = re.compile(rb"((?:inf|(?:0|[1-9][0-9]*)(?:\.[0-9]+)?))(?: \([0-9.]+\))?")
++
+ ###############################################################################
+ # HELPER FUNCTIONS #
+ ###############################################################################
+@@ -310,8 +322,8 @@ def write_png(data, path, bitdepth, colortype, palette=None, iccp=None):
+
+ def compare(im1, im2, exact, icc, cmyk):
+ if exact:
+- if cmyk:
+- raise Exception("cmyk cannot be exact")
++ if cmyk and not HAVE_EXACT_CMYK8:
++ raise Exception("cmyk cannot be exact before ImageMagick 7.1.0-48")
+ elif icc:
+ raise Exception("icc cannot be exact")
+ else:
+@@ -345,7 +357,10 @@ def compare(im1, im2, exact, icc, cmyk):
+ stderr=subprocess.PIPE,
+ ).stderr
+ assert psnr != b"0"
+- psnr = float(psnr.strip(b"0"))
++ assert psnr != b"0 (0)"
++ assert psnr_re.fullmatch(psnr) is not None, psnr
++ psnr = psnr_re.fullmatch(psnr).group(1)
++ psnr = float(psnr)
+ assert psnr != 0 # or otherwise we would use the exact variant
+ assert psnr > 50
+
+@@ -501,7 +516,9 @@ def compare_pdfimages_png(tmpdir, img, pdf, exact=True, icc=False):
+ stderr=subprocess.PIPE,
+ ).stderr
+ assert psnr != b"0"
+- psnr = float(psnr.strip(b"0"))
++ assert psnr != b"0 (0)"
++ psnr = psnr_re.fullmatch(psnr).group(1)
++ psnr = float(psnr)
+ assert psnr != 0 # or otherwise we would use the exact variant
+ assert psnr > 50
+ (tmpdir / "images-000.png").unlink()
+@@ -5545,10 +5562,10 @@ def test_jpg_rot(tmp_path_factory, jpg_rot_img, jpg_rot_pdf):
+ def test_jpg_cmyk(tmp_path_factory, jpg_cmyk_img, jpg_cmyk_pdf):
+ tmpdir = tmp_path_factory.mktemp("jpg_cmyk")
+ compare_ghostscript(
+- tmpdir, jpg_cmyk_img, jpg_cmyk_pdf, gsdevice="tiff32nc", exact=False
++ tmpdir, jpg_cmyk_img, jpg_cmyk_pdf, gsdevice="tiff32nc", exact=HAVE_EXACT_CMYK8
+ )
+ # not testing with poppler as it cannot write CMYK images
+- compare_mupdf(tmpdir, jpg_cmyk_img, jpg_cmyk_pdf, exact=False, cmyk=True)
++ compare_mupdf(tmpdir, jpg_cmyk_img, jpg_cmyk_pdf, exact=HAVE_EXACT_CMYK8, cmyk=True)
+ compare_pdfimages_cmyk(tmpdir, jpg_cmyk_img, jpg_cmyk_pdf)
+
+
+@@ -5902,10 +5919,16 @@ def test_tiff_float(tmp_path_factory, tiff_float_img, engine):
+ def test_tiff_cmyk8(tmp_path_factory, tiff_cmyk8_img, tiff_cmyk8_pdf):
+ tmpdir = tmp_path_factory.mktemp("tiff_cmyk8")
+ compare_ghostscript(
+- tmpdir, tiff_cmyk8_img, tiff_cmyk8_pdf, gsdevice="tiff32nc", exact=False
++ tmpdir,
++ tiff_cmyk8_img,
++ tiff_cmyk8_pdf,
++ gsdevice="tiff32nc",
++ exact=HAVE_EXACT_CMYK8,
+ )
+ # not testing with poppler as it cannot write CMYK images
+- compare_mupdf(tmpdir, tiff_cmyk8_img, tiff_cmyk8_pdf, exact=False, cmyk=True)
++ compare_mupdf(
++ tmpdir, tiff_cmyk8_img, tiff_cmyk8_pdf, exact=HAVE_EXACT_CMYK8, cmyk=True
++ )
+ compare_pdfimages_tiff(tmpdir, tiff_cmyk8_img, tiff_cmyk8_pdf)
+
+
+--
+2.39.2
+
diff --git a/media-gfx/img2pdf/img2pdf-0.4.4.ebuild b/media-gfx/img2pdf/img2pdf-0.4.4-r1.ebuild
index 1b42b2bc863c..c9aae044c372 100644
--- a/media-gfx/img2pdf/img2pdf-0.4.4.ebuild
+++ b/media-gfx/img2pdf/img2pdf-0.4.4-r1.ebuild
@@ -3,7 +3,8 @@
EAPI=8
-PYTHON_COMPAT=( python3_{9..10} )
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9..11} )
inherit distutils-r1 pypi
@@ -37,8 +38,9 @@ RDEPEND="
gui? ( $(python_gen_impl_dep tk) )
"
-# gif animation test fails
-PATCHES=( "${FILESDIR}"/img2pdf-0.4.3-test-gif-animation.patch )
+PATCHES=(
+ "${FILESDIR}"/img2pdf-0.4.4-Support-imagemagick-7.1.0-48.patch
+)
distutils_enable_tests pytest
@@ -49,11 +51,10 @@ src_prepare() {
if ! use gui; then
sed -i '/gui_scripts/d' setup.py || die
fi
-
- # gif animation test fails
- rm src/tests/input/animation.gif src/tests/output/animation.gif.pdf || die "rm animation gif failes"
}
python_test() {
- epytest -n auto
+ epytest \
+ -n auto \
+ -k "not test_png_gray1 and not test_gif_animation"
}