From patchwork Mon Jan 24 16:16:37 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Adolf Belka X-Patchwork-Id: 4996 Return-Path: Received: from mail01.ipfire.org (mail01.haj.ipfire.org [172.28.1.202]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384) client-signature ECDSA (P-384)) (Client CN "mail01.haj.ipfire.org", Issuer "R3" (verified OK)) by web04.haj.ipfire.org (Postfix) with ESMTPS id 4JjFjT3hTkz3wcx for ; Mon, 24 Jan 2022 16:26:21 +0000 (UTC) Received: from mail02.haj.ipfire.org (mail02.haj.ipfire.org [172.28.1.201]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384) client-signature ECDSA (P-384)) (Client CN "mail02.haj.ipfire.org", Issuer "R3" (verified OK)) by mail01.ipfire.org (Postfix) with ESMTPS id 4JjFjS6Ls4z3gG; Mon, 24 Jan 2022 16:26:20 +0000 (UTC) Received: from mail02.haj.ipfire.org (localhost [127.0.0.1]) by mail02.haj.ipfire.org (Postfix) with ESMTP id 4JjFjS5vc3z30H5; Mon, 24 Jan 2022 16:26:20 +0000 (UTC) Received: from mail01.ipfire.org (mail01.haj.ipfire.org [172.28.1.202]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384) client-signature ECDSA (P-384)) (Client CN "mail01.haj.ipfire.org", Issuer "R3" (verified OK)) by mail02.haj.ipfire.org (Postfix) with ESMTPS id 4JjFjS13Svz2yDs for ; Mon, 24 Jan 2022 16:26:20 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384) server-digest SHA384) (No client certificate requested) by mail01.ipfire.org (Postfix) with ESMTPSA id 4JjFjR2jmKzsX; Mon, 24 Jan 2022 16:26:19 +0000 (UTC) DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=ipfire.org; s=202003ed25519; t=1643041579; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=wNElqglgoNCI5R+AqiUusYNaIXbZ0xlio/mYBSg/jVU=; b=/iPLNkGWynZYd10bE2qJERdES+GxdF4GZSwLW/VINywi1QoA2hQUGksdr8ECoaVGdVFMLJ sqo3ALZ09/QPM6BA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ipfire.org; s=202003rsa; t=1643041579; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=wNElqglgoNCI5R+AqiUusYNaIXbZ0xlio/mYBSg/jVU=; b=mOYpbvA579kGinSGr3ljat/2fbfhVGUGXnzbt4AsVz0acKkwtJjoiokAZ8azasFbumTeXP qpzc91htISq6VkGRByhpY1Ua1XiO/ZojtKHOgMD44ach/nI9JjP9pP9CH7oVxatqXbDt3T /fy+NWyYPiYWPmK1hOK4HAxiIskG4Z2YGkW58junXVL06Cec61hCVyrO+IsE7NM4bI/sCd l+rfNtQfApTukNaxtA6iUdv0wZCKl0pqC2a1BWH9Gjs6G6IKMTzktOfuDAgIDwQDc6zuBN PfrB5qolvRZ1nZYFpky7vbIapOO3UkJGgI67BFZW9eT2lsS+n+6+NEVNKyFH6A== From: Adolf Belka To: development@lists.ipfire.org Subject: [PATCH 17/35] python3-pyparsing: Update to version 3.0.6 and python-3.10 Date: Mon, 24 Jan 2022 17:16:37 +0100 Message-Id: <20220124161656.71960-17-adolf.belka@ipfire.org> In-Reply-To: <20220124161656.71960-1-adolf.belka@ipfire.org> References: <20220124161656.71960-1-adolf.belka@ipfire.org> MIME-Version: 1.0 X-BeenThere: development@lists.ipfire.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: IPFire development talk List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: development-bounces@lists.ipfire.org Sender: "Development" - Update from 2.4.7 to 3.0.6 - Update of rootfile - Changelog Version 3.0.6 - - Added `suppress_warning()` method to individually suppress a warning on a specific ParserElement. Used to refactor `original_text_for` to preserve internal results names, which, while undocumented, had been adopted by some projects. - Fix bug when `delimited_list` was called with a str literal instead of a parse expression. Version 3.0.5 - - Added return type annotations for `col`, `line`, and `lineno`. - Fixed bug when `warn_ungrouped_named_tokens_in_collection` warning was raised when assigning a results name to an `original_text_for` expression. (Issue #110, would raise warning in packaging.) - Fixed internal bug where ParserElement.streamline() would not return self if already streamlined. - Changed run_tests() output to default to not showing line and column numbers. If line numbering is desired, call with `with_line_numbers=True`. Also fixed minor bug where separating line was not included after a test failure. Version 3.0.4 - - Fixed bug in which `Dict` classes did not correctly return tokens as nested `ParseResults`, reported by and fix identified by Bu Sun Kim, many thanks!!! - Documented API-changing side-effect of converting `ParseResults` to use `__slots__` to pre-define instance attributes. This means that code written like this (which was allowed in pyparsing 2.4.7): result = Word(alphas).parseString("abc") result.xyz = 100 now raises this Python exception: AttributeError: 'ParseResults' object has no attribute 'xyz' To add new attribute values to ParseResults object in 3.0.0 and later, you must assign them using indexed notation: result["xyz"] = 100 You will still be able to access this new value as an attribute or as an indexed item. - Fixed bug in railroad diagramming where the vertical limit would count all expressions in a group, not just those that would create visible railroad elements. Version 3.0.3 - - Fixed regex typo in `one_of` fix for `as_keyword=True`. - Fixed a whitespace-skipping bug, Issue #319, introduced as part of the revert of the `LineStart` changes. Reported by Marc-Alexandre Côté, thanks! - Added header column labeling > 100 in `with_line_numbers` - some input lines are longer than others. Version 3.0.2 - - Reverted change in behavior with `LineStart` and `StringStart`, which changed the interpretation of when and how `LineStart` and `StringStart` should match when a line starts with spaces. In 3.0.0, the `xxxStart` expressions were not really treated like expressions in their own right, but as modifiers to the following expression when used like `LineStart() + expr`, so that if there were whitespace on the line before `expr` (which would match in versions prior to 3.0.0), the match would fail. 3.0.0 implemented this by automatically promoting `LineStart() + expr` to `AtLineStart(expr)`, which broke existing parsers that did not expect `expr` to necessarily be right at the start of the line, but only be the first token found on the line. This was reported as a regression in Issue #317. In 3.0.2, pyparsing reverts to the previous behavior, but will retain the new `AtLineStart` and `AtStringStart` expression classes, so that parsers can chose whichever behavior applies in their specific instance. Specifically: # matches expr if it is the first token on the line # (allows for leading whitespace) LineStart() + expr # matches only if expr is found in column 1 AtLineStart(expr) - Performance enhancement to `one_of` to always generate an internal `Regex`, even if `caseless` or `as_keyword` args are given as `True` (unless explicitly disabled by passing `use_regex=False`). - `IndentedBlock` class now works with `recursive` flag. By default, the results parsed by an `IndentedBlock` are grouped. This can be disabled by constructing the `IndentedBlock` with `grouped=False`. Version 3.0.1 - - Fixed bug where `Word(max=n)` did not match word groups less than length 'n'. Thanks to Joachim Metz for catching this! - Fixed bug where `ParseResults` accidentally created recursive contents. Joachim Metz on this one also! - Fixed bug where `warn_on_multiple_string_args_to_oneof` warning is raised even when not enabled. Version 3.0.0 - - A consolidated list of all the changes in the 3.0.0 release can be found in `docs/whats_new_in_3_0_0.rst`. (https://github.com/pyparsing/pyparsing/blob/master/docs/whats_new_in_3_0_0.rst) Version 3.0.0.final - - Added support for python `-W` warning option to call `enable_all_warnings`() at startup. Also detects setting of `PYPARSINGENABLEALLWARNINGS` environment variable to any non-blank value. (If using `-Wd` for testing, but wishing to disable pyparsing warnings, add `-Wi:::pyparsing`.) - Fixed named results returned by `url` to match fields as they would be parsed using `urllib.parse.urlparse`. - Early response to `with_line_numbers` was positive, with some requested enhancements: . added a trailing "|" at the end of each line (to show presence of trailing spaces); can be customized using `eol_mark` argument . added expand_tabs argument, to control calling str.expandtabs (defaults to True to match `parseString`) . added mark_spaces argument to support display of a printing character in place of spaces, or Unicode symbols for space and tab characters . added mark_control argument to support highlighting of control characters using '.' or Unicode symbols, such as "␍" and "␊". - Modified helpers `common_html_entity` and `replace_html_entity()` to use the HTML entity definitions from `html.entities.html5`. - Updated the class diagram in the pyparsing docs directory, along with the supporting .puml file (PlantUML markup) used to create the diagram. - Added global method `autoname_elements()` to call `set_name()` on all locally defined `ParserElements` that haven't been explicitly named using `set_name()`, using their local variable name. Useful for setting names on multiple elements when creating a railroad diagram. a = pp.Literal("a") b = pp.Literal("b").set_name("bbb") - Added global method `autoname_elements()` to call `set_name()` on all locally defined `ParserElements` that haven't been explicitly named using `set_name()`, using their local variable name. Useful for setting names on multiple elements when creating a railroad diagram. a = pp.Literal("a") b = pp.Literal("b").set_name("bbb") pp.autoname_elements() `a` will get named "a", while `b` will keep its name "bbb". Signed-off-by: Adolf Belka Reviewed-by: Peter Müller --- config/rootfiles/packages/python3-pyparsing | 31 +++++++++++++++------ lfs/python3-pyparsing | 6 ++-- 2 files changed, 25 insertions(+), 12 deletions(-) diff --git a/config/rootfiles/packages/python3-pyparsing b/config/rootfiles/packages/python3-pyparsing index 3106ff1b6..3dbfdcdaf 100644 --- a/config/rootfiles/packages/python3-pyparsing +++ b/config/rootfiles/packages/python3-pyparsing @@ -1,9 +1,22 @@ -#usr/lib/python3.8/site-packages/easy-install.pth -#usr/lib/python3.8/site-packages/pyparsing-2.4.7-py3.8.egg -#usr/lib/python3.8/site-packages/pyparsing-2.4.7-py3.8.egg/EGG-INFO -#usr/lib/python3.8/site-packages/pyparsing-2.4.7-py3.8.egg/EGG-INFO/PKG-INFO -#usr/lib/python3.8/site-packages/pyparsing-2.4.7-py3.8.egg/EGG-INFO/SOURCES.txt -#usr/lib/python3.8/site-packages/pyparsing-2.4.7-py3.8.egg/EGG-INFO/dependency_links.txt -#usr/lib/python3.8/site-packages/pyparsing-2.4.7-py3.8.egg/EGG-INFO/not-zip-safe -#usr/lib/python3.8/site-packages/pyparsing-2.4.7-py3.8.egg/EGG-INFO/top_level.txt -usr/lib/python3.8/site-packages/pyparsing-2.4.7-py3.8.egg/pyparsing.py +#usr/lib/python3.10/site-packages/pyparsing-3.0.6-py3.10.egg +#usr/lib/python3.10/site-packages/pyparsing-3.0.6-py3.10.egg/EGG-INFO +#usr/lib/python3.10/site-packages/pyparsing-3.0.6-py3.10.egg/EGG-INFO/PKG-INFO +#usr/lib/python3.10/site-packages/pyparsing-3.0.6-py3.10.egg/EGG-INFO/SOURCES.txt +#usr/lib/python3.10/site-packages/pyparsing-3.0.6-py3.10.egg/EGG-INFO/dependency_links.txt +#usr/lib/python3.10/site-packages/pyparsing-3.0.6-py3.10.egg/EGG-INFO/not-zip-safe +#usr/lib/python3.10/site-packages/pyparsing-3.0.6-py3.10.egg/EGG-INFO/requires.txt +#usr/lib/python3.10/site-packages/pyparsing-3.0.6-py3.10.egg/EGG-INFO/top_level.txt +#usr/lib/python3.10/site-packages/pyparsing-3.0.6-py3.10.egg/pyparsing +usr/lib/python3.10/site-packages/pyparsing-3.0.6-py3.10.egg/pyparsing/__init__.py +usr/lib/python3.10/site-packages/pyparsing-3.0.6-py3.10.egg/pyparsing/actions.py +usr/lib/python3.10/site-packages/pyparsing-3.0.6-py3.10.egg/pyparsing/common.py +usr/lib/python3.10/site-packages/pyparsing-3.0.6-py3.10.egg/pyparsing/core.py +#usr/lib/python3.10/site-packages/pyparsing-3.0.6-py3.10.egg/pyparsing/diagram +usr/lib/python3.10/site-packages/pyparsing-3.0.6-py3.10.egg/pyparsing/diagram/__init__.py +usr/lib/python3.10/site-packages/pyparsing-3.0.6-py3.10.egg/pyparsing/diagram/template.jinja2 +usr/lib/python3.10/site-packages/pyparsing-3.0.6-py3.10.egg/pyparsing/exceptions.py +usr/lib/python3.10/site-packages/pyparsing-3.0.6-py3.10.egg/pyparsing/helpers.py +usr/lib/python3.10/site-packages/pyparsing-3.0.6-py3.10.egg/pyparsing/results.py +usr/lib/python3.10/site-packages/pyparsing-3.0.6-py3.10.egg/pyparsing/testing.py +usr/lib/python3.10/site-packages/pyparsing-3.0.6-py3.10.egg/pyparsing/unicode.py +usr/lib/python3.10/site-packages/pyparsing-3.0.6-py3.10.egg/pyparsing/util.py diff --git a/lfs/python3-pyparsing b/lfs/python3-pyparsing index 45e960a2b..345f311e9 100644 --- a/lfs/python3-pyparsing +++ b/lfs/python3-pyparsing @@ -24,7 +24,7 @@ include Config -VER = 2.4.7 +VER = 3.0.6 THISAPP = pyparsing-$(VER) DL_FILE = $(THISAPP).tar.gz @@ -32,7 +32,7 @@ DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP) PROG = python3-pyparsing -PAK_VER = 3 +PAK_VER = 4 DEPS = @@ -44,7 +44,7 @@ objects = $(DL_FILE) $(DL_FILE) = $(DL_FROM)/$(DL_FILE) -$(DL_FILE)_MD5 = f0953e47a0112f7a65aec2305ffdf7b4 +$(DL_FILE)_MD5 = 2f5fad6c8e99ac2562ab08ad9e45b195 install : $(TARGET)