pkgsrc-WIP-changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
py-ksef2: Python API for KSeF 2.0 py-signxml: XML Signature and XAdES in Python
Module Name: pkgsrc-wip
Committed By: Bartosz Kuzma <bartosz.kuzma%gmail.com@localhost>
Pushed By: bartosz.kuzma
Date: Sat Feb 21 10:30:23 2026 +0100
Changeset: 6a6c28287bdc7b8cc447a06e4c8d5fd2246d2a0f
Added Files:
py-ksef2/DESCR
py-ksef2/Makefile
py-ksef2/PLIST
py-ksef2/distinfo
py-signxml/DESCR
py-signxml/Makefile
py-signxml/PLIST
py-signxml/distinfo
py-signxml/patches/patch-pyproject.toml
Log Message:
py-ksef2: Python API for KSeF 2.0
py-signxml: XML Signature and XAdES in Python
To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=6a6c28287bdc7b8cc447a06e4c8d5fd2246d2a0f
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
diffstat:
py-ksef2/DESCR | 1 +
py-ksef2/Makefile | 27 +++
py-ksef2/PLIST | 291 ++++++++++++++++++++++++++++++++
py-ksef2/distinfo | 5 +
py-signxml/DESCR | 6 +
py-signxml/Makefile | 25 +++
py-signxml/PLIST | 55 ++++++
py-signxml/distinfo | 6 +
py-signxml/patches/patch-pyproject.toml | 13 ++
9 files changed, 429 insertions(+)
diffs:
diff --git a/py-ksef2/DESCR b/py-ksef2/DESCR
new file mode 100644
index 0000000000..c2c2ec4ad8
--- /dev/null
+++ b/py-ksef2/DESCR
@@ -0,0 +1 @@
+Python SDK and Tools for Poland's KSeF (Krajowy System e-Faktur) v2.0 API
diff --git a/py-ksef2/Makefile b/py-ksef2/Makefile
new file mode 100644
index 0000000000..6d28c916b2
--- /dev/null
+++ b/py-ksef2/Makefile
@@ -0,0 +1,27 @@
+# $NetBSD$
+
+DISTNAME= ksef2-0.7.1
+PKGNAME= ${PYPKGPREFIX}-${DISTNAME}
+CATEGORIES= python # TODO: add primary category
+MASTER_SITES= ${MASTER_SITE_GITHUB:=artpods56/}
+GITHUB_TAG= refs/tags/v${PKGVERSION_NOREV}
+
+MAINTAINER= bartosz.kuzma%gmail.com@localhost
+HOMEPAGE= https://github.com/artpods56/ksef2/
+COMMENT= Python SDK and Tools for Poland's KSeF v2.0 API
+LICENSE= mit
+
+WRKSRC= ${WRKDIR}/${DISTNAME}
+
+DEPENDS+= ${PYPKGPREFIX}-cryptography>=44.0.0:../../security/py-cryptography
+DEPENDS+= ${PYPKGPREFIX}-dotenv>=0.9.9:../../devel/py-dotenv
+DEPENDS+= ${PYPKGPREFIX}-httpx>=0.28.1:../../www/py-httpx
+DEPENDS+= ${PYPKGPREFIX}-pydantic>=2.12.5:../../devel/py-pydantic
+DEPENDS+= ${PYPKGPREFIX}-requests>=2.32.5:../../devel/py-requests
+DEPENDS+= ${PYPKGPREFIX}-signxml>=4.0:../../wip/py-signxml
+DEPENDS+= ${PYPKGPREFIX}-structlog>=25.5.0:../../sysutils/py-structlog
+
+USE_LANGUAGES= # none
+
+.include "../../lang/python/wheel.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/py-ksef2/PLIST b/py-ksef2/PLIST
new file mode 100644
index 0000000000..6496674602
--- /dev/null
+++ b/py-ksef2/PLIST
@@ -0,0 +1,291 @@
+@comment $NetBSD$
+${PYSITELIB}/${WHEEL_INFODIR}/METADATA
+${PYSITELIB}/${WHEEL_INFODIR}/RECORD
+${PYSITELIB}/${WHEEL_INFODIR}/WHEEL
+${PYSITELIB}/${WHEEL_INFODIR}/licenses/LICENSE.md
+${PYSITELIB}/ksef2/__init__.py
+${PYSITELIB}/ksef2/__init__.pyc
+${PYSITELIB}/ksef2/__init__.pyo
+${PYSITELIB}/ksef2/_openapi.py
+${PYSITELIB}/ksef2/_openapi.pyc
+${PYSITELIB}/ksef2/_openapi.pyo
+${PYSITELIB}/ksef2/clients/__init__.py
+${PYSITELIB}/ksef2/clients/__init__.pyc
+${PYSITELIB}/ksef2/clients/__init__.pyo
+${PYSITELIB}/ksef2/clients/authenticated.py
+${PYSITELIB}/ksef2/clients/authenticated.pyc
+${PYSITELIB}/ksef2/clients/authenticated.pyo
+${PYSITELIB}/ksef2/clients/base.py
+${PYSITELIB}/ksef2/clients/base.pyc
+${PYSITELIB}/ksef2/clients/base.pyo
+${PYSITELIB}/ksef2/clients/batch.py
+${PYSITELIB}/ksef2/clients/batch.pyc
+${PYSITELIB}/ksef2/clients/batch.pyo
+${PYSITELIB}/ksef2/clients/encryption.py
+${PYSITELIB}/ksef2/clients/encryption.pyc
+${PYSITELIB}/ksef2/clients/encryption.pyo
+${PYSITELIB}/ksef2/clients/session.py
+${PYSITELIB}/ksef2/clients/session.pyc
+${PYSITELIB}/ksef2/clients/session.pyo
+${PYSITELIB}/ksef2/config.py
+${PYSITELIB}/ksef2/config.pyc
+${PYSITELIB}/ksef2/config.pyo
+${PYSITELIB}/ksef2/core/__init__.py
+${PYSITELIB}/ksef2/core/__init__.pyc
+${PYSITELIB}/ksef2/core/__init__.pyo
+${PYSITELIB}/ksef2/core/codecs.py
+${PYSITELIB}/ksef2/core/codecs.pyc
+${PYSITELIB}/ksef2/core/codecs.pyo
+${PYSITELIB}/ksef2/core/crypto.py
+${PYSITELIB}/ksef2/core/crypto.pyc
+${PYSITELIB}/ksef2/core/crypto.pyo
+${PYSITELIB}/ksef2/core/exceptions.py
+${PYSITELIB}/ksef2/core/exceptions.pyc
+${PYSITELIB}/ksef2/core/exceptions.pyo
+${PYSITELIB}/ksef2/core/headers.py
+${PYSITELIB}/ksef2/core/headers.pyc
+${PYSITELIB}/ksef2/core/headers.pyo
+${PYSITELIB}/ksef2/core/http.py
+${PYSITELIB}/ksef2/core/http.pyc
+${PYSITELIB}/ksef2/core/http.pyo
+${PYSITELIB}/ksef2/core/invoices.py
+${PYSITELIB}/ksef2/core/invoices.pyc
+${PYSITELIB}/ksef2/core/invoices.pyo
+${PYSITELIB}/ksef2/core/middleware.py
+${PYSITELIB}/ksef2/core/middleware.pyc
+${PYSITELIB}/ksef2/core/middleware.pyo
+${PYSITELIB}/ksef2/core/protocols.py
+${PYSITELIB}/ksef2/core/protocols.pyc
+${PYSITELIB}/ksef2/core/protocols.pyo
+${PYSITELIB}/ksef2/core/stores.py
+${PYSITELIB}/ksef2/core/stores.pyc
+${PYSITELIB}/ksef2/core/stores.pyo
+${PYSITELIB}/ksef2/core/tools.py
+${PYSITELIB}/ksef2/core/tools.pyc
+${PYSITELIB}/ksef2/core/tools.pyo
+${PYSITELIB}/ksef2/core/xades.py
+${PYSITELIB}/ksef2/core/xades.pyc
+${PYSITELIB}/ksef2/core/xades.pyo
+${PYSITELIB}/ksef2/domain/__init__.py
+${PYSITELIB}/ksef2/domain/__init__.pyc
+${PYSITELIB}/ksef2/domain/__init__.pyo
+${PYSITELIB}/ksef2/domain/models/__init__.py
+${PYSITELIB}/ksef2/domain/models/__init__.pyc
+${PYSITELIB}/ksef2/domain/models/__init__.pyo
+${PYSITELIB}/ksef2/domain/models/_deprecated/__init__.py
+${PYSITELIB}/ksef2/domain/models/_deprecated/__init__.pyc
+${PYSITELIB}/ksef2/domain/models/_deprecated/__init__.pyo
+${PYSITELIB}/ksef2/domain/models/_deprecated/_base.py
+${PYSITELIB}/ksef2/domain/models/_deprecated/_base.pyc
+${PYSITELIB}/ksef2/domain/models/_deprecated/_base.pyo
+${PYSITELIB}/ksef2/domain/models/_deprecated/_environments.py
+${PYSITELIB}/ksef2/domain/models/_deprecated/_environments.pyc
+${PYSITELIB}/ksef2/domain/models/_deprecated/_environments.pyo
+${PYSITELIB}/ksef2/domain/models/_deprecated/auth.py
+${PYSITELIB}/ksef2/domain/models/_deprecated/auth.pyc
+${PYSITELIB}/ksef2/domain/models/_deprecated/auth.pyo
+${PYSITELIB}/ksef2/domain/models/_deprecated/common.py
+${PYSITELIB}/ksef2/domain/models/_deprecated/common.pyc
+${PYSITELIB}/ksef2/domain/models/_deprecated/common.pyo
+${PYSITELIB}/ksef2/domain/models/_deprecated/exports.py
+${PYSITELIB}/ksef2/domain/models/_deprecated/exports.pyc
+${PYSITELIB}/ksef2/domain/models/_deprecated/exports.pyo
+${PYSITELIB}/ksef2/domain/models/_deprecated/interfaces.py
+${PYSITELIB}/ksef2/domain/models/_deprecated/interfaces.pyc
+${PYSITELIB}/ksef2/domain/models/_deprecated/interfaces.pyo
+${PYSITELIB}/ksef2/domain/models/_deprecated/invoices.py
+${PYSITELIB}/ksef2/domain/models/_deprecated/invoices.pyc
+${PYSITELIB}/ksef2/domain/models/_deprecated/invoices.pyo
+${PYSITELIB}/ksef2/domain/models/_deprecated/limits.py
+${PYSITELIB}/ksef2/domain/models/_deprecated/limits.pyc
+${PYSITELIB}/ksef2/domain/models/_deprecated/limits.pyo
+${PYSITELIB}/ksef2/domain/models/_deprecated/sessions.py
+${PYSITELIB}/ksef2/domain/models/_deprecated/sessions.pyc
+${PYSITELIB}/ksef2/domain/models/_deprecated/sessions.pyo
+${PYSITELIB}/ksef2/domain/models/_deprecated/testdata.py
+${PYSITELIB}/ksef2/domain/models/_deprecated/testdata.pyc
+${PYSITELIB}/ksef2/domain/models/_deprecated/testdata.pyo
+${PYSITELIB}/ksef2/domain/models/_deprecated/tokens.py
+${PYSITELIB}/ksef2/domain/models/_deprecated/tokens.pyc
+${PYSITELIB}/ksef2/domain/models/_deprecated/tokens.pyo
+${PYSITELIB}/ksef2/domain/models/auth.py
+${PYSITELIB}/ksef2/domain/models/auth.pyc
+${PYSITELIB}/ksef2/domain/models/auth.pyo
+${PYSITELIB}/ksef2/domain/models/base.py
+${PYSITELIB}/ksef2/domain/models/base.pyc
+${PYSITELIB}/ksef2/domain/models/base.pyo
+${PYSITELIB}/ksef2/domain/models/batch.py
+${PYSITELIB}/ksef2/domain/models/batch.pyc
+${PYSITELIB}/ksef2/domain/models/batch.pyo
+${PYSITELIB}/ksef2/domain/models/certificates.py
+${PYSITELIB}/ksef2/domain/models/certificates.pyc
+${PYSITELIB}/ksef2/domain/models/certificates.pyo
+${PYSITELIB}/ksef2/domain/models/encryption.py
+${PYSITELIB}/ksef2/domain/models/encryption.pyc
+${PYSITELIB}/ksef2/domain/models/encryption.pyo
+${PYSITELIB}/ksef2/domain/models/invoices.py
+${PYSITELIB}/ksef2/domain/models/invoices.pyc
+${PYSITELIB}/ksef2/domain/models/invoices.pyo
+${PYSITELIB}/ksef2/domain/models/limits.py
+${PYSITELIB}/ksef2/domain/models/limits.pyc
+${PYSITELIB}/ksef2/domain/models/limits.pyo
+${PYSITELIB}/ksef2/domain/models/pagination.py
+${PYSITELIB}/ksef2/domain/models/pagination.pyc
+${PYSITELIB}/ksef2/domain/models/pagination.pyo
+${PYSITELIB}/ksef2/domain/models/peppol.py
+${PYSITELIB}/ksef2/domain/models/peppol.pyc
+${PYSITELIB}/ksef2/domain/models/peppol.pyo
+${PYSITELIB}/ksef2/domain/models/permissions.py
+${PYSITELIB}/ksef2/domain/models/permissions.pyc
+${PYSITELIB}/ksef2/domain/models/permissions.pyo
+${PYSITELIB}/ksef2/domain/models/session.py
+${PYSITELIB}/ksef2/domain/models/session.pyc
+${PYSITELIB}/ksef2/domain/models/session.pyo
+${PYSITELIB}/ksef2/domain/models/testdata.py
+${PYSITELIB}/ksef2/domain/models/testdata.pyc
+${PYSITELIB}/ksef2/domain/models/testdata.pyo
+${PYSITELIB}/ksef2/domain/models/tokens.py
+${PYSITELIB}/ksef2/domain/models/tokens.pyc
+${PYSITELIB}/ksef2/domain/models/tokens.pyo
+${PYSITELIB}/ksef2/endpoints/__init__.py
+${PYSITELIB}/ksef2/endpoints/__init__.pyc
+${PYSITELIB}/ksef2/endpoints/__init__.pyo
+${PYSITELIB}/ksef2/endpoints/auth.py
+${PYSITELIB}/ksef2/endpoints/auth.pyc
+${PYSITELIB}/ksef2/endpoints/auth.pyo
+${PYSITELIB}/ksef2/endpoints/certificates.py
+${PYSITELIB}/ksef2/endpoints/certificates.pyc
+${PYSITELIB}/ksef2/endpoints/certificates.pyo
+${PYSITELIB}/ksef2/endpoints/encryption.py
+${PYSITELIB}/ksef2/endpoints/encryption.pyc
+${PYSITELIB}/ksef2/endpoints/encryption.pyo
+${PYSITELIB}/ksef2/endpoints/invoices.py
+${PYSITELIB}/ksef2/endpoints/invoices.pyc
+${PYSITELIB}/ksef2/endpoints/invoices.pyo
+${PYSITELIB}/ksef2/endpoints/limits.py
+${PYSITELIB}/ksef2/endpoints/limits.pyc
+${PYSITELIB}/ksef2/endpoints/limits.pyo
+${PYSITELIB}/ksef2/endpoints/peppol.py
+${PYSITELIB}/ksef2/endpoints/peppol.pyc
+${PYSITELIB}/ksef2/endpoints/peppol.pyo
+${PYSITELIB}/ksef2/endpoints/permissions.py
+${PYSITELIB}/ksef2/endpoints/permissions.pyc
+${PYSITELIB}/ksef2/endpoints/permissions.pyo
+${PYSITELIB}/ksef2/endpoints/session.py
+${PYSITELIB}/ksef2/endpoints/session.pyc
+${PYSITELIB}/ksef2/endpoints/session.pyo
+${PYSITELIB}/ksef2/endpoints/testdata.py
+${PYSITELIB}/ksef2/endpoints/testdata.pyc
+${PYSITELIB}/ksef2/endpoints/testdata.pyo
+${PYSITELIB}/ksef2/endpoints/tokens.py
+${PYSITELIB}/ksef2/endpoints/tokens.pyc
+${PYSITELIB}/ksef2/endpoints/tokens.pyo
+${PYSITELIB}/ksef2/infra/__init__.py
+${PYSITELIB}/ksef2/infra/__init__.pyc
+${PYSITELIB}/ksef2/infra/__init__.pyo
+${PYSITELIB}/ksef2/infra/mappers/__init__.py
+${PYSITELIB}/ksef2/infra/mappers/__init__.pyc
+${PYSITELIB}/ksef2/infra/mappers/__init__.pyo
+${PYSITELIB}/ksef2/infra/mappers/auth.py
+${PYSITELIB}/ksef2/infra/mappers/auth.pyc
+${PYSITELIB}/ksef2/infra/mappers/auth.pyo
+${PYSITELIB}/ksef2/infra/mappers/batch.py
+${PYSITELIB}/ksef2/infra/mappers/batch.pyc
+${PYSITELIB}/ksef2/infra/mappers/batch.pyo
+${PYSITELIB}/ksef2/infra/mappers/certificates.py
+${PYSITELIB}/ksef2/infra/mappers/certificates.pyc
+${PYSITELIB}/ksef2/infra/mappers/certificates.pyo
+${PYSITELIB}/ksef2/infra/mappers/encryption.py
+${PYSITELIB}/ksef2/infra/mappers/encryption.pyc
+${PYSITELIB}/ksef2/infra/mappers/encryption.pyo
+${PYSITELIB}/ksef2/infra/mappers/exceptions.py
+${PYSITELIB}/ksef2/infra/mappers/exceptions.pyc
+${PYSITELIB}/ksef2/infra/mappers/exceptions.pyo
+${PYSITELIB}/ksef2/infra/mappers/invoices.py
+${PYSITELIB}/ksef2/infra/mappers/invoices.pyc
+${PYSITELIB}/ksef2/infra/mappers/invoices.pyo
+${PYSITELIB}/ksef2/infra/mappers/limits.py
+${PYSITELIB}/ksef2/infra/mappers/limits.pyc
+${PYSITELIB}/ksef2/infra/mappers/limits.pyo
+${PYSITELIB}/ksef2/infra/mappers/peppol.py
+${PYSITELIB}/ksef2/infra/mappers/peppol.pyc
+${PYSITELIB}/ksef2/infra/mappers/peppol.pyo
+${PYSITELIB}/ksef2/infra/mappers/permissions.py
+${PYSITELIB}/ksef2/infra/mappers/permissions.pyc
+${PYSITELIB}/ksef2/infra/mappers/permissions.pyo
+${PYSITELIB}/ksef2/infra/mappers/session.py
+${PYSITELIB}/ksef2/infra/mappers/session.pyc
+${PYSITELIB}/ksef2/infra/mappers/session.pyo
+${PYSITELIB}/ksef2/infra/mappers/testdata.py
+${PYSITELIB}/ksef2/infra/mappers/testdata.pyc
+${PYSITELIB}/ksef2/infra/mappers/testdata.pyo
+${PYSITELIB}/ksef2/infra/mappers/tokens.py
+${PYSITELIB}/ksef2/infra/mappers/tokens.pyc
+${PYSITELIB}/ksef2/infra/mappers/tokens.pyo
+${PYSITELIB}/ksef2/infra/schema/__init__.py
+${PYSITELIB}/ksef2/infra/schema/__init__.pyc
+${PYSITELIB}/ksef2/infra/schema/__init__.pyo
+${PYSITELIB}/ksef2/infra/schema/api/__init__.py
+${PYSITELIB}/ksef2/infra/schema/api/__init__.pyc
+${PYSITELIB}/ksef2/infra/schema/api/__init__.pyo
+${PYSITELIB}/ksef2/infra/schema/api/spec/__init__.py
+${PYSITELIB}/ksef2/infra/schema/api/spec/__init__.pyc
+${PYSITELIB}/ksef2/infra/schema/api/spec/__init__.pyo
+${PYSITELIB}/ksef2/infra/schema/api/spec/models.py
+${PYSITELIB}/ksef2/infra/schema/api/spec/models.pyc
+${PYSITELIB}/ksef2/infra/schema/api/spec/models.pyo
+${PYSITELIB}/ksef2/infra/schema/api/supp/__init__.py
+${PYSITELIB}/ksef2/infra/schema/api/supp/__init__.pyc
+${PYSITELIB}/ksef2/infra/schema/api/supp/__init__.pyo
+${PYSITELIB}/ksef2/infra/schema/api/supp/auth.py
+${PYSITELIB}/ksef2/infra/schema/api/supp/auth.pyc
+${PYSITELIB}/ksef2/infra/schema/api/supp/auth.pyo
+${PYSITELIB}/ksef2/infra/schema/api/supp/base.py
+${PYSITELIB}/ksef2/infra/schema/api/supp/base.pyc
+${PYSITELIB}/ksef2/infra/schema/api/supp/base.pyo
+${PYSITELIB}/ksef2/infra/schema/api/supp/batch.py
+${PYSITELIB}/ksef2/infra/schema/api/supp/batch.pyc
+${PYSITELIB}/ksef2/infra/schema/api/supp/batch.pyo
+${PYSITELIB}/ksef2/infra/schema/api/supp/invoices.py
+${PYSITELIB}/ksef2/infra/schema/api/supp/invoices.pyc
+${PYSITELIB}/ksef2/infra/schema/api/supp/invoices.pyo
+${PYSITELIB}/ksef2/infra/schema/api/supp/permissions.py
+${PYSITELIB}/ksef2/infra/schema/api/supp/permissions.pyc
+${PYSITELIB}/ksef2/infra/schema/api/supp/permissions.pyo
+${PYSITELIB}/ksef2/infra/schema/api/supp/session.py
+${PYSITELIB}/ksef2/infra/schema/api/supp/session.pyc
+${PYSITELIB}/ksef2/infra/schema/api/supp/session.pyo
+${PYSITELIB}/ksef2/infra/schema/api/supp/testdata.py
+${PYSITELIB}/ksef2/infra/schema/api/supp/testdata.pyc
+${PYSITELIB}/ksef2/infra/schema/api/supp/testdata.pyo
+${PYSITELIB}/ksef2/py.typed
+${PYSITELIB}/ksef2/services/__init__.py
+${PYSITELIB}/ksef2/services/__init__.pyc
+${PYSITELIB}/ksef2/services/__init__.pyo
+${PYSITELIB}/ksef2/services/auth.py
+${PYSITELIB}/ksef2/services/auth.pyc
+${PYSITELIB}/ksef2/services/auth.pyo
+${PYSITELIB}/ksef2/services/certificates.py
+${PYSITELIB}/ksef2/services/certificates.pyc
+${PYSITELIB}/ksef2/services/certificates.pyo
+${PYSITELIB}/ksef2/services/limits.py
+${PYSITELIB}/ksef2/services/limits.pyc
+${PYSITELIB}/ksef2/services/limits.pyo
+${PYSITELIB}/ksef2/services/peppol.py
+${PYSITELIB}/ksef2/services/peppol.pyc
+${PYSITELIB}/ksef2/services/peppol.pyo
+${PYSITELIB}/ksef2/services/permissions.py
+${PYSITELIB}/ksef2/services/permissions.pyc
+${PYSITELIB}/ksef2/services/permissions.pyo
+${PYSITELIB}/ksef2/services/session.py
+${PYSITELIB}/ksef2/services/session.pyc
+${PYSITELIB}/ksef2/services/session.pyo
+${PYSITELIB}/ksef2/services/session_management.py
+${PYSITELIB}/ksef2/services/session_management.pyc
+${PYSITELIB}/ksef2/services/session_management.pyo
+${PYSITELIB}/ksef2/services/testdata.py
+${PYSITELIB}/ksef2/services/testdata.pyc
+${PYSITELIB}/ksef2/services/testdata.pyo
+${PYSITELIB}/ksef2/services/tokens.py
+${PYSITELIB}/ksef2/services/tokens.pyc
+${PYSITELIB}/ksef2/services/tokens.pyo
diff --git a/py-ksef2/distinfo b/py-ksef2/distinfo
new file mode 100644
index 0000000000..fb35bd6512
--- /dev/null
+++ b/py-ksef2/distinfo
@@ -0,0 +1,5 @@
+$NetBSD$
+
+BLAKE2s (ksef2-0.7.1.tar.gz) = ececa26124f6a5def6a4497222eabae012f6b181ce36fd318b21ed0dd36da7cf
+SHA512 (ksef2-0.7.1.tar.gz) = 9b9f62bdb657d16b11a1383df88b7e2ba22096ba71c63dd68b38f21003b2c01bec8babdec1d40e31f1def15a99c699e25ae906955f83f4f3427c5ba3e462dc42
+Size (ksef2-0.7.1.tar.gz) = 1808729 bytes
diff --git a/py-signxml/DESCR b/py-signxml/DESCR
new file mode 100644
index 0000000000..614b44c41b
--- /dev/null
+++ b/py-signxml/DESCR
@@ -0,0 +1,6 @@
+SignXML is an implementation of the W3C XML Signature standard in Python.
+This standard (also known as "XMLDSig") is used to provide payload security
+in SAML 2.0, XAdES, EBICS, and WS-Security, among other uses. The standard
+is defined in the W3C Recommendation XML Signature Syntax and Processing
+Version 1.1. SignXML implements all of the required components of the
+Version 1.1 standard, and most recommended ones.
diff --git a/py-signxml/Makefile b/py-signxml/Makefile
new file mode 100644
index 0000000000..37fc4b091c
--- /dev/null
+++ b/py-signxml/Makefile
@@ -0,0 +1,25 @@
+# $NetBSD$
+
+DISTNAME= signxml-4.3.1
+PKGNAME= ${PYPKGPREFIX}-${DISTNAME}
+CATEGORIES= security
+MASTER_SITES= ${MASTER_SITE_GITHUB:=XML-Security/}
+GITHUB_PROJECT= signxml
+GITHUB_TAG= refs/tags/v${PKGVERSION_NOREV}
+
+MAINTAINER= bartosz.kuzma%gmail.com@localhost
+HOMEPAGE= https://github.com/XML-Security/signxml/
+COMMENT= XML Signature and XAdES in Python
+LICENSE= apache-2.0
+
+WRKSRC= ${WRKDIR}/${DISTNAME}
+
+# "lxml >= 5.2.1, < 7", # Ubuntu 24.04 LTS
+DEPENDS+= ${PYPKGPREFIX}-lxml>=5.2.1:../../textproc/py-lxml
+DEPENDS+= ${PYPKGPREFIX}-cryptography>=43.0.0:../../security/py-cryptography
+DEPENDS+= ${PYPKGPREFIX}-certifi>=2023.11.17:../../security/py-certifi
+
+USE_LANGUAGES= # none
+
+.include "../../lang/python/wheel.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/py-signxml/PLIST b/py-signxml/PLIST
new file mode 100644
index 0000000000..bbd89f74de
--- /dev/null
+++ b/py-signxml/PLIST
@@ -0,0 +1,55 @@
+@comment $NetBSD$
+${PYSITELIB}/${WHEEL_INFODIR}/METADATA
+${PYSITELIB}/${WHEEL_INFODIR}/RECORD
+${PYSITELIB}/${WHEEL_INFODIR}/WHEEL
+${PYSITELIB}/${WHEEL_INFODIR}/licenses/LICENSE
+${PYSITELIB}/${WHEEL_INFODIR}/licenses/NOTICE
+${PYSITELIB}/signxml/__init__.py
+${PYSITELIB}/signxml/__init__.pyc
+${PYSITELIB}/signxml/__init__.pyo
+${PYSITELIB}/signxml/__pyinstaller/__init__.py
+${PYSITELIB}/signxml/__pyinstaller/__init__.pyc
+${PYSITELIB}/signxml/__pyinstaller/__init__.pyo
+${PYSITELIB}/signxml/__pyinstaller/hook-signxml.py
+${PYSITELIB}/signxml/__pyinstaller/hook-signxml.pyc
+${PYSITELIB}/signxml/__pyinstaller/hook-signxml.pyo
+${PYSITELIB}/signxml/algorithms.py
+${PYSITELIB}/signxml/algorithms.pyc
+${PYSITELIB}/signxml/algorithms.pyo
+${PYSITELIB}/signxml/exceptions.py
+${PYSITELIB}/signxml/exceptions.pyc
+${PYSITELIB}/signxml/exceptions.pyo
+${PYSITELIB}/signxml/processor.py
+${PYSITELIB}/signxml/processor.pyc
+${PYSITELIB}/signxml/processor.pyo
+${PYSITELIB}/signxml/py.typed
+${PYSITELIB}/signxml/schemas/__init__.py
+${PYSITELIB}/signxml/schemas/__init__.pyc
+${PYSITELIB}/signxml/schemas/__init__.pyo
+${PYSITELIB}/signxml/schemas/xmldsig-core-schema.xsd
+${PYSITELIB}/signxml/schemas/xmldsig1-schema.xsd
+${PYSITELIB}/signxml/schemas/xmldsig11-schema.xsd
+${PYSITELIB}/signxml/signer.py
+${PYSITELIB}/signxml/signer.pyc
+${PYSITELIB}/signxml/signer.pyo
+${PYSITELIB}/signxml/util/__init__.py
+${PYSITELIB}/signxml/util/__init__.pyc
+${PYSITELIB}/signxml/util/__init__.pyo
+${PYSITELIB}/signxml/verifier.py
+${PYSITELIB}/signxml/verifier.pyc
+${PYSITELIB}/signxml/verifier.pyo
+${PYSITELIB}/signxml/xades/__init__.py
+${PYSITELIB}/signxml/xades/__init__.pyc
+${PYSITELIB}/signxml/xades/__init__.pyo
+${PYSITELIB}/signxml/xades/schemas/XAdES.xsd
+${PYSITELIB}/signxml/xades/schemas/XAdES01903v132-201506.xsd
+${PYSITELIB}/signxml/xades/schemas/XAdES01903v132-201601.xsd
+${PYSITELIB}/signxml/xades/schemas/XAdES01903v141-201506.xsd
+${PYSITELIB}/signxml/xades/schemas/XAdES01903v141-201601.xsd
+${PYSITELIB}/signxml/xades/schemas/XAdESv141.xsd
+${PYSITELIB}/signxml/xades/schemas/__init__.py
+${PYSITELIB}/signxml/xades/schemas/__init__.pyc
+${PYSITELIB}/signxml/xades/schemas/__init__.pyo
+${PYSITELIB}/signxml/xades/xades.py
+${PYSITELIB}/signxml/xades/xades.pyc
+${PYSITELIB}/signxml/xades/xades.pyo
diff --git a/py-signxml/distinfo b/py-signxml/distinfo
new file mode 100644
index 0000000000..bc4bb1bc57
--- /dev/null
+++ b/py-signxml/distinfo
@@ -0,0 +1,6 @@
+$NetBSD$
+
+BLAKE2s (signxml-4.3.1.tar.gz) = 998d52bc74f080e71937ede884800e2eed13e08097191a0b19c901103f7c9a5c
+SHA512 (signxml-4.3.1.tar.gz) = aedea932479ceb6926f4a0542984e60ea57e606d32b9354a000459a14a16250af2dd401eee031c89ced61287b9f9dea599e52979f4abfc7c0c865938495a5113
+Size (signxml-4.3.1.tar.gz) = 1621262 bytes
+SHA1 (patch-pyproject.toml) = e752c2481f93bab99ee927f97476f32f8ba79f01
diff --git a/py-signxml/patches/patch-pyproject.toml b/py-signxml/patches/patch-pyproject.toml
new file mode 100644
index 0000000000..12e585e691
--- /dev/null
+++ b/py-signxml/patches/patch-pyproject.toml
@@ -0,0 +1,13 @@
+$NetBSD$
+
+--- pyproject.toml.orig 2026-02-21 09:22:55.894229090 +0000
++++ pyproject.toml
+@@ -6,7 +6,7 @@ requires-python = ">=3.9"
+ license = { text = "Apache Software License" }
+ authors = [{ name = "Andrey Kislyuk"}, {email = "kislyuk%gmail.com@localhost" }]
+ maintainers = [{ name = "Andrey Kislyuk"}, {email = "kislyuk%gmail.com@localhost" }]
+-dynamic = ["version"]
++version = "4.3.1"
+ classifiers = [
+ "Intended Audience :: Developers",
+ "License :: OSI Approved :: Apache Software License",
Home |
Main Index |
Thread Index |
Old Index