[02/15] python3-attrs: Update to version 23.2.0
Commit Message
- 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(-)
@@ -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
@@ -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)