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

sage --package: Multiple tarballs, binary wheels; build/pkgs/jsonschema: Update; clarabel: Change to binary wheel #38219

Open
wants to merge 53 commits into
base: develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
53 commits
Select commit Hold shift + click to select a range
4412e67
WIP
mkoeppe Jun 3, 2024
4a9de7c
sage_bootstrap: Prefer using Package.tarball_pattern to .tarball_file…
mkoeppe Jun 14, 2024
2f0b139
sage_bootstrap.tarball.Tarball: Store upstream_url, sha1, sha256
mkoeppe Jun 14, 2024
ac37d4a
sage_bootstrap: Prefer using Package.tarball_upstream_url_pattern to …
mkoeppe Jun 14, 2024
159b0f5
sage_bootstrap.package: Store checksums.ini in self.__checksums, supp…
mkoeppe Jun 14, 2024
0f87186
sage_bootstrap.package: Add Package.tarballs()
mkoeppe Jun 14, 2024
ec1efea
sage_bootstrap: Remove uses of Package.tarball_filename
mkoeppe Jun 14, 2024
b94e84e
sage --package {download,upload}: Handle multiple tarballs
mkoeppe Jun 14, 2024
b5e90f4
sage_bootstrap.tarball: Do not fail if there is sha256 but not sha1
mkoeppe Jun 14, 2024
57b4f73
sage_bootstrap.package: Fixup
mkoeppe Jun 14, 2024
73b2fab
sage --package create --pypi --source wheel: Handle platform wheels
mkoeppe Jun 14, 2024
d5d9f47
sage_bootstrap.package: Fixup
mkoeppe Jun 14, 2024
e21a376
build/sage_bootstrap/package.py: Fixup
mkoeppe Jun 14, 2024
76ff616
sage --package download: New option --tags
mkoeppe Jun 14, 2024
1c8648c
build/sage_bootstrap/package.py: Fixup
mkoeppe Jun 14, 2024
bdb7ad2
WIP
mkoeppe Jun 14, 2024
6a72b8f
build/sage_bootstrap/app.py: Fix up
mkoeppe Jun 15, 2024
7a9e62f
build/bin/sage-spkg: Pass platform tags to 'sage-package download'
mkoeppe Jun 15, 2024
ae66f6b
build/pkgs/rpds_py: New
mkoeppe Jun 15, 2024
4ed7669
sage_bootstrap.package: Remove unused methods
mkoeppe Jun 15, 2024
1367b09
build/pkgs/jsonschema: Update to 4.22.0
mkoeppe Jun 15, 2024
55d97b2
sage -package: Normalize PURLs like pypi/MarkupSafe before looking th…
mkoeppe May 27, 2024
d778163
build/pkgs/jsonschema: Update to 4.22.0, change to wheel package
mkoeppe Jun 15, 2024
91cdac8
build/pkgs/jsonschema_specifications: Update to 2023.12.1
mkoeppe Jun 15, 2024
62e7935
build/pkgs/referencing: Update to 0.35.1
mkoeppe Jun 15, 2024
41351ff
build/pkgs/pyrsistent: Remove
mkoeppe Jun 15, 2024
98897db
build/pkgs/rpds_py/spkg-configure.m4: New
mkoeppe Jun 15, 2024
3ca735f
src/doc/en/developer/packaging.rst: Document use of platform-dependen…
mkoeppe Jun 15, 2024
879008f
configure --disable-notebook: Also disable rpds_py
mkoeppe Jun 15, 2024
1599f44
build/pkgs/sagemath_doc_html: Make jupyter_sphinx an optional depende…
mkoeppe Jun 15, 2024
58c1018
src/sage_docbuild/conf.py: Conditionalize using tag 'jupyter_sphinx'
mkoeppe Jun 16, 2024
20f0d2a
src/sage_docbuild/conf.py [!SAGE_LIVE_DOC]: define a fake JUPYTER-EXE…
mkoeppe Jun 17, 2024
0893f41
src/sage/features/sphinx.py: Add jupyter_sphinx
mkoeppe Jun 17, 2024
235bce6
src/sage_docbuild/conf.py: Make jupyter_sphinx optional via Feature
mkoeppe Jun 17, 2024
37ca743
Merge branch 'jupyter_sphinx_optional' into binary_wheels
mkoeppe Jun 18, 2024
7edebb4
sage --package create --pypi: Also handle --version
mkoeppe Jun 18, 2024
e044d1c
Merge remote-tracking branch 'upstream/develop' into binary_wheels
mkoeppe Jun 23, 2024
406446f
build/pkgs/clarabel: Change to a normal binary wheel package
mkoeppe Jun 23, 2024
bce80f9
sage_bootstrap.package: Fix Package.source for binary wheels
mkoeppe Jun 23, 2024
405c8c3
build/pkgs/sagemath_doc_html: Make jupyter_sphinx an optional depende…
mkoeppe Jun 15, 2024
e435287
src/sage_docbuild/conf.py: Conditionalize using tag 'jupyter_sphinx'
mkoeppe Jun 16, 2024
c37ffe8
src/sage_docbuild/conf.py [!SAGE_LIVE_DOC]: define a fake JUPYTER-EXE…
mkoeppe Jun 17, 2024
bb454f1
src/sage/features/sphinx.py: Add jupyter_sphinx
mkoeppe Jun 17, 2024
b2cff7a
src/sage_docbuild/conf.py: Make jupyter_sphinx optional via Feature
mkoeppe Jun 17, 2024
7a1a204
src/sage_docbuild/conf.py: Fix handling of tags
mkoeppe Aug 4, 2024
19981af
src/doc/**/conf.py: Fix handling of tags
mkoeppe Aug 4, 2024
93a2b83
.github/workflows/doc-build.yml: Ignore error in 'git stash pop'
mkoeppe Aug 4, 2024
fdc5453
Merge branch 'jupyter_sphinx_optional' into binary_wheels
mkoeppe Aug 4, 2024
72621a6
Merge branch 'jupyter_sphinx_optional' into binary_wheels
mkoeppe Aug 14, 2024
a81012e
sage --package create: Increase verbosity
mkoeppe Aug 23, 2024
acca5a7
sage --package create: Say 'none' if no Requires-Python
mkoeppe Aug 23, 2024
d890746
build/pkgs/rpds_py/SPKG.rst: Explain how it is used in Sage
mkoeppe Aug 23, 2024
43c3caf
Merge branch 'develop' into binary_wheels
mkoeppe Sep 5, 2024
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
7 changes: 3 additions & 4 deletions .github/workflows/doc-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -204,10 +204,9 @@ jobs:
-e 's;#L[0-9]*";";' \
&& git commit -a -m 'wipe-out')
# Since HEAD is at commit 'wipe-out', HEAD~1 is commit 'new' (new doc), HEAD~2 is commit 'old' (old doc)
(cd doc && git diff $(git rev-parse HEAD~2) -- "*.html") > diff.txt
# Restore the new doc dropping changes by "wipe out"
(cd doc && git checkout -q -f HEAD~1)
.ci/create-changes-html.sh diff.txt doc
.ci/create-changes-html.sh $(cd doc && git rev-parse HEAD~2) doc
# Restore the new doc with changes made in create-changes-html.sh but dropping changes by "wipe out"
(cd doc && git stash -q && git checkout -q -f HEAD~1 && git stash pop -q || echo '(error ignored)')
# Sometimes rm -rf .git errors out because of some diehard hidden files
# So we simply move it out of the doc directory
(cd doc && mv .git ../git && mv .gitattributes ../gitattributes)
Expand Down
9 changes: 8 additions & 1 deletion build/bin/sage-spkg
Original file line number Diff line number Diff line change
Expand Up @@ -349,7 +349,7 @@ esac
ensure_pkg_src() { ###############################################
case "$PKG_SRC_TYPE" in
normal|wheel)
PKG_SRC=$(sage-package download $SAGE_DOWNLOAD_FILE_OPTIONS $PKG_BASE) || exit_with_error_msg "Error downloading tarball of $PKG_BASE"
PKG_SRC=$(sage-package download $SAGE_DOWNLOAD_FILE_OPTIONS -- $PKG_BASE) || exit_with_error_msg "Error downloading tarball of $PKG_BASE"
# Do a final check that PKG_SRC is a file with an absolute path
cd /
if [ ! -f "$PKG_SRC" ]; then
Expand Down Expand Up @@ -804,6 +804,13 @@ if [ $ERASE_ONLY = 1 ]; then
exit 0
fi

