From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 1324715ACFB for ; Thu, 13 Apr 2023 21:12:43 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 1A8EAE07D3; Thu, 13 Apr 2023 21:12:42 +0000 (UTC) Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id DBA4FE07D3 for ; Thu, 13 Apr 2023 21:12:41 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id C8B65340A5C for ; Thu, 13 Apr 2023 21:12:40 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 16C9EA32 for ; Thu, 13 Apr 2023 21:12:39 +0000 (UTC) From: "Florian Schmaus" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Florian Schmaus" Message-ID: <1681420349.09eb1ca924df6b01fed6c6fe73b668b682ca60a0.flow@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: media-gfx/img2pdf/files/, media-gfx/img2pdf/ X-VCS-Repository: repo/gentoo X-VCS-Files: media-gfx/img2pdf/files/img2pdf-0.4.3-test-gif-animation.patch media-gfx/img2pdf/files/img2pdf-0.4.4-Support-imagemagick-7.1.0-48.patch media-gfx/img2pdf/img2pdf-0.4.4.ebuild X-VCS-Directories: media-gfx/img2pdf/files/ media-gfx/img2pdf/ X-VCS-Committer: flow X-VCS-Committer-Name: Florian Schmaus X-VCS-Revision: 09eb1ca924df6b01fed6c6fe73b668b682ca60a0 X-VCS-Branch: master Date: Thu, 13 Apr 2023 21:12:39 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: 830e9ce0-9364-4ce3-be14-e834bf53ec1e X-Archives-Hash: 8bb7388b8a0c67279a5bc7cb99f8512b commit: 09eb1ca924df6b01fed6c6fe73b668b682ca60a0 Author: Florian Schmaus gentoo org> AuthorDate: Thu Apr 13 21:10:23 2023 +0000 Commit: Florian Schmaus gentoo org> CommitDate: Thu Apr 13 21:12:29 2023 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=09eb1ca9 media-gfx/img2pdf: fix tests Signed-off-by: Florian Schmaus gentoo.org> .../files/img2pdf-0.4.3-test-gif-animation.patch | 13 --- ...mg2pdf-0.4.4-Support-imagemagick-7.1.0-48.patch | 120 +++++++++++++++++++++ media-gfx/img2pdf/img2pdf-0.4.4.ebuild | 12 +-- 3 files changed, 126 insertions(+), 19 deletions(-) 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 +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.ebuild index 693849783a82..c9aae044c372 100644 --- a/media-gfx/img2pdf/img2pdf-0.4.4.ebuild +++ b/media-gfx/img2pdf/img2pdf-0.4.4.ebuild @@ -38,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 @@ -50,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" }