mirror of
https://github.com/pyenv/pyenv.git
synced 2025-11-10 20:43:48 -05:00
Compare commits
34 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c52d26d8db | ||
|
|
6e9a763537 | ||
|
|
ea7b5c4aea | ||
|
|
af122400ed | ||
|
|
26b8ba1677 | ||
|
|
41210bb16f | ||
|
|
bdfed51d72 | ||
|
|
0164e2bd59 | ||
|
|
366c980166 | ||
|
|
1bfb2d7607 | ||
|
|
d0b5ab6cde | ||
|
|
ece59ca827 | ||
|
|
86fbc6861d | ||
|
|
2a3b286b71 | ||
|
|
86497f72c2 | ||
|
|
cf81e5a0c4 | ||
|
|
31f1732fa2 | ||
|
|
2c32a6be15 | ||
|
|
cd2c26ef71 | ||
|
|
14feb59960 | ||
|
|
5a96d9f2cd | ||
|
|
ae3a61d8dd | ||
|
|
098227f26c | ||
|
|
a56bcf1015 | ||
|
|
be595ededa | ||
|
|
e394cb898d | ||
|
|
5e8719ab0e | ||
|
|
ae4d48932f | ||
|
|
a8f5fc13ee | ||
|
|
c3e29f08b3 | ||
|
|
5b009e8767 | ||
|
|
e49794521e | ||
|
|
3e0f5e798c | ||
|
|
0f2d659732 |
@@ -32,7 +32,7 @@ env:
|
|||||||
before_install:
|
before_install:
|
||||||
- date +%Y-%m-%dT%H:%M:%S
|
- date +%Y-%m-%dT%H:%M:%S
|
||||||
|
|
||||||
install: git clone --depth 1 https://github.com/bats-core/bats-core.git bats
|
install: git clone --depth 1 --branch v1.2.0 https://github.com/bats-core/bats-core.git bats
|
||||||
|
|
||||||
# Default for auto-generated jobs.
|
# Default for auto-generated jobs.
|
||||||
script: make test-build
|
script: make test-build
|
||||||
|
|||||||
17
CHANGELOG.md
17
CHANGELOG.md
@@ -1,5 +1,22 @@
|
|||||||
## Version History
|
## Version History
|
||||||
|
|
||||||
|
## 1.2.20
|
||||||
|
|
||||||
|
* python-build: Add CPython 3.8.5 (#1667)
|
||||||
|
* python-build: Add CPython 3.8.4 (#1658)
|
||||||
|
* python-build: Add CPython 3.7.8
|
||||||
|
* python-build: Add CPython 3.6.11
|
||||||
|
* pyenv-install: Make grep detection more robust (#1663)
|
||||||
|
* python-build: Fix has_tar_xz_support function on FreeBSD. (#1652)
|
||||||
|
|
||||||
|
## 1.2.19
|
||||||
|
|
||||||
|
* python-build: Add CPython 3.8.3 (#1612)
|
||||||
|
* python-build: Add CPython 2.7.18 (#1593)
|
||||||
|
* python-build: Add CPython 3.10-dev (#1619)
|
||||||
|
* python-build: Add anaconda3-2020.02 (#1584)
|
||||||
|
* python-build: Add stackless 3.7.5 (#1589)
|
||||||
|
|
||||||
## 1.2.18
|
## 1.2.18
|
||||||
|
|
||||||
* python-build: Update download URLs for old OpenSSL releases (#1578)
|
* python-build: Update download URLs for old OpenSSL releases (#1578)
|
||||||
|
|||||||
2
Makefile
2
Makefile
@@ -22,4 +22,4 @@ test-build:
|
|||||||
$(PYTHON_BUILD_TEST_PREFIX)/bin/pip -V
|
$(PYTHON_BUILD_TEST_PREFIX)/bin/pip -V
|
||||||
|
|
||||||
bats:
|
bats:
|
||||||
git clone --depth 1 https://github.com/bats-core/bats-core.git bats
|
git clone --depth 1 --branch v1.2.0 https://github.com/bats-core/bats-core.git bats
|
||||||
|
|||||||
90
README.md
90
README.md
@@ -167,7 +167,14 @@ We'd recommend to install pyenv-virtualenv as well if you have some plan to play
|
|||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
If you're on macOS, consider [installing with Homebrew](#homebrew-on-macos).
|
### Homebrew on macOS
|
||||||
|
|
||||||
|
1. Consider installing with [Homebrew](https://brew.sh)
|
||||||
|
```sh
|
||||||
|
brew update
|
||||||
|
brew install pyenv
|
||||||
|
```
|
||||||
|
2. Then follow the rest of the post-installation steps under [Basic GitHub Checkout](https://github.com/pyenv/pyenv#basic-github-checkout), starting with #3 ("Add `pyenv init` to your shell to enable shims and autocompletion").
|
||||||
|
|
||||||
If you're on Windows, consider using @kirankotari's [`pyenv-win`](https://github.com/pyenv-win/pyenv-win) fork. (`pyenv` does not work on windows outside the Windows Subsystem for Linux)
|
If you're on Windows, consider using @kirankotari's [`pyenv-win`](https://github.com/pyenv-win/pyenv-win) fork. (`pyenv` does not work on windows outside the Windows Subsystem for Linux)
|
||||||
|
|
||||||
@@ -185,26 +192,44 @@ easy to fork and contribute any changes back upstream.
|
|||||||
1. **Check out pyenv where you want it installed.**
|
1. **Check out pyenv where you want it installed.**
|
||||||
A good place to choose is `$HOME/.pyenv` (but you can install it somewhere else).
|
A good place to choose is `$HOME/.pyenv` (but you can install it somewhere else).
|
||||||
|
|
||||||
$ git clone https://github.com/pyenv/pyenv.git ~/.pyenv
|
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
|
||||||
|
|
||||||
|
|
||||||
2. **Define environment variable `PYENV_ROOT`** to point to the path where
|
2. **Define environment variable `PYENV_ROOT`** to point to the path where
|
||||||
pyenv repo is cloned and add `$PYENV_ROOT/bin` to your `$PATH` for access
|
pyenv repo is cloned and add `$PYENV_ROOT/bin` to your `$PATH` for access
|
||||||
to the `pyenv` command-line utility.
|
to the `pyenv` command-line utility.
|
||||||
|
|
||||||
```sh
|
- For **bash**:
|
||||||
$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
|
~~~ bash
|
||||||
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
|
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
|
||||||
```
|
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
|
||||||
- **Zsh note**: Modify your `~/.zshrc` file instead of `~/.bash_profile`.
|
~~~
|
||||||
- **Ubuntu and Fedora note**: Modify your `~/.bashrc` file instead of `~/.bash_profile`.
|
|
||||||
- **Proxy note**: If you use a proxy, export `http_proxy` and `HTTPS_PROXY` too.
|
- For **Ubuntu Desktop**:
|
||||||
|
~~~ bash
|
||||||
|
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
|
||||||
|
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
|
||||||
|
~~~
|
||||||
|
|
||||||
|
- For **Zsh**:
|
||||||
|
~~~ zsh
|
||||||
|
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
|
||||||
|
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
|
||||||
|
~~~
|
||||||
|
|
||||||
|
- For **Fish shell**:
|
||||||
|
~~~ fish
|
||||||
|
set -Ux PYENV_ROOT $HOME/.pyenv
|
||||||
|
set -Ux fish_user_paths $PYENV_ROOT/bin $fish_user_paths
|
||||||
|
~~~
|
||||||
|
|
||||||
|
- **Proxy note**: If you use a proxy, export `http_proxy` and `HTTPS_PROXY` too.
|
||||||
|
|
||||||
3. **Add `pyenv init` to your shell** to enable shims and autocompletion.
|
3. **Add `pyenv init` to your shell** to enable shims and autocompletion.
|
||||||
Please make sure `eval "$(pyenv init -)"` is placed toward the end of the shell
|
Please make sure `eval "$(pyenv init -)"` is placed toward the end of the shell
|
||||||
configuration file since it manipulates `PATH` during the initialization.
|
configuration file since it manipulates `PATH` during the initialization.
|
||||||
```sh
|
```sh
|
||||||
$ echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' >> ~/.bash_profile
|
echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' >> ~/.bash_profile
|
||||||
```
|
```
|
||||||
- **Zsh note**: Modify your `~/.zshrc` file instead of `~/.bash_profile`.
|
- **Zsh note**: Modify your `~/.zshrc` file instead of `~/.bash_profile`.
|
||||||
- **fish note**: Use `pyenv init - | source` instead of `eval (pyenv init -)`.
|
- **fish note**: Use `pyenv init - | source` instead of `eval (pyenv init -)`.
|
||||||
@@ -219,17 +244,15 @@ easy to fork and contribute any changes back upstream.
|
|||||||
4. **Restart your shell so the path changes take effect.**
|
4. **Restart your shell so the path changes take effect.**
|
||||||
You can now begin using pyenv.
|
You can now begin using pyenv.
|
||||||
```sh
|
```sh
|
||||||
$ exec "$SHELL"
|
exec "$SHELL"
|
||||||
```
|
```
|
||||||
|
|
||||||
5. **Install Python build dependencies** before attempting to install a new Python version. The
|
5. [**Install Python build dependencies**](https://github.com/pyenv/pyenv/wiki#suggested-build-environment) before attempting to install a new Python version.
|
||||||
[pyenv wiki](https://github.com/pyenv/pyenv/wiki) provides suggested installation packages
|
|
||||||
and commands for various operating systems.
|
|
||||||
|
|
||||||
6. **Install Python versions into `$(pyenv root)/versions`.**
|
6. **Install Python versions into `$(pyenv root)/versions`.**
|
||||||
For example, to download and install Python 2.7.8, run:
|
For example, to download and install Python 2.7.8, run:
|
||||||
```sh
|
```sh
|
||||||
$ pyenv install 2.7.8
|
pyenv install 2.7.8
|
||||||
```
|
```
|
||||||
**NOTE:** If you need to pass configure option to build, please use
|
**NOTE:** If you need to pass configure option to build, please use
|
||||||
```CONFIGURE_OPTS``` environment variable.
|
```CONFIGURE_OPTS``` environment variable.
|
||||||
@@ -244,24 +267,28 @@ easy to fork and contribute any changes back upstream.
|
|||||||
|
|
||||||
#### Upgrading
|
#### Upgrading
|
||||||
|
|
||||||
|
If you've installed pyenv using homebrew, upgrade using:
|
||||||
|
```sh
|
||||||
|
brew upgrade pyenv
|
||||||
|
```
|
||||||
|
|
||||||
If you've installed pyenv using the instructions above, you can
|
If you've installed pyenv using the instructions above, you can
|
||||||
upgrade your installation at any time using git.
|
upgrade your installation at any time using git.
|
||||||
|
|
||||||
To upgrade to the latest development version of pyenv, use `git pull`:
|
To upgrade to the latest development version of pyenv, use `git pull`:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
$ cd $(pyenv root)
|
cd $(pyenv root)
|
||||||
$ git pull
|
git pull
|
||||||
```
|
```
|
||||||
|
|
||||||
To upgrade to a specific release of pyenv, check out the corresponding tag:
|
To upgrade to a specific release of pyenv, check out the corresponding tag:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
$ cd $(pyenv root)
|
cd $(pyenv root)
|
||||||
$ git fetch
|
git fetch
|
||||||
$ git tag
|
git tag
|
||||||
v0.1.0
|
git checkout v0.1.0
|
||||||
$ git checkout v0.1.0
|
|
||||||
```
|
```
|
||||||
|
|
||||||
### Uninstalling pyenv
|
### Uninstalling pyenv
|
||||||
@@ -288,21 +315,6 @@ uninstall from the system.
|
|||||||
|
|
||||||
brew uninstall pyenv
|
brew uninstall pyenv
|
||||||
|
|
||||||
### Homebrew on macOS
|
|
||||||
|
|
||||||
You can also install pyenv using the [Homebrew](https://brew.sh)
|
|
||||||
package manager for macOS.
|
|
||||||
|
|
||||||
$ brew update
|
|
||||||
$ brew install pyenv
|
|
||||||
|
|
||||||
|
|
||||||
To upgrade pyenv in the future, use `upgrade` instead of `install`.
|
|
||||||
|
|
||||||
#### Post-installation
|
|
||||||
|
|
||||||
Then follow the rest of the post-installation steps under [Basic GitHub Checkout](https://github.com/pyenv/pyenv#basic-github-checkout) above, starting with #3 ("Add `pyenv init` to your shell to enable shims and autocompletion").
|
|
||||||
|
|
||||||
### Advanced Configuration
|
### Advanced Configuration
|
||||||
|
|
||||||
Skip this section unless you must know what every line in your shell
|
Skip this section unless you must know what every line in your shell
|
||||||
@@ -381,8 +393,8 @@ and easy to understand, even if you're not a shell hacker.
|
|||||||
|
|
||||||
Tests are executed using [Bats](https://github.com/bats-core/bats-core):
|
Tests are executed using [Bats](https://github.com/bats-core/bats-core):
|
||||||
|
|
||||||
$ bats test
|
bats test
|
||||||
$ bats/test/<file>.bats
|
bats/test/<file>.bats
|
||||||
|
|
||||||
Please feel free to submit pull requests and file bugs on the [issue
|
Please feel free to submit pull requests and file bugs on the [issue
|
||||||
tracker](https://github.com/pyenv/pyenv/issues).
|
tracker](https://github.com/pyenv/pyenv/issues).
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
set -e
|
set -e
|
||||||
[ -n "$PYENV_DEBUG" ] && set -x
|
[ -n "$PYENV_DEBUG" ] && set -x
|
||||||
|
|
||||||
version="1.2.18"
|
version="1.2.20"
|
||||||
git_revision=""
|
git_revision=""
|
||||||
|
|
||||||
if cd "${BASH_SOURCE%/*}" 2>/dev/null && git remote -v 2>/dev/null | grep -q pyenv; then
|
if cd "${BASH_SOURCE%/*}" 2>/dev/null && git remote -v 2>/dev/null | grep -q pyenv; then
|
||||||
|
|||||||
@@ -59,7 +59,7 @@ usage() {
|
|||||||
|
|
||||||
definitions() {
|
definitions() {
|
||||||
local query="$1"
|
local query="$1"
|
||||||
python-build --definitions | $(type -p ggrep grep | head -1) -F "$query" || true
|
python-build --definitions | $(type -ap ggrep grep | head -1) -F "$query" || true
|
||||||
}
|
}
|
||||||
|
|
||||||
indent() {
|
indent() {
|
||||||
|
|||||||
@@ -69,7 +69,7 @@ if [ -z "$FORCE" ]; then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
read -p "pyenv: remove $PREFIX? "
|
read -p "pyenv: remove $PREFIX? [y|N]"
|
||||||
case "$REPLY" in
|
case "$REPLY" in
|
||||||
y | Y | yes | YES ) ;;
|
y | Y | yes | YES ) ;;
|
||||||
* ) exit 1 ;;
|
* ) exit 1 ;;
|
||||||
@@ -81,6 +81,7 @@ for hook in "${before_hooks[@]}"; do eval "$hook"; done
|
|||||||
if [ -d "$PREFIX" ]; then
|
if [ -d "$PREFIX" ]; then
|
||||||
rm -rf "$PREFIX"
|
rm -rf "$PREFIX"
|
||||||
pyenv-rehash
|
pyenv-rehash
|
||||||
|
echo "pyenv: $VERSION_NAME uninstalled"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
for hook in "${after_hooks[@]}"; do eval "$hook"; done
|
for hook in "${after_hooks[@]}"; do eval "$hook"; done
|
||||||
|
|||||||
@@ -504,7 +504,7 @@ download_tarball() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
has_tar_xz_support() {
|
has_tar_xz_support() {
|
||||||
tar Jc /dev/null 1>/dev/null 2>&1
|
tar Jcf - /dev/null 1>/dev/null 2>&1
|
||||||
}
|
}
|
||||||
|
|
||||||
fetch_git() {
|
fetch_git() {
|
||||||
@@ -791,14 +791,6 @@ build_package_standard_install() {
|
|||||||
} >&4 2>&1
|
} >&4 2>&1
|
||||||
}
|
}
|
||||||
|
|
||||||
build_package_standard_install_with_bundled_gems() {
|
|
||||||
{ "$MAKE" update-gems
|
|
||||||
"$MAKE" extract-gems
|
|
||||||
} >&4 2>&1
|
|
||||||
|
|
||||||
build_package_standard_install "$@"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Backward Compatibility for standard function
|
# Backward Compatibility for standard function
|
||||||
build_package_standard() {
|
build_package_standard() {
|
||||||
build_package_standard_build "$@"
|
build_package_standard_build "$@"
|
||||||
@@ -810,13 +802,6 @@ build_package_autoconf() {
|
|||||||
} >&4 2>&1
|
} >&4 2>&1
|
||||||
}
|
}
|
||||||
|
|
||||||
build_package_ruby() {
|
|
||||||
local package_name="$1"
|
|
||||||
|
|
||||||
{ "$RUBY_BIN" setup.rb
|
|
||||||
} >&4 2>&1
|
|
||||||
}
|
|
||||||
|
|
||||||
build_package_python() {
|
build_package_python() {
|
||||||
local package_name="$1"
|
local package_name="$1"
|
||||||
|
|
||||||
@@ -824,132 +809,9 @@ build_package_python() {
|
|||||||
} >&4 2>&1
|
} >&4 2>&1
|
||||||
}
|
}
|
||||||
|
|
||||||
build_package_ree_installer() {
|
|
||||||
build_package_auto_tcltk
|
|
||||||
|
|
||||||
local options=""
|
|
||||||
is_mac && options="--no-tcmalloc"
|
|
||||||
|
|
||||||
local option
|
|
||||||
for option in $RUBY_CONFIGURE_OPTS ${RUBY_CONFIGURE_OPTS_ARRAY[@]}; do
|
|
||||||
options="$options -c $option"
|
|
||||||
done
|
|
||||||
|
|
||||||
# Work around install_useful_libraries crash with --dont-install-useful-gems
|
|
||||||
mkdir -p "$PREFIX_PATH/lib/ruby/gems/1.8/gems"
|
|
||||||
|
|
||||||
{ ./installer --auto "$PREFIX_PATH" --dont-install-useful-gems $options $CONFIGURE_OPTS
|
|
||||||
} >&4 2>&1
|
|
||||||
}
|
|
||||||
|
|
||||||
build_package_rbx() {
|
|
||||||
local package_name="$1"
|
|
||||||
|
|
||||||
{ [ ! -e "Gemfile" ] || bundle --path=vendor/bundle
|
|
||||||
if [ -n "$RUBY_BUILD_CACHE_PATH" ]; then
|
|
||||||
mkdir -p vendor
|
|
||||||
ln -s "$RUBY_BUILD_CACHE_PATH" vendor/prebuilt
|
|
||||||
fi
|
|
||||||
|
|
||||||
local opt
|
|
||||||
local -a configure_opts
|
|
||||||
for opt in "${RUBY_CONFIGURE_OPTS_ARRAY[@]}"; do
|
|
||||||
if [[ $opt == --with-openssl-dir=* ]]; then
|
|
||||||
local openssl_dir="${opt#*=}"
|
|
||||||
configure_opts[${#configure_opts[@]}]="--with-lib-dir=${openssl_dir}/lib"
|
|
||||||
configure_opts[${#configure_opts[@]}]="--with-include-dir=${openssl_dir}/include"
|
|
||||||
else
|
|
||||||
configure_opts[${#configure_opts[@]}]="$opt"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
RUBYOPT="-rrubygems $RUBYOPT" ./configure --prefix="$PREFIX_PATH" $RUBY_CONFIGURE_OPTS "${configure_opts[@]}"
|
|
||||||
rake install
|
|
||||||
fix_rbx_gem_binstubs "$PREFIX_PATH"
|
|
||||||
fix_rbx_irb "$PREFIX_PATH"
|
|
||||||
} >&4 2>&1
|
|
||||||
}
|
|
||||||
|
|
||||||
build_package_mruby() {
|
|
||||||
local package_name="$1"
|
|
||||||
|
|
||||||
{ rake
|
|
||||||
mkdir -p "$PREFIX_PATH"
|
|
||||||
cp -fR build/host/* "$PREFIX_PATH"
|
|
||||||
cd "$PREFIX_PATH/bin"
|
|
||||||
ln -fs mruby ruby
|
|
||||||
ln -fs mirb irb
|
|
||||||
} >&4 2>&1
|
|
||||||
}
|
|
||||||
|
|
||||||
build_package_maglev() {
|
|
||||||
build_package_copy
|
|
||||||
|
|
||||||
{ cd "${PREFIX_PATH}"
|
|
||||||
./install.sh
|
|
||||||
cd "${PREFIX_PATH}/bin"
|
|
||||||
echo "Creating symlink for ruby*"
|
|
||||||
ln -fs maglev-ruby ruby
|
|
||||||
echo "Creating symlink for irb*"
|
|
||||||
ln -fs maglev-irb irb
|
|
||||||
} >&4 2>&1
|
|
||||||
echo
|
|
||||||
echo "Run 'maglev start' to start up the stone before using 'ruby' or 'irb'"
|
|
||||||
}
|
|
||||||
|
|
||||||
build_package_topaz() {
|
|
||||||
build_package_copy
|
|
||||||
{ cd "${PREFIX_PATH}/bin"
|
|
||||||
echo "Creating symlink for ruby*"
|
|
||||||
ln -fs topaz ruby
|
|
||||||
} >&4 2>&1
|
|
||||||
}
|
|
||||||
|
|
||||||
topaz_architecture() {
|
|
||||||
case "$(uname -s)" in
|
|
||||||
"Darwin") echo "osx64";;
|
|
||||||
"Linux") [[ "$(uname -m)" = "x86_64" ]] && echo "linux64" || echo "linux32";;
|
|
||||||
*)
|
|
||||||
echo "no nightly builds available" >&2
|
|
||||||
exit 1;;
|
|
||||||
esac
|
|
||||||
}
|
|
||||||
|
|
||||||
build_package_jruby() {
|
|
||||||
build_package_copy
|
|
||||||
cd "${PREFIX_PATH}/bin"
|
|
||||||
ln -fs jruby ruby
|
|
||||||
chmod +x ruby
|
|
||||||
install_jruby_launcher
|
|
||||||
remove_windows_files
|
|
||||||
fix_jruby_shebangs
|
|
||||||
}
|
|
||||||
|
|
||||||
install_jruby_launcher() {
|
|
||||||
cd "${PREFIX_PATH}/bin"
|
|
||||||
{ ./ruby gem install jruby-launcher
|
|
||||||
} >&4 2>&1
|
|
||||||
}
|
|
||||||
|
|
||||||
fix_jruby_shebangs() {
|
|
||||||
for file in "${PREFIX_PATH}/bin"/*; do
|
|
||||||
if [ "$(head -c 20 "$file")" = "#!/usr/bin/env jruby" ]; then
|
|
||||||
sed -i.bak "1 s:.*:#\!${PREFIX_PATH}\/bin\/jruby:" "$file"
|
|
||||||
rm "$file".bak
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
build_package_truffleruby() {
|
|
||||||
build_package_copy
|
|
||||||
|
|
||||||
cd "${PREFIX_PATH}"
|
|
||||||
./lib/truffle/post_install_hook.sh
|
|
||||||
}
|
|
||||||
|
|
||||||
remove_windows_files() {
|
remove_windows_files() {
|
||||||
cd "$PREFIX_PATH"
|
cd "$PREFIX_PATH"
|
||||||
rm -f bin/*.exe bin/*.dll bin/*.bat bin/jruby.sh
|
rm -f bin/*.exe bin/*.dll bin/*.bat
|
||||||
}
|
}
|
||||||
|
|
||||||
build_package_jython() {
|
build_package_jython() {
|
||||||
@@ -1183,37 +1045,10 @@ cleanup_builtin_patches() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fix_directory_permissions() {
|
fix_directory_permissions() {
|
||||||
# Ensure installed directories are not world-writable to avoid Bundler warnings
|
# Ensure installed directories are not world-writable
|
||||||
find "$PREFIX_PATH" -type d \( -perm -020 -o -perm -002 \) -exec chmod go-w {} \;
|
find "$PREFIX_PATH" -type d \( -perm -020 -o -perm -002 \) -exec chmod go-w {} \;
|
||||||
}
|
}
|
||||||
|
|
||||||
fix_rbx_gem_binstubs() {
|
|
||||||
local prefix="$1"
|
|
||||||
local gemdir="${prefix}/gems/bin"
|
|
||||||
local bindir="${prefix}/bin"
|
|
||||||
local file binstub
|
|
||||||
# Symlink Rubinius' `gems/bin/` into `bin/`
|
|
||||||
if [ -d "$gemdir" ] && [ ! -L "$gemdir" ]; then
|
|
||||||
for file in "$gemdir"/*; do
|
|
||||||
binstub="${bindir}/${file##*/}"
|
|
||||||
rm -f "$binstub"
|
|
||||||
{ echo "#!${bindir}/ruby"
|
|
||||||
grep -v '^#!' "$file"
|
|
||||||
} > "$binstub"
|
|
||||||
chmod +x "$binstub"
|
|
||||||
done
|
|
||||||
rm -rf "$gemdir"
|
|
||||||
ln -s ../bin "$gemdir"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
fix_rbx_irb() {
|
|
||||||
local prefix="$1"
|
|
||||||
"${prefix}/bin/irb" --version &>/dev/null ||
|
|
||||||
"${prefix}/bin/gem" install rubysl-tracer -v '~> 2.0' --no-rdoc --no-ri &>/dev/null ||
|
|
||||||
true
|
|
||||||
}
|
|
||||||
|
|
||||||
require_java7() {
|
require_java7() {
|
||||||
local version="$(java -version 2>&1 | grep '\(java\|openjdk\) version' | head -1)"
|
local version="$(java -version 2>&1 | grep '\(java\|openjdk\) version' | head -1)"
|
||||||
if [[ $version != *[789]* ]]; then
|
if [[ $version != *[789]* ]]; then
|
||||||
@@ -1682,36 +1517,6 @@ build_package_auto_tcltk() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
rake() {
|
|
||||||
if [ -e "./Gemfile" ]; then
|
|
||||||
bundle exec rake "$@"
|
|
||||||
else
|
|
||||||
isolated_gem_dependency "rake --version" rake -v '~> 10.1.0'
|
|
||||||
command rake "$@"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
bundle() {
|
|
||||||
isolated_gem_dependency "bundle --version" bundler -v '~> 1.3.5'
|
|
||||||
command bundle "$@"
|
|
||||||
}
|
|
||||||
|
|
||||||
isolated_gem_dependency() {
|
|
||||||
set +E
|
|
||||||
( command $1 &>/dev/null ) || {
|
|
||||||
set -E
|
|
||||||
shift 1
|
|
||||||
isolated_gem_install "$@"
|
|
||||||
}
|
|
||||||
set -E
|
|
||||||
}
|
|
||||||
|
|
||||||
isolated_gem_install() {
|
|
||||||
export GEM_HOME="${PWD}/.gem"
|
|
||||||
export PATH="${GEM_HOME}/bin:${PATH}"
|
|
||||||
gem install "$@"
|
|
||||||
}
|
|
||||||
|
|
||||||
apply_python_patch() {
|
apply_python_patch() {
|
||||||
local patchfile
|
local patchfile
|
||||||
case "$1" in
|
case "$1" in
|
||||||
@@ -1917,6 +1722,11 @@ build_package_verify_py39() {
|
|||||||
build_package_verify_py38 "$1" "${2:-3.9}"
|
build_package_verify_py38 "$1" "${2:-3.9}"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Post-install check for Python 3.10.x
|
||||||
|
build_package_verify_py310() {
|
||||||
|
build_package_verify_py39 "$1" "${2:-3.10}"
|
||||||
|
}
|
||||||
|
|
||||||
# Copy Tools/gdb/libpython.py to pythonX.Y-gdb.py (#1190)
|
# Copy Tools/gdb/libpython.py to pythonX.Y-gdb.py (#1190)
|
||||||
build_package_copy_python_gdb() {
|
build_package_copy_python_gdb() {
|
||||||
if [ -e "$BUILD_PATH/$1/Tools/gdb/libpython.py" ]; then
|
if [ -e "$BUILD_PATH/$1/Tools/gdb/libpython.py" ]; then
|
||||||
@@ -2108,19 +1918,6 @@ if [ -n "$noexec" ]; then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
## Apply following work around, if gcc is not installed.
|
|
||||||
#if [ -z "$(locate_gcc)" ]; then
|
|
||||||
# # Work around warnings building Ruby 2.0 on Clang 2.x:
|
|
||||||
# # pass -Wno-error=shorten-64-to-32 if the compiler accepts it.
|
|
||||||
# #
|
|
||||||
# # When we set CFLAGS, Ruby won't apply its default flags, though. Since clang
|
|
||||||
# # builds 1.9.x and 2.x only, where -O3 is default, we can safely set that flag.
|
|
||||||
# # Ensure it's the first flag since later flags take precedence.
|
|
||||||
# if "${CC:-cc}" -x c /dev/null -E -Wno-error=shorten-64-to-32 &>/dev/null; then
|
|
||||||
# RUBY_CFLAGS="-O3 -Wno-error=shorten-64-to-32 $RUBY_CFLAGS"
|
|
||||||
# fi
|
|
||||||
#fi
|
|
||||||
|
|
||||||
if [ -z "$MAKE" ]; then
|
if [ -z "$MAKE" ]; then
|
||||||
if [ "FreeBSD" = "$(uname -s)" ]; then
|
if [ "FreeBSD" = "$(uname -s)" ]; then
|
||||||
if [ "$(echo $1 | sed 's/-.*$//')" = "jruby" ]; then
|
if [ "$(echo $1 | sed 's/-.*$//')" = "jruby" ]; then
|
||||||
|
|||||||
8
plugins/python-build/share/python-build/2.7.18
Normal file
8
plugins/python-build/share/python-build/2.7.18
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
#require_gcc
|
||||||
|
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
|
||||||
|
install_package "Python-2.7.18" "https://www.python.org/ftp/python/2.7.18/Python-2.7.18.tar.xz#b62c0e7937551d0cc02b8fd5cb0f544f9405bafc9a54d3808ed4594812edef43" ldflags_dirs standard verify_py27 copy_python_gdb ensurepip
|
||||||
|
else
|
||||||
|
install_package "Python-2.7.18" "https://www.python.org/ftp/python/2.7.18/Python-2.7.18.tgz#da3080e3b488f648a3d7a4560ddee895284c3380b11d6de75edb986526b9a814" ldflags_dirs standard verify_py27 copy_python_gdb ensurepip
|
||||||
|
fi
|
||||||
6
plugins/python-build/share/python-build/3.10-dev
Normal file
6
plugins/python-build/share/python-build/3.10-dev
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
#require_gcc
|
||||||
|
prefer_openssl11
|
||||||
|
export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1
|
||||||
|
install_package "openssl-1.1.0j" "https://www.openssl.org/source/old/1.1.0/openssl-1.1.0j.tar.gz#31bec6c203ce1a8e93d5994f4ed304c63ccf07676118b6634edded12ad1b3246" 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.10-dev" "https://github.com/python/cpython" master standard verify_py310 copy_python_gdb ensurepip
|
||||||
9
plugins/python-build/share/python-build/3.6.11
Normal file
9
plugins/python-build/share/python-build/3.6.11
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
#require_gcc
|
||||||
|
prefer_openssl11
|
||||||
|
install_package "openssl-1.1.0j" "https://www.openssl.org/source/old/1.1.0/openssl-1.1.0j.tar.gz#31bec6c203ce1a8e93d5994f4ed304c63ccf07676118b6634edded12ad1b3246" 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.6.11" "https://www.python.org/ftp/python/3.6.11/Python-3.6.11.tar.xz#741ebdcbc4e3937a5ff23517dd455ebf7d543ea9fef6f5cf6f46e575d6c4fda4" ldflags_dirs standard verify_py37 copy_python_gdb ensurepip
|
||||||
|
else
|
||||||
|
install_package "Python-3.6.11" "https://www.python.org/ftp/python/3.6.11/Python-3.6.11.tgz#96621902f89746fffc22f39749c07da7c2917b232e72352e6837d41850f7b90c" ldflags_dirs standard verify_py37 copy_python_gdb ensurepip
|
||||||
|
fi
|
||||||
@@ -4,7 +4,7 @@ export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1
|
|||||||
install_package "openssl-1.1.0j" "https://www.openssl.org/source/old/1.1.0/openssl-1.1.0j.tar.gz#31bec6c203ce1a8e93d5994f4ed304c63ccf07676118b6634edded12ad1b3246" mac_openssl --if has_broken_mac_openssl
|
install_package "openssl-1.1.0j" "https://www.openssl.org/source/old/1.1.0/openssl-1.1.0j.tar.gz#31bec6c203ce1a8e93d5994f4ed304c63ccf07676118b6634edded12ad1b3246" 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_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
|
if has_tar_xz_support; then
|
||||||
install_package "Python-3.9.0a5" "https://www.python.org/ftp/python/3.9.0/Python-3.9.0a5.tar.xz#3260e1587a4ec22081e409f701b0db5f76fab2d447fbaf0e5ddc1ce3a932f06e" ldflags_dirs standard verify_py38 copy_python_gdb ensurepip
|
install_package "Python-3.7.8" "https://www.python.org/ftp/python/3.7.8/Python-3.7.8.tar.xz#43a543404b363f0037f89df8478f19db2dbc0d6f3ffee310bc2997fa71854a63" ldflags_dirs standard verify_py37 copy_python_gdb ensurepip
|
||||||
else
|
else
|
||||||
install_package "Python-3.9.0a5" "https://www.python.org/ftp/python/3.9.0/Python-3.9.0a5.tgz#6fb638f5f115bba670e0aa3a609837c45aa9b6582ea4cb1b125e9676fbefc2de" ldflags_dirs standard verify_py38 copy_python_gdb ensurepip
|
install_package "Python-3.7.8" "https://www.python.org/ftp/python/3.7.8/Python-3.7.8.tgz#0e25835614dc221e3ecea5831b38fa90788b5389b99b675a751414c858789ab0" ldflags_dirs standard verify_py37 copy_python_gdb ensurepip
|
||||||
fi
|
fi
|
||||||
10
plugins/python-build/share/python-build/3.8.3
Normal file
10
plugins/python-build/share/python-build/3.8.3
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
#require_gcc
|
||||||
|
prefer_openssl11
|
||||||
|
export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1
|
||||||
|
install_package "openssl-1.1.0j" "https://www.openssl.org/source/old/1.1.0/openssl-1.1.0j.tar.gz#31bec6c203ce1a8e93d5994f4ed304c63ccf07676118b6634edded12ad1b3246" 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.8.3" "https://www.python.org/ftp/python/3.8.3/Python-3.8.3.tar.xz#dfab5ec723c218082fe3d5d7ae17ecbdebffa9a1aea4d64aa3a2ecdd2e795864" ldflags_dirs standard verify_py38 copy_python_gdb ensurepip
|
||||||
|
else
|
||||||
|
install_package "Python-3.8.3" "https://www.python.org/ftp/python/3.8.3/Python-3.8.3.tgz#6af6d4d2e010f9655518d0fc6738c7ff7069f10a4d2fbd55509e467f092a8b90" ldflags_dirs standard verify_py38 copy_python_gdb ensurepip
|
||||||
|
fi
|
||||||
10
plugins/python-build/share/python-build/3.8.4
Normal file
10
plugins/python-build/share/python-build/3.8.4
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
#require_gcc
|
||||||
|
prefer_openssl11
|
||||||
|
export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1
|
||||||
|
install_package "openssl-1.1.0j" "https://www.openssl.org/source/old/1.1.0/openssl-1.1.0j.tar.gz#31bec6c203ce1a8e93d5994f4ed304c63ccf07676118b6634edded12ad1b3246" 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.8.4" "https://www.python.org/ftp/python/3.8.4/Python-3.8.4.tar.xz#5f41968a95afe9bc12192d7e6861aab31e80a46c46fa59d3d837def6a4cd4d37" ldflags_dirs standard verify_py38 copy_python_gdb ensurepip
|
||||||
|
else
|
||||||
|
install_package "Python-3.8.4" "https://www.python.org/ftp/python/3.8.4/Python-3.8.4.tgz#32c4d9817ef11793da4d0d95b3191c4db81d2e45544614e8449255ca9ae3cc18" ldflags_dirs standard verify_py38 copy_python_gdb ensurepip
|
||||||
|
fi
|
||||||
10
plugins/python-build/share/python-build/3.8.5
Normal file
10
plugins/python-build/share/python-build/3.8.5
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
#require_gcc
|
||||||
|
prefer_openssl11
|
||||||
|
export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1
|
||||||
|
install_package "openssl-1.1.0j" "https://www.openssl.org/source/old/1.1.0/openssl-1.1.0j.tar.gz#31bec6c203ce1a8e93d5994f4ed304c63ccf07676118b6634edded12ad1b3246" 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.8.5" "https://www.python.org/ftp/python/3.8.5/Python-3.8.5.tar.xz#e3003ed57db17e617acb382b0cade29a248c6026b1bd8aad1f976e9af66a83b0" ldflags_dirs standard verify_py38 copy_python_gdb ensurepip
|
||||||
|
else
|
||||||
|
install_package "Python-3.8.5" "https://www.python.org/ftp/python/3.8.5/Python-3.8.5.tgz#015115023c382eb6ab83d512762fe3c5502fa0c6c52ffebc4831c4e1a06ffc49" ldflags_dirs standard verify_py38 copy_python_gdb ensurepip
|
||||||
|
fi
|
||||||
@@ -3,4 +3,4 @@ prefer_openssl11
|
|||||||
export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1
|
export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1
|
||||||
install_package "openssl-1.1.0j" "https://www.openssl.org/source/old/1.1.0/openssl-1.1.0j.tar.gz#31bec6c203ce1a8e93d5994f4ed304c63ccf07676118b6634edded12ad1b3246" mac_openssl --if has_broken_mac_openssl
|
install_package "openssl-1.1.0j" "https://www.openssl.org/source/old/1.1.0/openssl-1.1.0j.tar.gz#31bec6c203ce1a8e93d5994f4ed304c63ccf07676118b6634edded12ad1b3246" 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_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.9-dev" "https://github.com/python/cpython" master standard verify_py39 copy_python_gdb ensurepip
|
install_git "Python-3.9-dev" "https://github.com/python/cpython" 3.9 standard verify_py39 copy_python_gdb ensurepip
|
||||||
|
|||||||
10
plugins/python-build/share/python-build/3.9.0b5
Normal file
10
plugins/python-build/share/python-build/3.9.0b5
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
#require_gcc
|
||||||
|
prefer_openssl11
|
||||||
|
export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1
|
||||||
|
install_package "openssl-1.1.0j" "https://www.openssl.org/source/old/1.1.0/openssl-1.1.0j.tar.gz#31bec6c203ce1a8e93d5994f4ed304c63ccf07676118b6634edded12ad1b3246" 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.9.0b5" "https://www.python.org/ftp/python/3.9.0/Python-3.9.0b5.tar.xz#6ce1d77cba57cccb3e43cdb76217beacd7c7cd66a17d065523e4139cb5401564" ldflags_dirs standard verify_py39 copy_python_gdb ensurepip
|
||||||
|
else
|
||||||
|
install_package "Python-3.9.0b5" "https://www.python.org/ftp/python/3.9.0/Python-3.9.0b5.tgz#a4f6555eaa935becbbd965d8844ec897e72a443e77abdc4a8ff14150ef1fd527" ldflags_dirs standard verify_py39 copy_python_gdb ensurepip
|
||||||
|
fi
|
||||||
19
plugins/python-build/share/python-build/anaconda3-2020.02
Normal file
19
plugins/python-build/share/python-build/anaconda3-2020.02
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
case "$(anaconda_architecture 2>/dev/null || true)" in
|
||||||
|
"Linux-ppc64le" )
|
||||||
|
install_script "Anaconda3-2020.02-Linux-ppc64le" "https://repo.continuum.io/archive/Anaconda3-2020.02-Linux-ppc64le.sh#d6d1827a38b988cbbe714d6e0357c9e251c84641a0c70cda51861ed9abb38804" "anaconda" verify_py37
|
||||||
|
;;
|
||||||
|
"Linux-x86_64" )
|
||||||
|
install_script "Anaconda3-2020.02-Linux-x86_64" "https://repo.continuum.io/archive/Anaconda3-2020.02-Linux-x86_64.sh#2b9f088b2022edb474915d9f69a803d6449d5fdb4c303041f60ac4aefcc208bb" "anaconda" verify_py37
|
||||||
|
;;
|
||||||
|
"MacOSX-x86_64" )
|
||||||
|
install_script "Anaconda3-2020.02-MacOSX-x86_64" "https://repo.continuum.io/archive/Anaconda3-2020.02-MacOSX-x86_64.sh#d237e6c976eb9c58368ca156a51bd913d63a3b5fea32689342733c99d14b6f2e" "anaconda" verify_py37
|
||||||
|
;;
|
||||||
|
* )
|
||||||
|
{ echo
|
||||||
|
colorize 1 "ERROR"
|
||||||
|
echo ": The binary distribution of Anaconda3 is not available for $(anaconda_architecture 2>/dev/null || true)."
|
||||||
|
echo
|
||||||
|
} >&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
#require_gcc
|
#require_gcc
|
||||||
has_tar_xz_support \
|
has_tar_xz_support \
|
||||||
&& src="https://micropython.org/resources/source/micropython-1.12.tar.xz#25938e536f945c706f685f611e048acbca765b0380454dac88132803a5f75790" \
|
&& src="https://micropython.org/resources/source/micropython-1.12.tar.xz#181bfe82ba310a3f91540ee70d373f247141db3f9de8082fb189145df085d1b4" \
|
||||||
|| src="https://github.com/micropython/micropython/releases/download/v1.12/micropython-1.12.tar.gz#be2041924496f49b580f06c2d328c7757bbc7b62408abb11841ebeb87302c575"
|
|| src="https://github.com/micropython/micropython/releases/download/v1.12/micropython-1.12.tar.gz#98fd02366bca23a61c77bbf2b999a45cfc237132db66b5b0874378a5446d81ba"
|
||||||
install_package micropython-1.12 "$src" micropython
|
install_package micropython-1.12 "$src" micropython
|
||||||
|
|||||||
39
plugins/python-build/share/python-build/pypy2.7-7.3.1
Normal file
39
plugins/python-build/share/python-build/pypy2.7-7.3.1
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
VERSION='7.3.1'
|
||||||
|
PYVER='2.7'
|
||||||
|
|
||||||
|
case "$(pypy_architecture 2>/dev/null || true)" in
|
||||||
|
"linux" )
|
||||||
|
install_package "pypy${PYVER}-v${VERSION}-linux32" "https://bitbucket.org/pypy/pypy/downloads/pypy${PYVER}-v${VERSION}-linux32.tar.bz2#cd155d06cd0956d9de4a16e8a6bdf0722cb45b5bc4bbf805825d393ebd6690ad" "pypy" "verify_py${PYVER//./}" ensurepip
|
||||||
|
;;
|
||||||
|
"linux64" )
|
||||||
|
install_package "pypy${PYVER}-v${VERSION}-linux64" "https://bitbucket.org/pypy/pypy/downloads/pypy${PYVER}-v${VERSION}-linux64.tar.bz2#be74886547df7bf7094096a11fc0a48496779d0d1b71901797b0c816f92caca3" "pypy" "verify_py${PYVER//./}" ensurepip
|
||||||
|
;;
|
||||||
|
"linux-aarch64" )
|
||||||
|
install_package "pypy${PYVER}-v${VERSION}-aarch64" "https://bitbucket.org/pypy/pypy/downloads/pypy${PYVER}-v${VERSION}-aarch64.tar.bz2#094f23ab262e666d8740bf27459a6b1215a628dad9b6c2a88f1ed5c793fab267" "pypy" "verify_py${PYVER//./}" ensurepip
|
||||||
|
;;
|
||||||
|
"osx64" )
|
||||||
|
if require_osx_version "10.13"; then
|
||||||
|
install_package "pypy${PYVER}-v${VERSION}-osx64" "https://bitbucket.org/pypy/pypy/downloads/pypy${PYVER}-v${VERSION}-osx64.tar.bz2#dfd4651243441d2f8f1c348e9ecc09848642d0c31bb323aa8ac320e5b9f232f0" "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
|
||||||
|
;;
|
||||||
|
"win32" )
|
||||||
|
install_zip "pypy${PYVER}-v${VERSION}-win32" "https://bitbucket.org/pypy/pypy/downloads/pypy${PYVER}-v${VERSION}-win32.zip#e3c0dfb385d9825dd7723f26576d55d43ed92f1178f2399ab39e9fa11621a47b" "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,4 @@
|
|||||||
|
#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 "pypy2.7-v7.3.1-src" "https://bitbucket.org/pypy/pypy/downloads/pypy2.7-v7.3.1-src.tar.bz2#fa3771514c8a354969be9bd3b26d65a489c30e28f91d350e4ad2f4081a9c9321" "pypy_builder" verify_py27 ensurepip
|
||||||
39
plugins/python-build/share/python-build/pypy3.6-7.3.1
Normal file
39
plugins/python-build/share/python-build/pypy3.6-7.3.1
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
VERSION='7.3.1'
|
||||||
|
PYVER='3.6'
|
||||||
|
|
||||||
|
case "$(pypy_architecture 2>/dev/null || true)" in
|
||||||
|
"linux" )
|
||||||
|
install_package "pypy${PYVER}-v${VERSION}-linux32" "https://bitbucket.org/pypy/pypy/downloads/pypy${PYVER}-v${VERSION}-linux32.tar.bz2#2e7a818c67f3ac0708e4d8cdf1961f30cf9586b3f3ca2f215d93437c5ea4567b" "pypy" "verify_py${PYVER//./}" ensurepip
|
||||||
|
;;
|
||||||
|
"linux64" )
|
||||||
|
install_package "pypy${PYVER}-v${VERSION}-linux64" "https://bitbucket.org/pypy/pypy/downloads/pypy${PYVER}-v${VERSION}-linux64.tar.bz2#f67cf1664a336a3e939b58b3cabfe47d893356bdc01f2e17bc912aaa6605db12" "pypy" "verify_py${PYVER//./}" ensurepip
|
||||||
|
;;
|
||||||
|
"linux-aarch64" )
|
||||||
|
install_package "pypy${PYVER}-v${VERSION}-aarch64" "https://bitbucket.org/pypy/pypy/downloads/pypy${PYVER}-v${VERSION}-aarch64.tar.bz2#0069bc3c1570b935f1687f5e128cf050cd7229309e48fad2a2bf2140d43ffcee" "pypy" "verify_py${PYVER//./}" ensurepip
|
||||||
|
;;
|
||||||
|
"osx64" )
|
||||||
|
if require_osx_version "10.13"; then
|
||||||
|
install_package "pypy${PYVER}-v${VERSION}-osx64" "https://bitbucket.org/pypy/pypy/downloads/pypy${PYVER}-v${VERSION}-osx64.tar.bz2#d9c1778cd1ba37e129b495ea0f35ccdd9b68f5cd9d33ef0ce24e955c16d8840b" "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
|
||||||
|
;;
|
||||||
|
"win32" )
|
||||||
|
install_zip "pypy${PYVER}-v${VERSION}-win32" "https://bitbucket.org/pypy/pypy/downloads/pypy${PYVER}-v${VERSION}-win32.zip#752fbe8c4abee6468e5ce22af82818f821daded36faa65f3d69423f9c217007a" "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,4 @@
|
|||||||
|
#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 "pypy3.6-v7.3.1-src" "https://bitbucket.org/pypy/pypy/downloads/pypy3.6-v7.3.1-src.tar.bz2#0c2cc3229da36c6984baee128c8ff8bb4516d69df1d73275dc4622bf249afa83" "pypy_builder" verify_py36 ensurepip
|
||||||
4
plugins/python-build/share/python-build/stackless-3.7.5
Normal file
4
plugins/python-build/share/python-build/stackless-3.7.5
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
#require_gcc
|
||||||
|
install_package "openssl-1.0.2k" "https://www.openssl.org/source/old/1.0.2/openssl-1.0.2k.tar.gz#6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0" 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_package "stackless-3.7.5-slp" "https://github.com/stackless-dev/stackless/archive/v3.7.5-slp.tar.gz#e2562a8d235adc19be5451c170837f53ef916aec4cd5cd17d9e0ab1f1b875d3f" ldflags_dirs standard verify_py37 ensurepip
|
||||||
@@ -49,6 +49,7 @@ OUT
|
|||||||
before: ${PYENV_ROOT}/versions/3.6.2
|
before: ${PYENV_ROOT}/versions/3.6.2
|
||||||
rm -rf ${PYENV_ROOT}/versions/3.6.2
|
rm -rf ${PYENV_ROOT}/versions/3.6.2
|
||||||
rehashed
|
rehashed
|
||||||
|
pyenv: 3.6.2 uninstalled
|
||||||
after.
|
after.
|
||||||
OUT
|
OUT
|
||||||
|
|
||||||
|
|||||||
@@ -36,18 +36,6 @@ OUT
|
|||||||
rm -f "${BATS_TEST_DIRNAME}/libexec/pyenv-which"
|
rm -f "${BATS_TEST_DIRNAME}/libexec/pyenv-which"
|
||||||
}
|
}
|
||||||
|
|
||||||
@test "prefix for system in /" {
|
|
||||||
mkdir -p "${BATS_TEST_DIRNAME}/libexec"
|
|
||||||
cat >"${BATS_TEST_DIRNAME}/libexec/pyenv-which" <<OUT
|
|
||||||
#!/bin/sh
|
|
||||||
echo /bin/python
|
|
||||||
OUT
|
|
||||||
chmod +x "${BATS_TEST_DIRNAME}/libexec/pyenv-which"
|
|
||||||
PYENV_VERSION="system" run pyenv-prefix
|
|
||||||
assert_success "/"
|
|
||||||
rm -f "${BATS_TEST_DIRNAME}/libexec/pyenv-which"
|
|
||||||
}
|
|
||||||
|
|
||||||
@test "prefix for invalid system" {
|
@test "prefix for invalid system" {
|
||||||
PATH="$(path_without python)" run pyenv-prefix system
|
PATH="$(path_without python)" run pyenv-prefix system
|
||||||
assert_failure "pyenv: system version not found in PATH"
|
assert_failure "pyenv: system version not found in PATH"
|
||||||
|
|||||||
Reference in New Issue
Block a user