From: Hartmut Goebel <h.goebel@crazy-compilers.com>
To: 52966@debbugs.gnu.org
Subject: [bug#52966] [PATCH 1/6] gnu: Add python-piexif.
Date: Sun, 2 Jan 2022 22:59:37 +0100 [thread overview]
Message-ID: <05cc89ec4c7cb0eda6945690544469f519811ecf.1641160577.git.h.goebel@crazy-compilers.com> (raw)
* gnu/packages/python-xyz.scm (python-piexif): New variable.
* gnu/packages/patches/python-piexif-fix-tests-with-pillow-7.2.patch: New file.
* gnu/packages/python-xyz.scm (dist_patch_DATA): Add it.
---
gnu/local.mk | 1 +
...hon-piexif-fix-tests-with-pillow-7.2.patch | 44 +++++++++++++++++++
gnu/packages/python-xyz.scm | 22 ++++++++++
3 files changed, 67 insertions(+)
create mode 100644 gnu/packages/patches/python-piexif-fix-tests-with-pillow-7.2.patch
diff --git a/gnu/local.mk b/gnu/local.mk
index 852f9f3246..322b07ad74 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1678,6 +1678,7 @@ dist_patch_DATA = \
%D%/packages/patches/python-keras-integration-test.patch \
%D%/packages/patches/python-peachpy-determinism.patch \
%D%/packages/patches/python-pep8-stdlib-tokenize-compat.patch \
+ %D%/packages/patches/python-piexif-fix-tests-with-pillow-7.2.patch \
%D%/packages/patches/python-pyfakefs-remove-bad-test.patch \
%D%/packages/patches/python-pyflakes-test-location.patch \
%D%/packages/patches/python-flint-includes.patch \
diff --git a/gnu/packages/patches/python-piexif-fix-tests-with-pillow-7.2.patch b/gnu/packages/patches/python-piexif-fix-tests-with-pillow-7.2.patch
new file mode 100644
index 0000000000..a012a92f91
--- /dev/null
+++ b/gnu/packages/patches/python-piexif-fix-tests-with-pillow-7.2.patch
@@ -0,0 +1,44 @@
+From 5209b53e9689ce28dcd045f384633378d619718f Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Jan=20Wi=C5=9Bniewski?= <vuko@vuko.pl>
+Date: Thu, 5 Nov 2020 16:18:52 +0100
+Subject: [PATCH] convert IFDRational to tuples in tests
+
+This fixes tests with Pillow version >= 7.2.0
+---
+ tests/s_test.py | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
+
+diff --git a/tests/s_test.py b/tests/s_test.py
+index 5d105de..a7cad54 100644
+--- a/tests/s_test.py
++++ b/tests/s_test.py
+***************
+*** 9,14 ****
+--- 9,15 ----
+ import time
+ import unittest
+
++ import PIL
+ from PIL import Image
+ import piexif
+ from piexif import _common, ImageIFD, ExifIFD, GPSIFD, TAGS, InvalidImageDataError
+***************
+*** 580,585 ****
+--- 581,597 ----
+ # test utility methods----------------------------------------------
+
+ def _compare_value(self, v1, v2):
++ if isinstance(v2, PIL.TiffImagePlugin.IFDRational):
++ v2 = (v2.numerator, v2.denominator)
++ if isinstance(v2, tuple):
++ converted_v2 = []
++ for el in v2:
++ if isinstance(el, PIL.TiffImagePlugin.IFDRational):
++ converted_v2.append((el.numerator, el.denominator))
++ else:
++ converted_v2.append(el)
++ v2 = tuple(converted_v2)
++
+ if type(v1) != type(v2):
+ if isinstance(v1, tuple):
+ self.assertEqual(pack_byte(*v1), v2)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index b6534c677f..4e408f1d49 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -27867,3 +27867,25 @@ keyboard-friendly package.")
(description
"This package provides a Python interface to iw wireless tools.")
(license license:gpl2)))
+
+(define-public python-piexif
+ (package
+ (name "python-piexif")
+ (version "1.1.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "piexif" version ".zip"))
+ (sha256
+ (base32 "06sz58q4mrw472p8fbnq7wsj8zpi5js5r8phm2hiwfmz0v33bjw3"))
+ (patches
+ (search-patches "python-piexif-fix-tests-with-pillow-7.2.patch"))))
+ (build-system python-build-system)
+ (native-inputs
+ (list unzip python-pillow))
+ (home-page "https://github.com/hMatoba/Piexif")
+ (synopsis "Simplify exif manipulations with Python")
+ (description "@code{Piexif} simplifies interacting with EXIF data in
+Python. It includes the tools necessary for extracting, creating,
+manipulating, converting and writing EXIF data to JPEG, WebP and TIFF files.")
+ (license license:expat)))
--
2.30.2
next reply other threads:[~2022-01-02 22:00 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-01-02 21:59 Hartmut Goebel [this message]
2022-01-02 22:00 ` [bug#52966] [PATCH 2/6] gnu: Add python-pyrss2gen Hartmut Goebel
2022-01-02 22:00 ` [bug#52966] [PATCH 3/6] gnu: Add python-yapsy Hartmut Goebel
2022-01-02 22:00 ` [bug#52966] [PATCH 4/6] gnu: Add python-doit Hartmut Goebel
2022-01-02 22:00 ` [bug#52966] [PATCH 5/6] gnu: Add python-phpserialize Hartmut Goebel
2022-01-02 22:00 ` [bug#52966] [PATCH 6/6] gnu: Add nikola Hartmut Goebel
2022-01-08 22:01 ` [bug#52966] [PATCH 1/6] gnu: Add python-piexif Ludovic Courtès
2022-01-15 20:37 ` bug#52966: " Hartmut Goebel
2022-01-08 22:02 ` [bug#52966] " Ludovic Courtès
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=05cc89ec4c7cb0eda6945690544469f519811ecf.1641160577.git.h.goebel@crazy-compilers.com \
--to=h.goebel@crazy-compilers.com \
--cc=52966@debbugs.gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.