guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

318/361: gnu: python-parso: Update to 0.8.4.


From: guix-commits
Subject: 318/361: gnu: python-parso: Update to 0.8.4.
Date: Thu, 21 Nov 2024 06:29:42 -0500 (EST)

sharlatan pushed a commit to branch python-team
in repository guix.

commit 65d0dc6c00dc0e5b675bc23c3d889813075ea71c
Author: Sharlatan Hellseher <sharlatanus@gmail.com>
AuthorDate: Mon Nov 11 08:06:12 2024 +0000

    gnu: python-parso: Update to 0.8.4.
    
    * gnu/packages/python-xyz.scm (python-parso): Update to 0.8.4.
    [build-system]: Swap to pyproject-build-system.
    [arguments]<phases>: Use default 'check phase.
    [native-inputs]: Add python-setuptools and python-wheel.
    * gnu/packages/patches/python-parso-unit-tests-in-3.10.patch: Delete file.
    * gnu/local.mk: Deregister it.
    
    Change-Id: I7722e58ce8f3e2da42169af42f1b303c9cdd8856
---
 gnu/local.mk                                       |   1 -
 .../patches/python-parso-unit-tests-in-3.10.patch  | 186 ---------------------
 gnu/packages/python-xyz.scm                        |  19 +--
 3 files changed, 6 insertions(+), 200 deletions(-)

diff --git a/gnu/local.mk b/gnu/local.mk
index 266fde44c4..07bd0f591e 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -2043,7 +2043,6 @@ dist_patch_DATA =                                         
\
   %D%/packages/patches/python-libxml2-utf8.patch               \
   %D%/packages/patches/python-memcached-syntax-warnings.patch  \
   %D%/packages/patches/python-mox3-python3.6-compat.patch      \
-  %D%/packages/patches/python-parso-unit-tests-in-3.10.patch    \
   %D%/packages/patches/python-packaging-test-arch.patch                \
   %D%/packages/patches/python-paste-remove-timing-test.patch   \
   %D%/packages/patches/python-pyan3-fix-absolute-path-bug.patch \