if [ -z "$SAGE_INSTALL_FETCH_ONLY" ]; then
TAGS=$("$SAGE_INST_LOCAL"/bin/python3 -c "from packaging.tags import sys_tags; print(' '.join(f'{tag.interpreter}-{tag.abi}-{tag.platform}' for tag in sys_tags()))" 2>/dev/null)
if [ -n "$TAGS" ]; then
SAGE_DOWNLOAD_FILE_OPTIONS+=" --tags $TAGS"
fi
fi

if [ $INSTALL = 1 ]; then
warning_for_experimental_packages
ensure_pkg_src
Expand Down
35 changes: 35 additions & 0 deletions build/pkgs/clarabel/checksums.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
[clarabel-0.9.0-cp37-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl]
tarball=clarabel-0.9.0-cp37-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
sha256=702cc4666c0ccf893c936f9f1f55cbb3233ae2d5fa05f67b370ac3e7ec50f222
upstream_url=https://files.pythonhosted.org/packages/8b/b9/e41f5316a2d4261c340d9fa6aa1694dd57d12cc45f1e5dfc5773d2b53d39/clarabel-0.9.0-cp37-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl

[clarabel-0.9.0-cp37-abi3-macosx_10_12_x86_64.whl]
tarball=clarabel-0.9.0-cp37-abi3-macosx_10_12_x86_64.whl
sha256=8ea616757b460153ead375b3dd3ce763d46fc3717248077bbfa7b2c844b1775f
upstream_url=https://files.pythonhosted.org/packages/65/75/b4f2b5f4a0af6975c463efe9ef580debff98ade6795e6e885babf7527586/clarabel-0.9.0-cp37-abi3-macosx_10_12_x86_64.whl

