[02/15] python3-attrs: Update to version 23.2.0

Message ID 20240129134120.3269534-2-adolf.belka@ipfire.org
State Staged
Commit 2889d50f1c43834829d08950681747d1c54cab11
Headers
Series [01/15] borgbackup: Update to version 1.2.7 |

Commit Message

Adolf Belka Jan. 29, 2024, 1:41 p.m. UTC
  - Update from version 22.1.0 to 23.2.0
- Update of rootfile
- setup.py is no longer available so build to use pyproject.toml was used.
- A new series of build dependencies are also now required for python3-attrs
- Changelog
    23.2.0
	Changes
	    The type annotation for attrs.resolve_types() is now correct. #1141
	    Type stubs now use typing.dataclass_transform to decorate dataclass-like
	     decorators, instead of the non-standard __dataclass_transform__ special
	     form, which is only supported by Pyright. #1158
	    Fixed serialization of namedtuple fields using attrs.asdict/astuple() with
	     retain_collection_types=True. #1165
	    attrs.AttrsInstance is now a typing.Protocol in both type hints and code.
	     This allows you to subclass it along with another Protocol. #1172
	    If attrs detects that __attrs_pre_init__ accepts more than just self, it
	     will call it with the same arguments as __init__ was called. This allows
	     you to, for example, pass arguments to super().__init__(). #1187
	    Slotted classes now transform functools.cached_property decorated methods to
	     support equivalent semantics. #1200
	    Added class_body argument to attrs.make_class() to provide additional
	     attributes for newly created classes. It is, for example, now possible to
	     attach methods. #1203
    23.1.0
	Backwards-incompatible Changes
	    Python 3.6 has been dropped and packaging switched to static package data
	     using Hatch. #993
	Deprecations
	    The support for zope-interface via the attrs.validators.provides validator
	     is now deprecated and will be removed in, or after, April 2024.
	    The presence of a C-based package in our developement dependencies has
	     caused headaches and we’re not under the impression it’s used a lot.
	    Let us know if you’re using it and we might publish it as a separate
	     package. #1120
	Changes
	    attrs.filters.exclude() and attrs.filters.include() now support the passing
	     of attribute names as strings. #1068
	    attrs.has() and attrs.fields() now handle generic classes correctly. #1079
	    Fix frozen exception classes when raised within e.g.
	     contextlib.contextmanager, which mutates their __traceback__ attributes. #1081
	    @frozen now works with type checkers that implement PEP-681 (ex. pyright).
	     #1084
	    Restored ability to unpickle instances pickled before 22.2.0. #1085
	    attrs.asdict()’s and attrs.astuple()’s type stubs now accept the
	     attrs.AttrsInstance protocol. #1090
	    Fix slots class cellvar updating closure in CPython 3.8+ even when
	     __code__ introspection is unavailable. #1092
	    attrs.resolve_types() can now pass include_extras to typing.get_type_hints()
	     on Python 3.9+, and does so by default. #1099
	    Added instructions for pull request workflow to CONTRIBUTING.md. #1105
	    Added type parameter to attrs.field() function for use with attrs.make_class().
	    Please note that type checkers ignore type metadata passed into
	     make_class(), but it can be useful if you’re wrapping attrs. #1107
	    It is now possible for attrs.evolve() (and attr.evolve()) to change fields
	     named inst if the instance is passed as a positional argument.
	    Passing the instance using the inst keyword argument is now deprecated and
	     will be removed in, or after, April 2024. #1117
	    attrs.validators.optional() now also accepts a tuple of validators
	     (in addition to lists of validators). #1122
    22.2.0
	Backwards-incompatible Changes
	    Python 3.5 is not supported anymore. #988
	Deprecations
	    Python 3.6 is now deprecated and support will be removed in the next
	     release. #1017
	Changes
	    attrs.field() now supports an alias option for explicit __init__ argument
	     names.
	    Get __init__ signatures matching any taste, peculiar or plain! The PEP 681
	     compatible alias option can be use to override private attribute name
	     mangling, or add other arbitrary field argument name overrides. #950
	    attrs.NOTHING is now an enum value, making it possible to use with e.g.
	     typing.Literal. #983
	    Added missing re-import of attr.AttrsInstance to the attrs namespace. #987
	    Fix slight performance regression in classes with custom __setattr__ and
	     speedup even more. #991
	    Class-creation performance improvements by switching performance-sensitive
	     templating operations to f-strings.
	    You can expect an improvement of about 5% – even for very simple classes. #995
	    attrs.has() is now a TypeGuard for AttrsInstance. That means that type
	     checkers know a class is an instance of an attrs class if you check it
	     using attrs.has() (or attr.has()) first. #997
	    Made attrs.AttrsInstance stub available at runtime and fixed type errors
	     related to the usage of attrs.AttrsInstance in Pyright. #999
	    On Python 3.10 and later, call abc.update_abstractmethods() on dict classes
	     after creation. This improves the detection of abstractness. #1001
	    attrs’s pickling methods now use dicts instead of tuples. That is safer and
	     more robust across different versions of a class. #1009
	    Added attrs.validators.not_(wrapped_validator) to logically invert
	     wrapped_validator by accepting only values where wrapped_validator rejects
	     the value with a ValueError or TypeError (by default, exception types
	     configurable). #1010
	    The type stubs for attrs.cmp_using() now have default values. #1027
	    To conform with PEP 681, attr.s() and attrs.define() now accept unsafe_hash
	     in addition to hash. #1065

