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-pandas-skip-failing-tests.patch	\
 | 
				
			||||||
  %D%/packages/patches/python-paste-remove-website-test.patch	\
 | 
					  %D%/packages/patches/python-paste-remove-website-test.patch	\
 | 
				
			||||||
  %D%/packages/patches/python-paste-remove-timing-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-pygit2-disable-network-tests.patch	\
 | 
				
			||||||
  %D%/packages/patches/python-pyopenssl-skip-network-test.patch	\
 | 
					  %D%/packages/patches/python-pyopenssl-skip-network-test.patch	\
 | 
				
			||||||
  %D%/packages/patches/python-pycrypto-CVE-2013-7459.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
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
       (uri (pypi-uri "Pillow" version))
 | 
					       (uri (pypi-uri "Pillow" version))
 | 
				
			||||||
 | 
					       (patches (search-patches "python-pillow-freetype-2.7-test-failure.patch"))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32
 | 
				
			||||||
         "0xkv0p1d73gz0a1qaasf0ai4262g8f334j07vd60bjrxs2wr3nmj"))))
 | 
					         "0xkv0p1d73gz0a1qaasf0ai4262g8f334j07vd60bjrxs2wr3nmj"))))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Reference in a new issue