[clarabel-0.9.0-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl]
tarball=clarabel-0.9.0-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
sha256=2b5ae16d7dd87aabf72260cf9590ba0d037c52d48555bcf3a86b1f0d9cf88dd4
upstream_url=https://files.pythonhosted.org/packages/a5/2e/096e0bc32ffa7eadb69f6e768fbbc58acf0b0e4003db4bd70c79b1856c47/clarabel-0.9.0-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

[clarabel-0.9.0-cp37-abi3-manylinux_2_17_i686.manylinux2014_i686.whl]
tarball=clarabel-0.9.0-cp37-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
sha256=85cb560a5c4cdfb079e3437e21f0b62b69ba766ae082aeb96ced0b5763214077
upstream_url=https://files.pythonhosted.org/packages/d9/1a/4319fa902c9c3e350d134d78d79baa61c6e2e5e51050861ecc147c73f6a7/clarabel-0.9.0-cp37-abi3-manylinux_2_17_i686.manylinux2014_i686.whl

[clarabel-0.9.0-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl]
tarball=clarabel-0.9.0-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
sha256=0eaeb3fbb5a90b598700d5435c7f102592a1a79ee25df5a097e0af575838786b
upstream_url=https://files.pythonhosted.org/packages/8c/12/e92ba69884f84e0f16a9fb5093522924502995348f0269cc42ed062f2edc/clarabel-0.9.0-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

[clarabel-0.9.0-cp37-abi3-win32.whl]
tarball=clarabel-0.9.0-cp37-abi3-win32.whl
sha256=759c2fa0ccc61ae1a02691c43753638a0ae793bf1de81c6f6763c346789a7e25
upstream_url=https://files.pythonhosted.org/packages/2e/1f/ce55955a7ad5946cacd1f0aa76233ee354d4c357669ce81f1e5dc69be971/clarabel-0.9.0-cp37-abi3-win32.whl

[clarabel-0.9.0-cp37-abi3-win_amd64.whl]
tarball=clarabel-0.9.0-cp37-abi3-win_amd64.whl
sha256=d24e4ed1b686eb2fe2a1b6e77935af6ad62a2c044131e70801ec1d3ef3d33280
upstream_url=https://files.pythonhosted.org/packages/36/be/110fe7ca190e024e3185d6351645346b785da6933ce3fb382d4811215f8c/clarabel-0.9.0-cp37-abi3-win_amd64.whl

2 changes: 1 addition & 1 deletion build/pkgs/clarabel/dependencies
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
| $(PYTHON_TOOLCHAIN) $(PYTHON)
numpy scipy | pip $(PYTHON)

----------
All lines of this file are ignored except the first.
1 change: 1 addition & 0 deletions build/pkgs/clarabel/package-version.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
0.9.0
11 changes: 5 additions & 6 deletions build/pkgs/jsonschema/SPKG.rst
Original file line number Diff line number Diff line change
@@ -1,19 +1,18 @@
jsonschema: Python implementation of JSON Schema
================================================
jsonschema: Implementation of JSON Schema validation for Python
===============================================================

Description
-----------

jsonschema is an implementation of JSON Schema for Python
Implementation of JSON Schema validation for Python

License
-------

MIT License

MIT

Upstream Contact
----------------

Home page: http://github.com/Julian/jsonschema
https://pypi.org/project/jsonschema/

9 changes: 5 additions & 4 deletions build/pkgs/jsonschema/checksums.ini
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
tarball=jsonschema-VERSION-py3-none-any.whl
sha1=189537b18c91e60be991a3dba704577d19f8e48d
sha256=a870ad254da1a8ca84b6a2905cac29d265f805acc57af304784962a2aa6508f6
upstream_url=https://pypi.io/packages/py3/j/jsonschema/jsonschema-VERSION-py3-none-any.whl
[jsonschema-4.22.0-py3-none-any.whl]
tarball=jsonschema-4.22.0-py3-none-any.whl
sha256=ff4cfd6b1367a40e7bc6411caec72effadd3db0bbe5017de188f2d6108335802
upstream_url=https://files.pythonhosted.org/packages/c8/2f/324fab4be6fe37fb7b521546e8a557e6cf08c1c1b3d0b4839a00f589d9ef/jsonschema-4.22.0-py3-none-any.whl

