Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Python 3.13 bringup #3759

Merged
merged 4 commits into from
Dec 11, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions build/meta/illumos-tools.p5m
Original file line number Diff line number Diff line change
Expand Up @@ -34,3 +34,4 @@ depend fmri=system/header type=require
depend fmri=system/management/snmp/net-snmp type=require
depend fmri=text/gnu-gettext type=require
depend fmri=runtime/python-312 type=require
depend fmri=runtime/python-313 type=require
14 changes: 14 additions & 0 deletions build/meta/omnios-build-tools.p5m
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,19 @@ depend fmri=pkg://$(PKGPUBLISHER)/library/python-3/pyyaml-312 type=require
depend fmri=pkg://$(PKGPUBLISHER)/library/python-3/rapidjson-312 type=require
depend fmri=pkg://$(PKGPUBLISHER)/library/python-3/setuptools-rust-312 \
type=require
depend fmri=pkg://$(PKGPUBLISHER)/library/python-3/coverage-313 type=require
depend fmri=pkg://$(PKGPUBLISHER)/library/python-3/crossenv-313 type=require
depend fmri=pkg://$(PKGPUBLISHER)/library/python-3/jsonrpclib-313 type=require
depend fmri=pkg://$(PKGPUBLISHER)/library/python-3/jsonschema-313 type=require
depend fmri=pkg://$(PKGPUBLISHER)/library/python-3/meson-313 type=require
depend fmri=pkg://$(PKGPUBLISHER)/library/python-3/packaging-313 type=require
depend fmri=pkg://$(PKGPUBLISHER)/library/python-3/pip-313 type=require
depend fmri=pkg://$(PKGPUBLISHER)/library/python-3/pycurl-313 type=require
depend fmri=pkg://$(PKGPUBLISHER)/library/python-3/pyopenssl-313 type=require
depend fmri=pkg://$(PKGPUBLISHER)/library/python-3/pyyaml-313 type=require
depend fmri=pkg://$(PKGPUBLISHER)/library/python-3/rapidjson-313 type=require
depend fmri=pkg://$(PKGPUBLISHER)/library/python-3/setuptools-rust-313 \
type=require
depend fmri=pkg://$(PKGPUBLISHER)/library/security/liboqs type=require
depend fmri=pkg://$(PKGPUBLISHER)/library/security/openssl-11 type=require
depend fmri=pkg://$(PKGPUBLISHER)/library/security/openssl-3 type=require
Expand All @@ -65,6 +78,7 @@ depend fmri=pkg://$(PKGPUBLISHER)/runtime/java/openjdk21 type=require
depend fmri=pkg://$(PKGPUBLISHER)/runtime/perl type=require
depend fmri=pkg://$(PKGPUBLISHER)/runtime/python-27 type=require
depend fmri=pkg://$(PKGPUBLISHER)/runtime/python-312 type=require
depend fmri=pkg://$(PKGPUBLISHER)/runtime/python-313 type=require
depend fmri=pkg://$(PKGPUBLISHER)/service/network/tftp type=require
depend fmri=pkg://$(PKGPUBLISHER)/system/header/header-audio type=require
depend fmri=pkg://$(PKGPUBLISHER)/system/library type=require
Expand Down
4 changes: 1 addition & 3 deletions build/python312/local.mog
Original file line number Diff line number Diff line change
Expand Up @@ -44,9 +44,7 @@ license LICENSE license=PSFv2

<transform link mediator=python3 -> set mediator-version $(PYTHONVER)>

# Let the default mediator priority take effect while the highest version is
# the default.
#<transform link mediator=python3 -> set mediator-priority vendor>
<transform link mediator=python3 -> set mediator-priority vendor>

# Add mediated link for /usr/bin/python and python-config
link path=usr/bin/python target=python3
Expand Down
60 changes: 60 additions & 0 deletions build/python313/README
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@

Python module dependencies
--------------------------

setuptools
pip (and pip depends on setuptools! See "Bootstrap" below)

pkg
cryptography
setuptools-rust
semantic-version
typing-extensions
tomli
six
cffi
pycparser
asn1crypto
idna
jsonrpclib
jsonschema
attrs
pyrsistent
js-regex
orjson
pycurl
rapidjson
coverage
pyopenssl
cryptography

bhyve (brand)
pyyaml

glib2
meson
packaging


Bootstrap
---------

To bootstrap modules for a new python version, build 'setuptools' and 'pip'
with the '-f bootstrap' flag, and install these bootstrap packages:

for m in setuptools pip; do
{ cd $m; ./build.sh -f bootstrap -blt; }
done
pfexec pkg install {pip,setuptools}-3XX-bootstrap

then build again, without the bootstrap flag:

for m in setuptools pip; do
{ cd $m; ./build.sh -blt; }
done

and finally switch out the bootstrap packages for the real ones:

pfexec pkg install --reject pip-3XX-bootstrap pip-3XX
pfexec pkg install --reject setuptools-3XX-bootstrap setuptools-3XX

38 changes: 38 additions & 0 deletions build/python313/asn1crypto/build.sh
Original file line number Diff line number Diff line change
@@ -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
14 changes: 14 additions & 0 deletions build/python313/asn1crypto/local.mog
Original file line number Diff line number Diff line change
@@ -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

36 changes: 36 additions & 0 deletions build/python313/attrs/build.sh
Original file line number Diff line number Diff line change
@@ -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
18 changes: 18 additions & 0 deletions build/python313/attrs/local.mog
Original file line number Diff line number Diff line change
@@ -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

<transform file path=usr/bin \
-> edit path usr/bin usr/lib/python$(PYTHONVER)/bin>

Loading
Loading