pkgsrc-Changes archive

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

CVS commit: pkgsrc/net/py-pamqp



Module Name:    pkgsrc
Committed By:   adam
Date:           Tue May 12 08:13:33 UTC 2026

Modified Files:
        pkgsrc/net/py-pamqp: Makefile PLIST distinfo

Log Message:
py-pamqp: updated to 4.0.0

4.0.0

Breaking Changes

Python 3.11+ required (previously 3.7+)
Removed explicit __annotations__ class variable from all command classes and base classes. Python manages __annotations__ automatically; the explicit declarations conflicted with 
object.__annotations__. Code that introspected MyCommand.__annotations__ directly may need updating.

Bug Fixes

Fix Basic.Reject(requeue=False) being coerced to True — The codegen emitted self.requeue = requeue or True which made it impossible to reject without requeuing. Now uses a proper ternary to preserve 
explicit False.
Fix Exchange.Declare(internal=True) raising ValueError — The internal flag was incorrectly treated as a deprecated field. It is a legitimate AMQP flag used for internal exchanges and RabbitMQ tracing.
Fix encoding of negative byte-range integers in field tables — table_integer routed values in -128..127 to octet() which uses unsigned byte format (struct 'B'), causing struct.error for negative 
values like -1. Now uses signed byte format (struct '>b'). This affected x-priority, x-delivery-limit, and any other table argument using small negative integers.
Fix codegen domain regex for exchange/queue names — The codegen now extends the AMQP spec regex to include characters RabbitMQ allows in practice (@, #, ,, /, +, space), and fixes a bug where the 
trailing-comma replacement corrupted regex patterns containing commas.

Improvements

Full type checking with mypy and basedpyright — Both type checkers now pass cleanly and are enforced in pre-commit hooks and CI.
typing.ClassVar annotations on all class-level attributes across base classes, command classes, body, header, and heartbeat modules. Codegen updated to emit these correctly.
Explicit submodule imports in __init__.py to satisfy basedpyright's reportUnsupportedDunderAll check.
Boolean default assignment fix in codegen — Boolean fields with defaults now use ternary expressions (x if x is not None else default) instead of x or default, which correctly preserves False values.


To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 pkgsrc/net/py-pamqp/Makefile
cvs rdiff -u -r1.4 -r1.5 pkgsrc/net/py-pamqp/PLIST
cvs rdiff -u -r1.5 -r1.6 pkgsrc/net/py-pamqp/distinfo

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: pkgsrc/net/py-pamqp/Makefile
diff -u pkgsrc/net/py-pamqp/Makefile:1.6 pkgsrc/net/py-pamqp/Makefile:1.7
--- pkgsrc/net/py-pamqp/Makefile:1.6    Tue Apr 15 09:51:03 2025
+++ pkgsrc/net/py-pamqp/Makefile        Tue May 12 08:13:33 2026
@@ -1,8 +1,7 @@
-# $NetBSD: Makefile,v 1.6 2025/04/15 09:51:03 adam Exp $
+# $NetBSD: Makefile,v 1.7 2026/05/12 08:13:33 adam Exp $
 
-DISTNAME=      pamqp-3.3.0
+DISTNAME=      pamqp-4.0.0
 PKGNAME=       ${PYPKGPREFIX}-${DISTNAME}
-PKGREVISION=   1
 CATEGORIES=    net python
 MASTER_SITES=  ${MASTER_SITE_PYPI:=p/pamqp/}
 
@@ -11,9 +10,11 @@ HOMEPAGE=    https://pamqp.readthedocs.io/
 COMMENT=       RabbitMQ Focused AMQP low-level library
 LICENSE=       modified-bsd
 
-TOOL_DEPENDS+= ${PYPKGPREFIX}-setuptools>=78:../../devel/py-setuptools
+TOOL_DEPENDS+= ${PYPKGPREFIX}-hatchling>0:../../devel/py-hatchling
 
 USE_LANGUAGES= # none
 
+PYTHON_VERSIONS_INCOMPATIBLE=  310
+
 .include "../../lang/python/wheel.mk"
 .include "../../mk/bsd.pkg.mk"

Index: pkgsrc/net/py-pamqp/PLIST
diff -u pkgsrc/net/py-pamqp/PLIST:1.4 pkgsrc/net/py-pamqp/PLIST:1.5
--- pkgsrc/net/py-pamqp/PLIST:1.4       Tue Apr 15 09:51:03 2025
+++ pkgsrc/net/py-pamqp/PLIST   Tue May 12 08:13:33 2026
@@ -1,10 +1,8 @@
-@comment $NetBSD: PLIST,v 1.4 2025/04/15 09:51:03 adam Exp $
+@comment $NetBSD: PLIST,v 1.5 2026/05/12 08:13:33 adam Exp $
 ${PYSITELIB}/${WHEEL_INFODIR}/METADATA
 ${PYSITELIB}/${WHEEL_INFODIR}/RECORD
 ${PYSITELIB}/${WHEEL_INFODIR}/WHEEL
 ${PYSITELIB}/${WHEEL_INFODIR}/licenses/LICENSE
-${PYSITELIB}/${WHEEL_INFODIR}/top_level.txt
-${PYSITELIB}/${WHEEL_INFODIR}/zip-safe
 ${PYSITELIB}/pamqp/__init__.py
 ${PYSITELIB}/pamqp/__init__.pyc
 ${PYSITELIB}/pamqp/__init__.pyo

Index: pkgsrc/net/py-pamqp/distinfo
diff -u pkgsrc/net/py-pamqp/distinfo:1.5 pkgsrc/net/py-pamqp/distinfo:1.6
--- pkgsrc/net/py-pamqp/distinfo:1.5    Thu Jan 25 17:13:45 2024
+++ pkgsrc/net/py-pamqp/distinfo        Tue May 12 08:13:33 2026
@@ -1,5 +1,5 @@
-$NetBSD: distinfo,v 1.5 2024/01/25 17:13:45 adam Exp $
+$NetBSD: distinfo,v 1.6 2026/05/12 08:13:33 adam Exp $
 
-BLAKE2s (pamqp-3.3.0.tar.gz) = 6bf066b82d9e05ce6607c04a1e052dd0dbfdc8059a8d9770c426b824ffa658ae
-SHA512 (pamqp-3.3.0.tar.gz) = b07d58d8e199878692989dc53c80eaeb5918af0fff45bf280c7771410cd7d289bb57e60a1603037ebc9af92f7bfbbd443905665b2ea12e38b6180e9ecc9209e0
-Size (pamqp-3.3.0.tar.gz) = 30993 bytes
+BLAKE2s (pamqp-4.0.0.tar.gz) = 9c25c2f2826edcbebaba8312c0c4f0307d8494087d2def9fc1723435d721f952
+SHA512 (pamqp-4.0.0.tar.gz) = 0a06613f309672a6d39e4629c215c5cebba36d614d1c812b27c6c70ea32d4a7ad6eeeb19d677ab6eab9b0d1135d0402e24fde27d7eefee5195788ca7065c8c31
+Size (pamqp-4.0.0.tar.gz) = 130078 bytes



Home | Main Index | Thread Index | Old Index