2 changes: 1 addition & 1 deletion build/pkgs/jsonschema/dependencies
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
jsonschema_specifications pyrsistent attrs fqdn isoduration jsonpointer uri_template webcolors | $(PYTHON_TOOLCHAIN) $(PYTHON)
attrs jsonschema_specifications referencing rpds_py | pip $(PYTHON)

----------
All lines of this file are ignored except the first.
2 changes: 1 addition & 1 deletion build/pkgs/jsonschema/package-version.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
4.17.3
4.22.0
2 changes: 1 addition & 1 deletion build/pkgs/jsonschema/version_requirements.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
jsonschema >=3.2.0
jsonschema
4 changes: 2 additions & 2 deletions build/pkgs/jsonschema_specifications/checksums.ini
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
tarball=jsonschema_specifications-VERSION-py3-none-any.whl
sha1=4132bed31478bc96960099e58ae4c083c514c551
sha256=764a2b9325c225208121948b15f2b2d16fddbe223fdfc096b45c70c1f7f7b8c1
sha1=2000de39fb573689f2119aa8ad9d1108cd1db217
sha256=87e4fdf3a94858b8a2ba2778d9ba57d8a9cafca7c7489c46ba0d30a8bc6a9c3c
upstream_url=https://pypi.io/packages/py3/j/jsonschema_specifications/jsonschema_specifications-VERSION-py3-none-any.whl
2 changes: 1 addition & 1 deletion build/pkgs/jsonschema_specifications/package-version.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
2023.3.3
2023.12.1
32 changes: 0 additions & 32 deletions build/pkgs/pyrsistent/SPKG.rst

This file was deleted.

4 changes: 0 additions & 4 deletions build/pkgs/pyrsistent/checksums.ini

This file was deleted.

1 change: 0 additions & 1 deletion build/pkgs/pyrsistent/distros/conda.txt

This file was deleted.

1 change: 0 additions & 1 deletion build/pkgs/pyrsistent/distros/gentoo.txt

This file was deleted.

1 change: 0 additions & 1 deletion build/pkgs/pyrsistent/distros/macports.txt

This file was deleted.

2 changes: 0 additions & 2 deletions build/pkgs/pyrsistent/distros/repology.txt

This file was deleted.

1 change: 0 additions & 1 deletion build/pkgs/pyrsistent/distros/void.txt

This file was deleted.

1 change: 0 additions & 1 deletion build/pkgs/pyrsistent/package-version.txt

This file was deleted.

1 change: 0 additions & 1 deletion build/pkgs/pyrsistent/spkg-configure.m4

This file was deleted.

14 changes: 0 additions & 14 deletions build/pkgs/pyrsistent/spkg-install.in

This file was deleted.

1 change: 0 additions & 1 deletion build/pkgs/pyrsistent/version_requirements.txt

This file was deleted.

4 changes: 2 additions & 2 deletions build/pkgs/referencing/checksums.ini
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
tarball=referencing-VERSION-py3-none-any.whl
sha1=9d710ba3a604d24ffded218a3813b5fd1fe2e495
sha256=160f24a7d2411dc82b1efd96dfb083ee9e5cc9bc8e492d323e0dd853989d37b3
sha1=99eff1ea1adcc39e04dbed8487bc01974766646e
sha256=eda6d3234d62814d1c64e305c1331c9a3a6132da475ab6382eaa997b21ee75de
upstream_url=https://pypi.io/packages/py3/r/referencing/referencing-VERSION-py3-none-any.whl
2 changes: 1 addition & 1 deletion build/pkgs/referencing/dependencies
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
attrs pyrsistent | $(PYTHON_TOOLCHAIN) $(PYTHON)
attrs rpds_py | pip $(PYTHON)

----------
All lines of this file are ignored except the first.
2 changes: 1 addition & 1 deletion build/pkgs/referencing/package-version.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.23.0
0.35.1
21 changes: 21 additions & 0 deletions build/pkgs/rpds_py/SPKG.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
rpds_py: Python bindings to Rust's persistent data structures (rpds)
====================================================================

Description
-----------

Python bindings to Rust's persistent data structures (rpds)

In SageMath, this package is used as a dependency package of the
Jupyter notebook / JupyterLab.

License
-------

MIT

Upstream Contact
----------------

https://pypi.org/project/rpds-py/

kwankyu marked this conversation as resolved.
Show resolved Hide resolved
Loading
Loading