gnu: python-pillow: Fix test failures with freetype-2.7.
* gnu/packages/patches/python-pillow-freetype-2.7-test-failure.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/python.scm (python-pillow, python2-pillow)[source]: Use it.
This commit is contained in:
		
							parent
							
								
									83a3464793
								
							
						
					
					
						commit
						a9681c74ca
					
				
					 3 changed files with 77 additions and 0 deletions
				
			
		| 
						 | 
				
			
			@ -867,6 +867,7 @@ dist_patch_DATA =						\
 | 
			
		|||
  %D%/packages/patches/python-pandas-skip-failing-tests.patch	\
 | 
			
		||||
  %D%/packages/patches/python-paste-remove-website-test.patch	\
 | 
			
		||||
  %D%/packages/patches/python-paste-remove-timing-test.patch	\
 | 
			
		||||
  %D%/packages/patches/python-pillow-freetype-2.7-test-failure.patch	\
 | 
			
		||||
  %D%/packages/patches/python-pygit2-disable-network-tests.patch	\
 | 
			
		||||
  %D%/packages/patches/python-pyopenssl-skip-network-test.patch	\
 | 
			
		||||
  %D%/packages/patches/python-pycrypto-CVE-2013-7459.patch	\
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,75 @@
 | 
			
		|||
Fix some test failures when building with freetype-2.7.
 | 
			
		||||
 | 
			
		||||
https://github.com/python-pillow/Pillow/issues/2116
 | 
			
		||||
https://github.com/python-pillow/Pillow/pull/2286
 | 
			
		||||
 | 
			
		||||
Patch copied from upstream source repository:
 | 
			
		||||
 | 
			
		||||
https://github.com/python-pillow/Pillow/commit/acf68c835c93ba144f83198306aa7e6082a43f43
 | 
			
		||||
 | 
			
		||||
From acf68c835c93ba144f83198306aa7e6082a43f43 Mon Sep 17 00:00:00 2001
 | 
			
		||||
From: hugovk <hugovk@users.noreply.github.com>
 | 
			
		||||
Date: Mon, 12 Dec 2016 15:16:43 +0200
 | 
			
		||||
Subject: [PATCH] Increase epsilon for FreeType 2.7
 | 
			
		||||
 | 
			
		||||
---
 | 
			
		||||
 Tests/test_imagefont.py | 15 ++++++++++-----
 | 
			
		||||
 1 file changed, 10 insertions(+), 5 deletions(-)
 | 
			
		||||
 | 
			
		||||
diff --git a/Tests/test_imagefont.py b/Tests/test_imagefont.py
 | 
			
		||||
index de89ac92..5207dce3 100644
 | 
			
		||||
--- a/Tests/test_imagefont.py
 | 
			
		||||
+++ b/Tests/test_imagefont.py
 | 
			
		||||
@@ -125,7 +125,9 @@ try:
 | 
			
		||||
 
 | 
			
		||||
             target = 'Tests/images/rectangle_surrounding_text.png'
 | 
			
		||||
             target_img = Image.open(target)
 | 
			
		||||
-            self.assert_image_similar(im, target_img, .5)
 | 
			
		||||
+
 | 
			
		||||
+            # Epsilon ~.5 fails with FreeType 2.7
 | 
			
		||||
+            self.assert_image_similar(im, target_img, 2.5)
 | 
			
		||||
 
 | 
			
		||||
         def test_render_multiline(self):
 | 
			
		||||
             im = Image.new(mode='RGB', size=(300, 100))
 | 
			
		||||
@@ -144,7 +146,7 @@ try:
 | 
			
		||||
             # some versions of freetype have different horizontal spacing.
 | 
			
		||||
             # setting a tight epsilon, I'm showing the original test failure
 | 
			
		||||
             # at epsilon = ~38.
 | 
			
		||||
-            self.assert_image_similar(im, target_img, .5)
 | 
			
		||||
+            self.assert_image_similar(im, target_img, 6.2)
 | 
			
		||||
 
 | 
			
		||||
         def test_render_multiline_text(self):
 | 
			
		||||
             ttf = ImageFont.truetype(FONT_PATH, FONT_SIZE)
 | 
			
		||||
@@ -158,7 +160,8 @@ try:
 | 
			
		||||
             target = 'Tests/images/multiline_text.png'
 | 
			
		||||
             target_img = Image.open(target)
 | 
			
		||||
 
 | 
			
		||||
-            self.assert_image_similar(im, target_img, .5)
 | 
			
		||||
+            # Epsilon ~.5 fails with FreeType 2.7
 | 
			
		||||
+            self.assert_image_similar(im, target_img, 6.2)
 | 
			
		||||
 
 | 
			
		||||
             # Test that text() can pass on additional arguments
 | 
			
		||||
             # to multiline_text()
 | 
			
		||||
@@ -178,7 +181,8 @@ try:
 | 
			
		||||
                 target = 'Tests/images/multiline_text'+ext+'.png'
 | 
			
		||||
                 target_img = Image.open(target)
 | 
			
		||||
 
 | 
			
		||||
-                self.assert_image_similar(im, target_img, .5)
 | 
			
		||||
+                # Epsilon ~.5 fails with FreeType 2.7
 | 
			
		||||
+                self.assert_image_similar(im, target_img, 6.2)
 | 
			
		||||
 
 | 
			
		||||
         def test_unknown_align(self):
 | 
			
		||||
             im = Image.new(mode='RGB', size=(300, 100))
 | 
			
		||||
@@ -227,7 +231,8 @@ try:
 | 
			
		||||
             target = 'Tests/images/multiline_text_spacing.png'
 | 
			
		||||
             target_img = Image.open(target)
 | 
			
		||||
 
 | 
			
		||||
-            self.assert_image_similar(im, target_img, .5)
 | 
			
		||||
+            # Epsilon ~.5 fails with FreeType 2.7
 | 
			
		||||
+            self.assert_image_similar(im, target_img, 6.2)
 | 
			
		||||
 
 | 
			
		||||
         def test_rotated_transposed_font(self):
 | 
			
		||||
             img_grey = Image.new("L", (100, 100))
 | 
			
		||||
-- 
 | 
			
		||||
2.12.0
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -4537,6 +4537,7 @@ services for your Python modules and applications.")
 | 
			
		|||
     (origin
 | 
			
		||||
       (method url-fetch)
 | 
			
		||||
       (uri (pypi-uri "Pillow" version))
 | 
			
		||||
       (patches (search-patches "python-pillow-freetype-2.7-test-failure.patch"))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32
 | 
			
		||||
         "0xkv0p1d73gz0a1qaasf0ai4262g8f334j07vd60bjrxs2wr3nmj"))))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Reference in a new issue