Tested-by: Adolf Belka <adolf.belka@ipfire.org>
Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
---
 config/rootfiles/packages/python3-attrs | 17 ++++++++++-------
 lfs/python3-attrs                       | 21 +++++++++++++++------
 2 files changed, 25 insertions(+), 13 deletions(-)
  

Patch

diff --git a/config/rootfiles/packages/python3-attrs b/config/rootfiles/packages/python3-attrs
index b84c91ba4..f65c80b40 100644
--- a/config/rootfiles/packages/python3-attrs
+++ b/config/rootfiles/packages/python3-attrs
@@ -8,6 +8,7 @@  usr/lib/python3.10/site-packages/attr/_config.py
 usr/lib/python3.10/site-packages/attr/_funcs.py
 usr/lib/python3.10/site-packages/attr/_make.py
 usr/lib/python3.10/site-packages/attr/_next_gen.py
+usr/lib/python3.10/site-packages/attr/_typing_compat.pyi
 usr/lib/python3.10/site-packages/attr/_version_info.py
 usr/lib/python3.10/site-packages/attr/_version_info.pyi
 usr/lib/python3.10/site-packages/attr/converters.py
@@ -22,13 +23,15 @@  usr/lib/python3.10/site-packages/attr/setters.pyi
 usr/lib/python3.10/site-packages/attr/validators.py
 usr/lib/python3.10/site-packages/attr/validators.pyi
 #usr/lib/python3.10/site-packages/attrs
-#usr/lib/python3.10/site-packages/attrs-22.1.0-py3.10.egg-info
-#usr/lib/python3.10/site-packages/attrs-22.1.0-py3.10.egg-info/PKG-INFO
-#usr/lib/python3.10/site-packages/attrs-22.1.0-py3.10.egg-info/SOURCES.txt
-#usr/lib/python3.10/site-packages/attrs-22.1.0-py3.10.egg-info/dependency_links.txt
-#usr/lib/python3.10/site-packages/attrs-22.1.0-py3.10.egg-info/not-zip-safe
-#usr/lib/python3.10/site-packages/attrs-22.1.0-py3.10.egg-info/requires.txt
-#usr/lib/python3.10/site-packages/attrs-22.1.0-py3.10.egg-info/top_level.txt
+#usr/lib/python3.10/site-packages/attrs-23.2.0.dist-info
+#usr/lib/python3.10/site-packages/attrs-23.2.0.dist-info/INSTALLER
+#usr/lib/python3.10/site-packages/attrs-23.2.0.dist-info/METADATA
+#usr/lib/python3.10/site-packages/attrs-23.2.0.dist-info/RECORD
+#usr/lib/python3.10/site-packages/attrs-23.2.0.dist-info/REQUESTED
+#usr/lib/python3.10/site-packages/attrs-23.2.0.dist-info/WHEEL
+#usr/lib/python3.10/site-packages/attrs-23.2.0.dist-info/direct_url.json
+#usr/lib/python3.10/site-packages/attrs-23.2.0.dist-info/licenses
+#usr/lib/python3.10/site-packages/attrs-23.2.0.dist-info/licenses/LICENSE
 usr/lib/python3.10/site-packages/attrs/__init__.py
 usr/lib/python3.10/site-packages/attrs/__init__.pyi
 usr/lib/python3.10/site-packages/attrs/converters.py
diff --git a/lfs/python3-attrs b/lfs/python3-attrs
index 9ac72e14a..03a809a27 100644
--- a/lfs/python3-attrs
+++ b/lfs/python3-attrs
@@ -1,7 +1,7 @@ 
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007-2020  IPFire Team  <info@ipfire.org>                     #
+# Copyright (C) 2007-2024  IPFire Team  <info@ipfire.org>                     #
 #                                                                             #
 # This program is free software: you can redistribute it and/or modify        #
 # it under the terms of the GNU General Public License as published by        #
@@ -24,7 +24,7 @@ 
 
 include Config
 
-VER        = 22.1.0
+VER        = 23.2.0
 SUMMARY    = Classes Without Boilerplate
 
 THISAPP    = attrs-$(VER)
@@ -33,7 +33,7 @@  DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 PROG       = python3-attrs
-PAK_VER    = 2
+PAK_VER    = 3
 
 DEPS       = 
 
@@ -47,7 +47,7 @@  objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_BLAKE2 = 5da48b3cbcd99cdcc531a0859be264a4d209778caa53bd95480a103549b816c8a805079e1555fce38eb33f8bd3d5b7bfa6f814ef2b60dc405bda6686c7746f0b
+$(DL_FILE)_BLAKE2 = a06f4f17a81fc173c37661bcf518367a1cdc9a333d2783bd2cd1ac5f0a72bd20ec1afdd964e10255624bcfa027e3a152375cd21472c177428d29bd06b29984a1
 
 install : $(TARGET)
 
@@ -80,7 +80,16 @@  $(subst %,%_BLAKE2,$(objects)) :
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
 	@$(PREBUILD)
 	@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
-	cd $(DIR_APP) && python3 setup.py build
-	cd $(DIR_APP) && python3 setup.py install --root=/
+	cd $(DIR_APP) && python3 -m build \
+				--no-isolation \
+				--wheel
+	cd $(DIR_APP) && pip3 install \
+				--no-build-isolation \
+				--root="/" \
+				--no-deps \
+				--ignore-installed \
+				dist/*.whl
+	# remove temp build files in /root/.cache from rootfile
+	cd $(DIR_APP) && rm -R /root/.cache/
 	@rm -rf $(DIR_APP)
 	@$(POSTBUILD)