mirror of
https://github.com/pyenv/pyenv.git
synced 2025-11-09 12:03:49 -05:00
Compare commits
47 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a681e756e1 | ||
|
|
dc3a201301 | ||
|
|
7706a45080 | ||
|
|
23dfe75b73 | ||
|
|
df7ccfe0e8 | ||
|
|
e342d84715 | ||
|
|
e54cd5f49d | ||
|
|
80ec306155 | ||
|
|
a9e11ba164 | ||
|
|
5b7c140f5b | ||
|
|
aebed1c0a4 | ||
|
|
4adc45ef8a | ||
|
|
d79bda4602 | ||
|
|
552d943762 | ||
|
|
663abeb5fa | ||
|
|
748261869a | ||
|
|
54889eb87a | ||
|
|
cfe2aba670 | ||
|
|
009fea2b20 | ||
|
|
6e214570d1 | ||
|
|
abfa1c6d92 | ||
|
|
066c05336f | ||
|
|
1fa027af1e | ||
|
|
a0cc289d15 | ||
|
|
4bbf7d7bb0 | ||
|
|
4b82f575c7 | ||
|
|
c0d8b9cfe8 | ||
|
|
0388da7d0b | ||
|
|
13efdea9ab | ||
|
|
8db91d5516 | ||
|
|
a015760854 | ||
|
|
d4f45b0096 | ||
|
|
444088b1db | ||
|
|
09877f45cb | ||
|
|
f864294e0e | ||
|
|
5963dc4f61 | ||
|
|
0915c5b7b6 | ||
|
|
ed38af6409 | ||
|
|
208be7d6af | ||
|
|
07aa659dbb | ||
|
|
88c3404997 | ||
|
|
3a35f43eb4 | ||
|
|
9a42b48da4 | ||
|
|
f5cc25ed14 | ||
|
|
e0e3244015 | ||
|
|
9c72c27d76 | ||
|
|
483d95d6d2 |
2
.github/FUNDING.yml
vendored
2
.github/FUNDING.yml
vendored
@@ -9,4 +9,4 @@ community_bridge: # Replace with a single Community Bridge project-name e.g., cl
|
||||
liberapay: # Replace with a single Liberapay username
|
||||
issuehunt: # Replace with a single IssueHunt username
|
||||
otechie: # Replace with a single Otechie username
|
||||
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
|
||||
custom: ['https://www.bountysource.com/teams/yyuu-pyenv/issues'] # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
|
||||
|
||||
13
.github/ISSUE_TEMPLATE.md
vendored
13
.github/ISSUE_TEMPLATE.md
vendored
@@ -17,5 +17,14 @@ Make sure you have checked all steps below.
|
||||
- [ ] pyenv version:
|
||||
- [ ] Python version:
|
||||
- [ ] C Compiler information (e.g. gcc 7.3):
|
||||
- [ ] Please attach verbose build log as gist
|
||||
* You can turn on verbose debug logging using by setting `PYENV_DEBUG=1`, e.g. `env PYENV_DEBUG=1 pyenv install -v 3.6.4`
|
||||
- [ ] Please reproduce the problem with debug tracing enabled and attach the resulting output as a gist
|
||||
* If the problem happens in a Pyenv invocation, you can turn on tracing by setting `PYENV_DEBUG=1`, e.g. `env PYENV_DEBUG=1 pyenv install -v 3.6.4`
|
||||
* If the problem is with `pyenv install`, make sure to also enable its verbose mode (`-v`)
|
||||
* If the problem happens outside of a Pyenv invocation, enable shell trace output like this:
|
||||
```sh
|
||||
export PS4='+(${(%):-%x}:${LINENO}): ${funcstack[0]:+${funcstack[0]}(): }' #Zsh
|
||||
export PS4='+(${BASH_SOURCE}:${LINENO}): ${FUNCNAME[0]:+${FUNCNAME[0]}(): }' #Bash
|
||||
set -x
|
||||
<reproduce the problem>
|
||||
set +x
|
||||
```
|
||||
|
||||
29
CHANGELOG.md
29
CHANGELOG.md
@@ -1,5 +1,34 @@
|
||||
## Version History
|
||||
|
||||
## Release 2.2.2
|
||||
|
||||
* Add support for macOS Apple M1 (#2164)
|
||||
|
||||
## Release 2.2.1
|
||||
|
||||
* Add CPython 3.9.9 (#2162)
|
||||
* Add CPython 3.9.8 (#2152)
|
||||
* Add Add micropython 1.17 (#2158)
|
||||
* Add Add micropython 1.16 (#2158)
|
||||
* Patch 3.10.0 configure, fixes https://bugs.python.org/issue45350 (#2155)
|
||||
* Use command and type instead of which (#2144)
|
||||
* Add definition of pyenv help in COMMANDS.md #2139
|
||||
* Use OpenSSL 1.0 for CPython 2.7.18
|
||||
|
||||
## Release 2.2.0
|
||||
* Adding PyPy release 7.3.7 (Python 3.7 and 3.8). (#2132)
|
||||
* Append Homebrew custom prefix to search path (#1957)
|
||||
* Add documentation for init command (#2125)
|
||||
* Add setup instructions for the case when one installs Pyenv as part of a batch job (#2127)
|
||||
* Add documentation for completions command (#2126)
|
||||
* Default --with-universal-archs to universal2 on Apple Silicon (#2122)
|
||||
* Update README.md (#2120)
|
||||
* Add GraalPython 21.3.0 (#2117)
|
||||
* Pypy ver 7.3.6 - python 3.7 and python 3.8 (#2111)
|
||||
* Discover Tcl/Tk reliably and use active version (#2106)
|
||||
* Fish installation instructions (#2104)
|
||||
* Add CPython 3.11.0a1 (#2099)
|
||||
|
||||
## Release 2.1.0
|
||||
* Fix mambaforge-pypy3 build (#2096)
|
||||
* Add Python 3.10.0 (#2093)
|
||||
|
||||
31
COMMANDS.md
31
COMMANDS.md
@@ -5,6 +5,7 @@ first argument.
|
||||
|
||||
The most common subcommands are:
|
||||
|
||||
* [`pyenv help`](#pyenv-help)
|
||||
* [`pyenv commands`](#pyenv-commands)
|
||||
* [`pyenv local`](#pyenv-local)
|
||||
* [`pyenv global`](#pyenv-global)
|
||||
@@ -21,6 +22,13 @@ The most common subcommands are:
|
||||
* [`pyenv prefix`](#pyenv-prefix)
|
||||
* [`pyenv hooks`](#pyenv-hooks)
|
||||
* [`pyenv shims`](#pyenv-shims)
|
||||
* [`pyenv init`](#pyenv-init)
|
||||
* [`pyenv completions`](#pyenv-completions)
|
||||
|
||||
## `pyenv help`
|
||||
|
||||
List all available pyenv commands along with a brief description of what they do. Run `pyenv help <command>` for information on a specific command. For full documentation, see: https://github.com/pyenv/pyenv#readme
|
||||
|
||||
|
||||
## `pyenv commands`
|
||||
|
||||
@@ -285,18 +293,18 @@ Lists all Python versions with the given command installed.
|
||||
|
||||
## `pyenv exec`
|
||||
|
||||
`Usage: pyenv exec <command> [arg1 arg2...]`
|
||||
Usage: pyenv exec <command> [arg1 arg2...]
|
||||
|
||||
Runs an executable by first preparing PATH so that the selected Python
|
||||
version's `bin` directory is at the front.
|
||||
|
||||
For example, if the currently selected Python version is 3.9.7:
|
||||
|
||||
`pyenv exec pip install -r requirements.txt`
|
||||
pyenv exec pip install -r requirements.txt
|
||||
|
||||
is equivalent to:
|
||||
|
||||
`PATH="$PYENV_ROOT/versions/3.9.7/bin:$PATH" pip install -r requirements.txt`
|
||||
PATH="$PYENV_ROOT/versions/3.9.7/bin:$PATH" pip install -r requirements.txt
|
||||
|
||||
## `pyenv root`
|
||||
|
||||
@@ -345,3 +353,20 @@ List existing pyenv shims.
|
||||
/home/user/.pyenv/shims/python3.9-gdb.py
|
||||
/home/user/.pyenv/shims/python3-config
|
||||
/home/user/.pyenv/shims/python-config
|
||||
|
||||
## `pyenv init`
|
||||
|
||||
Configure the shell environment for pyenv
|
||||
|
||||
Usage: eval "$(pyenv init [-|--path] [--no-rehash] [<shell>])"
|
||||
|
||||
- Initialize shims directory, print PYENV_SHELL variable, completions path
|
||||
and shell function
|
||||
--path Print shims path
|
||||
--no-rehash Add no rehash command to output
|
||||
|
||||
## `pyenv completions`
|
||||
|
||||
Lists available completions for a given pyenv command.
|
||||
|
||||
Usage: pyenv completions <command> [arg1 arg2...]
|
||||
|
||||
50
README.md
50
README.md
@@ -2,8 +2,6 @@
|
||||
|
||||
[](https://gitter.im/yyuu/pyenv?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
|
||||
|
||||
[](https://travis-ci.org/pyenv/pyenv)
|
||||
|
||||
pyenv lets you easily switch between multiple versions of Python. It's
|
||||
simple, unobtrusive, and follows the UNIX tradition of single-purpose
|
||||
tools that do one thing well.
|
||||
@@ -14,13 +12,13 @@ This project was forked from [rbenv](https://github.com/rbenv/rbenv) and
|
||||

|
||||
|
||||
|
||||
### pyenv _does..._
|
||||
### what pyenv _does..._
|
||||
|
||||
* Let you **change the global Python version** on a per-user basis.
|
||||
* Provide support for **per-project Python versions**.
|
||||
* Allow you to **override the Python version** with an environment
|
||||
* Lets you **change the global Python version** on a per-user basis.
|
||||
* Provides support for **per-project Python versions**.
|
||||
* Allows you to **override the Python version** with an environment
|
||||
variable.
|
||||
* Search commands from **multiple versions of Python at a time**.
|
||||
* Searches for commands from **multiple versions of Python at a time**.
|
||||
This may be helpful to test across Python versions with [tox](https://pypi.python.org/pypi/tox).
|
||||
|
||||
|
||||
@@ -185,6 +183,28 @@ For pyenv to install python correctly you should [**install the Python build dep
|
||||
```
|
||||
2. Then follow the rest of the post-installation steps under [Basic GitHub Checkout](https://github.com/pyenv/pyenv#basic-github-checkout), starting with #2 ("Configure your shell's environment for Pyenv").
|
||||
|
||||
3. OPTIONAL. To fix `brew doctor`'s warning _""config" scripts exist outside your system or Homebrew directories"_
|
||||
|
||||
If you're going to build Homebrew formulae from source that link against `libpython`
|
||||
like Tkinter or NumPy
|
||||
_(This is only generally the case if you are a developer of such a formula,
|
||||
or if you have an EOL version of MacOS for which prebuilt bottles are no longer available
|
||||
and are using such a formula)._
|
||||
|
||||
To avoid them accidentally linking against a Pyenv-provided Python,
|
||||
add the following line into your interactive shell's configuration:
|
||||
|
||||
* Bash/Zsh:
|
||||
|
||||
~~~bash
|
||||
alias brew='env PATH="${PATH//$(pyenv root)\/shims:/}" brew'
|
||||
~~~
|
||||
|
||||
* Fish:
|
||||
|
||||
~~~fish
|
||||
alias brew="env PATH=(string replace (pyenv root)/shims '' \"\$PATH\") brew"
|
||||
~~~
|
||||
|
||||
### Windows
|
||||
|
||||
@@ -228,7 +248,7 @@ easy to fork and contribute any changes back upstream.
|
||||
section below to figure out what you need to do in your specific case.
|
||||
|
||||
**General MacOS note:**
|
||||
Make sure that your terminal app is configured to run the shell as a login shell
|
||||
[Make sure that your terminal app is configured to run the shell as a login shell](https://github.com/pyenv/pyenv/wiki/MacOS-login-shell)
|
||||
(especially if you're using an alternative terminal app and/or shell).
|
||||
The configuration samples for MacOS are written under this assumption and won't work otherwise.
|
||||
|
||||
@@ -291,7 +311,7 @@ easy to fork and contribute any changes back upstream.
|
||||
|
||||
In MacOS, make sure that your terminal app runs the shell as a login shell.
|
||||
|
||||
- **Temporary environments (CI, batch jobs):**
|
||||
- **Temporary environments (CI, Docker, batch jobs):**
|
||||
|
||||
In CI/build environments, paths and the environment are usually already set up for you
|
||||
in one of the above ways.
|
||||
@@ -303,6 +323,18 @@ easy to fork and contribute any changes back upstream.
|
||||
echo 'eval "$(pyenv init -)"'
|
||||
~~~
|
||||
|
||||
If you are installing Pyenv yourself as part of the batch job,
|
||||
after installing the files, run the following in the job's shell
|
||||
to be able to use it.
|
||||
|
||||
~~~bash
|
||||
export PYENV_ROOT="$HOME/.pyenv"
|
||||
export PATH="$PYENV_ROOT/bin:$PATH" # if `pyenv` is not already on PATH
|
||||
eval "$(pyenv init --path)"
|
||||
eval "$(pyenv init -)"
|
||||
~~~
|
||||
|
||||
|
||||
**General Bash warning**: There are some systems where the `BASH_ENV` variable is configured
|
||||
to point to `.bashrc`. On such systems, you should almost certainly put the
|
||||
`eval "$(pyenv init -)"` line into `.bash_profile`, and **not** into `.bashrc`. Otherwise, you
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
set -e
|
||||
[ -n "$PYENV_DEBUG" ] && set -x
|
||||
|
||||
version="2.1.0"
|
||||
version="2.2.2"
|
||||
git_revision=""
|
||||
|
||||
if cd "${BASH_SOURCE%/*}" 2>/dev/null && git remote -v 2>/dev/null | grep -q pyenv; then
|
||||
|
||||
@@ -8,10 +8,10 @@
|
||||
# version's `bin' directory is at the front.
|
||||
#
|
||||
# For example, if the currently selected Python version is 2.7.6:
|
||||
# pyenv exec pip install -rrequirements.txt
|
||||
# pyenv exec pip install -r requirements.txt
|
||||
#
|
||||
# is equivalent to:
|
||||
# PATH="$PYENV_ROOT/versions/2.7.6/bin:$PATH" pip install -rrequirements.txt
|
||||
# PATH="$PYENV_ROOT/versions/2.7.6/bin:$PATH" pip install -r requirements.txt
|
||||
|
||||
set -e
|
||||
[ -n "$PYENV_DEBUG" ] && set -x
|
||||
|
||||
@@ -773,10 +773,13 @@ build_package_standard_build() {
|
||||
local PACKAGE_CFLAGS="${package_var_name}_CFLAGS"
|
||||
|
||||
if [ "$package_var_name" = "PYTHON" ]; then
|
||||
use_homebrew || true
|
||||
use_tcltk || true
|
||||
use_homebrew_readline || use_freebsd_pkg || true
|
||||
if is_mac -ge 1014; then
|
||||
use_xcode_sdk_zlib || use_homebrew_zlib || true
|
||||
else
|
||||
use_homebrew_zlib || true
|
||||
fi
|
||||
fi
|
||||
|
||||
@@ -858,7 +861,7 @@ build_package_jython_builder() {
|
||||
( cd "dist" && build_package_jython )
|
||||
}
|
||||
|
||||
build_package_pyston2.2() {
|
||||
build_package_pyston2_2() {
|
||||
# currently supported version 2.2 and 2.3
|
||||
build_package_copy
|
||||
mkdir -p "${PREFIX_PATH}/bin" "${PREFIX_PATH}/lib"
|
||||
@@ -1325,6 +1328,19 @@ configured_with_package_dir() {
|
||||
return 1
|
||||
}
|
||||
|
||||
use_homebrew() {
|
||||
# unless Homebrew is at the default /usr/local, need to add its paths to
|
||||
# compiler search to be able to use non-keg-only deps from there
|
||||
if command -v brew &>/dev/null; then
|
||||
local brew_prefix="$(brew --prefix 2>/dev/null || true)"
|
||||
# /usr/local/lib:/usr/lib is the default library search path
|
||||
if [[ -n $brew_prefix && $brew_prefix != "/usr" && $brew_prefix != "/usr/local" ]]; then
|
||||
export CPPFLAGS="${CPPFLAGS:+${CPPFLAGS% } }-I${brew_prefix}/include"
|
||||
export LDFLAGS="${LDFLAGS:+${LDFLAGS% } }-L${brew_prefix}/lib"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
needs_yaml() {
|
||||
! configured_with_package_dir "python" "yaml.h" &&
|
||||
! use_homebrew_yaml
|
||||
@@ -1533,12 +1549,13 @@ use_xcode_sdk_zlib() {
|
||||
|
||||
use_homebrew_tcltk() {
|
||||
# get the version from the folder that homebrew versions
|
||||
local tcltk_version_long="$(ls "$(brew --cellar tcl-tk)")"
|
||||
local tcltk_version="${tcltk_version_long%.*}"
|
||||
local tcltk_flags="--with-tcltk-includes=-I$tcltk_libdir/include --with-tcltk-libs=-L$tcltk_libdir/lib -ltcl$tcltk_version -ltk$tcltk_version"
|
||||
local tcltk_libdir="$(brew --prefix tcl-tk 2>/dev/null || true)"
|
||||
if [ -d "$tcltk_libdir" ]; then
|
||||
echo "python-build: use tcl-tk from homebrew"
|
||||
local tcltk_version="$(sh -c '. '"$tcltk_libdir"'/lib/tclConfig.sh; echo $TCL_VERSION')"
|
||||
package_option python configure --with-tcltk-libs="-L$tcltk_libdir/lib -ltcl$tcltk_version -ltk$tcltk_version"
|
||||
package_option python configure --with-tcltk-includes="-I$tcltk_libdir/include"
|
||||
fi
|
||||
}
|
||||
|
||||
# FIXME: this function is a workaround for #1125
|
||||
@@ -2136,13 +2153,21 @@ if [[ "$CONFIGURE_OPTS $PYTHON_CONFIGURE_OPTS" == *"--enable-framework"* ]]; the
|
||||
package_option python configure --enable-framework="${PREFIX_PATH}/Library/Frameworks"
|
||||
fi
|
||||
|
||||
# Build against universal SDK (#219, #220)
|
||||
# Build against universal SDK
|
||||
if [[ "$CONFIGURE_OPTS $PYTHON_CONFIGURE_OPTS" == *"--enable-universalsdk"* ]]; then
|
||||
if ! is_mac; then
|
||||
echo "python-build: universal installation is not supported." >&2
|
||||
exit 1
|
||||
fi
|
||||
package_option python configure --enable-universalsdk=/ --with-universal-archs=intel
|
||||
package_option python configure --enable-universalsdk=/
|
||||
if [[ "$CONFIGURE_OPTS $PYTHON_CONFIGURE_OPTS" != *"--enable-universal-archs"* ]]; then
|
||||
# in CPython's configure.ac, --with-universal-archs defaults to 'intel' which means i386 + x86_64
|
||||
# since 2.7.5 and 3.3.0 -- i.e. in all non-EOL versions
|
||||
# Apple Silicon cannot build these, in it, it rather makes sense to default to Universal2 binaries
|
||||
if [[ $(arch) == "arm64" ]]; then
|
||||
package_option python configure --with-universal-archs=universal2
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
# Compile with `--enable-unicode=ucs4` by default (#257)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#require_gcc
|
||||
export PYTHON_BUILD_HOMEBREW_OPENSSL_FORMULA="openssl@1.1 openssl@1.0 openssl"
|
||||
install_package "openssl-1.0.2q" "https://www.openssl.org/source/old/1.0.2/openssl-1.0.2q.tar.gz#5744cfcbcec2b1b48629f7354203bc1e5e9b5466998bbccc5b5fcde3b18eb684" 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
|
||||
if has_tar_xz_support; then
|
||||
|
||||
10
plugins/python-build/share/python-build/3.11.0a2
Normal file
10
plugins/python-build/share/python-build/3.11.0a2
Normal file
@@ -0,0 +1,10 @@
|
||||
#require_gcc
|
||||
prefer_openssl11
|
||||
export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1
|
||||
install_package "openssl-1.1.1k" "https://www.openssl.org/source/openssl-1.1.1k.tar.gz#892a0875b9872acd04a9fde79b1f943075d5ea162415de3047c327df33fbaee5" 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
|
||||
if has_tar_xz_support; then
|
||||
install_package "Python-3.11.0a2" "https://www.python.org/ftp/python/3.11.0/Python-3.11.0a2.tar.xz#68a8c4d6ce2548a7b617d699fbdb348937bdace0cf96db1aa083849df5dad13f" standard verify_py311 copy_python_gdb ensurepip
|
||||
else
|
||||
install_package "Python-3.11.0a2" "https://www.python.org/ftp/python/3.11.0/Python-3.11.0a2.tgz#673911e7d5ec0e2ba0449e1d82318014b11d239f3fb2ff4a189c5d131c71bf15" standard verify_py311 copy_python_gdb ensurepip
|
||||
fi
|
||||
10
plugins/python-build/share/python-build/3.9.8
Normal file
10
plugins/python-build/share/python-build/3.9.8
Normal file
@@ -0,0 +1,10 @@
|
||||
#require_gcc
|
||||
prefer_openssl11
|
||||
export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1
|
||||
install_package "openssl-1.1.1l" "https://www.openssl.org/source/openssl-1.1.1l.tar.gz#0b7a3e5e59c34827fe0c3a74b7ec8baef302b98fa80088d7f9153aa16fa76bd1" 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.8" "https://www.python.org/ftp/python/3.9.8/Python-3.9.8.tar.xz#675ce09bf23c09836bf1969b744b1ea4c1a18c32788626632525f08444ebad5c" standard verify_py39 copy_python_gdb ensurepip
|
||||
else
|
||||
install_package "Python-3.9.8" "https://www.python.org/ftp/python/3.9.8/Python-3.9.8.tgz#7447fb8bb270942d620dd24faa7814b1383b61fa99029a240025fd81c1db8283" standard verify_py39 copy_python_gdb ensurepip
|
||||
fi
|
||||
10
plugins/python-build/share/python-build/3.9.9
Normal file
10
plugins/python-build/share/python-build/3.9.9
Normal file
@@ -0,0 +1,10 @@
|
||||
#require_gcc
|
||||
prefer_openssl11
|
||||
export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1
|
||||
install_package "openssl-1.1.1l" "https://www.openssl.org/source/openssl-1.1.1l.tar.gz#0b7a3e5e59c34827fe0c3a74b7ec8baef302b98fa80088d7f9153aa16fa76bd1" 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.9" "https://www.python.org/ftp/python/3.9.9/Python-3.9.9.tar.xz#06828c04a573c073a4e51c4292a27c1be4ae26621c3edc7cf9318418ce3b6d27" standard verify_py39 copy_python_gdb ensurepip
|
||||
else
|
||||
install_package "Python-3.9.9" "https://www.python.org/ftp/python/3.9.9/Python-3.9.9.tgz#2cc7b67c1f3f66c571acc42479cdf691d8ed6b47bee12c9b68430413a17a44ea" standard verify_py39 copy_python_gdb ensurepip
|
||||
fi
|
||||
48
plugins/python-build/share/python-build/graalpython-21.3.0
Normal file
48
plugins/python-build/share/python-build/graalpython-21.3.0
Normal file
@@ -0,0 +1,48 @@
|
||||
# Copyright (c) 2021, 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='21.3.0'
|
||||
BUILD=''
|
||||
|
||||
case "$(pypy_architecture 2>/dev/null || true)" in
|
||||
"linux64" )
|
||||
graalpython_arch="linux"
|
||||
checksum="b17bbc9753fb04f03290660952acfd212020676603970323780f190509b061b9"
|
||||
;;
|
||||
"osx64" )
|
||||
graalpython_arch="macos"
|
||||
checksum="feecbd2567a43aeaeb5ca6a7385ef3d5bd2c94e563b64afee7dcce0c8f87a1c9"
|
||||
;;
|
||||
* )
|
||||
{ echo
|
||||
colorize 1 "ERROR"
|
||||
echo ": No binary distribution of GraalPython is available for $(pypy_architecture 2>/dev/null || true)."
|
||||
echo
|
||||
} >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
if [ -n "${BUILD}" ]; then
|
||||
urlprefix="https://github.com/graalvm/graalvm-ce-dev-builds/releases/download/${VERSION}-${BUILD}"
|
||||
else
|
||||
urlprefix="https://github.com/oracle/graalpython/releases/download/vm-${VERSION}"
|
||||
fi
|
||||
|
||||
install_package "graalpython-${VERSION}${BUILD}" "${urlprefix}/graalpython-${VERSION}-${graalpython_arch}-amd64.tar.gz#${checksum}" "graalpython" ensurepip
|
||||
4
plugins/python-build/share/python-build/micropython-1.16
Normal file
4
plugins/python-build/share/python-build/micropython-1.16
Normal file
@@ -0,0 +1,4 @@
|
||||
has_tar_xz_support \
|
||||
&& { install=install_package; src="https://micropython.org/resources/source/micropython-1.16.tar.xz#48271fb5da97efc22325c3fc1d87ba45b32bab25673206d8d8136c25e4ff29a9"; } \
|
||||
|| { install=install_zip; src="https://micropython.org/resources/source/micropython-1.16.zip#427adc00d2a99d102e4ce46d9eb4933d168e863f859bb3ce5b84735f0899c1ed"; }
|
||||
$install micropython-1.16 "$src" micropython
|
||||
4
plugins/python-build/share/python-build/micropython-1.17
Normal file
4
plugins/python-build/share/python-build/micropython-1.17
Normal file
@@ -0,0 +1,4 @@
|
||||
has_tar_xz_support \
|
||||
&& { install=install_package; src="https://micropython.org/resources/source/micropython-1.17.tar.xz#e322f915cee784de0f8614779cdb88fce175956975b3864e2d1898a53638a2f7"; } \
|
||||
|| { install=install_zip; src="https://micropython.org/resources/source/micropython-1.17.zip#4dfc60e2ba67e89c0b794c0533bb4e43a10d4e38095d0640b64b4faa9160f244"; }
|
||||
$install micropython-1.17 "$src" micropython
|
||||
@@ -8,6 +8,9 @@ case "$(anaconda_architecture 2>/dev/null || true)" in
|
||||
"MacOSX-x86_64" )
|
||||
install_script "Miniconda3-latest-MacOSX-x86_64" "https://repo.continuum.io/miniconda/Miniconda3-latest-MacOSX-x86_64.sh" "miniconda" verify_py3_latest
|
||||
;;
|
||||
"MacOSX-arm64" )
|
||||
install_script "Miniconda3-latest-MacOSX-arm64" "https://repo.continuum.io/miniconda/Miniconda3-latest-MacOSX-arm64.sh" "miniconda" verify_py3_latest
|
||||
;;
|
||||
* )
|
||||
{ echo
|
||||
colorize 1 "ERROR"
|
||||
|
||||
@@ -0,0 +1,535 @@
|
||||
From f146ca36f81075f222aa3a1595042597d96dfad3 Mon Sep 17 00:00:00 2001
|
||||
From: Pablo Galindo Salgado <Pablogsal@gmail.com>
|
||||
Date: Mon, 4 Oct 2021 00:39:54 +0100
|
||||
Subject: [PATCH] bpo-45350: Rerun autoreconf with the pkg-config macros
|
||||
(GH-28707)
|
||||
|
||||
diff --git a/aclocal.m4 b/aclocal.m4
|
||||
index 987bfdf215..2f1bd37528 100644
|
||||
--- a/aclocal.m4
|
||||
+++ b/aclocal.m4
|
||||
@@ -275,3 +275,347 @@ AC_DEFUN([AX_CHECK_OPENSSL], [
|
||||
AC_SUBST([OPENSSL_LDFLAGS])
|
||||
])
|
||||
|
||||
+# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*-
|
||||
+# serial 11 (pkg-config-0.29.1)
|
||||
+
|
||||
+dnl Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
|
||||
+dnl Copyright © 2012-2015 Dan Nicholson <dbn.lists@gmail.com>
|
||||
+dnl
|
||||
+dnl This program is free software; you can redistribute it and/or modify
|
||||
+dnl it under the terms of the GNU General Public License as published by
|
||||
+dnl the Free Software Foundation; either version 2 of the License, or
|
||||
+dnl (at your option) any later version.
|
||||
+dnl
|
||||
+dnl This program is distributed in the hope that it will be useful, but
|
||||
+dnl WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
+dnl General Public License for more details.
|
||||
+dnl
|
||||
+dnl You should have received a copy of the GNU General Public License
|
||||
+dnl along with this program; if not, write to the Free Software
|
||||
+dnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||
+dnl 02111-1307, USA.
|
||||
+dnl
|
||||
+dnl As a special exception to the GNU General Public License, if you
|
||||
+dnl distribute this file as part of a program that contains a
|
||||
+dnl configuration script generated by Autoconf, you may include it under
|
||||
+dnl the same distribution terms that you use for the rest of that
|
||||
+dnl program.
|
||||
+
|
||||
+dnl PKG_PREREQ(MIN-VERSION)
|
||||
+dnl -----------------------
|
||||
+dnl Since: 0.29
|
||||
+dnl
|
||||
+dnl Verify that the version of the pkg-config macros are at least
|
||||
+dnl MIN-VERSION. Unlike PKG_PROG_PKG_CONFIG, which checks the user's
|
||||
+dnl installed version of pkg-config, this checks the developer's version
|
||||
+dnl of pkg.m4 when generating configure.
|
||||
+dnl
|
||||
+dnl To ensure that this macro is defined, also add:
|
||||
+dnl m4_ifndef([PKG_PREREQ],
|
||||
+dnl [m4_fatal([must install pkg-config 0.29 or later before running autoconf/autogen])])
|
||||
+dnl
|
||||
+dnl See the "Since" comment for each macro you use to see what version
|
||||
+dnl of the macros you require.
|
||||
+m4_defun([PKG_PREREQ],
|
||||
+[m4_define([PKG_MACROS_VERSION], [0.29.1])
|
||||
+m4_if(m4_version_compare(PKG_MACROS_VERSION, [$1]), -1,
|
||||
+ [m4_fatal([pkg.m4 version $1 or higher is required but ]PKG_MACROS_VERSION[ found])])
|
||||
+])dnl PKG_PREREQ
|
||||
+
|
||||
+dnl PKG_PROG_PKG_CONFIG([MIN-VERSION])
|
||||
+dnl ----------------------------------
|
||||
+dnl Since: 0.16
|
||||
+dnl
|
||||
+dnl Search for the pkg-config tool and set the PKG_CONFIG variable to
|
||||
+dnl first found in the path. Checks that the version of pkg-config found
|
||||
+dnl is at least MIN-VERSION. If MIN-VERSION is not specified, 0.9.0 is
|
||||
+dnl used since that's the first version where most current features of
|
||||
+dnl pkg-config existed.
|
||||
+AC_DEFUN([PKG_PROG_PKG_CONFIG],
|
||||
+[m4_pattern_forbid([^_?PKG_[A-Z_]+$])
|
||||
+m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$])
|
||||
+m4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$])
|
||||
+AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])
|
||||
+AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path])
|
||||
+AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path])
|
||||
+
|
||||
+if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
|
||||
+ AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
|
||||
+fi
|
||||
+if test -n "$PKG_CONFIG"; then
|
||||
+ _pkg_min_version=m4_default([$1], [0.9.0])
|
||||
+ AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version])
|
||||
+ if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
|
||||
+ AC_MSG_RESULT([yes])
|
||||
+ else
|
||||
+ AC_MSG_RESULT([no])
|
||||
+ PKG_CONFIG=""
|
||||
+ fi
|
||||
+fi[]dnl
|
||||
+])dnl PKG_PROG_PKG_CONFIG
|
||||
+
|
||||
+dnl PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
|
||||
+dnl -------------------------------------------------------------------
|
||||
+dnl Since: 0.18
|
||||
+dnl
|
||||
+dnl Check to see whether a particular set of modules exists. Similar to
|
||||
+dnl PKG_CHECK_MODULES(), but does not set variables or print errors.
|
||||
+dnl
|
||||
+dnl Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
|
||||
+dnl only at the first occurence in configure.ac, so if the first place
|
||||
+dnl it's called might be skipped (such as if it is within an "if", you
|
||||
+dnl have to call PKG_CHECK_EXISTS manually
|
||||
+AC_DEFUN([PKG_CHECK_EXISTS],
|
||||
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
|
||||
+if test -n "$PKG_CONFIG" && \
|
||||
+ AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
|
||||
+ m4_default([$2], [:])
|
||||
+m4_ifvaln([$3], [else
|
||||
+ $3])dnl
|
||||
+fi])
|
||||
+
|
||||
+dnl _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
|
||||
+dnl ---------------------------------------------
|
||||
+dnl Internal wrapper calling pkg-config via PKG_CONFIG and setting
|
||||
+dnl pkg_failed based on the result.
|
||||
+m4_define([_PKG_CONFIG],
|
||||
+[if test -n "$$1"; then
|
||||
+ pkg_cv_[]$1="$$1"
|
||||
+ elif test -n "$PKG_CONFIG"; then
|
||||
+ PKG_CHECK_EXISTS([$3],
|
||||
+ [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`
|
||||
+ test "x$?" != "x0" && pkg_failed=yes ],
|
||||
+ [pkg_failed=yes])
|
||||
+ else
|
||||
+ pkg_failed=untried
|
||||
+fi[]dnl
|
||||
+])dnl _PKG_CONFIG
|
||||
+
|
||||
+dnl _PKG_SHORT_ERRORS_SUPPORTED
|
||||
+dnl ---------------------------
|
||||
+dnl Internal check to see if pkg-config supports short errors.
|
||||
+AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
|
||||
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])
|
||||
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
|
||||
+ _pkg_short_errors_supported=yes
|
||||
+else
|
||||
+ _pkg_short_errors_supported=no
|
||||
+fi[]dnl
|
||||
+])dnl _PKG_SHORT_ERRORS_SUPPORTED
|
||||
+
|
||||
+
|
||||
+dnl PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
|
||||
+dnl [ACTION-IF-NOT-FOUND])
|
||||
+dnl --------------------------------------------------------------
|
||||
+dnl Since: 0.4.0
|
||||
+dnl
|
||||
+dnl Note that if there is a possibility the first call to
|
||||
+dnl PKG_CHECK_MODULES might not happen, you should be sure to include an
|
||||
+dnl explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
|
||||
+AC_DEFUN([PKG_CHECK_MODULES],
|
||||
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
|
||||
+AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
|
||||
+AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
|
||||
+
|
||||
+pkg_failed=no
|
||||
+AC_MSG_CHECKING([for $1])
|
||||
+
|
||||
+_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
|
||||
+_PKG_CONFIG([$1][_LIBS], [libs], [$2])
|
||||
+
|
||||
+m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS
|
||||
+and $1[]_LIBS to avoid the need to call pkg-config.
|
||||
+See the pkg-config man page for more details.])
|
||||
+
|
||||
+if test $pkg_failed = yes; then
|
||||
+ AC_MSG_RESULT([no])
|
||||
+ _PKG_SHORT_ERRORS_SUPPORTED
|
||||
+ if test $_pkg_short_errors_supported = yes; then
|
||||
+ $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1`
|
||||
+ else
|
||||
+ $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1`
|
||||
+ fi
|
||||
+ # Put the nasty error message in config.log where it belongs
|
||||
+ echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
|
||||
+
|
||||
+ m4_default([$4], [AC_MSG_ERROR(
|
||||
+[Package requirements ($2) were not met:
|
||||
+
|
||||
+$$1_PKG_ERRORS
|
||||
+
|
||||
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
|
||||
+installed software in a non-standard prefix.
|
||||
+
|
||||
+_PKG_TEXT])[]dnl
|
||||
+ ])
|
||||
+elif test $pkg_failed = untried; then
|
||||
+ AC_MSG_RESULT([no])
|
||||
+ m4_default([$4], [AC_MSG_FAILURE(
|
||||
+[The pkg-config script could not be found or is too old. Make sure it
|
||||
+is in your PATH or set the PKG_CONFIG environment variable to the full
|
||||
+path to pkg-config.
|
||||
+
|
||||
+_PKG_TEXT
|
||||
+
|
||||
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.])[]dnl
|
||||
+ ])
|
||||
+else
|
||||
+ $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
|
||||
+ $1[]_LIBS=$pkg_cv_[]$1[]_LIBS
|
||||
+ AC_MSG_RESULT([yes])
|
||||
+ $3
|
||||
+fi[]dnl
|
||||
+])dnl PKG_CHECK_MODULES
|
||||
+
|
||||
+
|
||||
+dnl PKG_CHECK_MODULES_STATIC(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
|
||||
+dnl [ACTION-IF-NOT-FOUND])
|
||||
+dnl ---------------------------------------------------------------------
|
||||
+dnl Since: 0.29
|
||||
+dnl
|
||||
+dnl Checks for existence of MODULES and gathers its build flags with
|
||||
+dnl static libraries enabled. Sets VARIABLE-PREFIX_CFLAGS from --cflags
|
||||
+dnl and VARIABLE-PREFIX_LIBS from --libs.
|
||||
+dnl
|
||||
+dnl Note that if there is a possibility the first call to
|
||||
+dnl PKG_CHECK_MODULES_STATIC might not happen, you should be sure to
|
||||
+dnl include an explicit call to PKG_PROG_PKG_CONFIG in your
|
||||
+dnl configure.ac.
|
||||
+AC_DEFUN([PKG_CHECK_MODULES_STATIC],
|
||||
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
|
||||
+_save_PKG_CONFIG=$PKG_CONFIG
|
||||
+PKG_CONFIG="$PKG_CONFIG --static"
|
||||
+PKG_CHECK_MODULES($@)
|
||||
+PKG_CONFIG=$_save_PKG_CONFIG[]dnl
|
||||
+])dnl PKG_CHECK_MODULES_STATIC
|
||||
+
|
||||
+
|
||||
+dnl PKG_INSTALLDIR([DIRECTORY])
|
||||
+dnl -------------------------
|
||||
+dnl Since: 0.27
|
||||
+dnl
|
||||
+dnl Substitutes the variable pkgconfigdir as the location where a module
|
||||
+dnl should install pkg-config .pc files. By default the directory is
|
||||
+dnl $libdir/pkgconfig, but the default can be changed by passing
|
||||
+dnl DIRECTORY. The user can override through the --with-pkgconfigdir
|
||||
+dnl parameter.
|
||||
+AC_DEFUN([PKG_INSTALLDIR],
|
||||
+[m4_pushdef([pkg_default], [m4_default([$1], ['${libdir}/pkgconfig'])])
|
||||
+m4_pushdef([pkg_description],
|
||||
+ [pkg-config installation directory @<:@]pkg_default[@:>@])
|
||||
+AC_ARG_WITH([pkgconfigdir],
|
||||
+ [AS_HELP_STRING([--with-pkgconfigdir], pkg_description)],,
|
||||
+ [with_pkgconfigdir=]pkg_default)
|
||||
+AC_SUBST([pkgconfigdir], [$with_pkgconfigdir])
|
||||
+m4_popdef([pkg_default])
|
||||
+m4_popdef([pkg_description])
|
||||
+])dnl PKG_INSTALLDIR
|
||||
+
|
||||
+
|
||||
+dnl PKG_NOARCH_INSTALLDIR([DIRECTORY])
|
||||
+dnl --------------------------------
|
||||
+dnl Since: 0.27
|
||||
+dnl
|
||||
+dnl Substitutes the variable noarch_pkgconfigdir as the location where a
|
||||
+dnl module should install arch-independent pkg-config .pc files. By
|
||||
+dnl default the directory is $datadir/pkgconfig, but the default can be
|
||||
+dnl changed by passing DIRECTORY. The user can override through the
|
||||
+dnl --with-noarch-pkgconfigdir parameter.
|
||||
+AC_DEFUN([PKG_NOARCH_INSTALLDIR],
|
||||
+[m4_pushdef([pkg_default], [m4_default([$1], ['${datadir}/pkgconfig'])])
|
||||
+m4_pushdef([pkg_description],
|
||||
+ [pkg-config arch-independent installation directory @<:@]pkg_default[@:>@])
|
||||
+AC_ARG_WITH([noarch-pkgconfigdir],
|
||||
+ [AS_HELP_STRING([--with-noarch-pkgconfigdir], pkg_description)],,
|
||||
+ [with_noarch_pkgconfigdir=]pkg_default)
|
||||
+AC_SUBST([noarch_pkgconfigdir], [$with_noarch_pkgconfigdir])
|
||||
+m4_popdef([pkg_default])
|
||||
+m4_popdef([pkg_description])
|
||||
+])dnl PKG_NOARCH_INSTALLDIR
|
||||
+
|
||||
+
|
||||
+dnl PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE,
|
||||
+dnl [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
|
||||
+dnl -------------------------------------------
|
||||
+dnl Since: 0.28
|
||||
+dnl
|
||||
+dnl Retrieves the value of the pkg-config variable for the given module.
|
||||
+AC_DEFUN([PKG_CHECK_VAR],
|
||||
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
|
||||
+AC_ARG_VAR([$1], [value of $3 for $2, overriding pkg-config])dnl
|
||||
+
|
||||
+_PKG_CONFIG([$1], [variable="][$3]["], [$2])
|
||||
+AS_VAR_COPY([$1], [pkg_cv_][$1])
|
||||
+
|
||||
+AS_VAR_IF([$1], [""], [$5], [$4])dnl
|
||||
+])dnl PKG_CHECK_VAR
|
||||
+
|
||||
+dnl PKG_WITH_MODULES(VARIABLE-PREFIX, MODULES,
|
||||
+dnl [ACTION-IF-FOUND],[ACTION-IF-NOT-FOUND],
|
||||
+dnl [DESCRIPTION], [DEFAULT])
|
||||
+dnl ------------------------------------------
|
||||
+dnl
|
||||
+dnl Prepare a "--with-" configure option using the lowercase
|
||||
+dnl [VARIABLE-PREFIX] name, merging the behaviour of AC_ARG_WITH and
|
||||
+dnl PKG_CHECK_MODULES in a single macro.
|
||||
+AC_DEFUN([PKG_WITH_MODULES],
|
||||
+[
|
||||
+m4_pushdef([with_arg], m4_tolower([$1]))
|
||||
+
|
||||
+m4_pushdef([description],
|
||||
+ [m4_default([$5], [build with ]with_arg[ support])])
|
||||
+
|
||||
+m4_pushdef([def_arg], [m4_default([$6], [auto])])
|
||||
+m4_pushdef([def_action_if_found], [AS_TR_SH([with_]with_arg)=yes])
|
||||
+m4_pushdef([def_action_if_not_found], [AS_TR_SH([with_]with_arg)=no])
|
||||
+
|
||||
+m4_case(def_arg,
|
||||
+ [yes],[m4_pushdef([with_without], [--without-]with_arg)],
|
||||
+ [m4_pushdef([with_without],[--with-]with_arg)])
|
||||
+
|
||||
+AC_ARG_WITH(with_arg,
|
||||
+ AS_HELP_STRING(with_without, description[ @<:@default=]def_arg[@:>@]),,
|
||||
+ [AS_TR_SH([with_]with_arg)=def_arg])
|
||||
+
|
||||
+AS_CASE([$AS_TR_SH([with_]with_arg)],
|
||||
+ [yes],[PKG_CHECK_MODULES([$1],[$2],$3,$4)],
|
||||
+ [auto],[PKG_CHECK_MODULES([$1],[$2],
|
||||
+ [m4_n([def_action_if_found]) $3],
|
||||
+ [m4_n([def_action_if_not_found]) $4])])
|
||||
+
|
||||
+m4_popdef([with_arg])
|
||||
+m4_popdef([description])
|
||||
+m4_popdef([def_arg])
|
||||
+
|
||||
+])dnl PKG_WITH_MODULES
|
||||
+
|
||||
+dnl PKG_HAVE_WITH_MODULES(VARIABLE-PREFIX, MODULES,
|
||||
+dnl [DESCRIPTION], [DEFAULT])
|
||||
+dnl -----------------------------------------------
|
||||
+dnl
|
||||
+dnl Convenience macro to trigger AM_CONDITIONAL after PKG_WITH_MODULES
|
||||
+dnl check._[VARIABLE-PREFIX] is exported as make variable.
|
||||
+AC_DEFUN([PKG_HAVE_WITH_MODULES],
|
||||
+[
|
||||
+PKG_WITH_MODULES([$1],[$2],,,[$3],[$4])
|
||||
+
|
||||
+AM_CONDITIONAL([HAVE_][$1],
|
||||
+ [test "$AS_TR_SH([with_]m4_tolower([$1]))" = "yes"])
|
||||
+])dnl PKG_HAVE_WITH_MODULES
|
||||
+
|
||||
+dnl PKG_HAVE_DEFINE_WITH_MODULES(VARIABLE-PREFIX, MODULES,
|
||||
+dnl [DESCRIPTION], [DEFAULT])
|
||||
+dnl ------------------------------------------------------
|
||||
+dnl
|
||||
+dnl Convenience macro to run AM_CONDITIONAL and AC_DEFINE after
|
||||
+dnl PKG_WITH_MODULES check. HAVE_[VARIABLE-PREFIX] is exported as make
|
||||
+dnl and preprocessor variable.
|
||||
+AC_DEFUN([PKG_HAVE_DEFINE_WITH_MODULES],
|
||||
+[
|
||||
+PKG_HAVE_WITH_MODULES([$1],[$2],[$3],[$4])
|
||||
+
|
||||
+AS_IF([test "$AS_TR_SH([with_]m4_tolower([$1]))" = "yes"],
|
||||
+ [AC_DEFINE([HAVE_][$1], 1, [Enable ]m4_tolower([$1])[ support])])
|
||||
+])dnl PKG_HAVE_DEFINE_WITH_MODULES
|
||||
+
|
||||
diff --git a/configure b/configure
|
||||
index 753f956469..02d882ed39 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -630,7 +630,6 @@ OPENSSL_RPATH
|
||||
OPENSSL_LDFLAGS
|
||||
OPENSSL_LIBS
|
||||
OPENSSL_INCLUDES
|
||||
-PKG_CONFIG
|
||||
ENSUREPIP
|
||||
SRCDIRS
|
||||
THREADHEADERS
|
||||
@@ -662,6 +661,9 @@ DTRACE
|
||||
TCLTK_LIBS
|
||||
TCLTK_INCLUDES
|
||||
LIBFFI_INCLUDEDIR
|
||||
+PKG_CONFIG_LIBDIR
|
||||
+PKG_CONFIG_PATH
|
||||
+PKG_CONFIG
|
||||
TZPATH
|
||||
SHLIBS
|
||||
CFLAGSFORSHARED
|
||||
@@ -873,7 +875,10 @@ LDFLAGS
|
||||
LIBS
|
||||
CPPFLAGS
|
||||
CPP
|
||||
-PROFILE_TASK'
|
||||
+PROFILE_TASK
|
||||
+PKG_CONFIG
|
||||
+PKG_CONFIG_PATH
|
||||
+PKG_CONFIG_LIBDIR'
|
||||
|
||||
|
||||
# Initialize some variables set by options.
|
||||
@@ -1637,6 +1642,11 @@ Some influential environment variables:
|
||||
CPP C preprocessor
|
||||
PROFILE_TASK
|
||||
Python args for PGO generation task
|
||||
+ PKG_CONFIG path to pkg-config utility
|
||||
+ PKG_CONFIG_PATH
|
||||
+ directories to add to pkg-config's search path
|
||||
+ PKG_CONFIG_LIBDIR
|
||||
+ path overriding pkg-config's built-in search path
|
||||
|
||||
Use these variables to override the choices made by `configure' or to help
|
||||
it to find libraries and programs with nonstandard names/locations.
|
||||
@@ -10542,7 +10552,126 @@ $as_echo "no" >&6; }
|
||||
fi
|
||||
|
||||
|
||||
-PKG_PROG_PKG_CONFIG
|
||||
+
|
||||
+
|
||||
+
|
||||
+
|
||||
+
|
||||
+
|
||||
+
|
||||
+if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
|
||||
+ if test -n "$ac_tool_prefix"; then
|
||||
+ # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
|
||||
+set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
|
||||
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
|
||||
+$as_echo_n "checking for $ac_word... " >&6; }
|
||||
+if ${ac_cv_path_PKG_CONFIG+:} false; then :
|
||||
+ $as_echo_n "(cached) " >&6
|
||||
+else
|
||||
+ case $PKG_CONFIG in
|
||||
+ [\\/]* | ?:[\\/]*)
|
||||
+ ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
|
||||
+ ;;
|
||||
+ *)
|
||||
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
||||
+for as_dir in $PATH
|
||||
+do
|
||||
+ IFS=$as_save_IFS
|
||||
+ test -z "$as_dir" && as_dir=.
|
||||
+ for ac_exec_ext in '' $ac_executable_extensions; do
|
||||
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
|
||||
+ ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
|
||||
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
|
||||
+ break 2
|
||||
+ fi
|
||||
+done
|
||||
+ done
|
||||
+IFS=$as_save_IFS
|
||||
+
|
||||
+ ;;
|
||||
+esac
|
||||
+fi
|
||||
+PKG_CONFIG=$ac_cv_path_PKG_CONFIG
|
||||
+if test -n "$PKG_CONFIG"; then
|
||||
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5
|
||||
+$as_echo "$PKG_CONFIG" >&6; }
|
||||
+else
|
||||
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||
+$as_echo "no" >&6; }
|
||||
+fi
|
||||
+
|
||||
+
|
||||
+fi
|
||||
+if test -z "$ac_cv_path_PKG_CONFIG"; then
|
||||
+ ac_pt_PKG_CONFIG=$PKG_CONFIG
|
||||
+ # Extract the first word of "pkg-config", so it can be a program name with args.
|
||||
+set dummy pkg-config; ac_word=$2
|
||||
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
|
||||
+$as_echo_n "checking for $ac_word... " >&6; }
|
||||
+if ${ac_cv_path_ac_pt_PKG_CONFIG+:} false; then :
|
||||
+ $as_echo_n "(cached) " >&6
|
||||
+else
|
||||
+ case $ac_pt_PKG_CONFIG in
|
||||
+ [\\/]* | ?:[\\/]*)
|
||||
+ ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path.
|
||||
+ ;;
|
||||
+ *)
|
||||
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
||||
+for as_dir in $PATH
|
||||
+do
|
||||
+ IFS=$as_save_IFS
|
||||
+ test -z "$as_dir" && as_dir=.
|
||||
+ for ac_exec_ext in '' $ac_executable_extensions; do
|
||||
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
|
||||
+ ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
|
||||
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
|
||||
+ break 2
|
||||
+ fi
|
||||
+done
|
||||
+ done
|
||||
+IFS=$as_save_IFS
|
||||
+
|
||||
+ ;;
|
||||
+esac
|
||||
+fi
|
||||
+ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG
|
||||
+if test -n "$ac_pt_PKG_CONFIG"; then
|
||||
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5
|
||||
+$as_echo "$ac_pt_PKG_CONFIG" >&6; }
|
||||
+else
|
||||
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||
+$as_echo "no" >&6; }
|
||||
+fi
|
||||
+
|
||||
+ if test "x$ac_pt_PKG_CONFIG" = x; then
|
||||
+ PKG_CONFIG=""
|
||||
+ else
|
||||
+ case $cross_compiling:$ac_tool_warned in
|
||||
+yes:)
|
||||
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
|
||||
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
|
||||
+ac_tool_warned=yes ;;
|
||||
+esac
|
||||
+ PKG_CONFIG=$ac_pt_PKG_CONFIG
|
||||
+ fi
|
||||
+else
|
||||
+ PKG_CONFIG="$ac_cv_path_PKG_CONFIG"
|
||||
+fi
|
||||
+
|
||||
+fi
|
||||
+if test -n "$PKG_CONFIG"; then
|
||||
+ _pkg_min_version=0.9.0
|
||||
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5
|
||||
+$as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; }
|
||||
+ if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
|
||||
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
||||
+$as_echo "yes" >&6; }
|
||||
+ else
|
||||
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||
+$as_echo "no" >&6; }
|
||||
+ PKG_CONFIG=""
|
||||
+ fi
|
||||
+fi
|
||||
|
||||
# Check for use of the system expat library
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for --with-system-expat" >&5
|
||||
--
|
||||
2.29.2.windows.2
|
||||
|
||||
43
plugins/python-build/share/python-build/pypy3.7-7.3.6
Normal file
43
plugins/python-build/share/python-build/pypy3.7-7.3.6
Normal file
@@ -0,0 +1,43 @@
|
||||
VERSION='7.3.6'
|
||||
PYVER='3.7'
|
||||
# https://www.pypy.org/checksums.html
|
||||
|
||||
case "$(pypy_architecture 2>/dev/null || true)" in
|
||||
"linux" )
|
||||
install_package "pypy${PYVER}-v${VERSION}-linux32" "https://downloads.python.org/pypy/pypy${PYVER}-v${VERSION}-linux32.tar.bz2#459e77c845b31fa9367f7b1b1122155f0ba7888b1d4ce4455c35d2111eeeb275" "pypy" "verify_py${PYVER//./}" ensurepip
|
||||
;;
|
||||
"linux64" )
|
||||
install_package "pypy${PYVER}-v${VERSION}-linux64" "https://downloads.python.org/pypy/pypy${PYVER}-v${VERSION}-linux64.tar.bz2#c41d07063b1d002a91ad2a0763b4baaca2b306ec635889c2e4826e706cc7f9ca" "pypy" "verify_py${PYVER//./}" ensurepip
|
||||
;;
|
||||
"linux-aarch64" )
|
||||
install_package "pypy${PYVER}-v${VERSION}-aarch64" "https://downloads.python.org/pypy/pypy${PYVER}-v${VERSION}-aarch64.tar.bz2#d446b6987eeaa03d706603863e83d6b99df69232cf1e06d3ee5706add6a84cd6" "pypy" "verify_py${PYVER//./}" ensurepip
|
||||
;;
|
||||
"osx64" )
|
||||
if require_osx_version "10.13"; then
|
||||
install_package "pypy${PYVER}-v${VERSION}-osx64" "https://downloads.python.org/pypy/pypy${PYVER}-v${VERSION}-osx64.tar.bz2#26f0c5c2a5f4a2ce35281d2fa760aa10715300dd110387eac43699a78ed32365" "pypy" "verify_py${PYVER//./}" ensurepip
|
||||
else
|
||||
{ echo
|
||||
colorize 1 "ERROR"
|
||||
echo ": The binary distribution of PyPy is not available for $(pypy_architecture 2>/dev/null || true), OS X < 10.13."
|
||||
echo "try 'pypy${PYVER}-${VERSION}-src' to build from source."
|
||||
echo
|
||||
} >&2
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
"s390x" )
|
||||
install_package "pypy${PYVER}-v${VERSION}-s390x" "https://downloads.python.org/pypy/pypy${PYVER}-v${VERSION}-s390x.tar.bz2#3659bf96a177a53426ffc38d3619c6ee307e600c80e924edc9cee604680c141d" "pypy" "verify_py${PYVER//./}" ensurepip
|
||||
;;
|
||||
"win64" )
|
||||
install_zip "pypy${PYVER}-v${VERSION}-win64" "https://downloads.python.org/pypy/pypy${PYVER}-v${VERSION}-win64.zip#341e69a369da5a1f4f69dbbd47e7dff5e745439b203e28c7afcf98308a24b003" "pypy" "verify_py${PYVER//./}" ensurepip
|
||||
;;
|
||||
* )
|
||||
{ echo
|
||||
colorize 1 "ERROR"
|
||||
echo ": The binary distribution of PyPy is not available for $(pypy_architecture 2>/dev/null || true)."
|
||||
echo "try 'pypy${PYVER}-${VERSION}-src' to build from source."
|
||||
echo
|
||||
} >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
@@ -0,0 +1,7 @@
|
||||
VERSION='7.3.6'
|
||||
PYVER='3.7'
|
||||
|
||||
#require_gcc
|
||||
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 "pypy${PYVER}-v${VERSION}-src" "https://downloads.python.org/pypy/pypy${PYVER}-v${VERSION}-src.tar.bz2#9252ccaa130094205b3c7f0a2cad5adc0d9dfba31658ff3172f788dec1fdb348" "pypy_builder" "verify_py${PYVER//./}" ensurepip
|
||||
43
plugins/python-build/share/python-build/pypy3.7-7.3.7
Normal file
43
plugins/python-build/share/python-build/pypy3.7-7.3.7
Normal file
@@ -0,0 +1,43 @@
|
||||
VERSION='7.3.7'
|
||||
PYVER='3.7'
|
||||
# https://www.pypy.org/checksums.html
|
||||
|
||||
case "$(pypy_architecture 2>/dev/null || true)" in
|
||||
"linux" )
|
||||
install_package "pypy${PYVER}-v${VERSION}-linux32" "https://downloads.python.org/pypy/pypy${PYVER}-v${VERSION}-linux32.tar.bz2#0ab9e2e8ae1ac463bb811b9d3ba24d138f41f7378c17ca9e2d8dee51bf151d19" "pypy" "verify_py${PYVER//./}" ensurepip
|
||||
;;
|
||||
"linux64" )
|
||||
install_package "pypy${PYVER}-v${VERSION}-linux64" "https://downloads.python.org/pypy/pypy${PYVER}-v${VERSION}-linux64.tar.bz2#8332f923755441fedfe4767a84601c94f4d6f8475384406cb5f259ad8d0b2002" "pypy" "verify_py${PYVER//./}" ensurepip
|
||||
;;
|
||||
"linux-aarch64" )
|
||||
install_package "pypy${PYVER}-v${VERSION}-aarch64" "https://downloads.python.org/pypy/pypy${PYVER}-v${VERSION}-aarch64.tar.bz2#a1a84882525dd574c4b051b66e9b7ef0e132392acc2f729420d7825f96835216" "pypy" "verify_py${PYVER//./}" ensurepip
|
||||
;;
|
||||
"osx64" )
|
||||
if require_osx_version "10.13"; then
|
||||
install_package "pypy${PYVER}-v${VERSION}-osx64" "https://downloads.python.org/pypy/pypy${PYVER}-v${VERSION}-osx64.tar.bz2#edc9df7d0f7c56f7ee05b24117bdb6c03aa65e768471e210c05ccdbbfd11a866" "pypy" "verify_py${PYVER//./}" ensurepip
|
||||
else
|
||||
{ echo
|
||||
colorize 1 "ERROR"
|
||||
echo ": The binary distribution of PyPy is not available for $(pypy_architecture 2>/dev/null || true), OS X < 10.13."
|
||||
echo "try 'pypy${PYVER}-${VERSION}-src' to build from source."
|
||||
echo
|
||||
} >&2
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
"s390x" )
|
||||
install_package "pypy${PYVER}-v${VERSION}-s390x" "https://downloads.python.org/pypy/pypy${PYVER}-v${VERSION}-s390x.tar.bz2#7f91efc65a69e727519cc885ca6351f4bfdd6b90580dced2fdcc9ae1bf10013b" "pypy" "verify_py${PYVER//./}" ensurepip
|
||||
;;
|
||||
"win64" )
|
||||
install_zip "pypy${PYVER}-v${VERSION}-win64" "https://downloads.python.org/pypy/pypy${PYVER}-v${VERSION}-win64.zip#53505dc0b57590290efd7656117ee5384bcd036f7f7c4f0bc3f5cd10299037d1" "pypy" "verify_py${PYVER//./}" ensurepip
|
||||
;;
|
||||
* )
|
||||
{ echo
|
||||
colorize 1 "ERROR"
|
||||
echo ": The binary distribution of PyPy is not available for $(pypy_architecture 2>/dev/null || true)."
|
||||
echo "try 'pypy${PYVER}-${VERSION}-src' to build from source."
|
||||
echo
|
||||
} >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
@@ -0,0 +1,7 @@
|
||||
VERSION='7.3.7'
|
||||
PYVER='3.7'
|
||||
|
||||
#require_gcc
|
||||
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 "pypy${PYVER}-v${VERSION}-src" "https://downloads.python.org/pypy/pypy${PYVER}-v${VERSION}-src.tar.bz2#2ed02ac9e710859c41bc82deafb08619792bb9a27eeaa1676c741ededd214dd7" "pypy_builder" "verify_py${PYVER//./}" ensurepip
|
||||
43
plugins/python-build/share/python-build/pypy3.8-7.3.6
Normal file
43
plugins/python-build/share/python-build/pypy3.8-7.3.6
Normal file
@@ -0,0 +1,43 @@
|
||||
VERSION='7.3.6'
|
||||
PYVER='3.8'
|
||||
# https://www.pypy.org/checksums.html
|
||||
|
||||
case "$(pypy_architecture 2>/dev/null || true)" in
|
||||
"linux" )
|
||||
install_package "pypy${PYVER}-v${VERSION}-linux32" "https://downloads.python.org/pypy/pypy${PYVER}-v${VERSION}-linux32.tar.bz2#e857a04a76285f0ef5bae84f6f5e9943ca415d499204c531b1c33fe8f015b48d" "pypy" "verify_py${PYVER//./}" ensurepip
|
||||
;;
|
||||
"linux64" )
|
||||
install_package "pypy${PYVER}-v${VERSION}-linux64" "https://downloads.python.org/pypy/pypy${PYVER}-v${VERSION}-linux64.tar.bz2#8579ea990e95d2b7e101ef47fd9ebf25a9500d5086e8f708c43f9bae83306ece" "pypy" "verify_py${PYVER//./}" ensurepip
|
||||
;;
|
||||
"linux-aarch64" )
|
||||
install_package "pypy${PYVER}-v${VERSION}-aarch64" "https://downloads.python.org/pypy/pypy${PYVER}-v${VERSION}-aarch64.tar.bz2#704d5303096e8a3173e73435f3bb204e31a8bf02ed5ba617a4a0f1e7491edf50" "pypy" "verify_py${PYVER//./}" ensurepip
|
||||
;;
|
||||
"osx64" )
|
||||
if require_osx_version "10.13"; then
|
||||
install_package "pypy${PYVER}-v${VERSION}-osx64" "https://downloads.python.org/pypy/pypy${PYVER}-v${VERSION}-osx64.tar.bz2#8195e52a20cf2a4f42c2d7e4969fbf44fe349c1f80f758e20525dd0f8c134bec" "pypy" "verify_py${PYVER//./}" ensurepip
|
||||
else
|
||||
{ echo
|
||||
colorize 1 "ERROR"
|
||||
echo ": The binary distribution of PyPy is not available for $(pypy_architecture 2>/dev/null || true), OS X < 10.13."
|
||||
echo "try 'pypy${PYVER}-${VERSION}-src' to build from source."
|
||||
echo
|
||||
} >&2
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
"s390x" )
|
||||
install_package "pypy${PYVER}-v${VERSION}-s390x" "https://downloads.python.org/pypy/pypy${PYVER}-v${VERSION}-s390x.zip#a36208d5e950ec4b630b33d0aede8ca3da383d973fc5ca387082c7e5bad8d245" "pypy" "verify_py${PYVER//./}" ensurepip
|
||||
;;
|
||||
"win64" )
|
||||
install_zip "pypy${PYVER}-v${VERSION}-win64" "https://downloads.python.org/pypy/pypy${PYVER}-v${VERSION}-win64.zip#1b216fd75f8f0a48633cc21dce7d6f25ba65016142df758842e1df661269b458" "pypy" "verify_py${PYVER//./}" ensurepip
|
||||
;;
|
||||
* )
|
||||
{ echo
|
||||
colorize 1 "ERROR"
|
||||
echo ": The binary distribution of PyPy is not available for $(pypy_architecture 2>/dev/null || true)."
|
||||
echo "try 'pypy${PYVER}-${VERSION}-src' to build from source."
|
||||
echo
|
||||
} >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
@@ -0,0 +1,8 @@
|
||||
VERSION='7.3.6'
|
||||
PYVER='3.8'
|
||||
# https://www.pypy.org/checksums.html
|
||||
|
||||
#require_gcc
|
||||
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 "pypy${PYVER}-v${VERSION}-src" "https://downloads.python.org/pypy/pypy${PYVER}-v${VERSION}-src.tar.bz2#f234c56eb0d4ab0afb196232fb38cd1ca8e19b1c65cf7b65eb691695499be259" "pypy_builder" "verify_py${PYVER//./}" ensurepip
|
||||
43
plugins/python-build/share/python-build/pypy3.8-7.3.7
Normal file
43
plugins/python-build/share/python-build/pypy3.8-7.3.7
Normal file
@@ -0,0 +1,43 @@
|
||||
VERSION='7.3.7'
|
||||
PYVER='3.8'
|
||||
# https://www.pypy.org/checksums.html
|
||||
|
||||
case "$(pypy_architecture 2>/dev/null || true)" in
|
||||
"linux" )
|
||||
install_package "pypy${PYVER}-v${VERSION}-linux32" "https://downloads.python.org/pypy/pypy${PYVER}-v${VERSION}-linux32.tar.bz2#dfb9d005f0fc917edc60fd618143e4934c412f9168b55166f5519ba0a3b1a835" "pypy" "verify_py${PYVER//./}" ensurepip
|
||||
;;
|
||||
"linux64" )
|
||||
install_package "pypy${PYVER}-v${VERSION}-linux64" "https://downloads.python.org/pypy/pypy${PYVER}-v${VERSION}-linux64.tar.bz2#5dee37c7c3cb8b160028fbde3a5901c68043dfa545a16794502b897d4bc40d7e" "pypy" "verify_py${PYVER//./}" ensurepip
|
||||
;;
|
||||
"linux-aarch64" )
|
||||
install_package "pypy${PYVER}-v${VERSION}-aarch64" "https://downloads.python.org/pypy/pypy${PYVER}-v${VERSION}-aarch64.tar.bz2#cbd44e0a9146b3c03a9d14b265774a848f387ed846316c3e984847e278d0efd3" "pypy" "verify_py${PYVER//./}" ensurepip
|
||||
;;
|
||||
"osx64" )
|
||||
if require_osx_version "10.13"; then
|
||||
install_package "pypy${PYVER}-v${VERSION}-osx64" "https://downloads.python.org/pypy/pypy${PYVER}-v${VERSION}-osx64.tar.bz2#1f044fe7bbdd443b7913ecf554683dab6dade5dcd7f47d4e6d01f4bb4cf84836" "pypy" "verify_py${PYVER//./}" ensurepip
|
||||
else
|
||||
{ echo
|
||||
colorize 1 "ERROR"
|
||||
echo ": The binary distribution of PyPy is not available for $(pypy_architecture 2>/dev/null || true), OS X < 10.13."
|
||||
echo "try 'pypy${PYVER}-${VERSION}-src' to build from source."
|
||||
echo
|
||||
} >&2
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
"s390x" )
|
||||
install_package "pypy${PYVER}-v${VERSION}-s390x" "https://downloads.python.org/pypy/pypy${PYVER}-v${VERSION}-s390x.zip#ae7d6a76490b317a74b87788d596610c7ffd0ae2d3ffa2433d5bb5300f6b4b77" "pypy" "verify_py${PYVER//./}" ensurepip
|
||||
;;
|
||||
"win64" )
|
||||
install_zip "pypy${PYVER}-v${VERSION}-win64" "https://downloads.python.org/pypy/pypy${PYVER}-v${VERSION}-win64.zip#8ceb03d2f7b73c6ce0758290bc42ba366a45c46e033eda36f1779d957a905735" "pypy" "verify_py${PYVER//./}" ensurepip
|
||||
;;
|
||||
* )
|
||||
{ echo
|
||||
colorize 1 "ERROR"
|
||||
echo ": The binary distribution of PyPy is not available for $(pypy_architecture 2>/dev/null || true)."
|
||||
echo "try 'pypy${PYVER}-${VERSION}-src' to build from source."
|
||||
echo
|
||||
} >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
@@ -0,0 +1,8 @@
|
||||
VERSION='7.3.7'
|
||||
PYVER='3.8'
|
||||
# https://www.pypy.org/checksums.html
|
||||
|
||||
#require_gcc
|
||||
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 "pypy${PYVER}-v${VERSION}-src" "https://downloads.python.org/pypy/pypy${PYVER}-v${VERSION}-src.tar.bz2#21ae339f4f5016d6ca7300305f3e3b554373835cb3c39a9041fe30e6811c80c6" "pypy_builder" "verify_py${PYVER//./}" ensurepip
|
||||
@@ -6,7 +6,7 @@ echo
|
||||
|
||||
case "$(pyston_architecture 2>/dev/null || true)" in
|
||||
"linux64" )
|
||||
install_package "pyston_2.2" "https://github.com/pyston/pyston/releases/download/pyston_2.2/pyston_2.2_portable.tar.gz#d113cc4d1f6821c0f117f7a84978823d8ac751d7970fa7841eb994663ec5a59f" "pyston2.2" verify_py38 get_pip
|
||||
install_package "pyston_2.2" "https://github.com/pyston/pyston/releases/download/pyston_2.2/pyston_2.2_portable.tar.gz#d113cc4d1f6821c0f117f7a84978823d8ac751d7970fa7841eb994663ec5a59f" "pyston2_2" verify_py38 get_pip
|
||||
;;
|
||||
* )
|
||||
{ echo
|
||||
|
||||
@@ -6,7 +6,7 @@ echo
|
||||
|
||||
case "$(pyston_architecture 2>/dev/null || true)" in
|
||||
"linux64" )
|
||||
install_package "pyston_2.3" "https://github.com/pyston/pyston/releases/download/v2.3/pyston_2.3_portable-v2.tar.gz#90185e29e4a1a19562c095f2bb4e81a5d0715150fa10eca363ec1188b5ba7ee7" "pyston2.2" verify_py38 get_pip
|
||||
install_package "pyston_2.3" "https://github.com/pyston/pyston/releases/download/v2.3/pyston_2.3_portable-v2.tar.gz#90185e29e4a1a19562c095f2bb4e81a5d0715150fa10eca363ec1188b5ba7ee7" "pyston2_2" verify_py38 get_pip
|
||||
;;
|
||||
* )
|
||||
{ echo
|
||||
|
||||
@@ -62,10 +62,7 @@ assert_build_log() {
|
||||
cached_tarball "yaml-0.1.6"
|
||||
cached_tarball "Python-3.6.2"
|
||||
|
||||
# pyenv/pyenv#1026
|
||||
stub uname false false
|
||||
|
||||
stub uname '-s : echo Linux' '-s : echo Linux'
|
||||
for i in {1..4}; do stub uname '-s : echo Linux'; done
|
||||
stub brew false
|
||||
stub_make_install
|
||||
stub_make_install
|
||||
@@ -92,10 +89,7 @@ OUT
|
||||
cached_tarball "yaml-0.1.6"
|
||||
cached_tarball "Python-3.6.2"
|
||||
|
||||
# pyenv/pyenv#1026
|
||||
stub uname false false
|
||||
|
||||
stub uname '-s : echo Linux' '-s : echo Linux'
|
||||
for i in {1..4}; do stub uname '-s : echo Linux'; done
|
||||
stub brew false
|
||||
stub_make_install
|
||||
stub_make_install
|
||||
@@ -154,6 +148,34 @@ make install
|
||||
OUT
|
||||
}
|
||||
|
||||
@test "homebrew with uncommon prefix is added to search path" {
|
||||
cached_tarball "Python-3.6.2"
|
||||
|
||||
BREW_PREFIX="$TMP/homebrew-prefix"
|
||||
mkdir -p "$BREW_PREFIX"
|
||||
|
||||
for i in {1..4}; do stub uname '-s : echo Darwin'; done
|
||||
for i in {1..2}; do stub sw_vers '-productVersion : echo 1010'; done
|
||||
stub brew "--prefix : echo '$BREW_PREFIX'" false
|
||||
stub_make_install
|
||||
|
||||
run_inline_definition <<DEF
|
||||
install_package "Python-3.6.2" "http://python.org/ftp/python/3.6.2/Python-3.6.2.tar.gz"
|
||||
DEF
|
||||
assert_success
|
||||
|
||||
unstub sw_vers
|
||||
unstub uname
|
||||
unstub make
|
||||
|
||||
assert_build_log <<OUT
|
||||
Python-3.6.2: CPPFLAGS="-I${TMP}/install/include -I$BREW_PREFIX/include" LDFLAGS="-L${TMP}/install/lib -L$BREW_PREFIX/lib"
|
||||
Python-3.6.2: --prefix=$INSTALL_ROOT --libdir=$INSTALL_ROOT/lib
|
||||
make -j 2
|
||||
make install
|
||||
OUT
|
||||
}
|
||||
|
||||
@test "yaml is linked from Homebrew" {
|
||||
cached_tarball "Python-3.6.2"
|
||||
|
||||
@@ -162,7 +184,8 @@ OUT
|
||||
|
||||
for i in {1..4}; do stub uname '-s : echo Darwin'; done
|
||||
for i in {1..2}; do stub sw_vers '-productVersion : echo 1010'; done
|
||||
stub brew "--prefix libyaml : echo '$brew_libdir'" false false
|
||||
stub brew "--prefix libyaml : echo '$brew_libdir'"
|
||||
for i in {1..4}; do stub brew false; done
|
||||
stub_make_install
|
||||
|
||||
install_fixture definitions/needs-yaml
|
||||
@@ -186,11 +209,10 @@ OUT
|
||||
|
||||
readline_libdir="$TMP/homebrew-readline"
|
||||
mkdir -p "$readline_libdir"
|
||||
|
||||
# pyenv/pyenv#1026
|
||||
stub uname false false
|
||||
|
||||
stub brew false "--prefix readline : echo '$readline_libdir'"
|
||||
stub uname false
|
||||
for i in {1..2}; do stub brew false; done
|
||||
stub brew "--prefix readline : echo '$readline_libdir'"
|
||||
stub brew false
|
||||
stub_make_install
|
||||
|
||||
run_inline_definition <<DEF
|
||||
@@ -220,7 +242,7 @@ OUT
|
||||
# pyenv/pyenv#1026
|
||||
stub uname false false
|
||||
|
||||
stub brew false
|
||||
for i in {1..3}; do stub brew false; done
|
||||
stub_make_install
|
||||
|
||||
export PYTHON_CONFIGURE_OPTS="CPPFLAGS=-I$readline_libdir/include LDFLAGS=-L$readline_libdir/lib"
|
||||
@@ -242,18 +264,15 @@ OUT
|
||||
|
||||
@test "tcl-tk is linked from Homebrew" {
|
||||
cached_tarball "Python-3.6.2"
|
||||
|
||||
# python build
|
||||
tcl_tk_version=8.6
|
||||
tcl_tk_libdir="$TMP/homebrew-tcl-tk"
|
||||
tcl_tk_version_long="8.6.10"
|
||||
tcl_tk_version="${tcl_tk_version_long%.*}"
|
||||
mkdir -p "$tcl_tk_libdir"
|
||||
mkdir -p "$tcl_tk_libdir/$tcl_tk_version_long"
|
||||
mkdir -p "$tcl_tk_libdir/lib"
|
||||
echo "TCL_VERSION='$tcl_tk_version'" >>"$tcl_tk_libdir/lib/tclConfig.sh"
|
||||
|
||||
# pyenv/pyenv#1026
|
||||
stub uname false false
|
||||
|
||||
stub brew "--prefix tcl-tk : echo '$tcl_tk_libdir'" "--cellar tcl-tk : echo '$TMP/homebrew-tcl-tk'" false
|
||||
stub uname false
|
||||
stub brew false
|
||||
for i in {1..2}; do stub brew "--prefix tcl-tk : echo '$tcl_tk_libdir'"; done
|
||||
for i in {1..2}; do stub brew false; done
|
||||
stub_make_install
|
||||
|
||||
run_inline_definition <<DEF
|
||||
@@ -282,7 +301,7 @@ OUT
|
||||
# pyenv/pyenv#1026
|
||||
stub uname false false
|
||||
|
||||
stub brew false false
|
||||
for i in {1..4}; do stub brew false; done
|
||||
stub_make_install
|
||||
|
||||
export PYTHON_CONFIGURE_OPTS="--with-tcltk-libs='-L${TMP}/custom-tcl-tk/lib -ltcl$tcl_tk_version -ltk$tcl_tk_version'"
|
||||
|
||||
@@ -183,7 +183,7 @@ OUT
|
||||
}
|
||||
|
||||
@test "pyenv-install has usage help preface" {
|
||||
run head "$(which pyenv-install)"
|
||||
run head "$(command -v pyenv-install)"
|
||||
assert_output_contains 'Usage: pyenv install'
|
||||
}
|
||||
|
||||
@@ -212,6 +212,6 @@ OUT
|
||||
}
|
||||
|
||||
@test "pyenv-uninstall has usage help preface" {
|
||||
run head "$(which pyenv-uninstall)"
|
||||
run head "$(command -v pyenv-uninstall)"
|
||||
assert_output_contains 'Usage: pyenv uninstall'
|
||||
}
|
||||
|
||||
@@ -273,20 +273,48 @@ EOS
|
||||
@test "enable universalsdk" {
|
||||
|
||||
for i in {1..3}; do stub uname '-s : echo Darwin'; done
|
||||
stub arch "echo x86_64"
|
||||
|
||||
PYTHON_CONFIGURE_OPTS="--enable-universalsdk" TMPDIR="$TMP" run_inline_definition <<OUT
|
||||
echo "PYTHON_CONFIGURE_OPTS_ARRAY=(\${PYTHON_CONFIGURE_OPTS_ARRAY[@]})"
|
||||
OUT
|
||||
assert_success
|
||||
assert_output <<EOS
|
||||
PYTHON_CONFIGURE_OPTS_ARRAY=(--libdir=${TMP}/install/lib --enable-universalsdk=/ --with-universal-archs=intel)
|
||||
PYTHON_CONFIGURE_OPTS_ARRAY=(--libdir=${TMP}/install/lib --enable-universalsdk=/)
|
||||
EOS
|
||||
}
|
||||
|
||||
@test "enable universalsdk on Apple Silicon" {
|
||||
|
||||
for i in {1..3}; do stub uname '-s : echo Darwin'; done
|
||||
stub arch "echo arm64"
|
||||
|
||||
PYTHON_CONFIGURE_OPTS="--enable-universalsdk" TMPDIR="$TMP" run_inline_definition <<OUT
|
||||
echo "PYTHON_CONFIGURE_OPTS_ARRAY=(\${PYTHON_CONFIGURE_OPTS_ARRAY[@]})"
|
||||
OUT
|
||||
assert_success
|
||||
assert_output <<EOS
|
||||
PYTHON_CONFIGURE_OPTS_ARRAY=(--libdir=${TMP}/install/lib --enable-universalsdk=/ --with-universal-archs=universal2)
|
||||
EOS
|
||||
}
|
||||
|
||||
@test "enable universalsdk with explicit archs argument" {
|
||||
|
||||
for i in {1..3}; do stub uname '-s : echo Darwin'; done
|
||||
|
||||
PYTHON_CONFIGURE_OPTS="--enable-universalsdk --with-universal-archs=foo" TMPDIR="$TMP" run_inline_definition <<OUT
|
||||
echo "PYTHON_CONFIGURE_OPTS_ARRAY=(\${PYTHON_CONFIGURE_OPTS_ARRAY[@]})"
|
||||
OUT
|
||||
assert_success
|
||||
assert_output <<EOS
|
||||
PYTHON_CONFIGURE_OPTS_ARRAY=(--libdir=${TMP}/install/lib --enable-universalsdk=/)
|
||||
EOS
|
||||
}
|
||||
|
||||
@test "enable custom unicode configuration" {
|
||||
cached_tarball "Python-3.6.2"
|
||||
|
||||
for i in {1..2}; do stub brew '* : false'; done
|
||||
for i in {1..4}; do stub brew false; done
|
||||
for i in {1..3}; do stub uname '-s : echo Linux'; done
|
||||
stub "$MAKE" \
|
||||
" : echo \"$MAKE \$@\" >> build.log" \
|
||||
|
||||
@@ -116,12 +116,12 @@ path_without() {
|
||||
local path=":${PATH}:"
|
||||
for exe; do
|
||||
local found alt util
|
||||
for found in $(PATH="$path" which -a "$exe"); do
|
||||
for found in $(PATH="$path" type -aP "$exe"); do
|
||||
found="${found%/*}"
|
||||
if [ "$found" != "${PYENV_ROOT}/shims" ]; then
|
||||
alt="${PYENV_TEST_DIR}/$(echo "${found#/}" | tr '/' '-')"
|
||||
mkdir -p "$alt"
|
||||
for util in bash head cut readlink greadlink which; do
|
||||
for util in bash head cut readlink greadlink; do
|
||||
if [ -x "${found}/$util" ]; then
|
||||
ln -s "${found}/$util" "${alt}/$util"
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user