guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

01/06: gnu: Add python-piexif.


From: guix-commits
Subject: 01/06: gnu: Add python-piexif.
Date: Sat, 15 Jan 2022 15:35:35 -0500 (EST)

htgoebel pushed a commit to branch master
in repository guix.

commit e0ba031ab27478ebfd683487d179759f45a89f0d
Author: Hartmut Goebel <h.goebel@crazy-compilers.com>
AuthorDate: Sun Dec 19 12:56:59 2021 +0100

    gnu: Add python-piexif.
    
    * 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 +
 .../python-piexif-fix-tests-with-pillow-7.2.patch  | 44 ++++++++++++++++++++++
 gnu/packages/python-xyz.scm                        | 22 +++++++++++
 3 files changed, 67 insertions(+)

diff --git a/gnu/local.mk b/gnu/local.mk
index 0eed20e7af..8cc87ce66e 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1688,6 +1688,7 @@ dist_patch_DATA =                                         
\
   %D%/packages/patches/python-pdoc3-tests.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..caa2c47c08
--- /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 404ad8b9bc..2d994875e9 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -28319,3 +28319,25 @@ keyboard-friendly package.")
      "This package auto-generates API documentation from Python projects
 already existing modules and objects docstrings.")
     (license license:agpl3+)))
+
+(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 "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)))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]