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.
This commit is contained in:
parent
29fc4a7dae
commit
e0ba031ab2
3 changed files with 67 additions and 0 deletions
|
@ -1688,6 +1688,7 @@ dist_patch_DATA = \
|
||||||
%D%/packages/patches/python-pdoc3-tests.patch \
|
%D%/packages/patches/python-pdoc3-tests.patch \
|
||||||
%D%/packages/patches/python-peachpy-determinism.patch \
|
%D%/packages/patches/python-peachpy-determinism.patch \
|
||||||
%D%/packages/patches/python-pep8-stdlib-tokenize-compat.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-pyfakefs-remove-bad-test.patch \
|
||||||
%D%/packages/patches/python-pyflakes-test-location.patch \
|
%D%/packages/patches/python-pyflakes-test-location.patch \
|
||||||
%D%/packages/patches/python-flint-includes.patch \
|
%D%/packages/patches/python-flint-includes.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)
|
|
@ -28319,3 +28319,25 @@ keyboard-friendly package.")
|
||||||
"This package auto-generates API documentation from Python projects
|
"This package auto-generates API documentation from Python projects
|
||||||
already existing modules and objects docstrings.")
|
already existing modules and objects docstrings.")
|
||||||
(license license:agpl3+)))
|
(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)))
|
||||||
|
|
Reference in a new issue