From 21c2a3dd6944bf2f0cb4e3bb8f217e9138aaaf55 Mon Sep 17 00:00:00 2001 From: binbjz <8213913+binbjz@users.noreply.github.com> Date: Wed, 28 Feb 2024 23:58:25 +0800 Subject: [PATCH 01/34] =?UTF-8?q?Add=20miniconda3-24.1.2-0=20support=20for?= =?UTF-8?q?=20py312=E3=80=81py311=E3=80=81py310=E3=80=81py39=20(#2915)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: binbjz --- .../python-build/miniconda3-3.10-24.1.2-0 | 25 +++++++++++++++++++ .../python-build/miniconda3-3.11-24.1.2-0 | 25 +++++++++++++++++++ .../python-build/miniconda3-3.12-24.1.2-0 | 25 +++++++++++++++++++ .../python-build/miniconda3-3.9-24.1.2-0 | 25 +++++++++++++++++++ 4 files changed, 100 insertions(+) create mode 100644 plugins/python-build/share/python-build/miniconda3-3.10-24.1.2-0 create mode 100644 plugins/python-build/share/python-build/miniconda3-3.11-24.1.2-0 create mode 100644 plugins/python-build/share/python-build/miniconda3-3.12-24.1.2-0 create mode 100644 plugins/python-build/share/python-build/miniconda3-3.9-24.1.2-0 diff --git a/plugins/python-build/share/python-build/miniconda3-3.10-24.1.2-0 b/plugins/python-build/share/python-build/miniconda3-3.10-24.1.2-0 new file mode 100644 index 00000000..1261a0bb --- /dev/null +++ b/plugins/python-build/share/python-build/miniconda3-3.10-24.1.2-0 @@ -0,0 +1,25 @@ +case "$(anaconda_architecture 2>/dev/null || true)" in +"Linux-aarch64" ) + install_script "Miniconda3-py310_24.1.2-0-Linux-aarch64" "https://repo.anaconda.com/miniconda/Miniconda3-py310_24.1.2-0-Linux-aarch64.sh#e560e737ac0e625dcc19ca2927457c2944434a61280daae2594632aca76d1422" "miniconda" verify_py310 + ;; +"Linux-s390x" ) + install_script "Miniconda3-py310_24.1.2-0-Linux-s390x" "https://repo.anaconda.com/miniconda/Miniconda3-py310_24.1.2-0-Linux-s390x.sh#014fd09da9f7ecae040d586a6ff4218e508bf0e5e0232be6383ff37973a337c7" "miniconda" verify_py310 + ;; +"Linux-x86_64" ) + install_script "Miniconda3-py310_24.1.2-0-Linux-x86_64" "https://repo.anaconda.com/miniconda/Miniconda3-py310_24.1.2-0-Linux-x86_64.sh#8eb5999c2f7ac6189690d95ae5ec911032fa6697ae4b34eb3235802086566d78" "miniconda" verify_py310 + ;; +"MacOSX-arm64" ) + install_script "Miniconda3-py310_24.1.2-0-MacOSX-arm64" "https://repo.anaconda.com/miniconda/Miniconda3-py310_24.1.2-0-MacOSX-arm64.sh#01110da80119c11078d2b39a499b6dc086c5fd4b413f4b333d32feb3b03cbe7b" "miniconda" verify_py310 + ;; +"MacOSX-x86_64" ) + install_script "Miniconda3-py310_24.1.2-0-MacOSX-x86_64" "https://repo.anaconda.com/miniconda/Miniconda3-py310_24.1.2-0-MacOSX-x86_64.sh#f078682fca26350717c1940650c227f9843fe9f3f0ecc87bf2665bccc5c64f9c" "miniconda" verify_py310 + ;; +* ) + { echo + colorize 1 "ERROR" + echo ": The binary distribution of Miniconda is not available for $(anaconda_architecture 2>/dev/null || true)." + echo + } >&2 + exit 1 + ;; +esac diff --git a/plugins/python-build/share/python-build/miniconda3-3.11-24.1.2-0 b/plugins/python-build/share/python-build/miniconda3-3.11-24.1.2-0 new file mode 100644 index 00000000..e8322878 --- /dev/null +++ b/plugins/python-build/share/python-build/miniconda3-3.11-24.1.2-0 @@ -0,0 +1,25 @@ +case "$(anaconda_architecture 2>/dev/null || true)" in +"Linux-aarch64" ) + install_script "Miniconda3-py311_24.1.2-0-Linux-aarch64" "https://repo.anaconda.com/miniconda/Miniconda3-py311_24.1.2-0-Linux-aarch64.sh#1e046ef2d9d47289db2491f103c81b0b4baf943a9234ac59bd5bca076c881d98" "miniconda" verify_py311 + ;; +"Linux-s390x" ) + install_script "Miniconda3-py311_24.1.2-0-Linux-s390x" "https://repo.anaconda.com/miniconda/Miniconda3-py311_24.1.2-0-Linux-s390x.sh#0489909051fd9e2c9addfa5fbd531ccb7f8f2463ac47376b8854e5a09b1c4011" "miniconda" verify_py311 + ;; +"Linux-x86_64" ) + install_script "Miniconda3-py311_24.1.2-0-Linux-x86_64" "https://repo.anaconda.com/miniconda/Miniconda3-py311_24.1.2-0-Linux-x86_64.sh#3f2e5498e550a6437f15d9cc8020d52742d0ba70976ee8fce4f0daefa3992d2e" "miniconda" verify_py311 + ;; +"MacOSX-arm64" ) + install_script "Miniconda3-py311_24.1.2-0-MacOSX-arm64" "https://repo.anaconda.com/miniconda/Miniconda3-py311_24.1.2-0-MacOSX-arm64.sh#b5c4f646144fa4760bd5f6114ff2e6b49a3ef7c57b993f569adceea784f21a52" "miniconda" verify_py311 + ;; +"MacOSX-x86_64" ) + install_script "Miniconda3-py311_24.1.2-0-MacOSX-x86_64" "https://repo.anaconda.com/miniconda/Miniconda3-py311_24.1.2-0-MacOSX-x86_64.sh#3b26c0867561d0988040193c8efd9f53ca922026f735367436aa05b467b1f187" "miniconda" verify_py311 + ;; +* ) + { echo + colorize 1 "ERROR" + echo ": The binary distribution of Miniconda is not available for $(anaconda_architecture 2>/dev/null || true)." + echo + } >&2 + exit 1 + ;; +esac diff --git a/plugins/python-build/share/python-build/miniconda3-3.12-24.1.2-0 b/plugins/python-build/share/python-build/miniconda3-3.12-24.1.2-0 new file mode 100644 index 00000000..dab27cd0 --- /dev/null +++ b/plugins/python-build/share/python-build/miniconda3-3.12-24.1.2-0 @@ -0,0 +1,25 @@ +case "$(anaconda_architecture 2>/dev/null || true)" in +"Linux-aarch64" ) + install_script "Miniconda3-py312_24.1.2-0-Linux-aarch64" "https://repo.anaconda.com/miniconda/Miniconda3-py312_24.1.2-0-Linux-aarch64.sh#942a057a52ec99f0fca4f413b87b332f6e61fad95c05fa7cabc003ae0b4471de" "miniconda" verify_py312 + ;; +"Linux-s390x" ) + install_script "Miniconda3-py312_24.1.2-0-Linux-s390x" "https://repo.anaconda.com/miniconda/Miniconda3-py312_24.1.2-0-Linux-s390x.sh#7ee6a3c41a825eca3b1c9e3c7155c67f7c26e31a75d7dc4f78f75a4c438e3009" "miniconda" verify_py312 + ;; +"Linux-x86_64" ) + install_script "Miniconda3-py312_24.1.2-0-Linux-x86_64" "https://repo.anaconda.com/miniconda/Miniconda3-py312_24.1.2-0-Linux-x86_64.sh#b978856ec3c826eb495b60e3fffe621f670c101150ebcbdeede4f961f22dc438" "miniconda" verify_py312 + ;; +"MacOSX-arm64" ) + install_script "Miniconda3-py312_24.1.2-0-MacOSX-arm64" "https://repo.anaconda.com/miniconda/Miniconda3-py312_24.1.2-0-MacOSX-arm64.sh#1c277b1ec046fd1b628390994e3fa3dbac0e364f44cd98b915daaa67a326c66a" "miniconda" verify_py312 + ;; +"MacOSX-x86_64" ) + install_script "Miniconda3-py312_24.1.2-0-MacOSX-x86_64" "https://repo.anaconda.com/miniconda/Miniconda3-py312_24.1.2-0-MacOSX-x86_64.sh#bc45a2ceea9341579532847cc9f29a9769d60f12e306bba7f0de6ad5acdd73e9" "miniconda" verify_py312 + ;; +* ) + { echo + colorize 1 "ERROR" + echo ": The binary distribution of Miniconda is not available for $(anaconda_architecture 2>/dev/null || true)." + echo + } >&2 + exit 1 + ;; +esac diff --git a/plugins/python-build/share/python-build/miniconda3-3.9-24.1.2-0 b/plugins/python-build/share/python-build/miniconda3-3.9-24.1.2-0 new file mode 100644 index 00000000..3e03e031 --- /dev/null +++ b/plugins/python-build/share/python-build/miniconda3-3.9-24.1.2-0 @@ -0,0 +1,25 @@ +case "$(anaconda_architecture 2>/dev/null || true)" in +"Linux-aarch64" ) + install_script "Miniconda3-py39_24.1.2-0-Linux-aarch64" "https://repo.anaconda.com/miniconda/Miniconda3-py39_24.1.2-0-Linux-aarch64.sh#b3e7d8ad4a4c9106594b268ab1cd9494ce982eaf7734bb2cd13a47e14e92a43e" "miniconda" verify_py39 + ;; +"Linux-s390x" ) + install_script "Miniconda3-py39_24.1.2-0-Linux-s390x.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py39_24.1.2-0-Linux-s390x.sh#c1e5b7cee62b465a919b88a9c5658c426c6633f1fbcb568d2cff36a13aef6b97" "miniconda" verify_py39 + ;; +"Linux-x86_64" ) + install_script "Miniconda3-py312_24.1.2-0-Linux-x86_64" "https://repo.anaconda.com/miniconda/Miniconda3-py312_24.1.2-0-Linux-x86_64.sh#b978856ec3c826eb495b60e3fffe621f670c101150ebcbdeede4f961f22dc438" "miniconda" verify_py39 + ;; +"MacOSX-arm64" ) + install_script "Miniconda3-py39_24.1.2-0-MacOSX-arm64" "https://repo.anaconda.com/miniconda/Miniconda3-py39_24.1.2-0-MacOSX-arm64.sh#2a7e44373bdf47caae991ff8d7d275a2ded51ed0e8e457c7edc9ecd45e48cda4" "miniconda" verify_py39 + ;; +"MacOSX-x86_64" ) + install_script "Miniconda3-py39_24.1.2-0-MacOSX-x86_64" "https://repo.anaconda.com/miniconda/Miniconda3-py39_24.1.2-0-MacOSX-x86_64.sh#d4e81df5beaa73dbbb9e1e91065e8f8222e9a9d44a2e7271aedd6e4a5054c541" "miniconda" verify_py39 + ;; +* ) + { echo + colorize 1 "ERROR" + echo ": The binary distribution of Miniconda is not available for $(anaconda_architecture 2>/dev/null || true)." + echo + } >&2 + exit 1 + ;; +esac From c5eae0f2636b4e4366343100f62ec4d4805d30b1 Mon Sep 17 00:00:00 2001 From: cuinix <65650185+cuinix@users.noreply.github.com> Date: Thu, 7 Mar 2024 05:15:41 +0800 Subject: [PATCH 02/34] minor grammar fix in libffi backport patch in 2.5.x (#2922) Signed-off-by: cuinix <915115094@qq.com> --- .../python-build/patches/2.5.0/Python-2.5/004_osx_libffi.patch | 2 +- .../patches/2.5.1/Python-2.5.1/004_osx_libffi.patch | 2 +- .../patches/2.5.2/Python-2.5.2/004_osx_libffi.patch | 2 +- .../patches/2.5.3/Python-2.5.3/004_osx_libffi.patch | 2 +- .../patches/2.5.4/Python-2.5.4/004_osx_libffi.patch | 2 +- .../patches/2.5.5/Python-2.5.5/004_osx_libffi.patch | 2 +- .../patches/2.5.6/Python-2.5.6/004_osx_libffi.patch | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/plugins/python-build/share/python-build/patches/2.5.0/Python-2.5/004_osx_libffi.patch b/plugins/python-build/share/python-build/patches/2.5.0/Python-2.5/004_osx_libffi.patch index 9c3ababc..83184323 100644 --- a/plugins/python-build/share/python-build/patches/2.5.0/Python-2.5/004_osx_libffi.patch +++ b/plugins/python-build/share/python-build/patches/2.5.0/Python-2.5/004_osx_libffi.patch @@ -197,7 +197,7 @@ index 0000000..1fc2747 +Before making the call, the VALUES vector should be initialized +with pointers to the appropriate argument values. + -+To call the the function using the initialized ffi_cif, use the ++To call the function using the initialized ffi_cif, use the +ffi_call function: + +void ffi_call(ffi_cif *cif, void *fn, void *rvalue, void **avalues); diff --git a/plugins/python-build/share/python-build/patches/2.5.1/Python-2.5.1/004_osx_libffi.patch b/plugins/python-build/share/python-build/patches/2.5.1/Python-2.5.1/004_osx_libffi.patch index 9c3ababc..83184323 100644 --- a/plugins/python-build/share/python-build/patches/2.5.1/Python-2.5.1/004_osx_libffi.patch +++ b/plugins/python-build/share/python-build/patches/2.5.1/Python-2.5.1/004_osx_libffi.patch @@ -197,7 +197,7 @@ index 0000000..1fc2747 +Before making the call, the VALUES vector should be initialized +with pointers to the appropriate argument values. + -+To call the the function using the initialized ffi_cif, use the ++To call the function using the initialized ffi_cif, use the +ffi_call function: + +void ffi_call(ffi_cif *cif, void *fn, void *rvalue, void **avalues); diff --git a/plugins/python-build/share/python-build/patches/2.5.2/Python-2.5.2/004_osx_libffi.patch b/plugins/python-build/share/python-build/patches/2.5.2/Python-2.5.2/004_osx_libffi.patch index 9c3ababc..83184323 100644 --- a/plugins/python-build/share/python-build/patches/2.5.2/Python-2.5.2/004_osx_libffi.patch +++ b/plugins/python-build/share/python-build/patches/2.5.2/Python-2.5.2/004_osx_libffi.patch @@ -197,7 +197,7 @@ index 0000000..1fc2747 +Before making the call, the VALUES vector should be initialized +with pointers to the appropriate argument values. + -+To call the the function using the initialized ffi_cif, use the ++To call the function using the initialized ffi_cif, use the +ffi_call function: + +void ffi_call(ffi_cif *cif, void *fn, void *rvalue, void **avalues); diff --git a/plugins/python-build/share/python-build/patches/2.5.3/Python-2.5.3/004_osx_libffi.patch b/plugins/python-build/share/python-build/patches/2.5.3/Python-2.5.3/004_osx_libffi.patch index 9c3ababc..83184323 100644 --- a/plugins/python-build/share/python-build/patches/2.5.3/Python-2.5.3/004_osx_libffi.patch +++ b/plugins/python-build/share/python-build/patches/2.5.3/Python-2.5.3/004_osx_libffi.patch @@ -197,7 +197,7 @@ index 0000000..1fc2747 +Before making the call, the VALUES vector should be initialized +with pointers to the appropriate argument values. + -+To call the the function using the initialized ffi_cif, use the ++To call the function using the initialized ffi_cif, use the +ffi_call function: + +void ffi_call(ffi_cif *cif, void *fn, void *rvalue, void **avalues); diff --git a/plugins/python-build/share/python-build/patches/2.5.4/Python-2.5.4/004_osx_libffi.patch b/plugins/python-build/share/python-build/patches/2.5.4/Python-2.5.4/004_osx_libffi.patch index 9c3ababc..83184323 100644 --- a/plugins/python-build/share/python-build/patches/2.5.4/Python-2.5.4/004_osx_libffi.patch +++ b/plugins/python-build/share/python-build/patches/2.5.4/Python-2.5.4/004_osx_libffi.patch @@ -197,7 +197,7 @@ index 0000000..1fc2747 +Before making the call, the VALUES vector should be initialized +with pointers to the appropriate argument values. + -+To call the the function using the initialized ffi_cif, use the ++To call the function using the initialized ffi_cif, use the +ffi_call function: + +void ffi_call(ffi_cif *cif, void *fn, void *rvalue, void **avalues); diff --git a/plugins/python-build/share/python-build/patches/2.5.5/Python-2.5.5/004_osx_libffi.patch b/plugins/python-build/share/python-build/patches/2.5.5/Python-2.5.5/004_osx_libffi.patch index 9c3ababc..83184323 100644 --- a/plugins/python-build/share/python-build/patches/2.5.5/Python-2.5.5/004_osx_libffi.patch +++ b/plugins/python-build/share/python-build/patches/2.5.5/Python-2.5.5/004_osx_libffi.patch @@ -197,7 +197,7 @@ index 0000000..1fc2747 +Before making the call, the VALUES vector should be initialized +with pointers to the appropriate argument values. + -+To call the the function using the initialized ffi_cif, use the ++To call the function using the initialized ffi_cif, use the +ffi_call function: + +void ffi_call(ffi_cif *cif, void *fn, void *rvalue, void **avalues); diff --git a/plugins/python-build/share/python-build/patches/2.5.6/Python-2.5.6/004_osx_libffi.patch b/plugins/python-build/share/python-build/patches/2.5.6/Python-2.5.6/004_osx_libffi.patch index 9c3ababc..83184323 100644 --- a/plugins/python-build/share/python-build/patches/2.5.6/Python-2.5.6/004_osx_libffi.patch +++ b/plugins/python-build/share/python-build/patches/2.5.6/Python-2.5.6/004_osx_libffi.patch @@ -197,7 +197,7 @@ index 0000000..1fc2747 +Before making the call, the VALUES vector should be initialized +with pointers to the appropriate argument values. + -+To call the the function using the initialized ffi_cif, use the ++To call the function using the initialized ffi_cif, use the +ffi_call function: + +void ffi_call(ffi_cif *cif, void *fn, void *rvalue, void **avalues); From 0167890c8c8e66bb1aaa579725a27279d31afb96 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edgar=20Ram=C3=ADrez=20Mondrag=C3=B3n?= <16805946+edgarrmondragon@users.noreply.github.com> Date: Fri, 15 Mar 2024 16:53:11 -0600 Subject: [PATCH 03/34] Add CPython 3.13.0a5 (#2924) --- plugins/python-build/share/python-build/3.13.0a3 | 9 --------- plugins/python-build/share/python-build/3.13.0a5 | 9 +++++++++ 2 files changed, 9 insertions(+), 9 deletions(-) delete mode 100644 plugins/python-build/share/python-build/3.13.0a3 create mode 100644 plugins/python-build/share/python-build/3.13.0a5 diff --git a/plugins/python-build/share/python-build/3.13.0a3 b/plugins/python-build/share/python-build/3.13.0a3 deleted file mode 100644 index 4ca10241..00000000 --- a/plugins/python-build/share/python-build/3.13.0a3 +++ /dev/null @@ -1,9 +0,0 @@ -prefer_openssl3 -export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1 -install_package "openssl-3.1.2" "https://www.openssl.org/source/openssl-3.1.2.tar.gz#a0ce69b8b97ea6a35b96875235aa453b966ba3cba8af2de23657d8b6767d6539" mac_openssl --if has_broken_mac_openssl -install_package "readline-8.2" "https://ftpmirror.gnu.org/readline/readline-8.2.tar.gz#3feb7171f16a84ee82ca18a36d7b9be109a52c04f492a053331d7d1095007c35" mac_readline --if has_broken_mac_readline -if has_tar_xz_support; then - install_package "Python-3.13.0a3" "https://www.python.org/ftp/python/3.13.0/Python-3.13.0a3.tar.xz#20784c8304eb1c69c80f966ebdf0775be2e37e23df3b62461eec12a85dcf7ead" standard verify_py313 copy_python_gdb ensurepip -else - install_package "Python-3.13.0a3" "https://www.python.org/ftp/python/3.13.0/Python-3.13.0a3.tgz#9c7c2b42a20127816f9403723bfc88d1566f47dac0c46f50492f7ff8db646d8f" standard verify_py313 copy_python_gdb ensurepip -fi diff --git a/plugins/python-build/share/python-build/3.13.0a5 b/plugins/python-build/share/python-build/3.13.0a5 new file mode 100644 index 00000000..c6736dd4 --- /dev/null +++ b/plugins/python-build/share/python-build/3.13.0a5 @@ -0,0 +1,9 @@ +prefer_openssl3 +export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1 +install_package "openssl-3.2.1" "https://www.openssl.org/source/openssl-3.2.1.tar.gz#83c7329fe52c850677d75e5d0b0ca245309b97e8ecbcfdc1dfdc4ab9fac35b39" mac_openssl --if has_broken_mac_openssl +install_package "readline-8.2" "https://ftpmirror.gnu.org/readline/readline-8.2.tar.gz#3feb7171f16a84ee82ca18a36d7b9be109a52c04f492a053331d7d1095007c35" mac_readline --if has_broken_mac_readline +if has_tar_xz_support; then + install_package "Python-3.13.0a5" "https://www.python.org/ftp/python/3.13.0/Python-3.13.0a5.tar.xz#1e89b5355183e7c898a5a01b2f601728fe49fdb89d9c9781f13360847aaefa62" standard verify_py313 copy_python_gdb ensurepip +else + install_package "Python-3.13.0a5" "https://www.python.org/ftp/python/3.13.0/Python-3.13.0a5.tgz#672dc36e775e0775a15042ce7f9959986745fa44be7519b8847b26da0022e3fa" standard verify_py313 copy_python_gdb ensurepip +fi From e41f7c9ee419aafcd1e84545aa57179cbe9b73d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edgar=20Ram=C3=ADrez=20Mondrag=C3=B3n?= <16805946+edgarrmondragon@users.noreply.github.com> Date: Tue, 19 Mar 2024 14:41:58 -0600 Subject: [PATCH 04/34] Add CPython 3.8.19 and 3.9.19 (#2929) --- plugins/python-build/share/python-build/3.8.19 | 12 ++++++++++++ plugins/python-build/share/python-build/3.9.19 | 12 ++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 plugins/python-build/share/python-build/3.8.19 create mode 100644 plugins/python-build/share/python-build/3.9.19 diff --git a/plugins/python-build/share/python-build/3.8.19 b/plugins/python-build/share/python-build/3.8.19 new file mode 100644 index 00000000..5e29edbc --- /dev/null +++ b/plugins/python-build/share/python-build/3.8.19 @@ -0,0 +1,12 @@ +prefer_openssl11 +export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1 +# Avoid a compilation error when linking against OpenSSL built with SSLv3 support (fixed in 3.10.0) (#2181) +export PYTHON_CFLAGS="-DOPENSSL_NO_SSL3${PYTHON_CFLAGS:+ $PYTHON_CFLAGS}" + +install_package "openssl-1.1.1u" "https://www.openssl.org/source/openssl-1.1.1u.tar.gz#e2f8d84b523eecd06c7be7626830370300fbcc15386bf5142d72758f6963ebc6" mac_openssl --if has_broken_mac_openssl +install_package "readline-8.1" "https://ftpmirror.gnu.org/readline/readline-8.1.tar.gz#f8ceb4ee131e3232226a17f51b164afc46cd0b9e6cef344be87c65962cb82b02" mac_readline --if has_broken_mac_readline +if has_tar_xz_support; then + install_package "Python-3.8.19" "https://www.python.org/ftp/python/3.8.19/Python-3.8.19.tar.xz#d2807ac69f69b84fd46a0b93bbd02a4fa48d3e70f4b2835ff0f72a2885040076" standard verify_py38 copy_python_gdb ensurepip +else + install_package "Python-3.8.19" "https://www.python.org/ftp/python/3.8.19/Python-3.8.19.tgz#c7fa55a36e5c7a19ec37d8f90f60a2197548908c9ac8b31e7c0dbffdd470eeac" standard verify_py38 copy_python_gdb ensurepip +fi diff --git a/plugins/python-build/share/python-build/3.9.19 b/plugins/python-build/share/python-build/3.9.19 new file mode 100644 index 00000000..b6c1e5ba --- /dev/null +++ b/plugins/python-build/share/python-build/3.9.19 @@ -0,0 +1,12 @@ +prefer_openssl11 +export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1 +# Avoid a compilation error when linking against OpenSSL built with SSLv3 support (fixed in 3.10.0) (#2181) +export PYTHON_CFLAGS="-DOPENSSL_NO_SSL3${PYTHON_CFLAGS:+ $PYTHON_CFLAGS}" + +install_package "openssl-1.1.1u" "https://www.openssl.org/source/openssl-1.1.1u.tar.gz#e2f8d84b523eecd06c7be7626830370300fbcc15386bf5142d72758f6963ebc6" mac_openssl --if has_broken_mac_openssl +install_package "readline-8.1" "https://ftpmirror.gnu.org/readline/readline-8.1.tar.gz#f8ceb4ee131e3232226a17f51b164afc46cd0b9e6cef344be87c65962cb82b02" mac_readline --if has_broken_mac_readline +if has_tar_xz_support; then + install_package "Python-3.9.19" "https://www.python.org/ftp/python/3.9.19/Python-3.9.19.tar.xz#d4892cd1618f6458cb851208c030df1482779609d0f3939991bd38184f8c679e" standard verify_py39 copy_python_gdb ensurepip +else + install_package "Python-3.9.19" "https://www.python.org/ftp/python/3.9.19/Python-3.9.19.tgz#f5f9ec8088abca9e399c3b62fd8ef31dbd2e1472c0ccb35070d4d136821aaf71" standard verify_py39 copy_python_gdb ensurepip +fi From 7deace666634bfd46e80742202852acb2ebecaea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20=C5=A0im=C3=A1=C4=8Dek?= Date: Tue, 19 Mar 2024 21:43:01 +0100 Subject: [PATCH 05/34] Add GraalPy 24.0.0 (#2928) --- .../share/python-build/graalpy-24.0.0 | 64 +++++++++++++++++++ .../python-build/graalpy-community-24.0.0 | 54 ++++++++++++++++ 2 files changed, 118 insertions(+) create mode 100644 plugins/python-build/share/python-build/graalpy-24.0.0 create mode 100644 plugins/python-build/share/python-build/graalpy-community-24.0.0 diff --git a/plugins/python-build/share/python-build/graalpy-24.0.0 b/plugins/python-build/share/python-build/graalpy-24.0.0 new file mode 100644 index 00000000..d71e70fc --- /dev/null +++ b/plugins/python-build/share/python-build/graalpy-24.0.0 @@ -0,0 +1,64 @@ +# Copyright (c) 2024, Oracle and/or its affiliates. All rights reserved. +# +# Permission is hereby granted, free of charge, to any person obtaining a copy of +# this software and associated documentation files (the "Software"), to deal in +# the Software without restriction, including without limitation the rights to +# use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +# of the Software, and to permit persons to whom the Software is furnished to do +# so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +VERSION='24.0.0' +BUILD='' + +colorize 1 "GraalPy 23.1 and later installed by python-build use the faster Oracle GraalVM distribution" && echo +colorize 1 "Oracle GraalVM uses the GFTC license, which is free for development and production use, see https://medium.com/graalvm/161527df3d76" && echo +colorize 1 "The GraalVM Community Edition variant of GraalPy is also available, under the name graalpy-community-${VERSION}" && echo + + +graalpy_arch="$(graalpy_architecture 2>/dev/null || true)" + +case "$graalpy_arch" in +"linux-amd64" ) + checksum="f0d194dea76da26093b9b01b78c0fcabbd8714640b08fcd2a9b05b9ded3e2039" + ;; +"linux-aarch64" ) + checksum="5bf0fd9d115c3ecd6bfb89a2fac7b9ba9343841c3928d14eac471b9b1ad1266e" + ;; +"macos-amd64" ) + checksum="1e2e51ea618bd6f6fe9a0248486b5962f6258193249c0657dc0480fd2b92d772" + ;; +"macos-aarch64" ) + checksum="d5597711839a41506beb129f9d8015f8997a1db1e0c79972636834d955d4ef61" + ;; +* ) + { echo + colorize 1 "ERROR" + echo ": No binary distribution of GraalPy is available for $(uname -sm)." + echo + } >&2 + exit 1 + ;; +esac + +if [ -n "${BUILD}" ]; then + { echo + colorize 1 "ERROR" + echo "Oracle GraalPy currently doesn't provide snapshot builds. Use graalpy-community if you need snapshots." + echo + } >&2 + exit 1 +fi + +url="https://github.com/oracle/graalpython/releases/download/graal-${VERSION}/graalpy-${VERSION}-${graalpy_arch}.tar.gz#${checksum}" + +install_package "graalpy-${VERSION}" "${url}" "copy" ensurepip diff --git a/plugins/python-build/share/python-build/graalpy-community-24.0.0 b/plugins/python-build/share/python-build/graalpy-community-24.0.0 new file mode 100644 index 00000000..c2323169 --- /dev/null +++ b/plugins/python-build/share/python-build/graalpy-community-24.0.0 @@ -0,0 +1,54 @@ +# Copyright (c) 2024, Oracle and/or its affiliates. All rights reserved. +# +# Permission is hereby granted, free of charge, to any person obtaining a copy of +# this software and associated documentation files (the "Software"), to deal in +# the Software without restriction, including without limitation the rights to +# use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +# of the Software, and to permit persons to whom the Software is furnished to do +# so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +VERSION='24.0.0' +BUILD='' + +graalpy_arch="$(graalpy_architecture 2>/dev/null || true)" + +case "$graalpy_arch" in +"linux-amd64" ) + checksum="a77892d8d6b897b70b4226aa1b6abc8c41e824ae98d727429542b0157ae6f8d9" + ;; +"linux-aarch64" ) + checksum="201e2bad0ed59efc89654a77ae1634302111b3ffb9af53f9ee63ab43b735e5c3" + ;; +"macos-amd64" ) + checksum="7c816beb8c8b46ee0de60861f739c274efbc744304aa9034bffbd0319f13701d" + ;; +"macos-aarch64" ) + checksum="7f5540a28cf5c2c628cd003c3eb86bfa0a07175dae7d9b6528b40c44c4927402" + ;; +* ) + { echo + colorize 1 "ERROR" + echo ": No binary distribution of GraalPy is available for $(uname -sm)." + echo + } >&2 + exit 1 + ;; +esac + +if [ -n "${BUILD}" ]; then + url="https://github.com/graalvm/graalvm-ce-dev-builds/releases/download/${VERSION}-dev-${BUILD}/graalpy-community-dev-${graalpy_arch}.tar.gz" +else + url="https://github.com/oracle/graalpython/releases/download/graal-${VERSION}/graalpy-community-${VERSION}-${graalpy_arch}.tar.gz#${checksum}" +fi + +install_package "graalpy-community-${VERSION}${BUILD}" "${url}" "copy" ensurepip From 7e550e31f749ce3cda067644de44b18be761470b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edgar=20Ram=C3=ADrez=20Mondrag=C3=B3n?= <16805946+edgarrmondragon@users.noreply.github.com> Date: Thu, 21 Mar 2024 13:26:57 -0600 Subject: [PATCH 06/34] Add CPython 3.10.14 (#2930) --- plugins/python-build/share/python-build/3.10.14 | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 plugins/python-build/share/python-build/3.10.14 diff --git a/plugins/python-build/share/python-build/3.10.14 b/plugins/python-build/share/python-build/3.10.14 new file mode 100644 index 00000000..0b062fec --- /dev/null +++ b/plugins/python-build/share/python-build/3.10.14 @@ -0,0 +1,9 @@ +prefer_openssl11 +export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1 +install_package "openssl-1.1.1o" "https://www.openssl.org/source/openssl-1.1.1o.tar.gz#9384a2b0570dd80358841464677115df785edb941c71211f75076d72fe6b438f" mac_openssl --if has_broken_mac_openssl +install_package "readline-8.1" "https://ftpmirror.gnu.org/readline/readline-8.1.tar.gz#f8ceb4ee131e3232226a17f51b164afc46cd0b9e6cef344be87c65962cb82b02" mac_readline --if has_broken_mac_readline +if has_tar_xz_support; then + install_package "Python-3.10.14" "https://www.python.org/ftp/python/3.10.14/Python-3.10.14.tar.xz#9c50481faa8c2832329ba0fc8868d0a606a680fc4f60ec48d26ce8e076751fda" standard verify_py310 copy_python_gdb ensurepip +else + install_package "Python-3.10.14" "https://www.python.org/ftp/python/3.10.14/Python-3.10.14.tgz#cefea32d3be89c02436711c95a45c7f8e880105514b78680c14fe76f5709a0f6" standard verify_py310 copy_python_gdb ensurepip +fi From 51a626c1eadf91d800ecfe393832cf861443b3e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9sar=20Rom=C3=A1n?= Date: Sat, 30 Mar 2024 02:57:02 -0700 Subject: [PATCH 07/34] Add Jython 2.7.3 (#2936) --- .../python-build/share/python-build/jython-2.7.3 | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 plugins/python-build/share/python-build/jython-2.7.3 diff --git a/plugins/python-build/share/python-build/jython-2.7.3 b/plugins/python-build/share/python-build/jython-2.7.3 new file mode 100644 index 00000000..8e5c7cd8 --- /dev/null +++ b/plugins/python-build/share/python-build/jython-2.7.3 @@ -0,0 +1,14 @@ +require_java +unrequire_python27 +install_jar "jython-2.7.3" "https://repo1.maven.org/maven2/org/python/jython-installer/2.7.3/jython-installer-2.7.3.jar#3ffc25c5257d2028b176912a4091fe048c45c7d98218e52d7ce3160a62fdc9fc" jython + +case "$(pypy_architecture 2>/dev/null || true)" in +"osx64"|"win32" ) + # Jython does not seem to work properly on OSX/windows unless JAVA_HOME is set + if [ -z "${JAVA_HOME+defined}" ]; then + colorize 1 "WARNING: " + echo "Please ensure that your JAVA_HOME environment variable is set correctly!" + echo "See http://bugs.jython.org/issue2346 for details." + fi + ;; +esac From 465b8ee74a59766fde08867ba5686c4f41660589 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edgar=20Ram=C3=ADrez=20Mondrag=C3=B3n?= <16805946+edgarrmondragon@users.noreply.github.com> Date: Tue, 2 Apr 2024 08:49:31 -0600 Subject: [PATCH 08/34] Add CPython 3.11.9 (#2938) --- plugins/python-build/share/python-build/3.11.9 | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 plugins/python-build/share/python-build/3.11.9 diff --git a/plugins/python-build/share/python-build/3.11.9 b/plugins/python-build/share/python-build/3.11.9 new file mode 100644 index 00000000..96f734c8 --- /dev/null +++ b/plugins/python-build/share/python-build/3.11.9 @@ -0,0 +1,10 @@ +prefer_openssl3 +export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1 +export PYTHON_BUILD_TCLTK_USE_PKGCONFIG=1 +install_package "openssl-3.2.1" "https://www.openssl.org/source/openssl-3.2.1.tar.gz#83c7329fe52c850677d75e5d0b0ca245309b97e8ecbcfdc1dfdc4ab9fac35b39" mac_openssl --if has_broken_mac_openssl +install_package "readline-8.2" "https://ftpmirror.gnu.org/readline/readline-8.2.tar.gz#3feb7171f16a84ee82ca18a36d7b9be109a52c04f492a053331d7d1095007c35" mac_readline --if has_broken_mac_readline +if has_tar_xz_support; then + install_package "Python-3.11.9" "https://www.python.org/ftp/python/3.11.9/Python-3.11.9.tar.xz#9b1e896523fc510691126c864406d9360a3d1e986acbda59cda57b5abda45b87" standard verify_py311 copy_python_gdb ensurepip +else + install_package "Python-3.11.9" "https://www.python.org/ftp/python/3.11.9/Python-3.11.9.tgz#e7de3240a8bc2b1e1ba5c81bf943f06861ff494b69fda990ce2722a504c6153d" standard verify_py311 copy_python_gdb ensurepip +fi From 5b4d5a32d343dcae5e7b3f1a09850312f89ba868 Mon Sep 17 00:00:00 2001 From: Ivan Pozdeev Date: Wed, 3 Apr 2024 18:28:21 +0300 Subject: [PATCH 09/34] remove duplication --- plugins/python-build/test/stubs/stub | 4 ---- 1 file changed, 4 deletions(-) diff --git a/plugins/python-build/test/stubs/stub b/plugins/python-build/test/stubs/stub index b940bedb..a3b0f33e 100755 --- a/plugins/python-build/test/stubs/stub +++ b/plugins/python-build/test/stubs/stub @@ -100,10 +100,6 @@ if [ -n "${!_STUB_END}" ]; then rm -f "${!_STUB_RUN}" rm -f "${!_STUB_LOG}" - # Clean up the run file. - rm -f "${!_STUB_RUN}" - rm -f "${!_STUB_LOG}" - # Return the result. exit "${!_STUB_RESULT}" From b80d5fd28d7477c0b27725544d46b79b14f11357 Mon Sep 17 00:00:00 2001 From: Ivan Pozdeev Date: Sun, 7 Apr 2024 20:48:40 +0300 Subject: [PATCH 10/34] 2.3.37 --- CHANGELOG.md | 15 +++++++++++++++ libexec/pyenv---version | 2 +- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a1ca960f..9046c7ec 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,20 @@ # Version History +## Release v2.3.37 +* Add CPython 3.13.0a4 by @saaketp in https://github.com/pyenv/pyenv/pull/2903 +* Handle the case where `pyenv-commands --sh` returns nothing by @aphedges in https://github.com/pyenv/pyenv/pull/2908 +* Document default build configuration customizations by @native-api in https://github.com/pyenv/pyenv/pull/2911 +* Use Homebrew in Linux if Pyenv is installled with Homebrew by @native-api in https://github.com/pyenv/pyenv/pull/2906 +* Add miniforge and mambaforge 22.11.1-3, 22.11.1-4, 23.1.0-0 to 23.11.0-0 by @aphedges in https://github.com/pyenv/pyenv/pull/2909 +* Add miniconda3-24.1.2 by @binbjz in https://github.com/pyenv/pyenv/pull/2915 +* Minor grammar fix in libffi backport patch in 2.5.x by @cuinix in https://github.com/pyenv/pyenv/pull/2922 +* Add CPython 3.13.0a5 by @edgarrmondragon in https://github.com/pyenv/pyenv/pull/2924 +* Add CPython 3.8.19 and 3.9.19 by @edgarrmondragon in https://github.com/pyenv/pyenv/pull/2929 +* Add GraalPy 24.0.0 by @msimacek in https://github.com/pyenv/pyenv/pull/2928 +* Add CPython 3.10.14 by @edgarrmondragon in https://github.com/pyenv/pyenv/pull/2930 +* Add Jython 2.7.3 by @cesarcoatl in https://github.com/pyenv/pyenv/pull/2936 +* Add CPython 3.11.9 by @edgarrmondragon in https://github.com/pyenv/pyenv/pull/2938 + ## Release v2.3.36 * Add a Dependabot config to auto-update GitHub action versions by @kurtmckee in https://github.com/pyenv/pyenv/pull/2863 * Bump the github-actions group with 1 update by @dependabot in https://github.com/pyenv/pyenv/pull/2864 diff --git a/libexec/pyenv---version b/libexec/pyenv---version index 39691f94..cd3a8f26 100755 --- a/libexec/pyenv---version +++ b/libexec/pyenv---version @@ -12,7 +12,7 @@ set -e [ -n "$PYENV_DEBUG" ] && set -x -version="2.3.36" +version="2.3.37" git_revision="" if cd "${BASH_SOURCE%/*}" 2>/dev/null && git remote -v 2>/dev/null | grep -q pyenv; then From 961882403a0b2f1e0d673b88f893d021f1882ea6 Mon Sep 17 00:00:00 2001 From: native-api Date: Sun, 7 Apr 2024 21:22:53 +0300 Subject: [PATCH 11/34] Add anaconda 2024.02 (#2939) --- .../share/python-build/anaconda3-2024.02-1 | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 plugins/python-build/share/python-build/anaconda3-2024.02-1 diff --git a/plugins/python-build/share/python-build/anaconda3-2024.02-1 b/plugins/python-build/share/python-build/anaconda3-2024.02-1 new file mode 100644 index 00000000..498c79ed --- /dev/null +++ b/plugins/python-build/share/python-build/anaconda3-2024.02-1 @@ -0,0 +1,25 @@ +case "$(anaconda_architecture 2>/dev/null || true)" in +"Linux-aarch64" ) + install_script "Anaconda3-2024.02-1-Linux-aarch64" "https://repo.anaconda.com/archive/Anaconda3-2024.02-1-Linux-aarch64.sh#28c5bed6fba84f418516e41640c7937514aabd55e929a8f66937c737303c7bba" "anaconda" verify_py311 + ;; +"Linux-s390x" ) + install_script "Anaconda3-2024.02-1-Linux-s390x" "https://repo.anaconda.com/archive/Anaconda3-2024.02-1-Linux-s390x.sh#3e2e8b17ea9a5caafd448f52e01435998b2e1ce102040a924d5bd6e05a1d735b" "anaconda" verify_py311 + ;; +"Linux-x86_64" ) + install_script "Anaconda3-2024.02-1-Linux-x86_64" "https://repo.anaconda.com/archive/Anaconda3-2024.02-1-Linux-x86_64.sh#c536ddb7b4ba738bddbd4e581b29308cb332fa12ae3fa2cd66814bd735dff231" "anaconda" verify_py311 + ;; +"MacOSX-arm64" ) + install_script "Anaconda3-2024.02-1-MacOSX-arm64" "https://repo.anaconda.com/archive/Anaconda3-2024.02-1-MacOSX-arm64.sh#14a1c80af18c2c2e743e63cdb41228cd554a3fdb250563b6978348c80b6860f6" "anaconda" verify_py311 + ;; +"MacOSX-x86_64" ) + install_script "Anaconda3-2024.02-1-MacOSX-x86_64" "https://repo.anaconda.com/archive/Anaconda3-2024.02-1-MacOSX-x86_64.sh#944aee9b90f7d8a2a997d0337cb37219757f22e76c10de38c7c68191c6b5b226" "anaconda" verify_py311 + ;; +* ) + { echo + colorize 1 "ERROR" + echo ": The binary distribution of Anaconda is not available for $(anaconda_architecture 2>/dev/null || true)." + echo + } >&2 + exit 1 + ;; +esac From 21eef94ea0963e408c5926fdbaf2867ffe21807e Mon Sep 17 00:00:00 2001 From: Ivan Pozdeev Date: Sun, 7 Apr 2024 21:28:30 +0300 Subject: [PATCH 12/34] 2.4.0 --- CHANGELOG.md | 3 ++- libexec/pyenv---version | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9046c7ec..ecf49821 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # Version History -## Release v2.3.37 +## Release v2.4.0 * Add CPython 3.13.0a4 by @saaketp in https://github.com/pyenv/pyenv/pull/2903 * Handle the case where `pyenv-commands --sh` returns nothing by @aphedges in https://github.com/pyenv/pyenv/pull/2908 * Document default build configuration customizations by @native-api in https://github.com/pyenv/pyenv/pull/2911 @@ -14,6 +14,7 @@ * Add CPython 3.10.14 by @edgarrmondragon in https://github.com/pyenv/pyenv/pull/2930 * Add Jython 2.7.3 by @cesarcoatl in https://github.com/pyenv/pyenv/pull/2936 * Add CPython 3.11.9 by @edgarrmondragon in https://github.com/pyenv/pyenv/pull/2938 +* Add anaconda 2024.02 by @native-api in https://github.com/pyenv/pyenv/pull/2939 ## Release v2.3.36 * Add a Dependabot config to auto-update GitHub action versions by @kurtmckee in https://github.com/pyenv/pyenv/pull/2863 diff --git a/libexec/pyenv---version b/libexec/pyenv---version index cd3a8f26..e077693f 100755 --- a/libexec/pyenv---version +++ b/libexec/pyenv---version @@ -12,7 +12,7 @@ set -e [ -n "$PYENV_DEBUG" ] && set -x -version="2.3.37" +version="2.4.0" git_revision="" if cd "${BASH_SOURCE%/*}" 2>/dev/null && git remote -v 2>/dev/null | grep -q pyenv; then From e5997ef66b730bbcb281dcfcf873b0162c405256 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edgar=20Ram=C3=ADrez=20Mondrag=C3=B3n?= <16805946+edgarrmondragon@users.noreply.github.com> Date: Tue, 9 Apr 2024 13:28:42 -0600 Subject: [PATCH 13/34] Add CPython 3.12.3 (#2941) --- plugins/python-build/share/python-build/3.12.3 | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 plugins/python-build/share/python-build/3.12.3 diff --git a/plugins/python-build/share/python-build/3.12.3 b/plugins/python-build/share/python-build/3.12.3 new file mode 100644 index 00000000..2228238d --- /dev/null +++ b/plugins/python-build/share/python-build/3.12.3 @@ -0,0 +1,9 @@ +prefer_openssl3 +export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1 +install_package "openssl-3.2.1" "https://www.openssl.org/source/openssl-3.2.1.tar.gz#83c7329fe52c850677d75e5d0b0ca245309b97e8ecbcfdc1dfdc4ab9fac35b39" mac_openssl --if has_broken_mac_openssl +install_package "readline-8.2" "https://ftpmirror.gnu.org/readline/readline-8.2.tar.gz#3feb7171f16a84ee82ca18a36d7b9be109a52c04f492a053331d7d1095007c35" mac_readline --if has_broken_mac_readline +if has_tar_xz_support; then + install_package "Python-3.12.3" "https://www.python.org/ftp/python/3.12.3/Python-3.12.3.tar.xz#56bfef1fdfc1221ce6720e43a661e3eb41785dd914ce99698d8c7896af4bdaa1" standard verify_py312 copy_python_gdb ensurepip +else + install_package "Python-3.12.3" "https://www.python.org/ftp/python/3.12.3/Python-3.12.3.tgz#a6b9459f45a6ebbbc1af44f5762623fa355a0c87208ed417628b379d762dddb0" standard verify_py312 copy_python_gdb ensurepip +fi From e1f07da73ae09d6fc0b0322e4f577679dc7c7ce5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edgar=20Ram=C3=ADrez=20Mondrag=C3=B3n?= <16805946+edgarrmondragon@users.noreply.github.com> Date: Tue, 9 Apr 2024 14:38:07 -0600 Subject: [PATCH 14/34] Add CPython 3.13.0a6 (#2942) --- .../python-build/share/python-build/{3.13.0a5 => 3.13.0a6} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename plugins/python-build/share/python-build/{3.13.0a5 => 3.13.0a6} (57%) diff --git a/plugins/python-build/share/python-build/3.13.0a5 b/plugins/python-build/share/python-build/3.13.0a6 similarity index 57% rename from plugins/python-build/share/python-build/3.13.0a5 rename to plugins/python-build/share/python-build/3.13.0a6 index c6736dd4..ffb90a06 100644 --- a/plugins/python-build/share/python-build/3.13.0a5 +++ b/plugins/python-build/share/python-build/3.13.0a6 @@ -3,7 +3,7 @@ export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1 install_package "openssl-3.2.1" "https://www.openssl.org/source/openssl-3.2.1.tar.gz#83c7329fe52c850677d75e5d0b0ca245309b97e8ecbcfdc1dfdc4ab9fac35b39" mac_openssl --if has_broken_mac_openssl install_package "readline-8.2" "https://ftpmirror.gnu.org/readline/readline-8.2.tar.gz#3feb7171f16a84ee82ca18a36d7b9be109a52c04f492a053331d7d1095007c35" mac_readline --if has_broken_mac_readline if has_tar_xz_support; then - install_package "Python-3.13.0a5" "https://www.python.org/ftp/python/3.13.0/Python-3.13.0a5.tar.xz#1e89b5355183e7c898a5a01b2f601728fe49fdb89d9c9781f13360847aaefa62" standard verify_py313 copy_python_gdb ensurepip + install_package "Python-3.13.0a6" "https://www.python.org/ftp/python/3.13.0/Python-3.13.0a6.tar.xz#4bef393d72b281acf81d39d7455f00036e866193dfa21a4ed3970fd0f4cba048" standard verify_py313 copy_python_gdb ensurepip else - install_package "Python-3.13.0a5" "https://www.python.org/ftp/python/3.13.0/Python-3.13.0a5.tgz#672dc36e775e0775a15042ce7f9959986745fa44be7519b8847b26da0022e3fa" standard verify_py313 copy_python_gdb ensurepip + install_package "Python-3.13.0a6" "https://www.python.org/ftp/python/3.13.0/Python-3.13.0a6.tgz#e24608288f4ff84d042efba1f3aff38e3940b0091d677056e245822ef878c83c" standard verify_py313 copy_python_gdb ensurepip fi From 3ff54e89bc82687ff880d1e2d5a37f101cbfa63e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edgar=20Ram=C3=ADrez=20Mondrag=C3=B3n?= <16805946+edgarrmondragon@users.noreply.github.com> Date: Thu, 25 Apr 2024 12:51:58 -0600 Subject: [PATCH 15/34] Add PyPy v7.3.16 (#2948) --- .../share/python-build/pypy2.7-7.3.16 | 81 +++++++++++++++++++ .../share/python-build/pypy2.7-7.3.16-src | 14 ++++ .../share/python-build/pypy3.10-7.3.16 | 81 +++++++++++++++++++ .../share/python-build/pypy3.10-7.3.16-src | 14 ++++ .../share/python-build/pypy3.9-7.3.16 | 81 +++++++++++++++++++ .../share/python-build/pypy3.9-7.3.16-src | 14 ++++ 6 files changed, 285 insertions(+) create mode 100644 plugins/python-build/share/python-build/pypy2.7-7.3.16 create mode 100644 plugins/python-build/share/python-build/pypy2.7-7.3.16-src create mode 100644 plugins/python-build/share/python-build/pypy3.10-7.3.16 create mode 100644 plugins/python-build/share/python-build/pypy3.10-7.3.16-src create mode 100644 plugins/python-build/share/python-build/pypy3.9-7.3.16 create mode 100644 plugins/python-build/share/python-build/pypy3.9-7.3.16-src diff --git a/plugins/python-build/share/python-build/pypy2.7-7.3.16 b/plugins/python-build/share/python-build/pypy2.7-7.3.16 new file mode 100644 index 00000000..b77482f2 --- /dev/null +++ b/plugins/python-build/share/python-build/pypy2.7-7.3.16 @@ -0,0 +1,81 @@ +VERSION='7.3.16' +PYVER='2.7' + +# https://www.pypy.org/checksums.html +aarch64_hash=be44e65dd8c00d2388b2580dbe2af6a5179f951a8f4979efc74360f92f3c7e96 +linux32_hash=a19712d7a6bd4f6d113e352c5271803c583b5129b76a357d387b1fa85204f8e5 +linux64_hash=04b2fceb712d6f811274825b8a471ee392d3d1b53afc83eb3f42439ce00d8e07 +osarm64_hash=9cc13f4d6c4096820e1e0ddabb3959f853e45150ce0166a39aa23867e99f0145 +osx64_hash=e8744c1cef8b9e4eb2d2b6b368ed19a1c5cde482c7ef750f2d9f0807bb77fd1c +s390x_hash=09eb70b932e6aac484cf4b5f2de5845f71589f2cbb53e5ed37a497613b43cd53 + +### end of manual settings - following lines same for every download + +function err_no_binary { + local archmsg="${1}" + local ver="pypy${PYVER}-v${VERSION}-src" + local url="https://downloads.python.org/pypy/${ver}.tar.bz2" + { echo + colorize 1 "ERROR" + echo ": The binary distribution of PyPy is not available for ${archmsg}." + echo "try '${url}' to build from source." + echo + } >&2 + exit 1 +} + +function pypy_pkg_data { + # pypy architecture tag + local ARCH="${1}" + + # defaults + local cmd='install_package' # use bz2 + local pkg="${ARCH}" # assume matches + local ext='tar.bz2' + local hash='' # undefined + + # select the hash, fix pkg if not match ARCH + case "${ARCH}" in + 'linux-aarch64' ) + hash="${aarch64_hash}" + pkg='aarch64' + ;; + 'linux' ) + hash="${linux32_hash}" + pkg='linux32' + ;; + 'linux64' ) + hash="${linux64_hash}" + ;; + 'osarm64' ) + hash="${osarm64_hash}" + pkg='macos_arm64' + ;; + 'osx64' ) + if require_osx_version "10.13"; then + hash="${osx64_hash}" + pkg='macos_x86_64' + else + err_no_binary "${ARCH}, OS X < 10.13" + fi + ;; + 's390x' ) + hash="${s390x_hash}" + ;; + * ) + err_no_binary "${ARCH}" + ;; + esac + + local basever="pypy${PYVER}-v${VERSION}" + local baseurl="https://downloads.python.org/pypy/${basever}" + + # result - command, package dir, url+hash + echo "${cmd}" "${basever}-${pkg}" "${baseurl}-${pkg}.${ext}#${hash}" +} + +# determine command, package directory, url+hash +declare -a pd="$(pypy_pkg_data "$(pypy_architecture 2>/dev/null || true)")" + +# install +${pd[0]} "${pd[1]}" "${pd[2]}" 'pypy' "verify_py${PYVER//./}" 'ensurepip_lt21' diff --git a/plugins/python-build/share/python-build/pypy2.7-7.3.16-src b/plugins/python-build/share/python-build/pypy2.7-7.3.16-src new file mode 100644 index 00000000..fdf2005a --- /dev/null +++ b/plugins/python-build/share/python-build/pypy2.7-7.3.16-src @@ -0,0 +1,14 @@ +VERSION='7.3.16' +PYVER='2.7' + +# https://www.pypy.org/checksums.html +hash=43721cc0c397f0f3560b325c20c70b11f7c76c27910d3df09f8418cec4f9c2ad + +### end of manual settings - following lines same for every download + +ver="pypy${PYVER}-v${VERSION}-src" +url="https://downloads.python.org/pypy/${ver}.tar.bz2" + +prefer_openssl11 +install_package "openssl-1.1.1f" "https://www.openssl.org/source/openssl-1.1.1f.tar.gz#186c6bfe6ecfba7a5b48c47f8a1673d0f3b0e5ba2e25602dd23b629975da3f35" mac_openssl --if has_broken_mac_openssl +install_package "${ver}" "${url}#${hash}" 'pypy_builder' "verify_py${PYVER//./}" 'ensurepip_lt21' diff --git a/plugins/python-build/share/python-build/pypy3.10-7.3.16 b/plugins/python-build/share/python-build/pypy3.10-7.3.16 new file mode 100644 index 00000000..4f7085e3 --- /dev/null +++ b/plugins/python-build/share/python-build/pypy3.10-7.3.16 @@ -0,0 +1,81 @@ +VERSION='7.3.16' +PYVER='3.10' + +# https://www.pypy.org/checksums.html +aarch64_hash=fc720999bc5050e1d3706b3b6445e695cf42bfc71ebc7c88ed6bb88828b1d385 +linux32_hash=0df48aa780159e879ac89a805d143e4a6cd1b842f98046f5a3f865814bfaa2a4 +linux64_hash=404e6180d6caf9258eaab0c02c72018e9aa8eb03ab9094a0ff17ee5e3b265ac1 +osarm64_hash=6c003376667a95c7a228544649677b9927b8210d6444b901817aad24b8719b93 +osx64_hash=490f2c6ba2489f405444f3b4ad42166da6e2eb73489a9535b206067eaaf21737 +s390x_hash=af97efe498a209ba18c7bc7d084164a9907fb3736588b6864955177e19d5216a + +### end of manual settings - following lines same for every download + +function err_no_binary { + local archmsg="${1}" + local ver="pypy${PYVER}-v${VERSION}-src" + local url="https://downloads.python.org/pypy/${ver}.tar.bz2" + { echo + colorize 1 "ERROR" + echo ": The binary distribution of PyPy is not available for ${archmsg}." + echo "try '${url}' to build from source." + echo + } >&2 + exit 1 +} + +function pypy_pkg_data { + # pypy architecture tag + local ARCH="${1}" + + # defaults + local cmd='install_package' # use bz2 + local pkg="${ARCH}" # assume matches + local ext='tar.bz2' + local hash='' # undefined + + # select the hash, fix pkg if not match ARCH + case "${ARCH}" in + 'linux-aarch64' ) + hash="${aarch64_hash}" + pkg='aarch64' + ;; + 'linux' ) + hash="${linux32_hash}" + pkg='linux32' + ;; + 'linux64' ) + hash="${linux64_hash}" + ;; + 'osarm64' ) + hash="${osarm64_hash}" + pkg='macos_arm64' + ;; + 'osx64' ) + if require_osx_version "10.13"; then + hash="${osx64_hash}" + pkg='macos_x86_64' + else + err_no_binary "${ARCH}, OS X < 10.13" + fi + ;; + 's390x' ) + hash="${s390x_hash}" + ;; + * ) + err_no_binary "${ARCH}" + ;; + esac + + local basever="pypy${PYVER}-v${VERSION}" + local baseurl="https://downloads.python.org/pypy/${basever}" + + # result - command, package dir, url+hash + echo "${cmd}" "${basever}-${pkg}" "${baseurl}-${pkg}.${ext}#${hash}" +} + +# determine command, package directory, url+hash +declare -a pd="$(pypy_pkg_data "$(pypy_architecture 2>/dev/null || true)")" + +# install +${pd[0]} "${pd[1]}" "${pd[2]}" 'pypy' "verify_py${PYVER//./}" 'ensurepip' diff --git a/plugins/python-build/share/python-build/pypy3.10-7.3.16-src b/plugins/python-build/share/python-build/pypy3.10-7.3.16-src new file mode 100644 index 00000000..fede5826 --- /dev/null +++ b/plugins/python-build/share/python-build/pypy3.10-7.3.16-src @@ -0,0 +1,14 @@ +VERSION='7.3.16' +PYVER='3.10' + +# https://www.pypy.org/checksums.html +hash=4a3a3177d0a1f51d59982bb981d1d485403bda3419d5437b9e077f55f59424ff + +### end of manual settings - following lines same for every download + +ver="pypy${PYVER}-v${VERSION}-src" +url="https://downloads.python.org/pypy/${ver}.tar.bz2" + +prefer_openssl11 +install_package "openssl-1.1.1f" "https://www.openssl.org/source/openssl-1.1.1f.tar.gz#186c6bfe6ecfba7a5b48c47f8a1673d0f3b0e5ba2e25602dd23b629975da3f35" mac_openssl --if has_broken_mac_openssl +install_package "${ver}" "${url}#${hash}" 'pypy_builder' "verify_py${PYVER//./}" 'ensurepip' diff --git a/plugins/python-build/share/python-build/pypy3.9-7.3.16 b/plugins/python-build/share/python-build/pypy3.9-7.3.16 new file mode 100644 index 00000000..afa539fd --- /dev/null +++ b/plugins/python-build/share/python-build/pypy3.9-7.3.16 @@ -0,0 +1,81 @@ +VERSION='7.3.16' +PYVER='3.9' + +# https://www.pypy.org/checksums.html +aarch64_hash=de3f2ed3581b30555ac0dd3e4df78a262ec736a36fb2e8f28259f8539b278ef4 +linux32_hash=583b6d6dd4e8c07cbc04da04a7ec2bdfa6674825289c2378c5e018d5abe779ea +linux64_hash=16f9c5b808c848516e742986e826b833cdbeda09ad8764e8704595adbe791b23 +osarm64_hash=88f824e7a2d676440d09bc90fc959ae0fd3557d7e2f14bfbbe53d41d159a47fe +osx64_hash=fda015431621e7e5aa16359d114f2c45a77ed936992c1efff86302e768a6b21c +s390x_hash=7a56ebb27dba3110dc1ff52d8e0449cdb37fe5c2275f7faf11432e4e164833ba + +### end of manual settings - following lines same for every download + +function err_no_binary { + local archmsg="${1}" + local ver="pypy${PYVER}-v${VERSION}-src" + local url="https://downloads.python.org/pypy/${ver}.tar.bz2" + { echo + colorize 1 "ERROR" + echo ": The binary distribution of PyPy is not available for ${archmsg}." + echo "try '${url}' to build from source." + echo + } >&2 + exit 1 +} + +function pypy_pkg_data { + # pypy architecture tag + local ARCH="${1}" + + # defaults + local cmd='install_package' # use bz2 + local pkg="${ARCH}" # assume matches + local ext='tar.bz2' + local hash='' # undefined + + # select the hash, fix pkg if not match ARCH + case "${ARCH}" in + 'linux-aarch64' ) + hash="${aarch64_hash}" + pkg='aarch64' + ;; + 'linux' ) + hash="${linux32_hash}" + pkg='linux32' + ;; + 'linux64' ) + hash="${linux64_hash}" + ;; + 'osarm64' ) + hash="${osarm64_hash}" + pkg='macos_arm64' + ;; + 'osx64' ) + if require_osx_version "10.13"; then + hash="${osx64_hash}" + pkg='macos_x86_64' + else + err_no_binary "${ARCH}, OS X < 10.13" + fi + ;; + 's390x' ) + hash="${s390x_hash}" + ;; + * ) + err_no_binary "${ARCH}" + ;; + esac + + local basever="pypy${PYVER}-v${VERSION}" + local baseurl="https://downloads.python.org/pypy/${basever}" + + # result - command, package dir, url+hash + echo "${cmd}" "${basever}-${pkg}" "${baseurl}-${pkg}.${ext}#${hash}" +} + +# determine command, package directory, url+hash +declare -a pd="$(pypy_pkg_data "$(pypy_architecture 2>/dev/null || true)")" + +# install +${pd[0]} "${pd[1]}" "${pd[2]}" 'pypy' "verify_py${PYVER//./}" 'ensurepip' diff --git a/plugins/python-build/share/python-build/pypy3.9-7.3.16-src b/plugins/python-build/share/python-build/pypy3.9-7.3.16-src new file mode 100644 index 00000000..b8c0cc63 --- /dev/null +++ b/plugins/python-build/share/python-build/pypy3.9-7.3.16-src @@ -0,0 +1,14 @@ +VERSION='7.3.16' +PYVER='3.9' + +# https://www.pypy.org/checksums.html +hash=5b75af3f8e76041e79c1ef5ce22ce63f8bd131733e9302081897d8f650e81843 + +### end of manual settings - following lines same for every download + +ver="pypy${PYVER}-v${VERSION}-src" +url="https://downloads.python.org/pypy/${ver}.tar.bz2" + +prefer_openssl11 +install_package "openssl-1.1.1f" "https://www.openssl.org/source/openssl-1.1.1f.tar.gz#186c6bfe6ecfba7a5b48c47f8a1673d0f3b0e5ba2e25602dd23b629975da3f35" mac_openssl --if has_broken_mac_openssl +install_package "${ver}" "${url}#${hash}" 'pypy_builder' "verify_py${PYVER//./}" 'ensurepip' From 8c7fc98c4f025e005713a285c4bc43ab8d6c9d09 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edgar=20Ram=C3=ADrez=20Mondrag=C3=B3n?= <16805946+edgarrmondragon@users.noreply.github.com> Date: Thu, 9 May 2024 03:58:17 -0600 Subject: [PATCH 16/34] Add CPython 3.14-dev, update 3.13-dev (#2960) * Add CPython 3.14-dev * Update 3.13-dev branch to 3.13 * Use OpenSSL 3.3.0 --- plugins/python-build/bin/python-build | 5 +++++ plugins/python-build/share/python-build/3.13-dev | 4 ++-- plugins/python-build/share/python-build/3.14-dev | 7 +++++++ 3 files changed, 14 insertions(+), 2 deletions(-) create mode 100644 plugins/python-build/share/python-build/3.14-dev diff --git a/plugins/python-build/bin/python-build b/plugins/python-build/bin/python-build index a30f6697..c55648bb 100755 --- a/plugins/python-build/bin/python-build +++ b/plugins/python-build/bin/python-build @@ -2021,6 +2021,11 @@ build_package_verify_py313() { build_package_verify_py312 "$1" "${2:-3.13}" } +# Post-install check for Python 3.14.x +build_package_verify_py314() { + build_package_verify_py313 "$1" "${2:-3.13}" +} + # Post-install check for Python 3.x rolling release scripts # XXX: Will need splitting into project-specific ones if there emerge # multiple rolling-release scripts with different checks needed diff --git a/plugins/python-build/share/python-build/3.13-dev b/plugins/python-build/share/python-build/3.13-dev index 8c4740e4..088f8927 100644 --- a/plugins/python-build/share/python-build/3.13-dev +++ b/plugins/python-build/share/python-build/3.13-dev @@ -2,6 +2,6 @@ prefer_openssl3 export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1 export PYTHON_BUILD_TCLTK_USE_PKGCONFIG=1 export PYTHON_BUILD_CONFIGURE_WITH_DSYMUTIL=1 -install_package "openssl-3.1.2" "https://www.openssl.org/source/openssl-3.1.2.tar.gz#a0ce69b8b97ea6a35b96875235aa453b966ba3cba8af2de23657d8b6767d6539" mac_openssl --if has_broken_mac_openssl +install_package "openssl-3.3.0" "https://www.openssl.org/source/openssl-3.3.0.tar.gz#53e66b043322a606abf0087e7699a0e033a37fa13feb9742df35c3a33b18fb02" mac_openssl --if has_broken_mac_openssl install_package "readline-8.0" "https://ftpmirror.gnu.org/readline/readline-8.0.tar.gz#e339f51971478d369f8a053a330a190781acb9864cf4c541060f12078948e461" mac_readline --if has_broken_mac_readline -install_git "Python-3.13-dev" "https://github.com/python/cpython" main standard verify_py313 copy_python_gdb ensurepip +install_git "Python-3.13-dev" "https://github.com/python/cpython" 3.13 standard verify_py313 copy_python_gdb ensurepip diff --git a/plugins/python-build/share/python-build/3.14-dev b/plugins/python-build/share/python-build/3.14-dev new file mode 100644 index 00000000..9ce786be --- /dev/null +++ b/plugins/python-build/share/python-build/3.14-dev @@ -0,0 +1,7 @@ +prefer_openssl3 +export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1 +export PYTHON_BUILD_TCLTK_USE_PKGCONFIG=1 +export PYTHON_BUILD_CONFIGURE_WITH_DSYMUTIL=1 +install_package "openssl-3.3.0" "https://www.openssl.org/source/openssl-3.3.0.tar.gz#53e66b043322a606abf0087e7699a0e033a37fa13feb9742df35c3a33b18fb02" mac_openssl --if has_broken_mac_openssl +install_package "readline-8.0" "https://ftpmirror.gnu.org/readline/readline-8.0.tar.gz#e339f51971478d369f8a053a330a190781acb9864cf4c541060f12078948e461" mac_readline --if has_broken_mac_readline +install_git "Python-3.14-dev" "https://github.com/python/cpython" main standard verify_py314 copy_python_gdb ensurepip From ef8daeaea714880b15303629bf89db154e71c644 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edgar=20Ram=C3=ADrez=20Mondrag=C3=B3n?= <16805946+edgarrmondragon@users.noreply.github.com> Date: Thu, 9 May 2024 05:13:45 -0600 Subject: [PATCH 17/34] Add CPython 3.13.0b1 (#2959) * Add CPython 3.13.0b1 * Use OpenSSL 3.3.0 --------- Co-authored-by: Ivan Pozdeev --- plugins/python-build/share/python-build/3.13.0a6 | 9 --------- plugins/python-build/share/python-build/3.13.0b1 | 9 +++++++++ 2 files changed, 9 insertions(+), 9 deletions(-) delete mode 100644 plugins/python-build/share/python-build/3.13.0a6 create mode 100644 plugins/python-build/share/python-build/3.13.0b1 diff --git a/plugins/python-build/share/python-build/3.13.0a6 b/plugins/python-build/share/python-build/3.13.0a6 deleted file mode 100644 index ffb90a06..00000000 --- a/plugins/python-build/share/python-build/3.13.0a6 +++ /dev/null @@ -1,9 +0,0 @@ -prefer_openssl3 -export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1 -install_package "openssl-3.2.1" "https://www.openssl.org/source/openssl-3.2.1.tar.gz#83c7329fe52c850677d75e5d0b0ca245309b97e8ecbcfdc1dfdc4ab9fac35b39" mac_openssl --if has_broken_mac_openssl -install_package "readline-8.2" "https://ftpmirror.gnu.org/readline/readline-8.2.tar.gz#3feb7171f16a84ee82ca18a36d7b9be109a52c04f492a053331d7d1095007c35" mac_readline --if has_broken_mac_readline -if has_tar_xz_support; then - install_package "Python-3.13.0a6" "https://www.python.org/ftp/python/3.13.0/Python-3.13.0a6.tar.xz#4bef393d72b281acf81d39d7455f00036e866193dfa21a4ed3970fd0f4cba048" standard verify_py313 copy_python_gdb ensurepip -else - install_package "Python-3.13.0a6" "https://www.python.org/ftp/python/3.13.0/Python-3.13.0a6.tgz#e24608288f4ff84d042efba1f3aff38e3940b0091d677056e245822ef878c83c" standard verify_py313 copy_python_gdb ensurepip -fi diff --git a/plugins/python-build/share/python-build/3.13.0b1 b/plugins/python-build/share/python-build/3.13.0b1 new file mode 100644 index 00000000..15e59218 --- /dev/null +++ b/plugins/python-build/share/python-build/3.13.0b1 @@ -0,0 +1,9 @@ +prefer_openssl3 +export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1 +install_package "openssl-3.3.0" "https://www.openssl.org/source/openssl-3.3.0.tar.gz#53e66b043322a606abf0087e7699a0e033a37fa13feb9742df35c3a33b18fb02" mac_openssl --if has_broken_mac_openssl +install_package "readline-8.2" "https://ftpmirror.gnu.org/readline/readline-8.2.tar.gz#3feb7171f16a84ee82ca18a36d7b9be109a52c04f492a053331d7d1095007c35" mac_readline --if has_broken_mac_readline +if has_tar_xz_support; then + install_package "Python-3.13.0b1" "https://www.python.org/ftp/python/3.13.0/Python-3.13.0b1.tar.xz#ba716ac56b039b545ad4a90ce586a57aa97869364553746ef2445728ceec198e" standard verify_py313 copy_python_gdb ensurepip +else + install_package "Python-3.13.0b1" "https://www.python.org/ftp/python/3.13.0/Python-3.13.0b1.tgz#3ff81ce29574296976dc42edfed52d39faf7ae583721a428cfc537a70bbaae16" standard verify_py313 copy_python_gdb ensurepip +fi From aabaa892438d05d96775042a129b1580fcd60105 Mon Sep 17 00:00:00 2001 From: Ivan Pozdeev Date: Thu, 9 May 2024 14:31:11 +0300 Subject: [PATCH 18/34] 2.4.1 --- CHANGELOG.md | 7 +++++++ libexec/pyenv---version | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ecf49821..92d45ecc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,12 @@ # Version History +## Release v2.4.1 +* Add CPython 3.12.3 by @edgarrmondragon in https://github.com/pyenv/pyenv/pull/2941 +* Add CPython 3.13.0a6 by @edgarrmondragon in https://github.com/pyenv/pyenv/pull/2942 +* Add PyPy v7.3.16 by @edgarrmondragon in https://github.com/pyenv/pyenv/pull/2948 +* Add CPython 3.14-dev, update 3.13-dev by @edgarrmondragon in https://github.com/pyenv/pyenv/pull/2960 +* Add CPython 3.13.0b1 by @edgarrmondragon in https://github.com/pyenv/pyenv/pull/2959 + ## Release v2.4.0 * Add CPython 3.13.0a4 by @saaketp in https://github.com/pyenv/pyenv/pull/2903 * Handle the case where `pyenv-commands --sh` returns nothing by @aphedges in https://github.com/pyenv/pyenv/pull/2908 diff --git a/libexec/pyenv---version b/libexec/pyenv---version index e077693f..ec33fe11 100755 --- a/libexec/pyenv---version +++ b/libexec/pyenv---version @@ -12,7 +12,7 @@ set -e [ -n "$PYENV_DEBUG" ] && set -x -version="2.4.0" +version="2.4.1" git_revision="" if cd "${BASH_SOURCE%/*}" 2>/dev/null && git remote -v 2>/dev/null | grep -q pyenv; then From 037ba4516bd68b9a3add01ce84e42b0614ecfb0e Mon Sep 17 00:00:00 2001 From: Tim Felgentreff Date: Thu, 23 May 2024 14:45:40 +0200 Subject: [PATCH 19/34] add script to install graalpy ea builds --- .../share/python-build/graalpy-dev | 54 +++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 plugins/python-build/share/python-build/graalpy-dev diff --git a/plugins/python-build/share/python-build/graalpy-dev b/plugins/python-build/share/python-build/graalpy-dev new file mode 100644 index 00000000..3c5aeebd --- /dev/null +++ b/plugins/python-build/share/python-build/graalpy-dev @@ -0,0 +1,54 @@ +# Copyright (c) 2024, Oracle and/or its affiliates. All rights reserved. +# +# Permission is hereby granted, free of charge, to any person obtaining a copy of +# this software and associated documentation files (the "Software"), to deal in +# the Software without restriction, including without limitation the rights to +# use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +# of the Software, and to permit persons to whom the Software is furnished to do +# so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + +JSON_URL=https://raw.githubusercontent.com/graalvm/graal-languages-ea-builds/main/graalpy/versions/latest-ea.json + +colorize 1 "GraalPy 23.1 and later installed by python-build use the faster Oracle GraalVM distribution" && echo +colorize 1 "Oracle GraalVM uses the GFTC license, which is free for development and production use, see https://medium.com/graalvm/161527df3d76" && echo +colorize 1 "Release builds of the GraalVM Community Edition variant of GraalPy are available, with names starting with graalpy-community-" && echo + +json=`http get "$JSON_URL"` +version=`expr "$json" : '{.*"version":[^"]*"\([^"]*\)'` +base_url=`expr "$json" : '{.*"download_base_url":[^"]*"\([^"]*\)'` + +graalpy_arch="$(graalpy_architecture 2>/dev/null || true)" + +case "$graalpy_arch" in +"linux-amd64" ) + ;; +"linux-aarch64" ) + ;; +"macos-amd64" ) + ;; +"macos-aarch64" ) + ;; +* ) + { echo + colorize 1 "ERROR" + echo ": No binary distribution of GraalPy is available for $(uname -sm)." + echo + } >&2 + exit 1 + ;; +esac + +url="${base_url}/graalpy-${version}-${graalpy_arch}.tar.gz" + +install_package "graalpy-${version}" "${url}" "copy" ensurepip From 948f53f6d838eb4ebe2770d19a43e2eb76e425ed Mon Sep 17 00:00:00 2001 From: Ivan Pozdeev Date: Fri, 24 May 2024 20:34:25 +0300 Subject: [PATCH 20/34] CI: run builds in debug mode since we're only interested in the output when something goes wrong --- .github/workflows/macos_build.yml | 2 +- .github/workflows/ubuntu_build.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/macos_build.yml b/.github/workflows/macos_build.yml index 3f299f80..6622b6a3 100644 --- a/.github/workflows/macos_build.yml +++ b/.github/workflows/macos_build.yml @@ -32,7 +32,7 @@ jobs: run: | echo $PYENV_ROOT echo "$PYENV_ROOT/shims:$PYENV_ROOT/bin" >> $GITHUB_PATH - bin/pyenv install -v ${{ matrix.python-version }} + bin/pyenv --debug install ${{ matrix.python-version }} bin/pyenv global ${{ matrix.python-version }} bin/pyenv rehash - run: python --version diff --git a/.github/workflows/ubuntu_build.yml b/.github/workflows/ubuntu_build.yml index e3951d3c..dd389219 100644 --- a/.github/workflows/ubuntu_build.yml +++ b/.github/workflows/ubuntu_build.yml @@ -34,7 +34,7 @@ jobs: run: | echo $PYENV_ROOT echo "$PYENV_ROOT/shims:$PYENV_ROOT/bin" >> $GITHUB_PATH - bin/pyenv install -v ${{ matrix.python-version }} + bin/pyenv --debug install ${{ matrix.python-version }} bin/pyenv global ${{ matrix.python-version }} bin/pyenv rehash - run: python --version From 0e0ca0966bf61dc89de376537a2fcc8492d70347 Mon Sep 17 00:00:00 2001 From: Ivan Pozdeev Date: Fri, 24 May 2024 20:36:43 +0300 Subject: [PATCH 21/34] CI: Run changed scripts in debug mode also --- .github/workflows/modified_scripts_build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/modified_scripts_build.yml b/.github/workflows/modified_scripts_build.yml index 0beef58e..79dbdb89 100644 --- a/.github/workflows/modified_scripts_build.yml +++ b/.github/workflows/modified_scripts_build.yml @@ -49,7 +49,7 @@ jobs: fi - run: | #build - pyenv install -v ${{ matrix.python-version }} + pyenv --debug install ${{ matrix.python-version }} pyenv global ${{ matrix.python-version }} # Micropython doesn't support --version - run: | From 98c5b711dc0ada63ab7d47f98144a3cddda0b997 Mon Sep 17 00:00:00 2001 From: Tim Felgentreff Date: Mon, 27 May 2024 10:50:03 +0200 Subject: [PATCH 22/34] fix http_get_aria to cat the correct file --- plugins/python-build/bin/python-build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/python-build/bin/python-build b/plugins/python-build/bin/python-build index c55648bb..923fcc62 100755 --- a/plugins/python-build/bin/python-build +++ b/plugins/python-build/bin/python-build @@ -397,7 +397,7 @@ http_get_aria2c() { fi if aria2c --allow-overwrite=true --no-conf=true -d "${dir_out}" -o "${out}" ${ARIA2_OPTS} "$1" >&4; then - [ -n "$2" ] || cat "${out}" + [ -n "$2" ] || cat "${dir_out:-.}/${out}" else false fi From 8a464cfed10ffe1f67e71c32929c82fb2b2a0f1a Mon Sep 17 00:00:00 2001 From: Younes Askour Date: Sat, 1 Jun 2024 20:13:57 +0100 Subject: [PATCH 23/34] Correct the Explanation of PATH Variable Lookup (#2975) This PR corrects a small but important detail in the documentation regarding how the system searches for executable files. The original text incorrectly stated that the operating system performs this search. The corrected text clarifies that it is actually the shell that performs the search. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 89adb548..279cf8a5 100644 --- a/README.md +++ b/README.md @@ -86,7 +86,7 @@ to the correct Python installation. ### Understanding PATH -When you run a command like `python` or `pip`, your operating system +When you run a command like `python` or `pip`, your shell (bash / zshrc / ...) searches through a list of directories to find an executable file with that name. This list of directories lives in an environment variable called `PATH`, with each directory in the list separated by a colon: From 4ab9b3710bea9d114e3e3742ee8cd3259de9dcf8 Mon Sep 17 00:00:00 2001 From: native-api Date: Sun, 2 Jun 2024 15:24:00 +0300 Subject: [PATCH 24/34] Document PYTHON_BUILD_CURL_OPTS, PYTHON_BUILD_WGET_OPTS, PYTHON_BUILD_ARIA2_OPTS (#2976) [no ci] --- README.md | 1 - plugins/python-build/README.md | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 279cf8a5..78b13516 100644 --- a/README.md +++ b/README.md @@ -675,7 +675,6 @@ name | default | description `PYENV_DEBUG` | | Outputs debug information.
Also as: `pyenv --debug ` `PYENV_HOOK_PATH` | [_see wiki_][hooks] | Colon-separated list of paths searched for pyenv hooks. `PYENV_DIR` | `$PWD` | Directory to start searching for `.python-version` files. -`PYTHON_BUILD_ARIA2_OPTS` | | Used to pass additional parameters to [`aria2`](https://aria2.github.io/).
If the `aria2c` binary is available on `PATH`, pyenv uses `aria2c` instead of `curl` or `wget` to download the Python Source code. If you have an unstable internet connection, you can use this variable to instruct `aria2` to accelerate the download.
In most cases, you will only need to use `-x 10 -k 1M` as value to `PYTHON_BUILD_ARIA2_OPTS` environment variable See also [_Special environment variables_ in Python-Build's README](plugins/python-build/README.md#special-environment-variables) for environment variables that can be used to customize the build. diff --git a/plugins/python-build/README.md b/plugins/python-build/README.md index 7fd92165..83f48882 100644 --- a/plugins/python-build/README.md +++ b/plugins/python-build/README.md @@ -157,6 +157,7 @@ You can set certain environment variables to control the build process. * `PYTHON_BUILD_SKIP_MIRROR`, if set, forces python-build to download packages from their original source URLs instead of using a mirror. * `PYTHON_BUILD_HTTP_CLIENT`, explicitly specify the HTTP client type to use. `aria2`, `curl` and `wget` are the supported values and by default, are searched in that order. +* `PYTHON_BUILD_CURL_OPTS`, `PYTHON_BUILD_WGET_OPTS`, `PYTHON_BUILD_ARIA2_OPTS` pass additional parameters to the corresponding HTTP client. * `PYTHON_BUILD_SKIP_HOMEBREW`, if set, will not search for libraries installed by Homebrew when it would normally will. * `PYTHON_BUILD_USE_HOMEBREW`, if set, will search for libraries installed by Homebrew when it would normally not. * `PYTHON_BUILD_HOMEBREW_OPENSSL_FORMULA`, override the Homebrew OpenSSL formula to use. From b0cd5bf8837242dc06dd5e4242e379b4e235df96 Mon Sep 17 00:00:00 2001 From: native-api Date: Tue, 4 Jun 2024 01:06:33 +0300 Subject: [PATCH 25/34] Add sed and greadlink to exceptions (#2977) Anaconda has packages that override at least sed Greadlink is also a critical executable if present --- pyenv.d/rehash/conda.d/default.list | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pyenv.d/rehash/conda.d/default.list b/pyenv.d/rehash/conda.d/default.list index 867de1cc..f70b953b 100644 --- a/pyenv.d/rehash/conda.d/default.list +++ b/pyenv.d/rehash/conda.d/default.list @@ -64,6 +64,8 @@ redis-check-aof redis-check-dump redis-cli redis-server +# sed +sed # sqlite3 sqlite3 # xslt-config @@ -189,4 +191,5 @@ wc who whoami yes -# --- end exclusions from coreutils \ No newline at end of file +# --- end exclusions from coreutils +greadlink \ No newline at end of file From 2e0bb023e1486ccb71cdfc049c436655ec3088f6 Mon Sep 17 00:00:00 2001 From: John Sirois Date: Thu, 6 Jun 2024 11:09:33 -0700 Subject: [PATCH 26/34] Add CPython 3.13.0b2 (#2978) --- plugins/python-build/share/python-build/3.13.0b1 | 9 --------- plugins/python-build/share/python-build/3.13.0b2 | 9 +++++++++ 2 files changed, 9 insertions(+), 9 deletions(-) delete mode 100644 plugins/python-build/share/python-build/3.13.0b1 create mode 100644 plugins/python-build/share/python-build/3.13.0b2 diff --git a/plugins/python-build/share/python-build/3.13.0b1 b/plugins/python-build/share/python-build/3.13.0b1 deleted file mode 100644 index 15e59218..00000000 --- a/plugins/python-build/share/python-build/3.13.0b1 +++ /dev/null @@ -1,9 +0,0 @@ -prefer_openssl3 -export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1 -install_package "openssl-3.3.0" "https://www.openssl.org/source/openssl-3.3.0.tar.gz#53e66b043322a606abf0087e7699a0e033a37fa13feb9742df35c3a33b18fb02" mac_openssl --if has_broken_mac_openssl -install_package "readline-8.2" "https://ftpmirror.gnu.org/readline/readline-8.2.tar.gz#3feb7171f16a84ee82ca18a36d7b9be109a52c04f492a053331d7d1095007c35" mac_readline --if has_broken_mac_readline -if has_tar_xz_support; then - install_package "Python-3.13.0b1" "https://www.python.org/ftp/python/3.13.0/Python-3.13.0b1.tar.xz#ba716ac56b039b545ad4a90ce586a57aa97869364553746ef2445728ceec198e" standard verify_py313 copy_python_gdb ensurepip -else - install_package "Python-3.13.0b1" "https://www.python.org/ftp/python/3.13.0/Python-3.13.0b1.tgz#3ff81ce29574296976dc42edfed52d39faf7ae583721a428cfc537a70bbaae16" standard verify_py313 copy_python_gdb ensurepip -fi diff --git a/plugins/python-build/share/python-build/3.13.0b2 b/plugins/python-build/share/python-build/3.13.0b2 new file mode 100644 index 00000000..88c2fc55 --- /dev/null +++ b/plugins/python-build/share/python-build/3.13.0b2 @@ -0,0 +1,9 @@ +prefer_openssl3 +export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1 +install_package "openssl-3.3.1" "https://www.openssl.org/source/openssl-3.3.1.tar.gz#777cd596284c883375a2a7a11bf5d2786fc5413255efab20c50d6ffe6d020b7e" mac_openssl --if has_broken_mac_openssl +install_package "readline-8.2" "https://ftpmirror.gnu.org/readline/readline-8.2.tar.gz#3feb7171f16a84ee82ca18a36d7b9be109a52c04f492a053331d7d1095007c35" mac_readline --if has_broken_mac_readline +if has_tar_xz_support; then + install_package "Python-3.13.0b2" "https://www.python.org/ftp/python/3.13.0/Python-3.13.0b2.tar.xz#bf11be01b42a07a3659e4e233591e03da631b7112aa61ee1e030eeb8c5dfd869" standard verify_py313 copy_python_gdb ensurepip +else + install_package "Python-3.13.0b2" "https://www.python.org/ftp/python/3.13.0/Python-3.13.0b2.tgz#c87c42aa8137230a15a02ed90a6600610ba680cb5b54c0fbc57581a0d032e0c4" standard verify_py313 copy_python_gdb ensurepip +fi From 79951112ccf660783783591845d41d8d1fe4a87e Mon Sep 17 00:00:00 2001 From: Taras I Date: Sat, 8 Jun 2024 22:32:07 +0200 Subject: [PATCH 27/34] Add CPython 3.12.4 (#2981) Also bump up openssl version --- plugins/python-build/share/python-build/3.12.4 | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 plugins/python-build/share/python-build/3.12.4 diff --git a/plugins/python-build/share/python-build/3.12.4 b/plugins/python-build/share/python-build/3.12.4 new file mode 100644 index 00000000..b4016372 --- /dev/null +++ b/plugins/python-build/share/python-build/3.12.4 @@ -0,0 +1,9 @@ +prefer_openssl3 +export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1 +install_package "openssl-3.2.2" "https://www.openssl.org/source/openssl-3.2.2.tar.gz#197149c18d9e9f292c43f0400acaba12e5f52cacfe050f3d199277ea738ec2e7" mac_openssl --if has_broken_mac_openssl +install_package "readline-8.2" "https://ftpmirror.gnu.org/readline/readline-8.2.tar.gz#3feb7171f16a84ee82ca18a36d7b9be109a52c04f492a053331d7d1095007c35" mac_readline --if has_broken_mac_readline +if has_tar_xz_support; then + install_package "Python-3.12.4" "https://www.python.org/ftp/python/3.12.4/Python-3.12.4.tar.xz#f6d419a6d8743ab26700801b4908d26d97e8b986e14f95de31b32de2b0e79554" standard verify_py312 copy_python_gdb ensurepip +else + install_package "Python-3.12.4" "https://www.python.org/ftp/python/3.12.4/Python-3.12.4.tgz#01b3c1c082196f3b33168d344a9c85fb07bfe0e7ecfe77fee4443420d1ce2ad9" standard verify_py312 copy_python_gdb ensurepip +fi From 0963c8ac02bca616b8f91ab8b1902f48502cd813 Mon Sep 17 00:00:00 2001 From: Ivan Pozdeev Date: Sat, 8 Jun 2024 23:49:46 +0300 Subject: [PATCH 28/34] 2.4.2 --- CHANGELOG.md | 8 ++++++++ libexec/pyenv---version | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 92d45ecc..474fd0a6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # Version History +## Release v2.4.2 +* Add script to install graalpy development builds by @timfel in https://github.com/pyenv/pyenv/pull/2969 +* Correct the Explanation of PATH Variable Lookup by @Y-askour in https://github.com/pyenv/pyenv/pull/2975 +* Document PYTHON_BUILD_CURL_OPTS, PYTHON_BUILD_WGET_OPTS, PYTHON_BUILD_ARIA2_OPTS by @native-api in https://github.com/pyenv/pyenv/pull/2976 +* Add sed and greadlink to shim exceptions by @native-api in https://github.com/pyenv/pyenv/pull/2977 +* Add CPython 3.13.0b2 by @jsirois in https://github.com/pyenv/pyenv/pull/2978 +* Add CPython 3.12.4 by @xxzgc in https://github.com/pyenv/pyenv/pull/2981 + ## Release v2.4.1 * Add CPython 3.12.3 by @edgarrmondragon in https://github.com/pyenv/pyenv/pull/2941 * Add CPython 3.13.0a6 by @edgarrmondragon in https://github.com/pyenv/pyenv/pull/2942 diff --git a/libexec/pyenv---version b/libexec/pyenv---version index ec33fe11..a3ec9e2e 100755 --- a/libexec/pyenv---version +++ b/libexec/pyenv---version @@ -12,7 +12,7 @@ set -e [ -n "$PYENV_DEBUG" ] && set -x -version="2.4.1" +version="2.4.2" git_revision="" if cd "${BASH_SOURCE%/*}" 2>/dev/null && git remote -v 2>/dev/null | grep -q pyenv; then From cb99cbcc8ebb221d02e0860fa48127b887701472 Mon Sep 17 00:00:00 2001 From: Ivan Pozdeev Date: Sun, 9 Jun 2024 00:01:04 +0300 Subject: [PATCH 29/34] README: Emphasize the main design idea of the plugins --- README.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 78b13516..ff9682a9 100644 --- a/README.md +++ b/README.md @@ -580,10 +580,13 @@ uninstall from the system. ## Pyenv plugins -Pyenv provides a simple, flexible and maintainable way to extend and customize its functionality with plugins -- +Pyenv provides a simple way to extend and customize its functionality with plugins -- as simple as creating a plugin directory and dropping a shell script on a certain subpath of it with whatever extra logic you need to be run at certain moments. +The main idea is that most things that you can put under `$PYENV_ROOT/` you can also put +under `$PYENV_ROOT/plugins/your_plugin_name/`. + See [_Plugins_ on the wiki](https://github.com/pyenv/pyenv/wiki/Plugins) on how to install and use plugins as well as a catalog of some useful existing plugins for common needs. From a86ca7ac2ec996766baa1f7e635a4d6a387fd9a2 Mon Sep 17 00:00:00 2001 From: Ivan Pozdeev Date: Sun, 9 Jun 2024 00:19:03 +0300 Subject: [PATCH 30/34] Document adding defnitions with a plugin --- plugins/python-build/README.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/plugins/python-build/README.md b/plugins/python-build/README.md index 83f48882..147e6ccf 100644 --- a/plugins/python-build/README.md +++ b/plugins/python-build/README.md @@ -96,7 +96,10 @@ versions of Python that are not yet supported by python-build. See the [python-build built-in definitions](https://github.com/pyenv/pyenv/tree/master/plugins/python-build/share/python-build) as a starting point for custom definition files. -[definitions]: https://github.com/pyenv/pyenv/tree/master/plugins/python-build/share/python-build +#### Adding definitions with a Pyenv plugin + +You can add your own definitions with a [Pyenv plugin](https://github.com/pyenv/pyenv?tab=readme-ov-file#pyenv-plugins) by placing them under +`$PYENV_ROOT/plugins/your_plugin_name/share/python-build`. ### Default build configuration From 7a91070c023e1ecb9b2f29c66d3980ad043c344b Mon Sep 17 00:00:00 2001 From: Ivan Pozdeev Date: Sun, 9 Jun 2024 00:19:44 +0300 Subject: [PATCH 31/34] Removed obsoltete section about --enable-shared --- plugins/python-build/README.md | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/plugins/python-build/README.md b/plugins/python-build/README.md index 147e6ccf..214e78ad 100644 --- a/plugins/python-build/README.md +++ b/plugins/python-build/README.md @@ -200,20 +200,6 @@ $ cat fix1.patch fix2.patch | pyenv install --patch 2.7.10 ``` -### Building with `--enable-shared` - -You can build CPython with `--enable-shared` to install a version with -shared object. - -If `--enable-shared` was found in `PYTHON_CONFIGURE_OPTS` or `CONFIGURE_OPTS`, -`python-build` will automatically set `RPATH` to the pyenv's prefix directory. -This means you don't have to set `LD_LIBRARY_PATH` or `DYLD_LIBRARY_PATH` for -the version(s) installed with `--enable-shared`. - -```sh -$ env PYTHON_CONFIGURE_OPTS="--enable-shared" pyenv install 2.7.9 -``` - ### Building for maximum performance Building CPython with `--enable-optimizations` will result in a faster From 613e5142b3520a8c3e51d1083eabb87de0a0d0e3 Mon Sep 17 00:00:00 2001 From: binbjz <8213913+binbjz@users.noreply.github.com> Date: Tue, 11 Jun 2024 00:38:04 +0800 Subject: [PATCH 32/34] Add support for miniconda3 24.4.0-0 with py3.12, py3.11, py3.10, py3.9 (#2982) Co-authored-by: zhaobin --- .../python-build/miniconda3-3.10-24.4.0-0 | 25 +++++++++++++++++++ .../python-build/miniconda3-3.11-24.4.0-0 | 25 +++++++++++++++++++ .../python-build/miniconda3-3.12-24.4.0-0 | 25 +++++++++++++++++++ .../python-build/miniconda3-3.9-24.4.0-0 | 25 +++++++++++++++++++ 4 files changed, 100 insertions(+) create mode 100644 plugins/python-build/share/python-build/miniconda3-3.10-24.4.0-0 create mode 100644 plugins/python-build/share/python-build/miniconda3-3.11-24.4.0-0 create mode 100644 plugins/python-build/share/python-build/miniconda3-3.12-24.4.0-0 create mode 100644 plugins/python-build/share/python-build/miniconda3-3.9-24.4.0-0 diff --git a/plugins/python-build/share/python-build/miniconda3-3.10-24.4.0-0 b/plugins/python-build/share/python-build/miniconda3-3.10-24.4.0-0 new file mode 100644 index 00000000..ecf88343 --- /dev/null +++ b/plugins/python-build/share/python-build/miniconda3-3.10-24.4.0-0 @@ -0,0 +1,25 @@ +case "$(anaconda_architecture 2>/dev/null || true)" in +"Linux-aarch64" ) + install_script "Miniconda3-py310_24.4.0-0-Linux-aarch64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py310_24.4.0-0-Linux-aarch64.sh#68f3a537bf2ba8031961c8be6b52236c75478c797e0333e055539f02147676b8" "miniconda" verify_py310 + ;; +"Linux-s390x" ) + install_script "Miniconda3-py310_24.4.0-0-Linux-s390x.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py310_24.4.0-0-Linux-s390x.sh#d5d06f9aa66d9cc9a23d6278826cb09f44f8e005b8b8fcf2664bef02e61ca751" "miniconda" verify_py310 + ;; +"Linux-x86_64" ) + install_script "Miniconda3-py310_24.4.0-0-Linux-x86_64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py310_24.4.0-0-Linux-x86_64.sh#fdaa5afdea8c07b6f2203b8f95abe0e4e8c4d3fd3c10d19fe590311446591ffa" "miniconda" verify_py310 + ;; +"MacOSX-arm64" ) + install_script "Miniconda3-py310_24.4.0-0-MacOSX-arm64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py310_24.4.0-0-MacOSX-arm64.sh#21f0b7c653518a6eb6135593c509cefc78fdff839bb2e887d36bc03eda607faf" "miniconda" verify_py310 + ;; +"MacOSX-x86_64" ) + install_script "Miniconda3-py310_24.4.0-0-MacOSX-x86_64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py310_24.4.0-0-MacOSX-x86_64.sh#c2eed72ff97b4eb81bc1171616b0ff48a440a2e1ad5638e1899b80286767c568" "miniconda" verify_py310 + ;; +* ) + { echo + colorize 1 "ERROR" + echo ": The binary distribution of Miniconda is not available for $(anaconda_architecture 2>/dev/null || true)." + echo + } >&2 + exit 1 + ;; +esac diff --git a/plugins/python-build/share/python-build/miniconda3-3.11-24.4.0-0 b/plugins/python-build/share/python-build/miniconda3-3.11-24.4.0-0 new file mode 100644 index 00000000..22c577e4 --- /dev/null +++ b/plugins/python-build/share/python-build/miniconda3-3.11-24.4.0-0 @@ -0,0 +1,25 @@ +case "$(anaconda_architecture 2>/dev/null || true)" in +"Linux-aarch64" ) + install_script "Miniconda3-py311_24.4.0-0-Linux-aarch64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py311_24.4.0-0-Linux-aarch64.sh#d3ed9ff565c7341a4e4c957443ccb4f12f3dd5a087549099e7f199c36469e55c" "miniconda" verify_py311 + ;; +"Linux-s390x" ) + install_script "Miniconda3-py311_24.4.0-0-Linux-s390x.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py311_24.4.0-0-Linux-s390x.sh#f2bea598cb72ed838a6e62b7dd8fbf1c3941a92783ba686822f70108c8c2e543" "miniconda" verify_py311 + ;; +"Linux-x86_64" ) + install_script "Miniconda3-py311_24.4.0-0-Linux-x86_64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py311_24.4.0-0-Linux-x86_64.sh#7cb030a12d1da35e1c548344a895b108e0d2fbdc4f6b67d5180b2ac8539cc473" "miniconda" verify_py311 + ;; +"MacOSX-arm64" ) + install_script "Miniconda3-py311_24.4.0-0-MacOSX-arm64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py311_24.4.0-0-MacOSX-arm64.sh#a396cf4ca0088cf2d78517b28732b61697cdcb698528300946ef6409353eca86" "miniconda" verify_py311 + ;; +"MacOSX-x86_64" ) + install_script "Miniconda3-py311_24.4.0-0-MacOSX-x86_64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py311_24.4.0-0-MacOSX-x86_64.sh#b7f3adebd2b25dbefdc85e16f5ee130ac0d1167f416078f961e90f277476b115" "miniconda" verify_py311 + ;; +* ) + { echo + colorize 1 "ERROR" + echo ": The binary distribution of Miniconda is not available for $(anaconda_architecture 2>/dev/null || true)." + echo + } >&2 + exit 1 + ;; +esac diff --git a/plugins/python-build/share/python-build/miniconda3-3.12-24.4.0-0 b/plugins/python-build/share/python-build/miniconda3-3.12-24.4.0-0 new file mode 100644 index 00000000..20c8dfb4 --- /dev/null +++ b/plugins/python-build/share/python-build/miniconda3-3.12-24.4.0-0 @@ -0,0 +1,25 @@ +case "$(anaconda_architecture 2>/dev/null || true)" in +"Linux-aarch64" ) + install_script "Miniconda3-py312_24.4.0-0-Linux-aarch64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py312_24.4.0-0-Linux-aarch64.sh#832d48e11e444c1a25f320fccdd0f0fabefec63c1cd801e606836e1c9c76ad51" "miniconda" verify_py312 + ;; +"Linux-s390x" ) + install_script "Miniconda3-py312_24.4.0-0-Linux-s390x.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py312_24.4.0-0-Linux-s390x.sh#e973f1b6352d58b1ab35f30424f1565d7ffa469dcde2d52c86ec1c117db11aad" "miniconda" verify_py312 + ;; +"Linux-x86_64" ) + install_script "Miniconda3-py312_24.4.0-0-Linux-x86_64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py312_24.4.0-0-Linux-x86_64.sh#b6597785e6b071f1ca69cf7be6d0161015b96340b9a9e132215d5713408c3a7c" "miniconda" verify_py312 + ;; +"MacOSX-arm64" ) + install_script "Miniconda3-py312_24.4.0-0-MacOSX-arm64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py312_24.4.0-0-MacOSX-arm64.sh#f4925c0150d232d95de798a64c696f4b2df2745bb997b793506bdfd27bf91e11" "miniconda" verify_py312 + ;; +"MacOSX-x86_64" ) + install_script "Miniconda3-py312_24.4.0-0-MacOSX-x86_64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py312_24.4.0-0-MacOSX-x86_64.sh#1413369470adb7cf52f8b961e81b3ceeb92f5931a451bef9cb0c42be0ce17ef3" "miniconda" verify_py312 + ;; +* ) + { echo + colorize 1 "ERROR" + echo ": The binary distribution of Miniconda is not available for $(anaconda_architecture 2>/dev/null || true)." + echo + } >&2 + exit 1 + ;; +esac diff --git a/plugins/python-build/share/python-build/miniconda3-3.9-24.4.0-0 b/plugins/python-build/share/python-build/miniconda3-3.9-24.4.0-0 new file mode 100644 index 00000000..7b60311a --- /dev/null +++ b/plugins/python-build/share/python-build/miniconda3-3.9-24.4.0-0 @@ -0,0 +1,25 @@ +case "$(anaconda_architecture 2>/dev/null || true)" in +"Linux-aarch64" ) + install_script "Miniconda3-py39_24.4.0-0-Linux-aarch64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py39_24.4.0-0-Linux-aarch64.sh#6f09fd08165a9fdccb2a2c64e9bbcf68ce58a9bfb571600306eb44d29718b13f" "miniconda" verify_py39 + ;; +"Linux-s390x" ) + install_script "Miniconda3-py39_24.4.0-0-Linux-s390x.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py39_24.4.0-0-Linux-s390x.sh#8766e30b038087e7da2bb9a8bca4ca3f2ed621659f0ea8954ffab789f4a8f192" "miniconda" verify_py39 + ;; +"Linux-x86_64" ) + install_script "Miniconda3-py39_24.4.0-0-Linux-x86_64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py39_24.4.0-0-Linux-x86_64.sh#edd7610f2e2b25d15f6ffa81ca94de0748dd107096871459a7966dcf9a564ea9" "miniconda" verify_py39 + ;; +"MacOSX-arm64" ) + install_script "Miniconda3-py39_24.4.0-0-MacOSX-arm64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py39_24.4.0-0-MacOSX-arm64.sh#74f3de552d93712cc7c531f690b78d6acad8e3812da43fc3a1acbc5c39243480" "miniconda" verify_py39 + ;; +"MacOSX-x86_64" ) + install_script "Miniconda3-py39_24.4.0-0-MacOSX-x86_64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py39_24.4.0-0-MacOSX-x86_64.sh#d3ad5e0bf74aa1cb838df2f73e4be4e5d9a0f259a05b5223199ea1f6f6edf9f3" "miniconda" verify_py39 + ;; +* ) + { echo + colorize 1 "ERROR" + echo ": The binary distribution of Miniconda is not available for $(anaconda_architecture 2>/dev/null || true)." + echo + } >&2 + exit 1 + ;; +esac From 42c66c92d8dd5f55fed530a21e5d838bcfc870b0 Mon Sep 17 00:00:00 2001 From: Ivan Pozdeev Date: Mon, 10 Jun 2024 23:20:20 +0300 Subject: [PATCH 33/34] Document mirror structure and download cache in more details --- plugins/python-build/README.md | 40 ++++++++++++++++++++++++---------- 1 file changed, 28 insertions(+), 12 deletions(-) diff --git a/plugins/python-build/README.md b/plugins/python-build/README.md index 214e78ad..2c02e76c 100644 --- a/plugins/python-build/README.md +++ b/plugins/python-build/README.md @@ -227,14 +227,30 @@ definition. (All bundled definitions include checksums.) ### Package download mirrors python-build will first attempt to download package files from a mirror hosted on -GitHub Pages. If a package is not available on the mirror, if the mirror -is down, or if the download is corrupt, python-build will fall back to the +GitHub Pages. If this fails, it will fall back to the official URL specified in the definition file. You can point python-build to another mirror by specifying the -`PYTHON_BUILD_MIRROR_URL` environment variable--useful if you'd like to run your -own local mirror, for example. Package mirror URLs are constructed by joining -this variable with the SHA2 checksum of the package file. +`PYTHON_BUILD_MIRROR_URL` environment variable. + +Package mirror URLs are constructed by joining +`$PYTHON_BUILD_MIRROR_URL` with the SHA2 checksum of the package file as specified in the URL +in the installation script (the part after the hash sign). E.g.: + +``` +https://mycache.example.com/0419e9085bf51b7a672009b3f50dbf1859acdf18ba725d0ec19aa5c8503f0ea3 +``` + +If you have replicated the directory structure of an official site, the easiest way to adapt +would be to make symlinks at the mirror's root: + +``` +0419e9085bf51b7a672009b3f50dbf1859acdf18ba725d0ec19aa5c8503f0ea3 -> 3.10.10/Python-3.10.10.tar.xz +``` + +The rationale is to abstract away difference between directory structures of sites +of various Python flavors and their occasional changes as well as to accomodate +people who only wish to cache some select downloads. This also allows to mirror multiple sites at once. If the mirror being used does not have the same checksum (*e.g.* with a pull-through cache like Artifactory), you can set the @@ -247,15 +263,15 @@ mirror by setting the `PYTHON_BUILD_SKIP_MIRROR` environment variable. The official python-build download mirror is provided by [GitHub Pages](http://yyuu.github.io/pythons/). -### Package download caching +### Package download cache -You can instruct python-build to keep a local cache of downloaded package files -by setting the `PYTHON_BUILD_CACHE_PATH` environment variable. When set, package -files will be kept in this directory after the first successful download and -reused by subsequent invocations of `python-build` and `pyenv install`. +Python-build will keep a cache of downloaded package files +at the location specified by the `PYTHON_BUILD_CACHE_PATH` environment variable +if it exists. The default is `~/.pyenv/cache`, so you can +enable caching by just creating that directory. -The `pyenv install` command defaults this path to `~/.pyenv/cache`, so in most -cases you can enable download caching simply by creating that directory. +The name of the would-be cached file is reported by Pyenv in the "Downloading <filename>..." message. +It's possible to warm up the cache by manually putting the file there under an appropriate name. ### Keeping the build directory after installation From 756aad26135ca23e11e86fc40aac1dd415e980d8 Mon Sep 17 00:00:00 2001 From: Ivan Pozdeev Date: Wed, 12 Jun 2024 22:48:15 +0300 Subject: [PATCH 34/34] 2.4.3 --- CHANGELOG.md | 3 +++ libexec/pyenv---version | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 474fd0a6..e2b18f76 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,8 @@ # Version History +## Release v2.4.3 +* Add miniconda3 24.4.0-0 by @binbjz in https://github.com/pyenv/pyenv/pull/2982 + ## Release v2.4.2 * Add script to install graalpy development builds by @timfel in https://github.com/pyenv/pyenv/pull/2969 * Correct the Explanation of PATH Variable Lookup by @Y-askour in https://github.com/pyenv/pyenv/pull/2975 diff --git a/libexec/pyenv---version b/libexec/pyenv---version index a3ec9e2e..73758005 100755 --- a/libexec/pyenv---version +++ b/libexec/pyenv---version @@ -12,7 +12,7 @@ set -e [ -n "$PYENV_DEBUG" ] && set -x -version="2.4.2" +version="2.4.3" git_revision="" if cd "${BASH_SOURCE%/*}" 2>/dev/null && git remote -v 2>/dev/null | grep -q pyenv; then