diff --git a/gnu/packages/patches/python-parso-unit-tests-in-3.10.patch 
b/gnu/packages/patches/python-parso-unit-tests-in-3.10.patch
deleted file mode 100644
index 1fc7fb701b..0000000000
--- a/gnu/packages/patches/python-parso-unit-tests-in-3.10.patch
+++ /dev/null
@@ -1,186 +0,0 @@
-Patch from python-parso upstream.
-
-From cf5969d7a109798adbf9538d70e92138f077d700 Mon Sep 17 00:00:00 2001
-From: Jochen Sprickerhof <git@jochen.sprickerhof.de>
-Date: Sun, 4 Dec 2022 13:29:25 +0100
-Subject: [PATCH 1/7] Fix unit tests in Python 3.10 (Closes: #192)
-
----
- parso/python/errors.py     | 51 ++++++++++++++++++++++++++++++--------
- test/test_python_errors.py | 23 +++++++++++++++++
- 2 files changed, 64 insertions(+), 10 deletions(-)
-
-diff --git a/parso/python/errors.py b/parso/python/errors.py
-index 5da046a..09c5047 100644
---- a/parso/python/errors.py
-+++ b/parso/python/errors.py
-@@ -1,5 +1,6 @@
- # -*- coding: utf-8 -*-
- import codecs
-+import sys
- import warnings
- import re
- from contextlib import contextmanager
-@@ -33,7 +34,10 @@ def _get_rhs_name(node, version):
-                 return "literal"
-             else:
-                 if second.children[1] == ":" or second.children[0] == "**":
--                    return "dict display"
-+                    if version < (3, 10):
-+                        return "dict display"
-+                    else:
-+                        return "dict literal"
-                 else:
-                     return "set display"
-         elif (
-@@ -47,7 +51,10 @@ def _get_rhs_name(node, version):
-         elif first == "[":
-             return "list"
-         elif first == "{" and second == "}":
--            return "dict display"
-+            if version < (3, 10):
-+                return "dict display"
-+            else:
-+                return "dict literal"
-         elif first == "{" and len(node.children) > 2:
-             return "set display"
-     elif type_ == "keyword":
-@@ -58,7 +65,10 @@ def _get_rhs_name(node, version):
-         else:
-             return str(node.value)
-     elif type_ == "operator" and node.value == "...":
--        return "Ellipsis"
-+        if version < (3, 10):
-+            return "Ellipsis"
-+        else:
-+            return "ellipsis"
-     elif type_ == "comparison":
-         return "comparison"
-     elif type_ in ("string", "number", "strings"):
-@@ -83,7 +93,10 @@ def _get_rhs_name(node, version):
-         or "_test" in type_
-         or type_ in ("term", "factor")
-     ):
--        return "operator"
-+        if version < (3, 10):
-+            return "operator"
-+        else:
-+            return "expression"
-     elif type_ == "star_expr":
-         return "starred"
-     elif type_ == "testlist_star_expr":
-@@ -610,7 +623,10 @@ class _NameChecks(SyntaxRule):
- 
- @ErrorFinder.register_rule(type='string')
- class _StringChecks(SyntaxRule):
--    message = "bytes can only contain ASCII literal characters."
-+    if sys.version_info < (3, 10):
-+        message = "bytes can only contain ASCII literal characters."
-+    else:
-+        message = "bytes can only contain ASCII literal characters"
- 
-     def is_issue(self, leaf):
-         string_prefix = leaf.string_prefix.lower()
-@@ -1043,14 +1059,20 @@ class _CheckAssignmentRule(SyntaxRule):
-                         error = 'literal'
-                     else:
-                         if second.children[1] == ':':
--                            error = 'dict display'
-+                            if self._normalizer.version < (3, 10):
-+                                error = 'dict display'
-+                            else:
-+                                error = 'dict literal'
-                         else:
-                             error = 'set display'
-                 elif first == "{" and second == "}":
-                     if self._normalizer.version < (3, 8):
-                         error = 'literal'
-                     else:
--                        error = "dict display"
-+                        if self._normalizer.version < (3, 10):
-+                            error = "dict display"
-+                        else:
-+                            error = "dict literal"
-                 elif first == "{" and len(node.children) > 2:
-                     if self._normalizer.version < (3, 8):
-                         error = 'literal'
-@@ -1083,7 +1105,10 @@ class _CheckAssignmentRule(SyntaxRule):
-                 error = str(node.value)
-         elif type_ == 'operator':
-             if node.value == '...':
--                error = 'Ellipsis'
-+                if self._normalizer.version < (3, 10):
-+                    error = 'Ellipsis'
-+                else:
-+                    error = 'ellipsis'
-         elif type_ == 'comparison':
-             error = 'comparison'
-         elif type_ in ('string', 'number', 'strings'):
-@@ -1098,7 +1123,10 @@ class _CheckAssignmentRule(SyntaxRule):
-             if node.children[0] == 'await':
-                 error = 'await expression'
-             elif node.children[-2] == '**':
--                error = 'operator'
-+                if self._normalizer.version < (3, 10):
-+                    error = 'operator'
-+                else:
-+                    error = 'expression'
-             else:
-                 # Has a trailer
-                 trailer = node.children[-1]
-@@ -1120,7 +1148,10 @@ class _CheckAssignmentRule(SyntaxRule):
-         elif ('expr' in type_ and type_ != 'star_expr'  # is a substring
-               or '_test' in type_
-               or type_ in ('term', 'factor')):
--            error = 'operator'
-+            if self._normalizer.version < (3, 10):
-+                error = 'operator'
-+            else:
-+                error = 'expression'
-         elif type_ == "star_expr":
-             if is_deletion:
-                 if self._normalizer.version >= (3, 9):
-diff --git a/test/test_python_errors.py b/test/test_python_errors.py
-index adf5f06..9686d14 100644
---- a/test/test_python_errors.py
-+++ b/test/test_python_errors.py
-@@ -1,6 +1,7 @@
- """
- Testing if parso finds syntax errors and indentation errors.
- """
-+import re
- import sys
- import warnings
- 
-@@ -136,6 +137,28 @@ def _get_actual_exception(code):
-         wanted = 'SyntaxError: invalid syntax'
-     elif wanted == "SyntaxError: f-string: single '}' is not allowed":
-         wanted = 'SyntaxError: invalid syntax'
-+    elif "Maybe you meant '==' instead of '='?" in wanted:
-+        wanted = wanted.removesuffix(" here. Maybe you meant '==' instead of 
'='?")
-+    elif re.match(
-+        r"SyntaxError: unterminated string literal \(detected at line \d+\)", 
wanted
-+    ):
-+        wanted = "SyntaxError: EOL while scanning string literal"
-+    elif re.match(
-+        r"SyntaxError: unterminated triple-quoted string literal \(detected 
at line \d+\)",
-+        wanted,
-+    ):
-+        wanted = 'SyntaxError: EOF while scanning triple-quoted string 
literal'
-+    elif wanted == 'SyntaxError: cannot use starred expression here':
-+        wanted = "SyntaxError: can't use starred expression here"
-+    elif wanted == 'SyntaxError: f-string: cannot use starred expression 
here':
-+        wanted = "SyntaxError: f-string: can't use starred expression here"
-+    elif re.match(
-+        r"IndentationError: expected an indented block after '[^']*' 
statement on line \d",
-+        wanted,
-+    ):
-+        wanted = 'IndentationError: expected an indented block'
-+    elif wanted == 'SyntaxError: unterminated string literal':
-+        wanted = 'SyntaxError: EOL while scanning string literal'
-     return [wanted], line_nr
- 
- 
--- 
-2.39.1
-
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index a70b3c58f3..00fbfa3021 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -27729,25 +27729,18 @@ Kodi plugin.")
 (define-public python-parso
   (package
     (name "python-parso")
-    (version "0.8.3")
+    (version "0.8.4")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "parso" version))
        (sha256
-        (base32 "185gkxq92kqiw2h5zp1cmyn04055x0lix4hmi5c077xm1clvw1wc"))
-       (patches
-        (search-patches "python-parso-unit-tests-in-3.10.patch"))))
+        (base32 "0bdr38l6p7d9q8agxljdbzm4158grkp1sms5lfcr1f8g4ic7nfpb"))))
+    (build-system pyproject-build-system)
     (native-inputs
-     (list python-pytest))
-    (build-system python-build-system)
-    (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (replace 'check
-           (lambda* (#:key tests? #:allow-other-keys)
-             (when tests?
-               (invoke "pytest" "-vv")))))))
+     (list python-pytest
+           python-setuptools
+           python-wheel))
     (home-page "https://github.com/davidhalter/parso";)
     (synopsis "Python Parser")
     (description "Parso is a Python parser that supports error recovery and



reply via email to

[Prev in Thread] Current Thread [Next in Thread]