[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
02/02: gnu: python-pycodestyle: Fix build with Python 3.7.
From: |
guix-commits |
Subject: |
02/02: gnu: python-pycodestyle: Fix build with Python 3.7. |
Date: |
Mon, 14 Jan 2019 16:35:23 -0500 (EST) |
bavier pushed a commit to branch core-updates
in repository guix.
commit 974537fc4cd8045bcdce68c5ce79df35b0e17ec3
Author: Eric Bavier <address@hidden>
Date: Sun Jan 13 21:08:48 2019 -0600
gnu: python-pycodestyle: Fix build with Python 3.7.
* gnu/packages/patches/python-pycodestyle-stdlib-tokenize-fix.patch: New
patch.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/python.scm (python-pycodestyle)[source]: Use it.
---
gnu/local.mk | 1 +
.../python-pycodestyle-stdlib-tokenize-fix.patch | 35 ++++++++++++++++++++++
gnu/packages/python.scm | 3 +-
3 files changed, 38 insertions(+), 1 deletion(-)
diff --git a/gnu/local.mk b/gnu/local.mk
index f487f35..23ba0d4 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1108,6 +1108,7 @@ dist_patch_DATA =
\
%D%/packages/patches/python-mox3-python3.6-compat.patch \
%D%/packages/patches/python-testtools.patch \
%D%/packages/patches/python-paste-remove-timing-test.patch \
+ %D%/packages/patches/python-pycodestyle-stdlib-tokenize-fix.patch \
%D%/packages/patches/python-pycrypto-CVE-2013-7459.patch \
%D%/packages/patches/python2-pygobject-2-gi-info-type-error-domain.patch \
%D%/packages/patches/python-pygpgme-fix-pinentry-tests.patch \
diff --git a/gnu/packages/patches/python-pycodestyle-stdlib-tokenize-fix.patch
b/gnu/packages/patches/python-pycodestyle-stdlib-tokenize-fix.patch
new file mode 100644
index 0000000..16388c8
--- /dev/null
+++ b/gnu/packages/patches/python-pycodestyle-stdlib-tokenize-fix.patch
@@ -0,0 +1,35 @@
+From 397463014fda3cdefe8d6c9d117ae16d878dc494 Mon Sep 17 00:00:00 2001
+From: Michael Hudson-Doyle <address@hidden>
+Date: Tue, 25 Sep 2018 14:58:57 +1200
+Subject: [PATCH] Keep compability with stdlib tokenize.py changes
+
+https://github.com/python/cpython/commit/c4ef4896eac86a6759901c8546e26de4695a1389
+is not yet part of any release of Python but has been backported to all
+versions in Git (includeing 2.7!). It causes the tokenize.py module to
+emit a synthetic NEWLINE token for files that do not in fact end with a
+newline, which confuses pycodestyle's checks for blank lines at the end
+of a file. Fortunately the synthetic NEWLINE tokens are easy to detect
+(the token text is "").
+
+Fixes #786
+---
+ pycodestyle.py | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/pycodestyle.py b/pycodestyle.py
+index 0d725d27..fbc3dca3 100755
+--- a/pycodestyle.py
++++ b/pycodestyle.py
+@@ -258,10 +258,10 @@ def trailing_blank_lines(physical_line, lines,
line_number, total_lines):
+ """
+ if line_number == total_lines:
+ stripped_last_line = physical_line.rstrip()
+- if not stripped_last_line:
++ if physical_line and not stripped_last_line:
+ return 0, "W391 blank line at end of file"
+ if stripped_last_line == physical_line:
+- return len(physical_line), "W292 no newline at end of file"
++ return len(lines[-1]), "W292 no newline at end of file"
+
+
+ @register_check
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 2971dfe..c0ed19e 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -3974,7 +3974,8 @@ as the original project seems to have been abandoned
circa 2007.")
(uri (pypi-uri "pycodestyle" version))
(sha256
(base32
- "0fhy4vnlgpjq4qd1wdnl6pvdw7rah0ypmn8c9mkhz8clsndskz6b"))))
+ "0fhy4vnlgpjq4qd1wdnl6pvdw7rah0ypmn8c9mkhz8clsndskz6b"))
+ (patches (search-patches
"python-pycodestyle-stdlib-tokenize-fix.patch"))))
(build-system python-build-system)
(home-page "https://pycodestyle.readthedocs.io/")
(synopsis "Python style guide checker")