gnu: python-file: Work around "double encoding" bug in file@5.28.
* gnu/packages/patches/python-file-double-encoding-bug.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/python.scm (python-file)[source]: Use it. (python2-file)[source]: Use the source of FILE directly, without the patch.
This commit is contained in:
parent
00bf74be05
commit
7ffa5d4a2d
|
@ -780,6 +780,7 @@ dist_patch_DATA = \
|
||||||
%D%/packages/patches/python-3.5-fix-tests.patch \
|
%D%/packages/patches/python-3.5-fix-tests.patch \
|
||||||
%D%/packages/patches/python-dendropy-exclude-failing-tests.patch \
|
%D%/packages/patches/python-dendropy-exclude-failing-tests.patch \
|
||||||
%D%/packages/patches/python-django-fix-testcase.patch \
|
%D%/packages/patches/python-django-fix-testcase.patch \
|
||||||
|
%D%/packages/patches/python-file-double-encoding-bug.patch \
|
||||||
%D%/packages/patches/python-fix-tests.patch \
|
%D%/packages/patches/python-fix-tests.patch \
|
||||||
%D%/packages/patches/python-ipython-inputhook-ctype.patch \
|
%D%/packages/patches/python-ipython-inputhook-ctype.patch \
|
||||||
%D%/packages/patches/python-rarfile-fix-tests.patch \
|
%D%/packages/patches/python-rarfile-fix-tests.patch \
|
||||||
|
|
|
@ -0,0 +1,50 @@
|
||||||
|
Fix bug that breaks file's Python bindings when using Python 3. This patch
|
||||||
|
should not be applied when using Python 2.
|
||||||
|
|
||||||
|
Copied from upstream source repository:
|
||||||
|
|
||||||
|
https://github.com/file/file/commit/73e043d2a986234b187a00ed0c8d1f7bf83df372
|
||||||
|
|
||||||
|
From 73e043d2a986234b187a00ed0c8d1f7bf83df372 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Christos Zoulas <christos@zoulas.com>
|
||||||
|
Date: Tue, 28 Jun 2016 17:10:22 +0000
|
||||||
|
Subject: [PATCH] PR/562: Reiner Herrmann: Avoid double encoding with python3
|
||||||
|
|
||||||
|
---
|
||||||
|
python/magic.py | 6 +++---
|
||||||
|
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/python/magic.py b/python/magic.py
|
||||||
|
index c48f7d5..b0f7a17 100644
|
||||||
|
--- a/python/magic.py
|
||||||
|
+++ b/python/magic.py
|
||||||
|
@@ -134,7 +134,7 @@ class Magic(object):
|
||||||
|
if isinstance(r, str):
|
||||||
|
return r
|
||||||
|
else:
|
||||||
|
- return str(r).encode('utf-8')
|
||||||
|
+ return str(r, 'utf-8')
|
||||||
|
|
||||||
|
def descriptor(self, fd):
|
||||||
|
"""
|
||||||
|
@@ -152,7 +152,7 @@ class Magic(object):
|
||||||
|
if isinstance(r, str):
|
||||||
|
return r
|
||||||
|
else:
|
||||||
|
- return str(r).encode('utf-8')
|
||||||
|
+ return str(r, 'utf-8')
|
||||||
|
|
||||||
|
def error(self):
|
||||||
|
"""
|
||||||
|
@@ -163,7 +163,7 @@ class Magic(object):
|
||||||
|
if isinstance(e, str):
|
||||||
|
return e
|
||||||
|
else:
|
||||||
|
- return str(e).encode('utf-8')
|
||||||
|
+ return str(e, 'utf-8')
|
||||||
|
|
||||||
|
def setflags(self, flags):
|
||||||
|
"""
|
||||||
|
--
|
||||||
|
2.10.1
|
||||||
|
|
|
@ -6459,6 +6459,10 @@ Python's @code{ctypes} foreign function interface (FFI).")
|
||||||
(package
|
(package
|
||||||
(inherit file)
|
(inherit file)
|
||||||
(name "python-file")
|
(name "python-file")
|
||||||
|
(source (origin
|
||||||
|
(inherit (package-source file))
|
||||||
|
;; This patch should not be applied to python2-file.
|
||||||
|
(patches (search-patches "python-file-double-encoding-bug.patch"))))
|
||||||
(build-system python-build-system)
|
(build-system python-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
'(#:tests? #f ;no tests
|
'(#:tests? #f ;no tests
|
||||||
|
@ -6487,6 +6491,7 @@ serve the same purpose: provide Python bindings for libmagic.")
|
||||||
(let ((base (package-with-python2 (strip-python2-variant python-file))))
|
(let ((base (package-with-python2 (strip-python2-variant python-file))))
|
||||||
(package
|
(package
|
||||||
(inherit base)
|
(inherit base)
|
||||||
|
(source (package-source file))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("python2-setuptools" ,python2-setuptools)
|
`(("python2-setuptools" ,python2-setuptools)
|
||||||
,@(package-native-inputs base))))))
|
,@(package-native-inputs base))))))
|
||||||
|
|
Loading…
Reference in New Issue