diff --git a/build/python313/asn1crypto/build.sh b/build/python313/asn1crypto/build.sh new file mode 100755 index 0000000000..5b2835eda6 --- /dev/null +++ b/build/python313/asn1crypto/build.sh @@ -0,0 +1,38 @@ +#!/usr/bin/bash +# +# {{{ CDDL HEADER +# +# This file and its contents are supplied under the terms of the +# Common Development and Distribution License ("CDDL"), version 1.0. +# You may only use this file in accordance with the terms of version +# 1.0 of the CDDL. +# +# A full copy of the text of the CDDL should have accompanied this +# source. A copy of the CDDL is also available via the Internet at +# http://www.illumos.org/license/CDDL. +# }}} +# +# Copyright 2024 OmniOS Community Edition (OmniOSce) Association. + +. ../../../lib/build.sh + +PKG=library/python-3/asn1crypto-313 +PROG=asn1crypto +inherit_ver python312/asn1crypto +SUMMARY="asn1crypto - Fast ASN.1 parser..." +DESC="$SUMMARY" + +. $SRCDIR/../common.sh + +BUILD_DEPENDS_IPS+="library/python-$PYMVER/setuptools-$SPYVER" + +init +download_source pymodules/$PROG $PROG $VER +patch_source +prep_build +python_build +make_package +clean_up + +# Vim hints +# vim:ts=4:sw=4:et:fdm=marker diff --git a/build/python313/asn1crypto/local.mog b/build/python313/asn1crypto/local.mog new file mode 100644 index 0000000000..8db201d6fe --- /dev/null +++ b/build/python313/asn1crypto/local.mog @@ -0,0 +1,14 @@ +# +# This file and its contents are supplied under the terms of the +# Common Development and Distribution License ("CDDL"), version 1.0. +# You may only use this file in accordance with the terms of version +# 1.0 of the CDDL. +# +# A full copy of the text of the CDDL should have accompanied this +# source. A copy of the CDDL is also available via the Internet at +# http://www.illumos.org/license/CDDL. + +# Copyright 2019 OmniOS Community Edition (OmniOSce) Association. + +license LICENSE license=MIT + diff --git a/build/python313/attrs/build.sh b/build/python313/attrs/build.sh new file mode 100755 index 0000000000..ff8ad9c424 --- /dev/null +++ b/build/python313/attrs/build.sh @@ -0,0 +1,36 @@ +#!/usr/bin/bash +# +# {{{ CDDL HEADER +# +# This file and its contents are supplied under the terms of the +# Common Development and Distribution License ("CDDL"), version 1.0. +# You may only use this file in accordance with the terms of version +# 1.0 of the CDDL. +# +# A full copy of the text of the CDDL should have accompanied this +# source. A copy of the CDDL is also available via the Internet at +# http://www.illumos.org/license/CDDL. +# }}} +# +# Copyright 2024 OmniOS Community Edition (OmniOSce) Association. +# +. ../../../lib/build.sh + +PKG=library/python-3/attrs-313 +PROG=attrs +inherit_ver python312/attrs +SUMMARY="Python attrs" +DESC="Classes Without Boilerplate" + +. $SRCDIR/../common.sh + +init +download_source pymodules/$PROG $PROG $VER +patch_source +prep_build +python_build +make_package +clean_up + +# Vim hints +# vim:ts=4:sw=4:et:fdm=marker diff --git a/build/python313/attrs/local.mog b/build/python313/attrs/local.mog new file mode 100644 index 0000000000..06211aeb7c --- /dev/null +++ b/build/python313/attrs/local.mog @@ -0,0 +1,18 @@ +# +# This file and its contents are supplied under the terms of the +# Common Development and Distribution License ("CDDL"), version 1.0. +# You may only use this file in accordance with the terms of version +# 1.0 of the CDDL. +# +# A full copy of the text of the CDDL should have accompanied this +# source. A copy of the CDDL is also available via the Internet at +# http://www.illumos.org/license/CDDL. +# + +# Copyright 2019 OmniOS Community Edition (OmniOSce) Association. + +license LICENSE license=MIT + + edit path usr/bin usr/lib/python$(PYTHONVER)/bin> + diff --git a/build/python313/cffi/build.sh b/build/python313/cffi/build.sh new file mode 100755 index 0000000000..685a9ef847 --- /dev/null +++ b/build/python313/cffi/build.sh @@ -0,0 +1,44 @@ +#!/usr/bin/bash +# +# {{{ CDDL HEADER +# +# This file and its contents are supplied under the terms of the +# Common Development and Distribution License ("CDDL"), version 1.0. +# You may only use this file in accordance with the terms of version +# 1.0 of the CDDL. +# +# A full copy of the text of the CDDL should have accompanied this +# source. A copy of the CDDL is also available via the Internet at +# http://www.illumos.org/license/CDDL. +# }}} +# +# Copyright 2024 OmniOS Community Edition (OmniOSce) Association. + +. ../../../lib/build.sh + +PKG=library/python-3/cffi-313 +PROG=cffi +inherit_ver python312/cffi +SUMMARY="cffi" +DESC="Foreign Function Interface for Python calling C code" + +. $SRCDIR/../common.sh + +CFLAGS[aarch64]+=" -mtls-dialect=trad" + +RUN_DEPENDS_IPS+=" + library/python-$PYMVER/pycparser-$SPYVER +" + +REMOVE_PREVIOUS=1 + +init +download_source pymodules/$PROG $PROG $VER +patch_source +prep_build +python_build +make_package +clean_up + +# Vim hints +# vim:ts=4:sw=4:et:fdm=marker diff --git a/build/python313/cffi/local.mog b/build/python313/cffi/local.mog new file mode 100644 index 0000000000..8db201d6fe --- /dev/null +++ b/build/python313/cffi/local.mog @@ -0,0 +1,14 @@ +# +# This file and its contents are supplied under the terms of the +# Common Development and Distribution License ("CDDL"), version 1.0. +# You may only use this file in accordance with the terms of version +# 1.0 of the CDDL. +# +# A full copy of the text of the CDDL should have accompanied this +# source. A copy of the CDDL is also available via the Internet at +# http://www.illumos.org/license/CDDL. + +# Copyright 2019 OmniOS Community Edition (OmniOSce) Association. + +license LICENSE license=MIT + diff --git a/build/python313/coverage/README b/build/python313/coverage/README new file mode 100644 index 0000000000..8139e3dba0 --- /dev/null +++ b/build/python313/coverage/README @@ -0,0 +1,3 @@ + +Coverage is needed in order to run the pkg(7) test-suite + diff --git a/build/python313/coverage/build.sh b/build/python313/coverage/build.sh new file mode 100755 index 0000000000..d59bb2960a --- /dev/null +++ b/build/python313/coverage/build.sh @@ -0,0 +1,36 @@ +#!/usr/bin/bash +# +# {{{ CDDL HEADER +# +# This file and its contents are supplied under the terms of the +# Common Development and Distribution License ("CDDL"), version 1.0. +# You may only use this file in accordance with the terms of version +# 1.0 of the CDDL. +# +# A full copy of the text of the CDDL should have accompanied this +# source. A copy of the CDDL is also available via the Internet at +# http://www.illumos.org/license/CDDL. +# }}} +# +# Copyright 2024 OmniOS Community Edition (OmniOSce) Association. + +. ../../../lib/build.sh + +PKG=library/python-3/coverage-313 +PROG=coverage +inherit_ver python312/coverage +SUMMARY="Python coverage module" +DESC="Code coverage testing for Python" + +. $SRCDIR/../common.sh + +init +download_source pymodules/$PROG $PROG $VER +patch_source +prep_build +python_build +make_package +clean_up + +# Vim hints +# vim:ts=4:sw=4:et:fdm=marker diff --git a/build/python313/coverage/local.mog b/build/python313/coverage/local.mog new file mode 100644 index 0000000000..51ca0dc8db --- /dev/null +++ b/build/python313/coverage/local.mog @@ -0,0 +1,18 @@ +# +# This file and its contents are supplied under the terms of the +# Common Development and Distribution License ("CDDL"), version 1.0. +# You may only use this file in accordance with the terms of version +# 1.0 of the CDDL. +# +# A full copy of the text of the CDDL should have accompanied this +# source. A copy of the CDDL is also available via the Internet at +# http://www.illumos.org/license/CDDL. + +# Copyright 2019 OmniOS Community Edition (OmniOSce) Association. + +license LICENSE.txt license=Apache2 + + set pkg.depend.bypass-generate .* > + edit path usr/bin usr/lib/python$(PYTHONVER)/bin> + diff --git a/build/python313/crossenv/build.sh b/build/python313/crossenv/build.sh new file mode 100755 index 0000000000..63b71c6a1f --- /dev/null +++ b/build/python313/crossenv/build.sh @@ -0,0 +1,36 @@ +#!/usr/bin/bash +# +# {{{ CDDL HEADER +# +# This file and its contents are supplied under the terms of the +# Common Development and Distribution License ("CDDL"), version 1.0. +# You may only use this file in accordance with the terms of version +# 1.0 of the CDDL. +# +# A full copy of the text of the CDDL should have accompanied this +# source. A copy of the CDDL is also available via the Internet at +# http://www.illumos.org/license/CDDL. +# }}} + +# Copyright 2024 OmniOS Community Edition (OmniOSce) Association. + +. ../../../lib/build.sh + +PKG=library/python-3/crossenv-313 +PROG=crossenv +inherit_ver python312/crossenv +SUMMARY="A cross-compiling tool for Python extension modules" +DESC="$SUMMARY" + +. $SRCDIR/../common.sh + +init +download_source pymodules/$PROG $PROG $VER +patch_source +prep_build +python_build +make_package +clean_up + +# Vim hints +# vim:ts=4:sw=4:et:fdm=marker diff --git a/build/python313/crossenv/local.mog b/build/python313/crossenv/local.mog new file mode 100644 index 0000000000..f882e2d24c --- /dev/null +++ b/build/python313/crossenv/local.mog @@ -0,0 +1,14 @@ +# +# This file and its contents are supplied under the terms of the +# Common Development and Distribution License ("CDDL"), version 1.0. +# You may only use this file in accordance with the terms of version +# 1.0 of the CDDL. +# +# A full copy of the text of the CDDL should have accompanied this +# source. A copy of the CDDL is also available via the Internet at +# http://www.illumos.org/license/CDDL. + +# Copyright 2023 OmniOS Community Edition (OmniOSce) Association. + +license LICENSE.txt license=MIT + diff --git a/build/python313/crossenv/patches/illumos.patch b/build/python313/crossenv/patches/illumos.patch new file mode 100644 index 0000000000..df449f46e8 --- /dev/null +++ b/build/python313/crossenv/patches/illumos.patch @@ -0,0 +1,12 @@ +diff -wpruN --no-dereference '--exclude=*.orig' a~/crossenv/__init__.py a/crossenv/__init__.py +--- a~/crossenv/__init__.py 1970-01-01 00:00:00 ++++ a/crossenv/__init__.py 1970-01-01 00:00:00 +@@ -520,6 +520,8 @@ class CrossEnvBuilder(venv.EnvBuilder): + self.host_machine = self.host_gnu_type.split('-')[0] + + self.host_release = '' ++ if self.host_sysname == "sunos5": ++ self.host_release = '5.11' + if self.macosx_deployment_target: + try: + major, minor = self.macosx_deployment_target.split(".") diff --git a/build/python313/crossenv/patches/series b/build/python313/crossenv/patches/series new file mode 100644 index 0000000000..77f8d19dbb --- /dev/null +++ b/build/python313/crossenv/patches/series @@ -0,0 +1 @@ +illumos.patch diff --git a/build/python313/cryptography/build.sh b/build/python313/cryptography/build.sh new file mode 100755 index 0000000000..b59f199d02 --- /dev/null +++ b/build/python313/cryptography/build.sh @@ -0,0 +1,77 @@ +#!/usr/bin/bash +# +# {{{ CDDL HEADER +# +# This file and its contents are supplied under the terms of the +# Common Development and Distribution License ("CDDL"), version 1.0. +# You may only use this file in accordance with the terms of version +# 1.0 of the CDDL. +# +# A full copy of the text of the CDDL should have accompanied this +# source. A copy of the CDDL is also available via the Internet at +# http://www.illumos.org/license/CDDL. +# }}} +# +# Copyright 2024 OmniOS Community Edition (OmniOSce) Association. +# +. ../../../lib/build.sh + +PKG=library/python-3/cryptography-313 +PROG=cryptography +inherit_ver python312/cryptography +SUMMARY="Cryptographic recipes and primitives" +DESC="$SUMMARY" + +. $SRCDIR/../common.sh + +if [ "$BUILDARCH" = aarch64 ]; then + # This is the last version that does not require rust to build, so we use + # that for aarch64 for now. + VER=3.4.8 + export CRYPTOGRAPHY_DONT_BUILD_RUST=1 + set_patchdir patches.aarch64 +fi + +RUN_DEPENDS_IPS+=" + library/python-$PYMVER/six-$SPYVER + library/python-$PYMVER/cffi-$SPYVER + library/python-$PYMVER/asn1crypto-$SPYVER + library/python-$PYMVER/idna-$SPYVER +" + +# As of version 3.4, the cryptography module includes Rust code +BUILD_DEPENDS_IPS+=" + library/python-$PYMVER/setuptools-rust-$SPYVER +" + +PATH+=:$OOCEBIN + +# This package uses cffi as part of the build, and so the usual python cross +# compilation method (using the `crossenv` module) does not work. +# Somewhat surprisingly, this simple workaround does, although we have to +# use a compiler wrapper to strip options that are not applicable to +# the cross compiler and are otherwise picked by cffi from the native system +# info. +python_build_aarch64() { + typeset arch=aarch64 + + set_crossgcc $arch + + CFLAGS[$arch]+=" -mtls-dialect=trad" + + CC=$SRCDIR/files/gcc.aarch64 \ + PLATFORM=$arch \ + DESTDIR="$DESTDIR.$arch" \ + python_build_arch $arch +} + +init +download_source pymodules/$PROG $PROG $VER +patch_source +prep_build +python_build +make_package +clean_up + +# Vim hints +# vim:ts=4:sw=4:et:fdm=marker diff --git a/build/python313/cryptography/files/gcc.aarch64 b/build/python313/cryptography/files/gcc.aarch64 new file mode 100755 index 0000000000..ef32ffee6f --- /dev/null +++ b/build/python313/cryptography/files/gcc.aarch64 @@ -0,0 +1,9 @@ +#!/bin/ksh + +set -- `echo $@ | sed ' + s/-m64//g + s/-msave-args//g + '` + +exec /opt/cross/aarch64/bin/gcc "$@" + diff --git a/build/python313/cryptography/local.mog b/build/python313/cryptography/local.mog new file mode 100644 index 0000000000..5c087f50c0 --- /dev/null +++ b/build/python313/cryptography/local.mog @@ -0,0 +1,15 @@ +# +# This file and its contents are supplied under the terms of the +# Common Development and Distribution License ("CDDL"), version 1.0. +# You may only use this file in accordance with the terms of version +# 1.0 of the CDDL. +# +# A full copy of the text of the CDDL should have accompanied this +# source. A copy of the CDDL is also available via the Internet at +# http://www.illumos.org/license/CDDL. + +# Copyright 2019 OmniOS Community Edition (OmniOSce) Association. + +license LICENSE.BSD license=modified-BSD +license LICENSE.APACHE license=Apache2 + diff --git a/build/python313/cryptography/patches.aarch64/err.patch b/build/python313/cryptography/patches.aarch64/err.patch new file mode 100644 index 0000000000..aff6128983 --- /dev/null +++ b/build/python313/cryptography/patches.aarch64/err.patch @@ -0,0 +1,9 @@ +diff -wpruN '--exclude=*.orig' a~/src/_cffi_src/openssl/err.py a/src/_cffi_src/openssl/err.py +--- a~/src/_cffi_src/openssl/err.py 1970-01-01 00:00:00 ++++ a/src/_cffi_src/openssl/err.py 1970-01-01 00:00:00 +@@ -45,4 +45,5 @@ int ERR_GET_REASON(unsigned long); + """ + + CUSTOMIZATIONS = """ ++int (*ERR_GET_FUNC)(unsigned long) = NULL; + """ diff --git a/build/python313/cryptography/patches.aarch64/fips.patch b/build/python313/cryptography/patches.aarch64/fips.patch new file mode 100644 index 0000000000..b7a43af360 --- /dev/null +++ b/build/python313/cryptography/patches.aarch64/fips.patch @@ -0,0 +1,15 @@ +diff -wpruN '--exclude=*.orig' a~/src/_cffi_src/openssl/fips.py a/src/_cffi_src/openssl/fips.py +--- a~/src/_cffi_src/openssl/fips.py 1970-01-01 00:00:00 ++++ a/src/_cffi_src/openssl/fips.py 1970-01-01 00:00:00 +@@ -17,11 +17,7 @@ int FIPS_mode(void); + """ + + CUSTOMIZATIONS = """ +-#if CRYPTOGRAPHY_IS_LIBRESSL + static const long Cryptography_HAS_FIPS = 0; + int (*FIPS_mode_set)(int) = NULL; + int (*FIPS_mode)(void) = NULL; +-#else +-static const long Cryptography_HAS_FIPS = 1; +-#endif + """ diff --git a/build/python313/cryptography/patches.aarch64/series b/build/python313/cryptography/patches.aarch64/series new file mode 100644 index 0000000000..ba6e92e054 --- /dev/null +++ b/build/python313/cryptography/patches.aarch64/series @@ -0,0 +1,2 @@ +fips.patch +err.patch diff --git a/build/python313/cryptography/test b/build/python313/cryptography/test new file mode 100755 index 0000000000..acbee3ec79 --- /dev/null +++ b/build/python313/cryptography/test @@ -0,0 +1,9 @@ +#!/usr/bin/python3 + +from cryptography.fernet import Fernet +key = Fernet.generate_key() +f = Fernet(key) +token = f.encrypt(b"A really secret message. Not for prying eyes.") +print(token) +print(f.decrypt(token)) + diff --git a/build/python313/idna/build.sh b/build/python313/idna/build.sh new file mode 100755 index 0000000000..ff3bfeae8a --- /dev/null +++ b/build/python313/idna/build.sh @@ -0,0 +1,37 @@ +#!/usr/bin/bash +# +# {{{ CDDL HEADER +# +# This file and its contents are supplied under the terms of the +# Common Development and Distribution License ("CDDL"), version 1.0. +# You may only use this file in accordance with the terms of version +# 1.0 of the CDDL. +# +# A full copy of the text of the CDDL should have accompanied this +# source. A copy of the CDDL is also available via the Internet at +# http://www.illumos.org/license/CDDL. +# }}} +# +# Copyright 2024 OmniOS Community Edition (OmniOSce) Association. + +. ../../../lib/build.sh + +PKG=library/python-3/idna-313 +PROG=idna +inherit_ver python312/idna +SUMMARY="Internationalized Domain Names in Applications (IDNA)" +DESC="Support for the Internationalised Domain Names in Applications (IDNA) " +DESC+="protocol as specified in RFC 5891" + +. $SRCDIR/../common.sh + +init +download_source pymodules/$PROG $PROG $VER +patch_source +prep_build +python_build +make_package +clean_up + +# Vim hints +# vim:ts=4:sw=4:et:fdm=marker diff --git a/build/python313/idna/local.mog b/build/python313/idna/local.mog new file mode 100644 index 0000000000..03564c6f5c --- /dev/null +++ b/build/python313/idna/local.mog @@ -0,0 +1,17 @@ +# +# This file and its contents are supplied under the terms of the +# Common Development and Distribution License ("CDDL"), version 1.0. +# You may only use this file in accordance with the terms of version +# 1.0 of the CDDL. +# +# A full copy of the text of the CDDL should have accompanied this +# source. A copy of the CDDL is also available via the Internet at +# http://www.illumos.org/license/CDDL. + +# Copyright 2021 OmniOS Community Edition (OmniOSce) Association. + +license LICENSE.md license=modified-BSD + +# From version 2.7, the package sets the permissions of some files to 0700 + set mode 0644> + diff --git a/build/python313/js-regex/build.sh b/build/python313/js-regex/build.sh new file mode 100755 index 0000000000..d373f631bd --- /dev/null +++ b/build/python313/js-regex/build.sh @@ -0,0 +1,36 @@ +#!/usr/bin/bash +# +# {{{ CDDL HEADER +# +# This file and its contents are supplied under the terms of the +# Common Development and Distribution License ("CDDL"), version 1.0. +# You may only use this file in accordance with the terms of version +# 1.0 of the CDDL. +# +# A full copy of the text of the CDDL should have accompanied this +# source. A copy of the CDDL is also available via the Internet at +# http://www.illumos.org/license/CDDL. +# }}} +# +# Copyright 2024 OmniOS Community Edition (OmniOSce) Association. + +. ../../../lib/build.sh + +PKG=library/python-3/js-regex-313 +PROG=js-regex +inherit_ver python312/js-regex +SUMMARY="A thin compatibility layer to use Javascript regular expressions" +DESC="$SUMMARY" + +. $SRCDIR/../common.sh + +init +download_source pymodules/$PROG $PROG $VER +patch_source +prep_build +python_build +make_package +clean_up + +# Vim hints +# vim:ts=4:sw=4:et:fdm=marker diff --git a/build/python313/js-regex/files/MPLv2.0.txt b/build/python313/js-regex/files/MPLv2.0.txt new file mode 100644 index 0000000000..14e2f777f6 --- /dev/null +++ b/build/python313/js-regex/files/MPLv2.0.txt @@ -0,0 +1,373 @@ +Mozilla Public License Version 2.0 +================================== + +1. Definitions +-------------- + +1.1. "Contributor" + means each individual or legal entity that creates, contributes to + the creation of, or owns Covered Software. + +1.2. "Contributor Version" + means the combination of the Contributions of others (if any) used + by a Contributor and that particular Contributor's Contribution. + +1.3. "Contribution" + means Covered Software of a particular Contributor. + +1.4. "Covered Software" + means Source Code Form to which the initial Contributor has attached + the notice in Exhibit A, the Executable Form of such Source Code + Form, and Modifications of such Source Code Form, in each case + including portions thereof. + +1.5. "Incompatible With Secondary Licenses" + means + + (a) that the initial Contributor has attached the notice described + in Exhibit B to the Covered Software; or + + (b) that the Covered Software was made available under the terms of + version 1.1 or earlier of the License, but not also under the + terms of a Secondary License. + +1.6. "Executable Form" + means any form of the work other than Source Code Form. + +1.7. "Larger Work" + means a work that combines Covered Software with other material, in + a separate file or files, that is not Covered Software. + +1.8. "License" + means this document. + +1.9. "Licensable" + means having the right to grant, to the maximum extent possible, + whether at the time of the initial grant or subsequently, any and + all of the rights conveyed by this License. + +1.10. "Modifications" + means any of the following: + + (a) any file in Source Code Form that results from an addition to, + deletion from, or modification of the contents of Covered + Software; or + + (b) any new file in Source Code Form that contains any Covered + Software. + +1.11. "Patent Claims" of a Contributor + means any patent claim(s), including without limitation, method, + process, and apparatus claims, in any patent Licensable by such + Contributor that would be infringed, but for the grant of the + License, by the making, using, selling, offering for sale, having + made, import, or transfer of either its Contributions or its + Contributor Version. + +1.12. "Secondary License" + means either the GNU General Public License, Version 2.0, the GNU + Lesser General Public License, Version 2.1, the GNU Affero General + Public License, Version 3.0, or any later versions of those + licenses. + +1.13. "Source Code Form" + means the form of the work preferred for making modifications. + +1.14. "You" (or "Your") + means an individual or a legal entity exercising rights under this + License. For legal entities, "You" includes any entity that + controls, is controlled by, or is under common control with You. For + purposes of this definition, "control" means (a) the power, direct + or indirect, to cause the direction or management of such entity, + whether by contract or otherwise, or (b) ownership of more than + fifty percent (50%) of the outstanding shares or beneficial + ownership of such entity. + +2. License Grants and Conditions +-------------------------------- + +2.1. Grants + +Each Contributor hereby grants You a world-wide, royalty-free, +non-exclusive license: + +(a) under intellectual property rights (other than patent or trademark) + Licensable by such Contributor to use, reproduce, make available, + modify, display, perform, distribute, and otherwise exploit its + Contributions, either on an unmodified basis, with Modifications, or + as part of a Larger Work; and + +(b) under Patent Claims of such Contributor to make, use, sell, offer + for sale, have made, import, and otherwise transfer either its + Contributions or its Contributor Version. + +2.2. Effective Date + +The licenses granted in Section 2.1 with respect to any Contribution +become effective for each Contribution on the date the Contributor first +distributes such Contribution. + +2.3. Limitations on Grant Scope + +The licenses granted in this Section 2 are the only rights granted under +this License. No additional rights or licenses will be implied from the +distribution or licensing of Covered Software under this License. +Notwithstanding Section 2.1(b) above, no patent license is granted by a +Contributor: + +(a) for any code that a Contributor has removed from Covered Software; + or + +(b) for infringements caused by: (i) Your and any other third party's + modifications of Covered Software, or (ii) the combination of its + Contributions with other software (except as part of its Contributor + Version); or + +(c) under Patent Claims infringed by Covered Software in the absence of + its Contributions. + +This License does not grant any rights in the trademarks, service marks, +or logos of any Contributor (except as may be necessary to comply with +the notice requirements in Section 3.4). + +2.4. Subsequent Licenses + +No Contributor makes additional grants as a result of Your choice to +distribute the Covered Software under a subsequent version of this +License (see Section 10.2) or under the terms of a Secondary License (if +permitted under the terms of Section 3.3). + +2.5. Representation + +Each Contributor represents that the Contributor believes its +Contributions are its original creation(s) or it has sufficient rights +to grant the rights to its Contributions conveyed by this License. + +2.6. Fair Use + +This License is not intended to limit any rights You have under +applicable copyright doctrines of fair use, fair dealing, or other +equivalents. + +2.7. Conditions + +Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted +in Section 2.1. + +3. Responsibilities +------------------- + +3.1. Distribution of Source Form + +All distribution of Covered Software in Source Code Form, including any +Modifications that You create or to which You contribute, must be under +the terms of this License. You must inform recipients that the Source +Code Form of the Covered Software is governed by the terms of this +License, and how they can obtain a copy of this License. You may not +attempt to alter or restrict the recipients' rights in the Source Code +Form. + +3.2. Distribution of Executable Form + +If You distribute Covered Software in Executable Form then: + +(a) such Covered Software must also be made available in Source Code + Form, as described in Section 3.1, and You must inform recipients of + the Executable Form how they can obtain a copy of such Source Code + Form by reasonable means in a timely manner, at a charge no more + than the cost of distribution to the recipient; and + +(b) You may distribute such Executable Form under the terms of this + License, or sublicense it under different terms, provided that the + license for the Executable Form does not attempt to limit or alter + the recipients' rights in the Source Code Form under this License. + +3.3. Distribution of a Larger Work + +You may create and distribute a Larger Work under terms of Your choice, +provided that You also comply with the requirements of this License for +the Covered Software. If the Larger Work is a combination of Covered +Software with a work governed by one or more Secondary Licenses, and the +Covered Software is not Incompatible With Secondary Licenses, this +License permits You to additionally distribute such Covered Software +under the terms of such Secondary License(s), so that the recipient of +the Larger Work may, at their option, further distribute the Covered +Software under the terms of either this License or such Secondary +License(s). + +3.4. Notices + +You may not remove or alter the substance of any license notices +(including copyright notices, patent notices, disclaimers of warranty, +or limitations of liability) contained within the Source Code Form of +the Covered Software, except that You may alter any license notices to +the extent required to remedy known factual inaccuracies. + +3.5. Application of Additional Terms + +You may choose to offer, and to charge a fee for, warranty, support, +indemnity or liability obligations to one or more recipients of Covered +Software. However, You may do so only on Your own behalf, and not on +behalf of any Contributor. You must make it absolutely clear that any +such warranty, support, indemnity, or liability obligation is offered by +You alone, and You hereby agree to indemnify every Contributor for any +liability incurred by such Contributor as a result of warranty, support, +indemnity or liability terms You offer. You may include additional +disclaimers of warranty and limitations of liability specific to any +jurisdiction. + +4. Inability to Comply Due to Statute or Regulation +--------------------------------------------------- + +If it is impossible for You to comply with any of the terms of this +License with respect to some or all of the Covered Software due to +statute, judicial order, or regulation then You must: (a) comply with +the terms of this License to the maximum extent possible; and (b) +describe the limitations and the code they affect. Such description must +be placed in a text file included with all distributions of the Covered +Software under this License. Except to the extent prohibited by statute +or regulation, such description must be sufficiently detailed for a +recipient of ordinary skill to be able to understand it. + +5. Termination +-------------- + +5.1. The rights granted under this License will terminate automatically +if You fail to comply with any of its terms. However, if You become +compliant, then the rights granted under this License from a particular +Contributor are reinstated (a) provisionally, unless and until such +Contributor explicitly and finally terminates Your grants, and (b) on an +ongoing basis, if such Contributor fails to notify You of the +non-compliance by some reasonable means prior to 60 days after You have +come back into compliance. Moreover, Your grants from a particular +Contributor are reinstated on an ongoing basis if such Contributor +notifies You of the non-compliance by some reasonable means, this is the +first time You have received notice of non-compliance with this License +from such Contributor, and You become compliant prior to 30 days after +Your receipt of the notice. + +5.2. If You initiate litigation against any entity by asserting a patent +infringement claim (excluding declaratory judgment actions, +counter-claims, and cross-claims) alleging that a Contributor Version +directly or indirectly infringes any patent, then the rights granted to +You by any and all Contributors for the Covered Software under Section +2.1 of this License shall terminate. + +5.3. In the event of termination under Sections 5.1 or 5.2 above, all +end user license agreements (excluding distributors and resellers) which +have been validly granted by You or Your distributors under this License +prior to termination shall survive termination. + +************************************************************************ +* * +* 6. Disclaimer of Warranty * +* ------------------------- * +* * +* Covered Software is provided under this License on an "as is" * +* basis, without warranty of any kind, either expressed, implied, or * +* statutory, including, without limitation, warranties that the * +* Covered Software is free of defects, merchantable, fit for a * +* particular purpose or non-infringing. The entire risk as to the * +* quality and performance of the Covered Software is with You. * +* Should any Covered Software prove defective in any respect, You * +* (not any Contributor) assume the cost of any necessary servicing, * +* repair, or correction. This disclaimer of warranty constitutes an * +* essential part of this License. No use of any Covered Software is * +* authorized under this License except under this disclaimer. * +* * +************************************************************************ + +************************************************************************ +* * +* 7. Limitation of Liability * +* -------------------------- * +* * +* Under no circumstances and under no legal theory, whether tort * +* (including negligence), contract, or otherwise, shall any * +* Contributor, or anyone who distributes Covered Software as * +* permitted above, be liable to You for any direct, indirect, * +* special, incidental, or consequential damages of any character * +* including, without limitation, damages for lost profits, loss of * +* goodwill, work stoppage, computer failure or malfunction, or any * +* and all other commercial damages or losses, even if such party * +* shall have been informed of the possibility of such damages. This * +* limitation of liability shall not apply to liability for death or * +* personal injury resulting from such party's negligence to the * +* extent applicable law prohibits such limitation. Some * +* jurisdictions do not allow the exclusion or limitation of * +* incidental or consequential damages, so this exclusion and * +* limitation may not apply to You. * +* * +************************************************************************ + +8. Litigation +------------- + +Any litigation relating to this License may be brought only in the +courts of a jurisdiction where the defendant maintains its principal +place of business and such litigation shall be governed by laws of that +jurisdiction, without reference to its conflict-of-law provisions. +Nothing in this Section shall prevent a party's ability to bring +cross-claims or counter-claims. + +9. Miscellaneous +---------------- + +This License represents the complete agreement concerning the subject +matter hereof. If any provision of this License is held to be +unenforceable, such provision shall be reformed only to the extent +necessary to make it enforceable. Any law or regulation which provides +that the language of a contract shall be construed against the drafter +shall not be used to construe this License against a Contributor. + +10. Versions of the License +--------------------------- + +10.1. New Versions + +Mozilla Foundation is the license steward. Except as provided in Section +10.3, no one other than the license steward has the right to modify or +publish new versions of this License. Each version will be given a +distinguishing version number. + +10.2. Effect of New Versions + +You may distribute the Covered Software under the terms of the version +of the License under which You originally received the Covered Software, +or under the terms of any subsequent version published by the license +steward. + +10.3. Modified Versions + +If you create software not governed by this License, and you want to +create a new license for such software, you may create and use a +modified version of this License if you rename the license and remove +any references to the name of the license steward (except to note that +such modified license differs from this License). + +10.4. Distributing Source Code Form that is Incompatible With Secondary +Licenses + +If You choose to distribute Source Code Form that is Incompatible With +Secondary Licenses under the terms of this version of the License, the +notice described in Exhibit B of this License must be attached. + +Exhibit A - Source Code Form License Notice +------------------------------------------- + + This Source Code Form is subject to the terms of the Mozilla Public + License, v. 2.0. If a copy of the MPL was not distributed with this + file, You can obtain one at http://mozilla.org/MPL/2.0/. + +If it is not possible or desirable to put the notice in a particular +file, then You may include the notice in a location (such as a LICENSE +file in a relevant directory) where a recipient would be likely to look +for such a notice. + +You may add additional accurate notices of copyright ownership. + +Exhibit B - "Incompatible With Secondary Licenses" Notice +--------------------------------------------------------- + + This Source Code Form is "Incompatible With Secondary Licenses", as + defined by the Mozilla Public License, v. 2.0. diff --git a/build/python313/js-regex/local.mog b/build/python313/js-regex/local.mog new file mode 100644 index 0000000000..9a4e4c5da7 --- /dev/null +++ b/build/python313/js-regex/local.mog @@ -0,0 +1,15 @@ +# +# This file and its contents are supplied under the terms of the +# Common Development and Distribution License ("CDDL"), version 1.0. +# You may only use this file in accordance with the terms of version +# 1.0 of the CDDL. +# +# A full copy of the text of the CDDL should have accompanied this +# source. A copy of the CDDL is also available via the Internet at +# http://www.illumos.org/license/CDDL. +# + +# Copyright 2019 OmniOS Community Edition (OmniOSce) Association. + +license files/MPLv2.0.txt license=MPLv2 + diff --git a/build/python313/jsonrpclib/build.sh b/build/python313/jsonrpclib/build.sh new file mode 100755 index 0000000000..42d55308a6 --- /dev/null +++ b/build/python313/jsonrpclib/build.sh @@ -0,0 +1,36 @@ +#!/usr/bin/bash +# +# {{{ CDDL HEADER +# +# This file and its contents are supplied under the terms of the +# Common Development and Distribution License ("CDDL"), version 1.0. +# You may only use this file in accordance with the terms of version +# 1.0 of the CDDL. +# +# A full copy of the text of the CDDL should have accompanied this +# source. A copy of the CDDL is also available via the Internet at +# http://www.illumos.org/license/CDDL. +# }}} +# +# Copyright 2024 OmniOS Community Edition (OmniOSce) Association. + +. ../../../lib/build.sh + +PKG=library/python-3/jsonrpclib-313 +PROG=jsonrpclib +inherit_ver python312/jsonrpclib +SUMMARY="A Python JSON-RPC over HTTP that mirrors xmlrpclib syntax" +DESC="$SUMMARY" + +. $SRCDIR/../common.sh + +init +download_source pymodules/$PROG v$VER +patch_source +prep_build +python_build +make_package +clean_up + +# Vim hints +# vim:ts=4:sw=4:et:fdm=marker diff --git a/build/python313/jsonrpclib/local.mog b/build/python313/jsonrpclib/local.mog new file mode 100644 index 0000000000..3c9e102194 --- /dev/null +++ b/build/python313/jsonrpclib/local.mog @@ -0,0 +1,15 @@ +# +# This file and its contents are supplied under the terms of the +# Common Development and Distribution License ("CDDL"), version 1.0. +# You may only use this file in accordance with the terms of version +# 1.0 of the CDDL. +# +# A full copy of the text of the CDDL should have accompanied this +# source. A copy of the CDDL is also available via the Internet at +# http://www.illumos.org/license/CDDL. + +# Copyright 2018 OmniOS Community Edition (OmniOSce) Association. + +license LICENSE license=Apache2 + set pkg.depend.bypass-generate .*> + diff --git a/build/python313/jsonschema/build.sh b/build/python313/jsonschema/build.sh new file mode 100755 index 0000000000..2a80508006 --- /dev/null +++ b/build/python313/jsonschema/build.sh @@ -0,0 +1,42 @@ +#!/usr/bin/bash +# +# {{{ CDDL HEADER +# +# This file and its contents are supplied under the terms of the +# Common Development and Distribution License ("CDDL"), version 1.0. +# You may only use this file in accordance with the terms of version +# 1.0 of the CDDL. +# +# A full copy of the text of the CDDL should have accompanied this +# source. A copy of the CDDL is also available via the Internet at +# http://www.illumos.org/license/CDDL. +# }}} +# +# Copyright 2024 OmniOS Community Edition (OmniOSce) Association. + +. ../../../lib/build.sh + +PKG=library/python-3/jsonschema-313 +PROG=jsonschema +inherit_ver python312/jsonschema +SUMMARY="An implementation of JSON Schema validation for Python" +DESC="$SUMMARY" + +. $SRCDIR/../common.sh + +RUN_DEPENDS_IPS+=" + library/python-$PYMVER/attrs-$SPYVER + library/python-$PYMVER/pyrsistent-$SPYVER + library/python-$PYMVER/js-regex-$SPYVER +" + +init +download_source pymodules/$PROG $PROG $VER +patch_source +prep_build +python_build +make_package $SRCDIR/../common.mog +clean_up + +# Vim hints +# vim:ts=4:sw=4:et:fdm=marker diff --git a/build/python313/jsonschema/local.mog b/build/python313/jsonschema/local.mog new file mode 100644 index 0000000000..f25b0eb73e --- /dev/null +++ b/build/python313/jsonschema/local.mog @@ -0,0 +1,20 @@ +# +# This file and its contents are supplied under the terms of the +# Common Development and Distribution License ("CDDL"), version 1.0. +# You may only use this file in accordance with the terms of version +# 1.0 of the CDDL. +# +# A full copy of the text of the CDDL should have accompanied this +# source. A copy of the CDDL is also available via the Internet at +# http://www.illumos.org/license/CDDL. +# + +# Copyright 2019 OmniOS Community Edition (OmniOSce) Association. + +license COPYING license=MIT + + drop> + + edit path usr/bin usr/lib/python$(PYTHONVER)/bin> + diff --git a/build/python313/meson/build.sh b/build/python313/meson/build.sh new file mode 100755 index 0000000000..a87b562ada --- /dev/null +++ b/build/python313/meson/build.sh @@ -0,0 +1,37 @@ +#!/usr/bin/bash +# +# {{{ CDDL HEADER +# +# This file and its contents are supplied under the terms of the +# Common Development and Distribution License ("CDDL"), version 1.0. +# You may only use this file in accordance with the terms of version +# 1.0 of the CDDL. +# +# A full copy of the text of the CDDL should have accompanied this +# source. A copy of the CDDL is also available via the Internet at +# http://www.illumos.org/license/CDDL. +# }}} +# +# Copyright 2024 OmniOS Community Edition (OmniOSce) Association. + +. ../../../lib/build.sh + +PKG=library/python-3/meson-313 +PROG=meson +inherit_ver python312/meson +SUMMARY="The Meson Build system" +DESC="An open source build system meant to be both extremely fast, " +DESC+="and, even more importantly, as user friendly as possible" + +. $SRCDIR/../common.sh + +init +download_source pymodules/$PROG $PROG $VER +patch_source +prep_build +python_build +make_package +clean_up + +# Vim hints +# vim:ts=4:sw=4:et:fdm=marker diff --git a/build/python313/meson/local.mog b/build/python313/meson/local.mog new file mode 100644 index 0000000000..a7d84efb47 --- /dev/null +++ b/build/python313/meson/local.mog @@ -0,0 +1,25 @@ +# +# This file and its contents are supplied under the terms of the +# Common Development and Distribution License ("CDDL"), version 1.0. +# You may only use this file in accordance with the terms of version +# 1.0 of the CDDL. +# +# A full copy of the text of the CDDL should have accompanied this +# source. A copy of the CDDL is also available via the Internet at +# http://www.illumos.org/license/CDDL. + +# Copyright 2024 OmniOS Community Edition (OmniOSce) Association. + +license COPYING license=Apache2 + + set pkg.depend.bypass-generate .* > + set pkg.depend.bypass-generate .* > + set pkg.depend.bypass-generate .* > + edit path usr/bin usr/lib/python$(PYTHONVER)/bin> + + drop> + diff --git a/build/python313/meson/patches/compiler_def_static_linker.patch b/build/python313/meson/patches/compiler_def_static_linker.patch new file mode 100644 index 0000000000..f5f9bc82f7 --- /dev/null +++ b/build/python313/meson/patches/compiler_def_static_linker.patch @@ -0,0 +1,24 @@ +diff -wpruN --no-dereference '--exclude=*.orig' a~/mesonbuild/compilers/compilers.py a/mesonbuild/compilers/compilers.py +--- a~/mesonbuild/compilers/compilers.py 1970-01-01 00:00:00 ++++ a/mesonbuild/compilers/compilers.py 1970-01-01 00:00:00 +@@ -1107,7 +1107,7 @@ class Compiler(HoldableObject, metaclass + + def get_largefile_args(self) -> T.List[str]: + '''Enable transparent large-file-support for 32-bit UNIX systems''' +- if not (self.get_argument_syntax() == 'msvc' or self.info.is_darwin()): ++ if not (self.get_argument_syntax() == 'msvc' or self.info.is_darwin() or self.info.is_sunos()): + # Enable large-file support unconditionally on all platforms other + # than macOS and MSVC. macOS is now 64-bit-only so it doesn't + # need anything special, and MSVC doesn't have automatic LFS. +diff -wpruN --no-dereference '--exclude=*.orig' a~/mesonbuild/linkers/detect.py a/mesonbuild/linkers/detect.py +--- a~/mesonbuild/linkers/detect.py 1970-01-01 00:00:00 ++++ a/mesonbuild/linkers/detect.py 1970-01-01 00:00:00 +@@ -21,7 +21,7 @@ if T.TYPE_CHECKING: + from ..mesonlib import MachineChoice + + defaults: T.Dict[str, T.List[str]] = {} +-defaults['static_linker'] = ['ar', 'gar'] ++defaults['static_linker'] = ['gar', 'ar'] + defaults['vs_static_linker'] = ['lib'] + defaults['clang_cl_static_linker'] = ['llvm-lib'] + defaults['cuda_static_linker'] = ['nvlink'] diff --git a/build/python313/meson/patches/series b/build/python313/meson/patches/series new file mode 100644 index 0000000000..742308fe80 --- /dev/null +++ b/build/python313/meson/patches/series @@ -0,0 +1 @@ +compiler_def_static_linker.patch diff --git a/build/python313/orjson/build.sh b/build/python313/orjson/build.sh new file mode 100755 index 0000000000..c91811dc59 --- /dev/null +++ b/build/python313/orjson/build.sh @@ -0,0 +1,51 @@ +#!/usr/bin/bash +# +# {{{ CDDL HEADER +# +# This file and its contents are supplied under the terms of the +# Common Development and Distribution License ("CDDL"), version 1.0. +# You may only use this file in accordance with the terms of version +# 1.0 of the CDDL. +# +# A full copy of the text of the CDDL should have accompanied this +# source. A copy of the CDDL is also available via the Internet at +# http://www.illumos.org/license/CDDL. +# }}} +# +# Copyright 2024 OmniOS Community Edition (OmniOSce) Association. +# +. ../../../lib/build.sh + +PKG=library/python-3/orjson-313 +PROG=orjson +inherit_ver python312/orjson +SUMMARY="orjson" +DESC="A fast, correct JSON library for Python." + +. $SRCDIR/../common.sh + +PATH+=:$OOCEBIN + +install() { + logmsg "Installing" + pushd $TMPDIR/$BUILDDIR >/dev/null + + logcmd mkdir -p $DESTDIR/$PYTHONVENDOR || logerr "mkdir" + logcmd cp target/release/lib$PROG.so \ + $DESTDIR/$PYTHONVENDOR/$PROG.cpython-$PYTHONPKGVER.so \ + || logerr "cp failed" + + popd >/dev/null +} + +init +download_source pymodules/$PROG $VER +patch_source +prep_build +build_rust +install +make_package +clean_up + +# Vim hints +# vim:ts=4:sw=4:et:fdm=marker diff --git a/build/python313/orjson/local.mog b/build/python313/orjson/local.mog new file mode 100644 index 0000000000..d3a95a8855 --- /dev/null +++ b/build/python313/orjson/local.mog @@ -0,0 +1,14 @@ +# +# This file and its contents are supplied under the terms of the +# Common Development and Distribution License ("CDDL"), version 1.0. +# You may only use this file in accordance with the terms of version +# 1.0 of the CDDL. +# +# A full copy of the text of the CDDL should have accompanied this +# source. A copy of the CDDL is also available via the Internet at +# http://www.illumos.org/license/CDDL. + +# Copyright 2020 OmniOS Community Edition (OmniOSce) Association. + +license LICENSE-MIT license=MIT + diff --git a/build/python313/packaging/build.sh b/build/python313/packaging/build.sh new file mode 100755 index 0000000000..2770a33e14 --- /dev/null +++ b/build/python313/packaging/build.sh @@ -0,0 +1,37 @@ +#!/usr/bin/bash +# +# {{{ CDDL HEADER +# +# This file and its contents are supplied under the terms of the +# Common Development and Distribution License ("CDDL"), version 1.0. +# You may only use this file in accordance with the terms of version +# 1.0 of the CDDL. +# +# A full copy of the text of the CDDL should have accompanied this +# source. A copy of the CDDL is also available via the Internet at +# http://www.illumos.org/license/CDDL. +# }}} +# +# Copyright 2024 OmniOS Community Edition (OmniOSce) Association. + +. ../../../lib/build.sh + +PKG=library/python-3/packaging-313 +PROG=packaging +inherit_ver python312/packaging +SUMMARY="Core utilities for Python packages" +DESC="Reusable core utilities for various Python Packaging interoperability " +DESC+="specifications" + +. $SRCDIR/../common.sh + +init +download_source pymodules/$PROG $PROG $VER +patch_source +prep_build +python_build +make_package +clean_up + +# Vim hints +# vim:ts=4:sw=4:et:fdm=marker diff --git a/build/python313/packaging/local.mog b/build/python313/packaging/local.mog new file mode 100644 index 0000000000..6050e3f7cf --- /dev/null +++ b/build/python313/packaging/local.mog @@ -0,0 +1,13 @@ +# This file and its contents are supplied under the terms of the +# Common Development and Distribution License ("CDDL"), version 1.0. +# You may only use this file in accordance with the terms of version +# 1.0 of the CDDL. +# +# A full copy of the text of the CDDL should have accompanied this +# source. A copy of the CDDL is also available via the Internet at +# http://www.illumos.org/license/CDDL. + +# Copyright 2024 OmniOS Community Edition (OmniOSce) Association. + +license LICENSE.BSD license=simplified-BSD + diff --git a/build/python313/pip/build.sh b/build/python313/pip/build.sh new file mode 100755 index 0000000000..fc249921a0 --- /dev/null +++ b/build/python313/pip/build.sh @@ -0,0 +1,36 @@ +#!/usr/bin/bash +# +# {{{ CDDL HEADER +# +# This file and its contents are supplied under the terms of the +# Common Development and Distribution License ("CDDL"), version 1.0. +# You may only use this file in accordance with the terms of version +# 1.0 of the CDDL. +# +# A full copy of the text of the CDDL should have accompanied this +# source. A copy of the CDDL is also available via the Internet at +# http://www.illumos.org/license/CDDL. +# }}} + +# Copyright 2024 OmniOS Community Edition (OmniOSce) Association. + +. ../../../lib/build.sh + +PKG=library/python-3/pip-313 +PROG=pip +inherit_ver python312/pip +SUMMARY="Tool for installing Python packages" +DESC="$PROG is the standard package installer for Python" + +. $SRCDIR/../common.sh + +init +download_source pymodules/$PROG $PROG $VER +patch_source +prep_build +python_build +make_package $SRCDIR/../common.mog +clean_up + +# Vim hints +# vim:ts=4:sw=4:et:fdm=marker diff --git a/build/python313/pip/local.mog b/build/python313/pip/local.mog new file mode 100644 index 0000000000..04c9369c03 --- /dev/null +++ b/build/python313/pip/local.mog @@ -0,0 +1,19 @@ +# +# This file and its contents are supplied under the terms of the +# Common Development and Distribution License ("CDDL"), version 1.0. +# You may only use this file in accordance with the terms of version +# 1.0 of the CDDL. +# +# A full copy of the text of the CDDL should have accompanied this +# source. A copy of the CDDL is also available via the Internet at +# http://www.illumos.org/license/CDDL. + +# Copyright 2021 OmniOS Community Edition (OmniOSce) Association. + +license LICENSE.txt license=MIT + + edit path usr/bin usr/lib/python$(PYTHONVER)/bin> + + set pkg.depend.bypass-generate .* > + diff --git a/build/python313/pip/patches/protect-vendor-packages.patch b/build/python313/pip/patches/protect-vendor-packages.patch new file mode 100644 index 0000000000..268b23de0f --- /dev/null +++ b/build/python313/pip/patches/protect-vendor-packages.patch @@ -0,0 +1,87 @@ +This patch is partially based on one from + https://github.com/oracle/solaris-userland + +This is a workaround to reduce the risk of damage to IPS delivered Python +packages by `pip` operations. + +This patch prevents pip from uninstalling anything from the vendor-packages +folder. Pip can still see all packages in the vendor-packages folder (for +dependency resolution) but cannot remove them. This prevents pip from +uninstalling IPS related packages and thus breaking the system. + +Updating a system package via pip will now result in the new being installed +into the site-packages folder, and the old being left in place. This retains +the version that is needed for system tools like `pkg` because these tools +explicitly ignore the `site-packages` area. + +All to-be-deleted paths are checked whether they start with the vendor-packages +path. normalize_path is used mainly to correctly resolve symlinks. + +This patch only helps as long as `pip` itself is not upgraded. If that happens +then there are two installed versions of `pip`, one in each of +`{site,vendor}-packages` and the new, unpatched, `pip` will start to be used. + +To protect against that, we also patch `pip` to stop prompting users to +upgrade it, and to disallow updates of itself. + +Furthermore the system packages are installed in such a way that pip will not +remove them since it thinks they were installed with distutils. See +python_vendor_relocate() in lib/functions.sh for more details. + +diff -wpruN --no-dereference '--exclude=*.orig' a~/src/pip/_internal/cli/cmdoptions.py a/src/pip/_internal/cli/cmdoptions.py +--- a~/src/pip/_internal/cli/cmdoptions.py 1970-01-01 00:00:00 ++++ a/src/pip/_internal/cli/cmdoptions.py 1970-01-01 00:00:00 +@@ -892,7 +892,7 @@ disable_pip_version_check: Callable[..., + "--disable-pip-version-check", + dest="disable_pip_version_check", + action="store_true", +- default=False, ++ default=True, + help="Don't periodically check PyPI to determine whether a new version " + "of pip is available for download. Implied with --no-index.", + ) +diff -wpruN --no-dereference '--exclude=*.orig' a~/src/pip/_internal/exceptions.py a/src/pip/_internal/exceptions.py +--- a~/src/pip/_internal/exceptions.py 1970-01-01 00:00:00 ++++ a/src/pip/_internal/exceptions.py 1970-01-01 00:00:00 +@@ -771,9 +771,8 @@ class LegacyDistutilsInstall(DiagnosticP + super().__init__( + message=Text(f"Cannot uninstall {distribution}"), + context=( +- "It is a distutils installed project and thus we cannot accurately " +- "determine which files belong to it which would lead to only a partial " +- "uninstall." ++ "It is an IPS-managed package.\n" ++ "Use the system 'pkg' command instead." + ), + hint_stmt=None, + ) +diff -wpruN --no-dereference '--exclude=*.orig' a~/src/pip/_internal/req/req_uninstall.py a/src/pip/_internal/req/req_uninstall.py +--- a~/src/pip/_internal/req/req_uninstall.py 1970-01-01 00:00:00 ++++ a/src/pip/_internal/req/req_uninstall.py 1970-01-01 00:00:00 +@@ -313,6 +313,15 @@ class UninstallPathSet: + remove/modify, False otherwise. + + """ ++ # Omit the vendor-packages augmentation to site-packages ++ # only when uninstalling. We want OmniOS IPS delivered packages ++ # in vendor-packages to be able to satisfy install dependencies ++ # but pip should never remove them. ++ vendor_packages_path = '/usr/lib/python{}.{}/vendor-packages'.format( ++ sys.version_info.major, sys.version_info.minor) ++ if normalize_path(path).startswith(vendor_packages_path): ++ return False ++ + # aka is_local, but caching normalized sys.prefix + if not running_under_virtualenv(): + return True +diff -wpruN --no-dereference '--exclude=*.orig' a~/src/pip/_internal/self_outdated_check.py a/src/pip/_internal/self_outdated_check.py +--- a~/src/pip/_internal/self_outdated_check.py 1970-01-01 00:00:00 ++++ a/src/pip/_internal/self_outdated_check.py 1970-01-01 00:00:00 +@@ -228,6 +228,7 @@ def pip_self_version_check(session: PipS + the active virtualenv or in the user's USER_CACHE_DIR keyed off the prefix + of the pip script path. + """ ++ return + installed_dist = get_default_environment().get_distribution("pip") + if not installed_dist: + return diff --git a/build/python313/pip/patches/series b/build/python313/pip/patches/series new file mode 100644 index 0000000000..b779384136 --- /dev/null +++ b/build/python313/pip/patches/series @@ -0,0 +1,2 @@ +protect-vendor-packages.patch +system-certificates.patch diff --git a/build/python313/pip/patches/system-certificates.patch b/build/python313/pip/patches/system-certificates.patch new file mode 100644 index 0000000000..eb7fe50786 --- /dev/null +++ b/build/python313/pip/patches/system-certificates.patch @@ -0,0 +1,120 @@ +Patch originally from https://github.com/oracle/solaris-userland/ + +PIP on OmniOS should not use its bundled cacert.pem file, it should instead +use system certificates file which is more likely to be updated in a timely +manner when a CA cert is added/removed/modified. + +diff -wpruN --no-dereference '--exclude=*.orig' a~/src/pip/_vendor/certifi/core.py a/src/pip/_vendor/certifi/core.py +--- a~/src/pip/_vendor/certifi/core.py 1970-01-01 00:00:00 ++++ a/src/pip/_vendor/certifi/core.py 1970-01-01 00:00:00 +@@ -10,105 +10,10 @@ import atexit + def exit_cacert_ctx() -> None: + _CACERT_CTX.__exit__(None, None, None) # type: ignore[union-attr] + ++def where() -> str: #keepindent ++ return "/etc/ssl/cacert.pem" + +-if sys.version_info >= (3, 11): ++def contents() -> str: #keepindent ++ with open(where(), "r", encoding="ascii") as fh: ++ return fh.read() + +- from importlib.resources import as_file, files +- +- _CACERT_CTX = None +- _CACERT_PATH = None +- +- def where() -> str: +- # This is slightly terrible, but we want to delay extracting the file +- # in cases where we're inside of a zipimport situation until someone +- # actually calls where(), but we don't want to re-extract the file +- # on every call of where(), so we'll do it once then store it in a +- # global variable. +- global _CACERT_CTX +- global _CACERT_PATH +- if _CACERT_PATH is None: +- # This is slightly janky, the importlib.resources API wants you to +- # manage the cleanup of this file, so it doesn't actually return a +- # path, it returns a context manager that will give you the path +- # when you enter it and will do any cleanup when you leave it. In +- # the common case of not needing a temporary file, it will just +- # return the file system location and the __exit__() is a no-op. +- # +- # We also have to hold onto the actual context manager, because +- # it will do the cleanup whenever it gets garbage collected, so +- # we will also store that at the global level as well. +- _CACERT_CTX = as_file(files("pip._vendor.certifi").joinpath("cacert.pem")) +- _CACERT_PATH = str(_CACERT_CTX.__enter__()) +- atexit.register(exit_cacert_ctx) +- +- return _CACERT_PATH +- +- def contents() -> str: +- return files("pip._vendor.certifi").joinpath("cacert.pem").read_text(encoding="ascii") +- +-elif sys.version_info >= (3, 7): +- +- from importlib.resources import path as get_path, read_text +- +- _CACERT_CTX = None +- _CACERT_PATH = None +- +- def where() -> str: +- # This is slightly terrible, but we want to delay extracting the +- # file in cases where we're inside of a zipimport situation until +- # someone actually calls where(), but we don't want to re-extract +- # the file on every call of where(), so we'll do it once then store +- # it in a global variable. +- global _CACERT_CTX +- global _CACERT_PATH +- if _CACERT_PATH is None: +- # This is slightly janky, the importlib.resources API wants you +- # to manage the cleanup of this file, so it doesn't actually +- # return a path, it returns a context manager that will give +- # you the path when you enter it and will do any cleanup when +- # you leave it. In the common case of not needing a temporary +- # file, it will just return the file system location and the +- # __exit__() is a no-op. +- # +- # We also have to hold onto the actual context manager, because +- # it will do the cleanup whenever it gets garbage collected, so +- # we will also store that at the global level as well. +- _CACERT_CTX = get_path("pip._vendor.certifi", "cacert.pem") +- _CACERT_PATH = str(_CACERT_CTX.__enter__()) +- atexit.register(exit_cacert_ctx) +- +- return _CACERT_PATH +- +- def contents() -> str: +- return read_text("pip._vendor.certifi", "cacert.pem", encoding="ascii") +- +-else: +- import os +- import types +- from typing import Union +- +- Package = Union[types.ModuleType, str] +- Resource = Union[str, "os.PathLike"] +- +- # This fallback will work for Python versions prior to 3.7 that lack the +- # importlib.resources module but relies on the existing `where` function +- # so won't address issues with environments like PyOxidizer that don't set +- # __file__ on modules. +- def read_text( +- package: Package, +- resource: Resource, +- encoding: str = 'utf-8', +- errors: str = 'strict' +- ) -> str: +- with open(where(), encoding=encoding) as data: +- return data.read() +- +- # If we don't have importlib.resources, then we will just do the old logic +- # of assuming we're on the filesystem and munge the path directly. +- def where() -> str: +- f = os.path.dirname(__file__) +- +- return os.path.join(f, "cacert.pem") +- +- def contents() -> str: +- return read_text("pip._vendor.certifi", "cacert.pem", encoding="ascii") diff --git a/build/python313/pycodestyle/build.sh b/build/python313/pycodestyle/build.sh new file mode 100755 index 0000000000..f70aad3848 --- /dev/null +++ b/build/python313/pycodestyle/build.sh @@ -0,0 +1,36 @@ +#!/usr/bin/bash +# +# {{{ CDDL HEADER +# +# This file and its contents are supplied under the terms of the +# Common Development and Distribution License ("CDDL"), version 1.0. +# You may only use this file in accordance with the terms of version +# 1.0 of the CDDL. +# +# A full copy of the text of the CDDL should have accompanied this +# source. A copy of the CDDL is also available via the Internet at +# http://www.illumos.org/license/CDDL. +# }}} +# +# Copyright 2024 OmniOS Community Edition (OmniOSce) Association. +# +. ../../../lib/build.sh + +PKG=library/python-3/pycodestyle-313 +PROG=pycodestyle +inherit_ver python312/pycodestyle +SUMMARY="$PROG - Python style guide checker" +DESC="$SUMMARY" + +. $SRCDIR/../common.sh + +init +download_source pymodules/$PROG $PROG $VER +patch_source +prep_build +python_build +make_package +clean_up + +# Vim hints +# vim:ts=4:sw=4:et:fdm=marker diff --git a/build/python313/pycodestyle/local.mog b/build/python313/pycodestyle/local.mog new file mode 100644 index 0000000000..51de1956ed --- /dev/null +++ b/build/python313/pycodestyle/local.mog @@ -0,0 +1,22 @@ +# +# This file and its contents are supplied under the terms of the +# Common Development and Distribution License ("CDDL"), version 1.0. +# You may only use this file in accordance with the terms of version +# 1.0 of the CDDL. +# +# A full copy of the text of the CDDL should have accompanied this +# source. A copy of the CDDL is also available via the Internet at +# http://www.illumos.org/license/CDDL. + +# Copyright 2021 OmniOS Community Edition (OmniOSce) Association. + +license LICENSE license=MIT + + set pkg.depend.bypass-generate .*> + + \ + edit path usr/bin usr/lib/python$(PYTHONVER)/bin > + +link path=usr/bin/pycodestyle target=../lib/python$(PYTHONVER)/bin/pycodestyle \ + mediator=python3 mediator-version=$(PYTHONVER) + diff --git a/build/python313/pycparser/build.sh b/build/python313/pycparser/build.sh new file mode 100755 index 0000000000..b1983580ab --- /dev/null +++ b/build/python313/pycparser/build.sh @@ -0,0 +1,36 @@ +#!/usr/bin/bash +# +# {{{ CDDL HEADER +# +# This file and its contents are supplied under the terms of the +# Common Development and Distribution License ("CDDL"), version 1.0. +# You may only use this file in accordance with the terms of version +# 1.0 of the CDDL. +# +# A full copy of the text of the CDDL should have accompanied this +# source. A copy of the CDDL is also available via the Internet at +# http://www.illumos.org/license/CDDL. +# }}} +# +# Copyright 2024 OmniOS Community Edition (OmniOSce) Association. + +. ../../../lib/build.sh + +PKG=library/python-3/pycparser-313 +PROG=pycparser +inherit_ver python312/pycparser +SUMMARY="Complete parser of the C language" +DESC="$SUMMARY, written in pure Python" + +. $SRCDIR/../common.sh + +init +download_source pymodules/$PROG $PROG $VER +patch_source +prep_build +python_build +make_package +clean_up + +# Vim hints +# vim:ts=4:sw=4:et:fdm=marker diff --git a/build/python313/pycparser/local.mog b/build/python313/pycparser/local.mog new file mode 100644 index 0000000000..db223b98c6 --- /dev/null +++ b/build/python313/pycparser/local.mog @@ -0,0 +1,14 @@ +# +# This file and its contents are supplied under the terms of the +# Common Development and Distribution License ("CDDL"), version 1.0. +# You may only use this file in accordance with the terms of version +# 1.0 of the CDDL. +# +# A full copy of the text of the CDDL should have accompanied this +# source. A copy of the CDDL is also available via the Internet at +# http://www.illumos.org/license/CDDL. + +# Copyright 2018 OmniOS Community Edition (OmniOSce) Association. + +license LICENSE license=modified-BSD + diff --git a/build/python313/pycurl/build.sh b/build/python313/pycurl/build.sh new file mode 100755 index 0000000000..b5f3728871 --- /dev/null +++ b/build/python313/pycurl/build.sh @@ -0,0 +1,38 @@ +#!/usr/bin/bash +# +# {{{ CDDL HEADER +# +# This file and its contents are supplied under the terms of the +# Common Development and Distribution License ("CDDL"), version 1.0. +# You may only use this file in accordance with the terms of version +# 1.0 of the CDDL. +# +# A full copy of the text of the CDDL should have accompanied this +# source. A copy of the CDDL is also available via the Internet at +# http://www.illumos.org/license/CDDL. +# }}} +# +# Copyright 2024 OmniOS Community Edition (OmniOSce) Association. + +. ../../../lib/build.sh + +PKG=library/python-3/pycurl-313 +PROG=pycurl +inherit_ver python312/pycurl +SUMMARY="Python bindings for libcurl" +DESC="PycURL provides a thin layer of Python bindings on top of libcurl." + +. $SRCDIR/../common.sh + +SKIP_LICENCES=MIT + +init +download_source pymodules/$PROG $PROG $VER +patch_source +prep_build +python_build +make_package +clean_up + +# Vim hints +# vim:ts=4:sw=4:et:fdm=marker diff --git a/build/python313/pycurl/local.mog b/build/python313/pycurl/local.mog new file mode 100644 index 0000000000..d6bb21caf2 --- /dev/null +++ b/build/python313/pycurl/local.mog @@ -0,0 +1,17 @@ +# +# This file and its contents are supplied under the terms of the +# Common Development and Distribution License ("CDDL"), version 1.0. +# You may only use this file in accordance with the terms of version +# 1.0 of the CDDL. +# +# A full copy of the text of the CDDL should have accompanied this +# source. A copy of the CDDL is also available via the Internet at +# http://www.illumos.org/license/CDDL. + +# Copyright 2019 OmniOS Community Edition (OmniOSce) Association. + +license COPYING-LGPL license=LGPLv2.1 +license COPYING-MIT license=MIT + + drop> + diff --git a/build/python313/pycurl/patches/python313.patch b/build/python313/pycurl/patches/python313.patch new file mode 100644 index 0000000000..a84dd720eb --- /dev/null +++ b/build/python313/pycurl/patches/python313.patch @@ -0,0 +1,67 @@ + +THe Py_TRASHCAN_SAFE_BEGIN/END macros were deprecated in 3.11 and removed in +3.13. + +https://github.com/python/cpython/issues/105111 + +diff -wpruN --no-dereference '--exclude=*.orig' a~/src/easy.c a/src/easy.c +--- a~/src/easy.c 1970-01-01 00:00:00 ++++ a/src/easy.c 1970-01-01 00:00:00 +@@ -280,13 +280,13 @@ PYCURL_INTERNAL void + do_curl_dealloc(CurlObject *self) + { + PyObject_GC_UnTrack(self); +- Py_TRASHCAN_SAFE_BEGIN(self); ++ Py_TRASHCAN_BEGIN(self, __func__); + + Py_CLEAR(self->dict); + util_curl_close(self); + + Curl_Type.tp_free(self); +- Py_TRASHCAN_SAFE_END(self); ++ Py_TRASHCAN_END; + } + + +diff -wpruN --no-dereference '--exclude=*.orig' a~/src/multi.c a/src/multi.c +--- a~/src/multi.c 1970-01-01 00:00:00 ++++ a/src/multi.c 1970-01-01 00:00:00 +@@ -117,7 +117,7 @@ PYCURL_INTERNAL void + do_multi_dealloc(CurlMultiObject *self) + { + PyObject_GC_UnTrack(self); +- Py_TRASHCAN_SAFE_BEGIN(self); ++ Py_TRASHCAN_BEGIN(self, __func__); + + util_multi_xdecref(self); + util_multi_close(self); +@@ -127,7 +127,7 @@ do_multi_dealloc(CurlMultiObject *self) + } + + CurlMulti_Type.tp_free(self); +- Py_TRASHCAN_SAFE_END(self); ++ Py_TRASHCAN_END; + } + + +diff -wpruN --no-dereference '--exclude=*.orig' a~/src/share.c a/src/share.c +--- a~/src/share.c 1970-01-01 00:00:00 ++++ a/src/share.c 1970-01-01 00:00:00 +@@ -119,7 +119,7 @@ PYCURL_INTERNAL void + do_share_dealloc(CurlShareObject *self) + { + PyObject_GC_UnTrack(self); +- Py_TRASHCAN_SAFE_BEGIN(self); ++ Py_TRASHCAN_BEGIN(self, __func__); + + Py_CLEAR(self->dict); + util_share_close(self); +@@ -133,7 +133,7 @@ do_share_dealloc(CurlShareObject *self) + } + + CurlShare_Type.tp_free(self); +- Py_TRASHCAN_SAFE_END(self); ++ Py_TRASHCAN_END; + } + + diff --git a/build/python313/pycurl/patches/series b/build/python313/pycurl/patches/series new file mode 100644 index 0000000000..3231737c5c --- /dev/null +++ b/build/python313/pycurl/patches/series @@ -0,0 +1 @@ +python313.patch diff --git a/build/python313/pycurl/test b/build/python313/pycurl/test new file mode 100755 index 0000000000..dd89a19a79 --- /dev/null +++ b/build/python313/pycurl/test @@ -0,0 +1,18 @@ +#!/usr/bin/python3 + +import pycurl +from io import BytesIO + +buffer = BytesIO() +c = pycurl.Curl() +c.setopt(c.URL, 'https://omnios.org/') +c.setopt(c.WRITEDATA, buffer) +c.perform() +c.close() + +body = buffer.getvalue() +# Body is a byte string. +# We have to know the encoding in order to print it to a text file +# such as standard output. +print(body.decode('iso-8859-1')) + diff --git a/build/python313/pyopenssl/build.sh b/build/python313/pyopenssl/build.sh new file mode 100755 index 0000000000..1c0213dbb5 --- /dev/null +++ b/build/python313/pyopenssl/build.sh @@ -0,0 +1,40 @@ +#!/usr/bin/bash +# +# {{{ CDDL HEADER +# +# This file and its contents are supplied under the terms of the +# Common Development and Distribution License ("CDDL"), version 1.0. +# You may only use this file in accordance with the terms of version +# 1.0 of the CDDL. +# +# A full copy of the text of the CDDL should have accompanied this +# source. A copy of the CDDL is also available via the Internet at +# http://www.illumos.org/license/CDDL. +# }}} +# +# Copyright 2024 OmniOS Community Edition (OmniOSce) Association. +# +. ../../../lib/build.sh + +PKG=library/python-3/pyopenssl-313 +PROG=pyopenssl +inherit_ver python312/pyopenssl +SUMMARY="pyOpenSSL - Python interface to the OpenSSL library" +DESC="$SUMMARY" + +. $SRCDIR/../common.sh + +RUN_DEPENDS_IPS+=" library/python-$PYMVER/cryptography-$SPYVER" + +[ "$BUILDARCH" = aarch64 ] && set_patchdir patches.aarch64 + +init +download_source pymodules/$PROG $PROG $VER +patch_source +prep_build +python_build +make_package +clean_up + +# Vim hints +# vim:ts=4:sw=4:et:fdm=marker diff --git a/build/python313/pyopenssl/local.mog b/build/python313/pyopenssl/local.mog new file mode 100644 index 0000000000..bc7ff1a3b1 --- /dev/null +++ b/build/python313/pyopenssl/local.mog @@ -0,0 +1,14 @@ +# +# This file and its contents are supplied under the terms of the +# Common Development and Distribution License ("CDDL"), version 1.0. +# You may only use this file in accordance with the terms of version +# 1.0 of the CDDL. +# +# A full copy of the text of the CDDL should have accompanied this +# source. A copy of the CDDL is also available via the Internet at +# http://www.illumos.org/license/CDDL. + +# Copyright 2018 OmniOS Community Edition (OmniOSce) Association. + +license LICENSE license=Apache2 + diff --git a/build/python313/pyopenssl/patches.aarch64/cryptography.patch b/build/python313/pyopenssl/patches.aarch64/cryptography.patch new file mode 100644 index 0000000000..6a639c30f8 --- /dev/null +++ b/build/python313/pyopenssl/patches.aarch64/cryptography.patch @@ -0,0 +1,81 @@ +diff -wpruN --no-dereference '--exclude=*.orig' a~/src/OpenSSL/crypto.py a/src/OpenSSL/crypto.py +--- a~/src/OpenSSL/crypto.py 1970-01-01 00:00:00 ++++ a/src/OpenSSL/crypto.py 1970-01-01 00:00:00 +@@ -968,7 +968,6 @@ utils.deprecated( + "APIs in cryptography." + ), + DeprecationWarning, +- name="X509Extension", + ) + + +@@ -1203,7 +1202,6 @@ utils.deprecated( + "in cryptography." + ), + DeprecationWarning, +- name="X509Req", + ) + + +@@ -2400,7 +2398,6 @@ utils.deprecated( + "in cryptography." + ), + DeprecationWarning, +- name="Revoked", + ) + + +@@ -2645,7 +2642,6 @@ utils.deprecated( + "in cryptography." + ), + DeprecationWarning, +- name="CRL", + ) + + +@@ -2840,7 +2836,6 @@ utils.deprecated( + "in cryptography." + ), + DeprecationWarning, +- name="dump_certificate_request", + ) + + +@@ -2882,7 +2877,6 @@ utils.deprecated( + "in cryptography." + ), + DeprecationWarning, +- name="load_certificate_request", + ) + + +@@ -2926,7 +2920,6 @@ utils.deprecated( + __name__, + "sign() is deprecated. Use the equivalent APIs in cryptography.", + DeprecationWarning, +- name="sign", + ) + + +@@ -2973,7 +2966,6 @@ utils.deprecated( + __name__, + "verify() is deprecated. Use the equivalent APIs in cryptography.", + DeprecationWarning, +- name="verify", + ) + + +@@ -3015,7 +3007,6 @@ utils.deprecated( + "in cryptography." + ), + DeprecationWarning, +- name="dump_crl", + ) + + +@@ -3058,5 +3049,4 @@ utils.deprecated( + "in cryptography." + ), + DeprecationWarning, +- name="load_crl", + ) diff --git a/build/python313/pyopenssl/patches.aarch64/series b/build/python313/pyopenssl/patches.aarch64/series new file mode 100644 index 0000000000..30d70d2afc --- /dev/null +++ b/build/python313/pyopenssl/patches.aarch64/series @@ -0,0 +1 @@ +cryptography.patch diff --git a/build/python313/pyopenssl/test b/build/python313/pyopenssl/test new file mode 100755 index 0000000000..438ef9d959 --- /dev/null +++ b/build/python313/pyopenssl/test @@ -0,0 +1,9 @@ +#!/usr/bin/python3 + +from OpenSSL import crypto + +TYPE_RSA = crypto.TYPE_RSA + +pkey = crypto.PKey() +pkey.generate_key(TYPE_RSA, 2048) + diff --git a/build/python313/pyrsistent/build.sh b/build/python313/pyrsistent/build.sh new file mode 100755 index 0000000000..b043e9accf --- /dev/null +++ b/build/python313/pyrsistent/build.sh @@ -0,0 +1,36 @@ +#!/usr/bin/bash +# +# {{{ CDDL HEADER +# +# This file and its contents are supplied under the terms of the +# Common Development and Distribution License ("CDDL"), version 1.0. +# You may only use this file in accordance with the terms of version +# 1.0 of the CDDL. +# +# A full copy of the text of the CDDL should have accompanied this +# source. A copy of the CDDL is also available via the Internet at +# http://www.illumos.org/license/CDDL. +# }}} +# +# Copyright 2024 OmniOS Community Edition (OmniOSce) Association. + +. ../../../lib/build.sh + +PKG=library/python-3/pyrsistent-313 +PROG=pyrsistent +inherit_ver python312/pyrsistent +SUMMARY="Python pyrsistent" +DESC="Persistent/Functional/Immutable data structures" + +. $SRCDIR/../common.sh + +init +download_source pymodules/$PROG $PROG $VER +patch_source +prep_build +python_build +make_package +clean_up + +# Vim hints +# vim:ts=4:sw=4:et:fdm=marker diff --git a/build/python313/pyrsistent/local.mog b/build/python313/pyrsistent/local.mog new file mode 100644 index 0000000000..63c3c44e4c --- /dev/null +++ b/build/python313/pyrsistent/local.mog @@ -0,0 +1,18 @@ +# +# This file and its contents are supplied under the terms of the +# Common Development and Distribution License ("CDDL"), version 1.0. +# You may only use this file in accordance with the terms of version +# 1.0 of the CDDL. +# +# A full copy of the text of the CDDL should have accompanied this +# source. A copy of the CDDL is also available via the Internet at +# http://www.illumos.org/license/CDDL. +# + +# Copyright 2021 OmniOS Community Edition (OmniOSce) Association. + +license LICENSE.mit license=MIT + + edit path usr/bin usr/lib/python$(PYTHONVER)/bin> + diff --git a/build/python313/pyyaml/build.sh b/build/python313/pyyaml/build.sh new file mode 100755 index 0000000000..e8bef9ead9 --- /dev/null +++ b/build/python313/pyyaml/build.sh @@ -0,0 +1,38 @@ +#!/usr/bin/bash +# +# {{{ CDDL HEADER +# +# This file and its contents are supplied under the terms of the +# Common Development and Distribution License ("CDDL"), version 1.0. +# You may only use this file in accordance with the terms of version +# 1.0 of the CDDL. +# +# A full copy of the text of the CDDL should have accompanied this +# source. A copy of the CDDL is also available via the Internet at +# http://www.illumos.org/license/CDDL. +# }}} +# +# Copyright 2024 OmniOS Community Edition (OmniOSce) Association. +# +. ../../../lib/build.sh + +PKG=library/python-3/pyyaml-313 +PROG=pyyaml +inherit_ver python312/pyyaml +SUMMARY="YAML parser and emitter for Python" +DESC="YAML is a data serialization format designed for human readability " +DESC+="and interaction with scripting languages. " +DESC+="PyYAML is a YAML parser and emitter for Python." + +. $SRCDIR/../common.sh + +init +download_source pymodules/$PROG $PROG $VER +patch_source +prep_build +python_build +make_package +clean_up + +# Vim hints +# vim:ts=4:sw=4:et:fdm=marker diff --git a/build/python313/pyyaml/local.mog b/build/python313/pyyaml/local.mog new file mode 100644 index 0000000000..66d3bacd93 --- /dev/null +++ b/build/python313/pyyaml/local.mog @@ -0,0 +1,15 @@ +# +# This file and its contents are supplied under the terms of the +# Common Development and Distribution License ("CDDL"), version 1.0. +# You may only use this file in accordance with the terms of version +# 1.0 of the CDDL. +# +# A full copy of the text of the CDDL should have accompanied this +# source. A copy of the CDDL is also available via the Internet at +# http://www.illumos.org/license/CDDL. +# + +# Copyright 2021 OmniOS Community Edition (OmniOSce) Association. + +license LICENSE license=MIT + diff --git a/build/python313/rapidjson/build.sh b/build/python313/rapidjson/build.sh new file mode 100755 index 0000000000..e6ecf715b3 --- /dev/null +++ b/build/python313/rapidjson/build.sh @@ -0,0 +1,41 @@ +#!/usr/bin/bash +# +# {{{ CDDL HEADER +# +# This file and its contents are supplied under the terms of the +# Common Development and Distribution License ("CDDL"), version 1.0. +# You may only use this file in accordance with the terms of version +# 1.0 of the CDDL. +# +# A full copy of the text of the CDDL should have accompanied this +# source. A copy of the CDDL is also available via the Internet at +# http://www.illumos.org/license/CDDL. +# }}} +# +# Copyright 2024 OmniOS Community Edition (OmniOSce) Association. +# +. ../../../lib/build.sh + +PKG=library/python-3/rapidjson-313 +PROG=rapidjson +inherit_ver python312/rapidjson +SUMMARY="rapidjson - Python interface to RapidJSON" +DESC="RapidJSON is an extremely fast C++ JSON parser and serialization library" +DESC+="; this module wraps it into a Python 3 extension" + +. $SRCDIR/../common.sh + +CFLAGS[aarch64]+=" -fpermissive" + +set_builddir python_$PROG-$VER + +init +download_source pymodules/$PROG python_$PROG $VER +patch_source +prep_build +python_build +make_package +clean_up + +# Vim hints +# vim:ts=4:sw=4:et:fdm=marker diff --git a/build/python313/rapidjson/local.mog b/build/python313/rapidjson/local.mog new file mode 100644 index 0000000000..dbe1574ad3 --- /dev/null +++ b/build/python313/rapidjson/local.mog @@ -0,0 +1,14 @@ +# +# This file and its contents are supplied under the terms of the +# Common Development and Distribution License ("CDDL"), version 1.0. +# You may only use this file in accordance with the terms of version +# 1.0 of the CDDL. +# +# A full copy of the text of the CDDL should have accompanied this +# source. A copy of the CDDL is also available via the Internet at +# http://www.illumos.org/license/CDDL. + +# Copyright 2020 OmniOS Community Edition (OmniOSce) Association. + +license LICENSE license=MIT + diff --git a/build/python313/rapidjson/patches/hexdigits.patch b/build/python313/rapidjson/patches/hexdigits.patch new file mode 100644 index 0000000000..3dd691a4b8 --- /dev/null +++ b/build/python313/rapidjson/patches/hexdigits.patch @@ -0,0 +1,16 @@ + +For compatibility with simplejson, output lower case hex digits for dump[s]() +with ensure_ascii=True + +diff -wpruN --no-dereference '--exclude=*.orig' a~/rapidjson/include/rapidjson/writer.h a/rapidjson/include/rapidjson/writer.h +--- a~/rapidjson/include/rapidjson/writer.h 1970-01-01 00:00:00 ++++ a/rapidjson/include/rapidjson/writer.h 1970-01-01 00:00:00 +@@ -381,7 +381,7 @@ protected: + } + + bool WriteString(const Ch* str, SizeType length) { +- static const typename OutputStream::Ch hexDigits[16] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' }; ++ static const typename OutputStream::Ch hexDigits[16] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' }; + static const char escape[256] = { + #define Z16 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + //0 1 2 3 4 5 6 7 8 9 A B C D E F diff --git a/build/python313/rapidjson/patches/series b/build/python313/rapidjson/patches/series new file mode 100644 index 0000000000..ef65a115d2 --- /dev/null +++ b/build/python313/rapidjson/patches/series @@ -0,0 +1 @@ +hexdigits.patch diff --git a/build/python313/rapidjson/test b/build/python313/rapidjson/test new file mode 100755 index 0000000000..f2a152830d --- /dev/null +++ b/build/python313/rapidjson/test @@ -0,0 +1,5 @@ +#!/usr/bin/python3 + +import rapidjson as json +print(json.dumps(['foo', {'bar': ('baz', None, 1.0, 2)}])) + diff --git a/build/python313/semantic-version/build.sh b/build/python313/semantic-version/build.sh new file mode 100755 index 0000000000..3a77b3e7d4 --- /dev/null +++ b/build/python313/semantic-version/build.sh @@ -0,0 +1,37 @@ +#!/usr/bin/bash +# +# {{{ CDDL HEADER +# +# This file and its contents are supplied under the terms of the +# Common Development and Distribution License ("CDDL"), version 1.0. +# You may only use this file in accordance with the terms of version +# 1.0 of the CDDL. +# +# A full copy of the text of the CDDL should have accompanied this +# source. A copy of the CDDL is also available via the Internet at +# http://www.illumos.org/license/CDDL. +# }}} +# +# Copyright 2024 OmniOS Community Edition (OmniOSce) Association. + +. ../../../lib/build.sh + +PKG=library/python-3/semantic-version-313 +PROG=semantic_version +inherit_ver python312/semantic-version +SUMMARY="A library implementing the 'SemVer' scheme." +DESC="This small python library provides a few tools to handle SemVer in " +DESC+="Python. It follows strictly the 2.0.0 version of the SemVer scheme." + +. $SRCDIR/../common.sh + +init +download_source pymodules/$PROG $PROG $VER +patch_source +prep_build +python_build +make_package $SRCDIR/../common.mog +clean_up + +# Vim hints +# vim:ts=4:sw=4:et:fdm=marker diff --git a/build/python313/semantic-version/local.mog b/build/python313/semantic-version/local.mog new file mode 100644 index 0000000000..82f8802c50 --- /dev/null +++ b/build/python313/semantic-version/local.mog @@ -0,0 +1,14 @@ +# +# This file and its contents are supplied under the terms of the +# Common Development and Distribution License ("CDDL"), version 1.0. +# You may only use this file in accordance with the terms of version +# 1.0 of the CDDL. +# +# A full copy of the text of the CDDL should have accompanied this +# source. A copy of the CDDL is also available via the Internet at +# http://www.illumos.org/license/CDDL. + +# Copyright 2021 OmniOS Community Edition (OmniOSce) Association. + +license LICENSE license=simplified-BSD + diff --git a/build/python313/setuptools-rust/build.sh b/build/python313/setuptools-rust/build.sh new file mode 100755 index 0000000000..abbf53887c --- /dev/null +++ b/build/python313/setuptools-rust/build.sh @@ -0,0 +1,44 @@ +#!/usr/bin/bash +# +# {{{ CDDL HEADER +# +# This file and its contents are supplied under the terms of the +# Common Development and Distribution License ("CDDL"), version 1.0. +# You may only use this file in accordance with the terms of version +# 1.0 of the CDDL. +# +# A full copy of the text of the CDDL should have accompanied this +# source. A copy of the CDDL is also available via the Internet at +# http://www.illumos.org/license/CDDL. +# }}} +# +# Copyright 2024 OmniOS Community Edition (OmniOSce) Association. + +. ../../../lib/build.sh + +PKG=library/python-3/setuptools-rust-313 +PROG=setuptools_rust +inherit_ver python312/setuptools-rust +SUMMARY="Python setuptools rust extension plugin" +DESC="Compile and distribute Python extensions written in rust as easily " +DESC+="as if they were written in C." + +. $SRCDIR/../common.sh + +RUN_DEPENDS_IPS+=" + library/python-$PYMVER/setuptools-$SPYVER + library/python-$PYMVER/semantic-version-$SPYVER + library/python-$PYMVER/tomli-$SPYVER + library/python-$PYMVER/typing-extensions-$SPYVER +" + +init +download_source pymodules/${PROG/_/-} $PROG-$VER +patch_source +prep_build +python_build +make_package $SRCDIR/../common.mog +clean_up + +# Vim hints +# vim:ts=4:sw=4:et:fdm=marker diff --git a/build/python313/setuptools-rust/local.mog b/build/python313/setuptools-rust/local.mog new file mode 100644 index 0000000000..123002c31e --- /dev/null +++ b/build/python313/setuptools-rust/local.mog @@ -0,0 +1,14 @@ +# +# This file and its contents are supplied under the terms of the +# Common Development and Distribution License ("CDDL"), version 1.0. +# You may only use this file in accordance with the terms of version +# 1.0 of the CDDL. +# +# A full copy of the text of the CDDL should have accompanied this +# source. A copy of the CDDL is also available via the Internet at +# http://www.illumos.org/license/CDDL. + +# Copyright 2021 OmniOS Community Edition (OmniOSce) Association. + +license LICENSE license=MIT + diff --git a/build/python313/setuptools/build.sh b/build/python313/setuptools/build.sh new file mode 100755 index 0000000000..722f33e9ef --- /dev/null +++ b/build/python313/setuptools/build.sh @@ -0,0 +1,45 @@ +#!/usr/bin/bash +# +# {{{ CDDL HEADER +# +# This file and its contents are supplied under the terms of the +# Common Development and Distribution License ("CDDL"), version 1.0. +# You may only use this file in accordance with the terms of version +# 1.0 of the CDDL. +# +# A full copy of the text of the CDDL should have accompanied this +# source. A copy of the CDDL is also available via the Internet at +# http://www.illumos.org/license/CDDL. +# }}} +# +# Copyright 2024 OmniOS Community Edition (OmniOSce) Association. + +. ../../../lib/build.sh + +PKG=library/python-3/setuptools-313 +PROG=setuptools +inherit_ver python312/setuptools +SUMMARY="Python package management" +DESC="Easily download, build, install, upgrade, and uninstall Python packages" + +. $SRCDIR/../common.sh + +if [ "$FLAVOR" = bootstrap ]; then + # When bootstrapping a new python version, we need to break the cyclic + # dependency between setuptools and pip. Build without pip and do not add + # the dependency. + PYTHON_BUILD_BACKEND=setuppy +else + RUN_DEPENDS_IPS+=" library/python-$PYMVER/pip-$SPYVER" +fi + +init +download_source pymodules/$PROG $PROG $VER +patch_source +prep_build +python_build +make_package $SRCDIR/../common.mog +clean_up + +# Vim hints +# vim:ts=4:sw=4:et:fdm=marker diff --git a/build/python313/setuptools/local.mog b/build/python313/setuptools/local.mog new file mode 100644 index 0000000000..b13adfe135 --- /dev/null +++ b/build/python313/setuptools/local.mog @@ -0,0 +1,18 @@ +# +# This file and its contents are supplied under the terms of the +# Common Development and Distribution License ("CDDL"), version 1.0. +# You may only use this file in accordance with the terms of version +# 1.0 of the CDDL. +# +# A full copy of the text of the CDDL should have accompanied this +# source. A copy of the CDDL is also available via the Internet at +# http://www.illumos.org/license/CDDL. + +# Copyright 2019 OmniOS Community Edition (OmniOSce) Association. + +license LICENSE license=MIT + + set pkg.depend.bypass-generate .*> + \ + edit path usr/bin usr/lib/python$(PYTHONVER)/bin > + diff --git a/build/python313/six/build.sh b/build/python313/six/build.sh new file mode 100755 index 0000000000..cc82df5ab7 --- /dev/null +++ b/build/python313/six/build.sh @@ -0,0 +1,36 @@ +#!/usr/bin/bash +# +# {{{ CDDL HEADER +# +# This file and its contents are supplied under the terms of the +# Common Development and Distribution License ("CDDL"), version 1.0. +# You may only use this file in accordance with the terms of version +# 1.0 of the CDDL. +# +# A full copy of the text of the CDDL should have accompanied this +# source. A copy of the CDDL is also available via the Internet at +# http://www.illumos.org/license/CDDL. +# }}} + +# Copyright 2024 OmniOS Community Edition (OmniOSce) Association. + +. ../../../lib/build.sh + +PKG=library/python-3/six-313 +PROG=six +inherit_ver python312/six +SUMMARY="A Python 2 and 3 compatibility library" +DESC="$SUMMARY" + +. $SRCDIR/../common.sh + +init +download_source pymodules/$PROG $PROG $VER +patch_source +prep_build +python_build +make_package +clean_up + +# Vim hints +# vim:ts=4:sw=4:et:fdm=marker diff --git a/build/python313/six/local.mog b/build/python313/six/local.mog new file mode 100644 index 0000000000..8db201d6fe --- /dev/null +++ b/build/python313/six/local.mog @@ -0,0 +1,14 @@ +# +# This file and its contents are supplied under the terms of the +# Common Development and Distribution License ("CDDL"), version 1.0. +# You may only use this file in accordance with the terms of version +# 1.0 of the CDDL. +# +# A full copy of the text of the CDDL should have accompanied this +# source. A copy of the CDDL is also available via the Internet at +# http://www.illumos.org/license/CDDL. + +# Copyright 2019 OmniOS Community Edition (OmniOSce) Association. + +license LICENSE license=MIT + diff --git a/build/python313/tomli/build.sh b/build/python313/tomli/build.sh new file mode 100755 index 0000000000..ccbb882224 --- /dev/null +++ b/build/python313/tomli/build.sh @@ -0,0 +1,36 @@ +#!/usr/bin/bash +# +# {{{ CDDL HEADER +# +# This file and its contents are supplied under the terms of the +# Common Development and Distribution License ("CDDL"), version 1.0. +# You may only use this file in accordance with the terms of version +# 1.0 of the CDDL. +# +# A full copy of the text of the CDDL should have accompanied this +# source. A copy of the CDDL is also available via the Internet at +# http://www.illumos.org/license/CDDL. +# }}} +# +# Copyright 2024 OmniOS Community Edition (OmniOSce) Association. + +. ../../../lib/build.sh + +PKG=library/python-3/tomli-313 +PROG=tomli +inherit_ver python312/tomli +SUMMARY="Python TOML parser" +DESC="Tomli is a Python library for parsing TOML" + +. $SRCDIR/../common.sh + +init +download_source pymodules/$PROG $PROG $VER +patch_source +prep_build +python_build +make_package +clean_up + +# Vim hints +# vim:ts=4:sw=4:et:fdm=marker diff --git a/build/python313/tomli/local.mog b/build/python313/tomli/local.mog new file mode 100644 index 0000000000..3e1798fe81 --- /dev/null +++ b/build/python313/tomli/local.mog @@ -0,0 +1,13 @@ +# This file and its contents are supplied under the terms of the +# Common Development and Distribution License ("CDDL"), version 1.0. +# You may only use this file in accordance with the terms of version +# 1.0 of the CDDL. +# +# A full copy of the text of the CDDL should have accompanied this +# source. A copy of the CDDL is also available via the Internet at +# http://www.illumos.org/license/CDDL. + +# Copyright 2021 OmniOS Community Edition (OmniOSce) Association. + +license LICENSE license=MIT + diff --git a/build/python313/typing-extensions/build.sh b/build/python313/typing-extensions/build.sh new file mode 100755 index 0000000000..826f909452 --- /dev/null +++ b/build/python313/typing-extensions/build.sh @@ -0,0 +1,38 @@ +#!/usr/bin/bash +# +# {{{ CDDL HEADER +# +# This file and its contents are supplied under the terms of the +# Common Development and Distribution License ("CDDL"), version 1.0. +# You may only use this file in accordance with the terms of version +# 1.0 of the CDDL. +# +# A full copy of the text of the CDDL should have accompanied this +# source. A copy of the CDDL is also available via the Internet at +# http://www.illumos.org/license/CDDL. +# }}} +# +# Copyright 2024 OmniOS Community Edition (OmniOSce) Association. + +. ../../../lib/build.sh + +PKG=library/python-3/typing-extensions-313 +PROG=typing-extensions +inherit_ver python312/typing-extensions +SUMMARY="Python typing extensions" +DESC="Backported and Experimental Type Hints for Python 3.6+" + +. $SRCDIR/../common.sh + +set_builddir ${PROG/-/_}-$VER + +init +download_source pymodules/$PROG ${PROG/-/_} $VER +patch_source +prep_build +python_build +make_package +clean_up + +# Vim hints +# vim:ts=4:sw=4:et:fdm=marker diff --git a/build/python313/typing-extensions/local.mog b/build/python313/typing-extensions/local.mog new file mode 100644 index 0000000000..79653a6d2f --- /dev/null +++ b/build/python313/typing-extensions/local.mog @@ -0,0 +1,16 @@ +# This file and its contents are supplied under the terms of the +# Common Development and Distribution License ("CDDL"), version 1.0. +# You may only use this file in accordance with the terms of version +# 1.0 of the CDDL. +# +# A full copy of the text of the CDDL should have accompanied this +# source. A copy of the CDDL is also available via the Internet at +# http://www.illumos.org/license/CDDL. + +# Copyright 2021 OmniOS Community Edition (OmniOSce) Association. + +license LICENSE license=PSFv2 + + edit path /src_py3/ /> + drop> + diff --git a/doc/baseline b/doc/baseline index 2a88a47180..71c7f79a1b 100644 --- a/doc/baseline +++ b/doc/baseline @@ -295,57 +295,84 @@ omnios library/print/open-printing/lpd omnios library/python-2/setuptools-27 omnios library/python-3/asn1crypto-311 o omnios library/python-3/asn1crypto-312 +omnios library/python-3/asn1crypto-313 omnios library/python-3/attrs-311 o omnios library/python-3/attrs-312 +omnios library/python-3/attrs-313 omnios library/python-3/cffi-311 o omnios library/python-3/cffi-312 +omnios library/python-3/cffi-313 omnios library/python-3/coverage-311 o omnios library/python-3/coverage-312 +omnios library/python-3/coverage-313 omnios library/python-3/crossenv-311 o omnios library/python-3/crossenv-312 +omnios library/python-3/crossenv-313 omnios library/python-3/cryptography-311 o omnios library/python-3/cryptography-312 +omnios library/python-3/cryptography-313 omnios library/python-3/idna-311 o omnios library/python-3/idna-312 +omnios library/python-3/idna-313 omnios library/python-3/js-regex-311 o omnios library/python-3/js-regex-312 +omnios library/python-3/js-regex-313 omnios library/python-3/jsonrpclib-311 o omnios library/python-3/jsonrpclib-312 +omnios library/python-3/jsonrpclib-313 omnios library/python-3/jsonschema-311 o omnios library/python-3/jsonschema-312 +omnios library/python-3/jsonschema-313 omnios library/python-3/meson-311 o omnios library/python-3/meson-312 +omnios library/python-3/meson-313 omnios library/python-3/orjson-311 o omnios library/python-3/orjson-312 +omnios library/python-3/orjson-313 omnios library/python-3/packaging-312 +omnios library/python-3/packaging-313 omnios library/python-3/pip-311 o omnios library/python-3/pip-312 +omnios library/python-3/pip-313 omnios library/python-3/pycodestyle-311 o omnios library/python-3/pycodestyle-312 +omnios library/python-3/pycodestyle-313 omnios library/python-3/pycparser-311 o omnios library/python-3/pycparser-312 +omnios library/python-3/pycparser-313 omnios library/python-3/pycurl-311 o omnios library/python-3/pycurl-312 +omnios library/python-3/pycurl-313 omnios library/python-3/pyopenssl-311 o omnios library/python-3/pyopenssl-312 +omnios library/python-3/pyopenssl-313 omnios library/python-3/pyrsistent-311 o omnios library/python-3/pyrsistent-312 +omnios library/python-3/pyrsistent-313 omnios library/python-3/pyyaml-311 o omnios library/python-3/pyyaml-312 +omnios library/python-3/pyyaml-313 omnios library/python-3/rapidjson-311 o omnios library/python-3/rapidjson-312 +omnios library/python-3/rapidjson-313 omnios library/python-3/semantic-version-311 o omnios library/python-3/semantic-version-312 +omnios library/python-3/semantic-version-313 omnios library/python-3/setuptools-311 o omnios library/python-3/setuptools-312 +omnios library/python-3/setuptools-313 omnios library/python-3/setuptools-rust-311 o omnios library/python-3/setuptools-rust-312 +omnios library/python-3/setuptools-rust-313 omnios library/python-3/six-311 o omnios library/python-3/six-312 +omnios library/python-3/six-313 omnios library/python-3/tomli-311 o omnios library/python-3/tomli-312 +omnios library/python-3/tomli-313 omnios library/python-3/typing-extensions-311 o omnios library/python-3/typing-extensions-312 +omnios library/python-3/typing-extensions-313 omnios library/readline omnios library/security/liboqs omnios library/security/openssl diff --git a/doc/packages.md b/doc/packages.md index 95933832ff..644e803dd0 100644 --- a/doc/packages.md +++ b/doc/packages.md @@ -127,31 +127,31 @@ | system/virtualization/open-vm-tools | 12.5.0 | https://github.com/vmware/open-vm-tools/releases https://docs.vmware.com/en/VMware-Tools/ | developer/swig | 4.3.0 | http://www.swig.org/download.html | library/security/trousers | 0.3.15 | https://sourceforge.net/projects/trousers/files/trousers -| library/python-3/asn1crypto-312 | 1.5.1 | https://pypi.org/project/asn1crypto -| library/python-3/attrs-312 | 24.2.0 | https://pypi.org/project/attrs -| library/python-3/cffi-312 | 1.17.1 | https://pypi.org/project/cffi -| library/python-3/coverage-312 | 7.6.4 | https://pypi.org/project/coverage -| library/python-3/crossenv-312 | 1.5.0 | https://pypi.org/project/crossenv -| library/python-3/cryptography-312 | 43.0.3 | https://pypi.org/project/cryptography -| library/python-3/idna-312 | 3.10 | https://pypi.org/project/idna -| library/python-3/js-regex-312 | 1.0.1 | https://pypi.org/project/js-regex -| library/python-3/jsonrpclib-312 | 0.4.3.3 | https://github.com/tcalmant/jsonrpclib/releases -| library/python-3/jsonschema-312 | 4.17.3 | https://pypi.org/project/jsonschema -| library/python-3/meson-312 | 1.6.0 | https://github.com/mesonbuild/meson/releases https://mesonbuild.com/ -| library/python-3/orjson-312 | 3.10.11 | https://github.com/ijl/orjson/releases -| library/python-3/packaging-312 | 24.2 | https://pypi.org/project/packaging -| library/python-3/pip-312 | 24.3.1 | https://pypi.org/project/pip -| library/python-3/pycodestyle-312 | 2.12.1 | https://pypi.org/project/pycodestyle/ -| library/python-3/pycparser-312 | 2.22 | https://pypi.org/project/pycparser -| library/python-3/pycurl-312 | 7.44.1 | https://pypi.org/project/pycurl -| library/python-3/pyopenssl-312 | 24.2.1 | https://pypi.org/project/pyOpenSSL -| library/python-3/pyrsistent-312 | 0.20.0 | https://pypi.org/project/pyrsistent -| library/python-3/pyyaml-312 | 6.0.2 | https://pypi.org/project/PyYAML -| library/python-3/rapidjson-312 | 1.20 | https://pypi.org/project/python-rapidjson -| library/python-3/semantic-version-312 | 2.10.0 | https://pypi.org/project/semantic-version -| library/python-3/setuptools-312 | 75.4.0 | https://pypi.org/project/setuptools -| library/python-3/setuptools-rust-312 | 1.10.2 | https://pypi.org/project/setuptools-rust -| library/python-3/six-312 | 1.16.0 | https://pypi.org/project/six -| library/python-3/tomli-312 | 2.1.0 | https://pypi.org/project/tomli -| library/python-3/typing-extensions-312| 4.12.2 | https://pypi.org/project/typing-extensions +| library/python-3/asn1crypto-313 | 1.5.1 | https://pypi.org/project/asn1crypto +| library/python-3/attrs-313 | 24.2.0 | https://pypi.org/project/attrs +| library/python-3/cffi-313 | 1.17.1 | https://pypi.org/project/cffi +| library/python-3/coverage-313 | 7.6.4 | https://pypi.org/project/coverage +| library/python-3/crossenv-313 | 1.5.0 | https://pypi.org/project/crossenv +| library/python-3/cryptography-313 | 43.0.3 | https://pypi.org/project/cryptography +| library/python-3/idna-313 | 3.10 | https://pypi.org/project/idna +| library/python-3/js-regex-313 | 1.0.1 | https://pypi.org/project/js-regex +| library/python-3/jsonrpclib-313 | 0.4.3.3 | https://github.com/tcalmant/jsonrpclib/releases +| library/python-3/jsonschema-313 | 4.17.3 | https://pypi.org/project/jsonschema +| library/python-3/meson-313 | 1.6.0 | https://github.com/mesonbuild/meson/releases https://mesonbuild.com/ +| library/python-3/orjson-313 | 3.10.11 | https://github.com/ijl/orjson/releases +| library/python-3/packaging-313 | 24.2 | https://pypi.org/project/packaging +| library/python-3/pip-313 | 24.3.1 | https://pypi.org/project/pip +| library/python-3/pycodestyle-313 | 2.12.1 | https://pypi.org/project/pycodestyle/ +| library/python-3/pycparser-313 | 2.22 | https://pypi.org/project/pycparser +| library/python-3/pycurl-313 | 7.44.1 | https://pypi.org/project/pycurl +| library/python-3/pyopenssl-313 | 24.2.1 | https://pypi.org/project/pyOpenSSL +| library/python-3/pyrsistent-313 | 0.20.0 | https://pypi.org/project/pyrsistent +| library/python-3/pyyaml-313 | 6.0.2 | https://pypi.org/project/PyYAML +| library/python-3/rapidjson-313 | 1.20 | https://pypi.org/project/python-rapidjson +| library/python-3/semantic-version-313 | 2.10.0 | https://pypi.org/project/semantic-version +| library/python-3/setuptools-313 | 75.4.0 | https://pypi.org/project/setuptools +| library/python-3/setuptools-rust-313 | 1.10.2 | https://pypi.org/project/setuptools-rust +| library/python-3/six-313 | 1.16.0 | https://pypi.org/project/six +| library/python-3/tomli-313 | 2.1.0 | https://pypi.org/project/tomli +| library/python-3/typing-extensions-313| 4.12.2 | https://pypi.org/project/typing-extensions