1
0
mirror of https://github.com/pyenv/pyenv.git synced 2025-11-08 11:33:49 -05:00

Compare commits

...

183 Commits

Author SHA1 Message Date
Yamashita, Yuu
7fadd939ad v1.0.0 (fixes #520) 2016-08-15 08:30:01 +00:00
Yamashita, Yuu
4e10692a1e Merge pull request #671 from yyuu/issue610
Show meaningful message on missing executable (fixes #610)
2016-08-15 15:08:09 +09:00
Yamashita, Yuu
fb757053c8 Show meaningful message on missing executable (fixes #610) 2016-08-15 06:01:55 +00:00
Yamashita, Yuu
949c1dab8d Merge pull request #670 from yyuu/conda-rehash-config
Split blacklist of conda's system executables
2016-08-15 15:00:07 +09:00
Yamashita, Yuu
d8559b9749 Workaround for performance issue with conda.txt
The performance issue must be caused by too many I/O requests to
`conda.txt` from fgrep. This inline expansion should work to reduce # of
read to the `conda.txt`.

original performance:

```
% git rev-parse HEAD
4f76be6a12
% time bash -c 'pyenv rehash'
bash -c 'pyenv rehash'  0.05s user 0.02s system 76% cpu 0.089 total
```

previous commit: ==> 4x slower than original

```
% git rev-parse HEAD
4469d51ef7
% time bash -c 'pyenv rehash'
bash -c 'pyenv rehash'  0.06s user 0.03s system 25% cpu 0.358 total
```

with this workaround: ==> almost same as original

```
% git rev-parse HEAD
3ffe91bdbc69220eaecf6e2088229cc27366c3f3
% time bash -c 'pyenv rehash'
bash -c 'pyenv rehash'  0.05s user 0.00s system 68% cpu 0.082 total
```
2016-08-15 05:49:50 +00:00
Yamashita, Yuu
4469d51ef7 Extract conda's system command list to anaconda.txt 2016-08-15 05:48:25 +00:00
Yamashita, Yuu
4f76be6a12 anaconda.bash is misleading. It's not only for anaconda, but for all conda 2016-08-15 05:40:15 +00:00
Yamashita, Yuu
81b89e16db Update change log [ci skip] 2016-08-15 05:31:45 +00:00
Yamashita, Yuu
a62f1a4423 Merge pull request #669 from yyuu/rbenv-20160815
rbenv 20160815
2016-08-15 14:30:03 +09:00
Yamashita, Yuu
a02f5dde4f s/rbenv/pyenv/g 2016-08-15 05:22:59 +00:00
Yamashita, Yuu
cf1beda362 Merge remote-tracking branch 'rbenv/master' into rbenv-20160815 2016-08-15 05:14:24 +00:00
Yamashita, Yuu
8aebe3b43d Update change log [ci skip] 2016-08-15 04:47:22 +00:00
Yamashita, Yuu
9a10674ab9 Merge pull request #668 from yyuu/ruby-build-20160602
ruby-build 20160602
2016-08-15 13:45:19 +09:00
Yamashita, Yuu
66c8ca6cff Import changes in rbenv/ruby-build#979 2016-08-15 04:42:50 +00:00
Yamashita, Yuu
3a1379cb34 Import changes from ruby-build v20160602 2016-08-15 04:40:09 +00:00
Yamashita, Yuu
740fbe4bda Merge pull request #661 from yyuu/workaroud-bin-python
Add workaround for `/bin/python`
2016-08-03 22:48:46 +09:00
Mislav Marohnić
0c7224af95 Merge pull request #919 from yyuu/system-in-bin
Add a workaround system executable in `/bin`
2016-08-03 03:58:31 -09:00
Yamashita, Yuu
93ece2ac16 Rewrite with using here document syntax 2016-08-03 06:31:27 +00:00
Yamashita, Yuu
36138f4901 Rewrite with using here document syntax 2016-08-03 06:29:59 +00:00
Yamashita, Yuu
bc8dba4bea Always create bin as symlink to framework path if the version was built with --enable-frameowrk (#590)
Actually I'm not 100% sure what was going on, but it seems CPython build
script may create `bin` as directory instead of symlink even if
`--enable-framework` was specified.
2016-08-03 10:48:44 +09:00
Yamashita, Yuu
1b35cfaa2c 1) Remove useless touch 2) Add explicit shebang line to executable for testing 2016-08-03 01:34:42 +00:00
Yamashita, Yuu
83e874a165 Add explicit shebang to executable for testing 2016-08-03 01:33:35 +00:00
Yamashita, Yuu
8eefa41a4d Remove useless touch line 2016-08-03 00:58:05 +00:00
Mislav Marohnić
57a902f36a Merge pull request #922 from jlduran/update-src-shobj-conf
Update `shobj-conf`
2016-08-02 19:04:10 +02:00
Jose Luis Duran
07fd1ae66b Update shobj-conf
Update the `shobj-conf` script imported from bash to support new OSs.
2016-08-02 11:36:37 -03:00
Yamashita, Yuu
b8885e4fe2 Keep using original PATH ordering in test_helper 2016-08-02 00:23:47 +00:00
Yamashita, Yuu
a456528be8 Keep original ordering of PATH configuration 2016-08-02 00:21:28 +00:00
Yamashita, Yuu
6030ea51e4 Add a workaround for system executables in /bin 2016-08-01 00:32:50 +00:00
Yamashita, Yuu
2485257424 Add a test to confirm the prefix doesn't work fine with /bin/ruby 2016-08-01 00:31:11 +00:00
Yamashita, Yuu
5c83c4abb7 Add test for /bin/python case 2016-08-01 00:19:04 +00:00
Yamashita, Yuu
7da05ee964 v20160726 2016-07-26 08:06:31 +00:00
Yamashita, Yuu
21131ee493 Merge pull request #663 from yyuu/bsd-tar-xz
Use `.tar.xz` archive only if `tar` supports `-J` (especially on *BSD)
2016-07-26 16:59:07 +09:00
Yamashita, Yuu
ac07d63780 Add workaround for conflict of rehash hook between pyenv-virtualenv 2016-07-26 07:47:02 +00:00
Yamashita, Yuu
ad9805a455 Don't need to create temporary files since tar(1) writes to stdout by default 2016-07-26 07:22:47 +00:00
Yamashita, Yuu
e0fdded2cd Use .tar.xz archive only if tar supports -J (especially on *BSD) (#654) 2016-07-25 01:17:22 +00:00
Yamashita, Yuu
4df7cf2dd6 Add workaround for /bin/python (#628) 2016-07-21 02:45:27 +00:00
Yamashita, Yuu
e93ae00ca1 Write help message to stdout just like other commands (#650, #651) 2016-07-20 00:25:09 +00:00
Yamashita, Yuu
a761ff602d Merge pull request #657 from zmwangx/cpython-3.6.0a3
Add CPython 3.6.0a3 and remove 3.6.0a2
2016-07-12 17:58:03 +09:00
Zhiming Wang
253d79503d Remove CPython 3.6.0a2 in favor of 3.6.0a3 2016-07-12 14:39:22 +08:00
Zhiming Wang
f3e7005fb1 Add CPython 3.6.0a3 2016-07-12 14:38:54 +08:00
Yamashita, Yuu
2ad9dfd217 Merge pull request #654 from yyuu/tgz-to-tar-xz
Use xz archive instead of gzip archive
2016-07-05 11:25:59 +09:00
Yamashita, Yuu
9e8df34124 MD5 -> SHA256 2016-07-05 02:21:51 +00:00
Yamashita, Yuu
7a61486b5c PyPy 5.1.1 binary isn't available for ppc64(le)? 2016-07-05 02:14:21 +00:00
Yamashita, Yuu
c3cefd9588 Add anaconda[23]-4.1.0 2016-07-05 00:38:02 +00:00
Yamashita, Yuu
4771e05c53 Use xz archive instead of gzip archive 2016-07-04 09:34:57 +00:00
Yamashita, Yuu
331f68260b 3.4.3: MD5 -> SHA256 2016-07-04 08:52:08 +00:00
Yamashita, Yuu
c803130a9d Merge pull request #651 from yyuu/sh-help-stderr
Messages should not be written to stdout if the command is `sh-` command
2016-07-01 09:13:42 +09:00
Yamashita, Yuu
24ba8ce904 Merge pull request #653 from yyuu/rbenv-20160701
rbenv 20160701
2016-07-01 09:05:46 +09:00
Yamashita, Yuu
727b8b02ac Merge remote-tracking branch 'rbenv/master' into rbenv-20160701 2016-07-01 00:00:35 +00:00
Yamashita, Yuu
de4c2a91d4 Merge pull request #652 from nicktimko/patch-1
Use non-broken 3.6.0a2 xz archive
2016-07-01 08:53:23 +09:00
Nick Timkovich
aedbd8d046 Use non-broken 3.6.0a2 xz archive
Fixes #647. Also reduces potential demonic invasions through reduction of `666`s.
2016-06-30 15:41:47 -05:00
Yamashita, Yuu
25d3ca7fdf Messages should not be written in stdout if the command is sh- command (fixes #650) 2016-06-30 09:48:00 +00:00
Yamashita, Yuu
081f539cbc Merge pull request #648 from JayH5/fix-pypy-5-3-1
pypy-5.3.1: Remove stray text
2016-06-29 19:14:29 +09:00
Jamie Hewland
1e75a11d32 pypy-5.3.1: Remove stray text 2016-06-29 11:50:52 +02:00
Josh Friend
7d709586ee v20160629 2016-06-28 22:09:39 -04:00
Josh Friend
962c7827fb Add PyPY 5.3.1
closes #646
2016-06-28 22:08:16 -04:00
Yamashita, Yuu
e8c1f0dccf Merge pull request #645 from zmwangx/cpython-2.7.12
Add CPython 2.7.12 and remove 2.7.12rc1
2016-06-28 16:31:39 +09:00
Zhiming Wang
0e698ffc4c Remove CPython 2.7.12rc1 in favor of 2.7.12 2016-06-28 13:34:42 +08:00
Zhiming Wang
5298c4bd1b Add CPython 2.7.12 2016-06-28 13:34:20 +08:00
Yamashita, Yuu
9cd200b98c v20160628 (fixes #644) 2016-06-28 00:34:58 +00:00
Josh Friend
efef9d8c5c Remove CPython release candidates 3.4.5 and 3.5.2 2016-06-27 08:39:10 -04:00
Yamashita, Yuu
5e7bd78766 Merge pull request #643 from zmwangx/cpython-3.4.5-and-3.5.2
Add CPython 3.4.5 and 3.5.2
2016-06-27 19:48:37 +09:00
Zhiming Wang
4967a7f495 Add CPython 3.5.2 2016-06-27 18:45:01 +08:00
Zhiming Wang
803697feb2 Add CPython 3.4.5 2016-06-27 18:44:23 +08:00
Yamashita, Yuu
fcbb1a24fd Merge pull request #642 from yyuu/stop-calling-verify-pyxx-twice
Added `build_package_symlink_version_suffix` to stop calling `verify_pyXX`
2016-06-27 09:43:32 +09:00
Yamashita, Yuu
f22d0e969b Added build_package_symlink_version_suffix to stop calling verify_pyXX twice (#638) 2016-06-27 00:39:49 +00:00
Yamashita, Yuu
3d263c8fa3 verify_pyXX before and after ensurepip to ensure there's python executable (#638) 2016-06-24 09:43:00 +00:00
Yamashita, Yuu
ae40042ff8 veirfy_pyXX should be called after ensurepip (#638) 2016-06-24 08:58:45 +00:00
Yamashita, Yuu
8579fd4567 build_package_ensurepip should be called earlier than build_package_verify_py33 to generate symlink of pip from pip3.3 (fixes #638) 2016-06-24 08:56:03 +00:00
Yamashita, Yuu
c4e012d5e3 Prevent loading user's aria2.conf (fixes #625) 2016-06-22 00:38:38 +00:00
Yamashita, Yuu
f64f7c7c49 Merge pull request #634 from yyuu/use-curl-stub-in-tests
Use `curl` stub instead of `aria2c` during tests
2016-06-21 09:38:16 +09:00
Yamashita, Yuu
0dcce750b9 Use curl stub instead of aria2c during tests (equiv to rbenv/ruby-build#965) 2016-06-21 00:31:19 +00:00
Josh Friend
a300254841 Added new pythons to changelog 2016-06-15 22:07:04 -04:00
Josh Friend
57df303a2c Added CPython 2.7.12rc1 2016-06-15 22:02:24 -04:00
Yamashita, Yuu
aed0eaeceb Add PyPy3.3 v5.2-alpha1 2016-06-15 03:16:40 +00:00
Yamashita, Yuu
bbe84d0411 Fix the name of pypy-5.3-src 2016-06-15 03:00:51 +00:00
Yamashita, Yuu
2145efec42 Merge pull request #630 from zmwangx/cpython-3.6.0a2
Add CPython 3.6.0a2
2016-06-14 18:49:25 +09:00
Zhiming Wang
cd3ace7d97 Add CPython 3.6.0a2
https://www.python.org/downloads/release/python-360a2/.
2016-06-13 22:51:30 -07:00
Josh Friend
8781d132e7 Fix CPython 3.4.5rc1 install 2016-06-13 14:16:08 -04:00
Josh Friend
f66b8ead99 Add CPython 3.4.5rc1
NOTE: 3.4.5rc1 does not create a `python` executable shortcut like
other pythons, it only creates `python3`
2016-06-13 13:30:13 -04:00
Josh Friend
8b414ce31d Add CPython 3.5.2rc1 2016-06-13 13:28:58 -04:00
Josh Friend
aa7b6420ce Add PyPy2 5.3
Closes #626
2016-06-08 14:41:19 -04:00
Yamashita, Yuu
216244fbac pyenv should not manage shims for all xz related executables 2016-06-08 05:29:04 +00:00
Yamashita, Yuu
4c654d703e Merge pull request #620 from yyuu/workaround-aria2c-stdout
Write remote content on stdout with `aria2c`
2016-06-02 11:04:41 +09:00
Yamashita, Yuu
02c7589d2a pwd of build_package_* must be $BUILD_PATH 2016-06-02 01:51:32 +00:00
Yamashita, Yuu
69d5656311 Import functions from ruby-build v20160426-33-g3304f96
I should add EOL warnings to old versions later....
2016-06-02 01:49:10 +00:00
Yamashita, Yuu
4d64f84a25 http_get_aria2c should return proper value on aria2c failures 2016-06-02 01:43:57 +00:00
Yamashita, Yuu
42cffbc82d Fix broken tests related to changes in aria2c arguments 2016-06-02 01:38:23 +00:00
Yamashita, Yuu
c8c40cff21 Write remote content on stdout with aria2c (fixes #619, #534)
`aria2c` doesn't support writing content to stdout. As a workaround,
this patch will use temporary file then write content on stdout once
finished downloading.
2016-06-01 06:55:59 +00:00
Yamashita, Yuu
10957b786a Merge pull request #618 from jayvdb/stackless-dev-py35
Update stackless-dev to check for Python 3.5
2016-06-01 07:31:18 +09:00
John Vandenberg
9e07319cf9 Update stackless-dev to check for Python 3.5 2016-06-01 05:19:36 +07:00
Yamashita, Yuu
03f8029c41 Merge pull request #615 from cha-ron/fish-depcrecated-period
"." has been deprecated in the fish shell in favor of explicit "source"
2016-05-30 09:10:36 +09:00
McTavish McArdle
5f20bc258f "." has been deprecated in the fish shell in favor of explicit "source" 2016-05-28 18:29:45 -04:00
Yamashita, Yuu
75fd97803d Require GCC for CPython prior to 2.4.4 (fixes #613) 2016-05-27 06:44:07 +00:00
Yamashita, Yuu
9993d13996 Merge pull request #539 from yyuu/download-aria2c
Use `aria2c` as the download if available (#534)
2016-05-26 09:30:39 +09:00
Yamashita, Yuu
c71cf59f50 Merge branch 'master' into download-aria2c 2016-05-26 09:28:45 +09:00
Yamashita, Yuu
8ea88dee1c Trivial fixes 2016-05-26 00:22:54 +00:00
Yamashita, Yuu
97da7c40e7 Merge pull request #608 from yyuu/skip-create-conda-shims-reloaded
Skip creating shims for conda's system executables, more reliably
2016-05-24 23:05:14 +09:00
Yamashita, Yuu
1921dbef18 Skip creating shims for conda's system executables, more reliably (#594, #595) 2016-05-24 01:01:41 +00:00
Yamashita, Yuu
0a73b8f886 Merge pull request #595 from yyuu/anaconda-rehash
Skip creating shims for system executables bundled with Anaconda (#594)
2016-05-19 09:19:06 +09:00
Yamashita, Yuu
4a8947d1a6 Remove which hook for Anaconda in favor of rehash hook 2016-05-19 00:14:22 +00:00
Yamashita, Yuu
e748c14db8 Skip creating shims for system executables bundled with Anaconda (fixes #594, #599)
With this, we'd be able to remove a hook script for `pyenv which`
eventually.
2016-05-19 00:13:37 +00:00
Yamashita, Yuu
cd3103340c Merge pull request #604 from zmwangx/cpython-3.6.0a1
Add CPython 3.6.0a1
2016-05-18 17:40:11 +09:00
Zhiming Wang
4543ff88bc Add CPython 3.6.0a1
https://www.python.org/downloads/release/python-360a1/
2016-05-17 23:14:58 -07:00
Yamashita, Yuu
2017dd0c25 v20160509 2016-05-09 00:45:51 +00:00
Yamashita, Yuu
24d05343f8 PyPy 5.1 binary for linux x86 is built for Ubuntu 12.04 - 14.04 2016-05-09 00:41:50 +00:00
Yamashita, Yuu
aa305d2c3d Add PyPy 5.1.1 (fixes #591) 2016-05-09 00:39:53 +00:00
Yamashita, Yuu
73ca25e49b Merge pull request #593 from Samureus/PyPy-5.1.1-src
Pypy 5.1.1 src
2016-05-09 09:28:02 +09:00
Samuel Villamonte
25184d9fca Added PyPy 5.1.1-src 2016-05-08 13:51:10 -05:00
Samuel Villamonte
d948274305 Merge pull request #1 from Samureus/Portable-PyPy-5.1.1
Added PyPy Portable 5.1.1
2016-05-08 12:59:28 -05:00
Samuel Villamonte
444bb360a8 Added PyPy Portable 5.1.1
Only tested 64-bit
2016-05-08 12:58:36 -05:00
Yamashita, Yuu
d0fae57c4d miniconda3 releases are Python 3 2016-05-06 08:57:23 +00:00
Yamashita, Yuu
37ad781061 Add miniconda2/3 4.0.5 2016-05-06 08:51:43 +00:00
Yamashita, Yuu
a8664a2339 Fixed wrong SHA256 for pypy-5.1-linux_x86_64-portable.tar.bz2 (fixes #586) 2016-05-02 00:18:56 +00:00
Mislav Marohnić
9fdce5d069 Merge pull request #898 from mikelikesbikes/silence-stdout-when-cding
Properly unset CDPATH
2016-04-25 09:56:25 +02:00
Mike Busch
d246e20764 unset CDPATH if it's set by the user 2016-04-22 10:17:40 -05:00
Josh Friend
78b9cee98e v20160422 2016-04-22 08:56:37 -04:00
Josh Friend
f72fc8eabc Add PyPy 5.1 Portable 2016-04-21 18:44:50 -04:00
Josh Friend
180ff6c955 Add PyPy 5.1
Closes #579
2016-04-21 09:09:52 -04:00
Yamashita, Yuu
6a8003d56d I realized that at least miniconda3-3.19.0 contains xz in it.
Basically I'd like to use system pakcage for `xz` command as much as
possible.
2016-04-20 05:51:35 +00:00
Yamashita, Yuu
739392a2e4 Merge pull request #577 from anthrotype/jython-2.7.1b3
Add Jython 2.7.1 beta3
2016-04-15 19:34:41 +09:00
Cosimo Lupo
0a19b2fa02 Add Jython 2.7.1 beta3 2016-04-15 08:53:47 +01:00
Yamashita, Yuu
d594bcadb3 Merge pull request #572 from SNakano/anaconda-4.0.0
Add Anaconda 4.0.0
2016-04-09 13:53:12 +09:00
SNakano
eb6e24cef1 Add Anaconda 4.0.0 2016-04-09 10:42:48 +09:00
Josh Friend
9c12b302eb Add PyPy Portable 5.0.1 2016-03-19 17:45:46 -04:00
Josh Friend
cdf7e6c924 Add PyPy 5.0.1
closes #558
2016-03-19 09:30:37 -04:00
Josh Friend
bd312d652e Add PyPy 5.0 Portable 2016-03-19 09:05:28 -04:00
Yamashita, Yuu
916d0eae8e Merge pull request #556 from jackmaney/master
Fixed date in version
2016-03-12 08:55:41 +09:00
Jack Maney
23364549d7 Merge pull request #1 from jackmaney/jackmaney-fix-date
Fixed version date
2016-03-11 09:35:28 -06:00
Jack Maney
e92a7de031 Fixed version date
`s/2015/2016/`
2016-03-11 09:35:11 -06:00
Josh Friend
8ef30d9e4d v20160310 2016-03-10 20:28:49 -05:00
Yamashita, Yuu
74d5dba06a Fix wrong distro version checks for PyPy binaries 2016-03-11 01:02:01 +00:00
Yamashita, Yuu
6bd7927333 Basically we don't have to run rehash explicitly anymore (fixes #553) 2016-03-11 01:02:01 +00:00
Josh Friend
4684507021 Add PyPy 5.0.0
closes #555
2016-03-10 19:37:50 -05:00
Yamashita, Yuu
12069a1118 Merge pull request #549 from yyuu/rbenv-1.0
rbenv 1.0+
2016-03-04 09:37:56 +09:00
Yamashita, Yuu
30538b0672 Fix broken tests for pyenv---version
I need to use release date versioning at least for now until preparing
custom version comparator for brew's formula.
2016-03-04 00:31:04 +00:00
Yamashita, Yuu
fd893ea3b0 Fix broken test for pyenv-version-name 2016-03-04 00:10:48 +00:00
Yamashita, Yuu
be3fc6d8cb Fix broken pyenv local 2016-03-04 00:00:53 +00:00
Yamashita, Yuu
41ce3aade2 Merge remote-tracking branch 'rbenv/master' into rbenv-1.0 2016-03-02 01:39:52 +00:00
Sam Stephenson
29b4da7737 Adopt Contributor Covenant 1.4 2016-02-19 12:28:40 -06:00
Mislav Marohnić
ad7dfa63ab Merge pull request #870 from davidcelis/patch-1
Update `rbenv init` instructions
2016-02-15 10:23:29 +13:00
David Celis
35ca51fe88 Update rbenv init instructions
The README details `eval`ing `rbenv init -`, but for some shells (such as fish) there's a difference in what should be run. It turns out that `rbenv init` on its own will print correct instructions, so we should point users to running that command instead.
2016-02-14 09:08:00 -08:00
Yamashita, Yuu
a0e0f1637a Just a style issue; use export instead of unset like other variables 2016-02-13 03:49:28 +00:00
Yamashita, Yuu
cd8f61b5e0 Allow overriding aria2c/curl/wget via environment variable (#534) 2016-02-13 02:50:51 +00:00
Yamashita, Yuu
fbc40aae77 Increased verbosity of aria2c downloader (#534) 2016-02-12 07:08:59 +00:00
Yamashita, Yuu
b116f341fe Use aria2c as the download if available (#534) 2016-02-08 12:45:28 +00:00
Mislav Marohnić
d6ab394efd Merge pull request #863 from ErikAGriffin/patch-1
Updated Mac OSX brew install command
2016-02-01 22:48:28 +11:00
Erik Griffn
d29ba1f80e Updated Mac OSX brew install command
It seems rbenv now comes with ruby-build.  I have not investigated fully, but the previously shown command: `brew install rbenv ruby-build` caused issues on my machine.  After uninstalling both and simply running `brew install rbenv` everything worked fine.
2016-02-01 11:17:56 +00:00
Mislav Marohnić
c38833179b Merge pull request #852 from jasonkarns/extract-hook-helper
Extract hook helper
2016-01-04 18:48:10 +01:00
Jason Karns
565798d617 Test IFS handling in version-name/version-origin hooks 2016-01-04 09:14:28 -05:00
Jason Karns
0f7a2cad8d Use create_hook helper
Use extracted create_hook helper in tests for:

- exec
- hooks
- rehash
- version-name
- version-origin
- which
2016-01-04 09:14:25 -05:00
Jason Karns
5ccba5d7cc Extract common create_hook helper 2016-01-04 09:14:04 -05:00
Jason Karns
2cc2ec160e Remove redundant test
Spaces in hook path is tested in test/hooks.bats
2016-01-04 09:13:58 -05:00
Mislav Marohnić
a95ccd09a2 Simplify fallback to global version file 2015-12-29 14:44:32 +01:00
Mislav Marohnić
e199a3d8f7 Merge pull request #850 from jasonkarns/remove-legacy-global-version-file
Remove support for legacy global version files
2015-12-29 14:40:37 +01:00
Mislav Marohnić
fec0f56d0b Merge pull request #849 from jasonkarns/remove-legacy-version-file-handling
Remove all handling/support of .rbenv-version files
2015-12-29 14:34:08 +01:00
Jason Karns
fe809ea90d Remove support for legacy global version files
`default` was made legacy back in 2011 with
5be66da9f4 (the command was renamed from
`rbenv-default` to `rbenv-global`, and so the global file was renamed
from `$RBENV_ROOT/default` to `$RBENV_ROOT/global` (the latter taking
precedence)

`global` was then made legacy about a month later in Sep 2011 when the
preferred filename was changed to `$RBENV_ROOT/version`.
2015-12-28 22:05:00 -05:00
Jason Karns
f880dc6d6f Remove support for legacy version file 2015-12-28 21:34:07 -05:00
Jason Karns
3c9674453f fix local --unset test 2015-12-28 21:33:50 -05:00
Mislav Marohnić
22f4980a21 🔥 deprecated ruby-local-exec
It was useless for a while now. I should have nuked it prior to the
1.0.0 release but I forgot :(
2015-12-25 00:26:46 +01:00
Mislav Marohnić
abbcde665c Fix ToC level
[ci skip]
2015-12-24 20:02:37 +01:00
Mislav Marohnić
c9c9415154 Update ToC 2015-12-24 20:01:36 +01:00
Mislav Marohnić
3997a394d9 rbenv 1.0.0 2015-12-24 19:12:47 +01:00
Mislav Marohnić
e0b85397c8 Point out that it's not necessary to sudo gem install
Closes #532
2015-12-24 19:12:47 +01:00
Mislav Marohnić
e554cd86c3 Strip leading : from RBENV_HOOK_PATH 2015-12-24 19:12:47 +01:00
Mislav Marohnić
38692f97fe vim ignores, the-silver-searcher ignores 2015-12-24 18:18:44 +01:00
Mislav Marohnić
7e5680a0d8 Add configure + make step to installation instructions
This compiles the `realpath` dynamic extension for bash which speeds up
symlink resolution. If the extension doesn't compile due to
cross-platform issues, rbenv will still work normally, although not as fast.
2015-12-24 18:04:17 +01:00
Mislav Marohnić
d51f6d4376 Merge branch 'detect-shell-from-script'
Closes #730
2015-12-24 13:24:54 +01:00
Mislav Marohnić
a9a9636d1e Tweak sanitizing shell name
Handles situation when the output is `/bin/shell- args...`. First strip
away the arguments, then the trailing dash.
2015-12-24 13:23:01 +01:00
Daniel Hahler
32030e2ed9 Fix shell version when invoked from a script
When invoked from a shell script, `$(rbenv init -)` did not get the
shell name correct.
It needs to look at the `args` value from `ps`.

Ref: https://github.com/yyuu/pyenv/issues/373
2015-12-24 13:21:22 +01:00
Mislav Marohnić
f9d8b551dc Add test for detecting shell when rbenv init is called from script
References #730
2015-12-24 13:20:49 +01:00
Mislav Marohnić
2c7960102c Simplify reference to realpath.dylib within rbenv-versions
The `../libexec` dance isn't necessary here. It was only necessary in
main `rbenv` command because that one might have been pointed to
directly via a symlink.
2015-12-24 03:54:32 +01:00
Mislav Marohnić
1a0be6f0ad Improve git --version git revision lookup
It doesn't try to chdir into RBENV_ROOT anymore because that might be
a location of an unrelated rbenv install that might have a different
version than the current one that is installed e.g. via a package
manager such as Homebrew.

Now just tries the repo where the source files (`libexec/*`) are
located, and if that isn't a valid rbenv repo, bail out early.
2015-12-24 03:52:33 +01:00
Mislav Marohnić
6481cbb172 Merge branch 'version-hooks'
Closes #739
2015-12-23 17:42:44 +01:00
Mislav Marohnić
6e30032278 Simplify version-name, version-origin hook tests
No need for helper function that's gonna be used just once.
2015-12-23 17:39:14 +01:00
Mislav Marohnić
4fde4ecbaf Ensure RBENV_VERSION_ORIGIN is not inherited from environment
It's only supposed to be set from `version-origin` hooks, but not
inherited from environment in case it was set.
2015-12-23 17:26:53 +01:00
Mislav Marohnić
40c1d27445 Merge remote-tracking branch 'origin/master' into version-hooks 2015-12-23 17:22:43 +01:00
Jason Karns
97f0499f43 add version-name/version-origin to hooks completion 2015-12-23 17:22:31 +01:00
Jason Karns
c3a5f91ed0 create hook: version-origin
Expose a `version-origin` hook.

It is invoked *before* the traditional `rbenv-version-file` lookup. Because `version-origin` is traditionally run immediately after `version-name`, then any plugin hooks that alter `version-name` would have done so. Thus, running `version-origin` prior to printing the origin gives those plugins a chance to alter the `version-origin` to match.

If any of the hooks set `$RBENV_VERSION_ORIGIN`, then it is used as the return value. Otherwise, the existing logic continues to return "environment variable" or "filename" as appropriate.

This change, in conjunction with the `version-name` hook, makes a clean seam by which plugins can inject their own ruby version setting logic. Using this seam, as opposed to altering `$RBENV_COMMAND_PATH` from the `which` hook, means that the version name and origin are set more reliably and so `version`, `version-name`, `version-origin` and `which` all work as expected. Indeed, even PS1 works now.
2015-12-23 17:22:31 +01:00
Jason Karns
258e4413b1 create hook: version-name
Expose a `version-name` hook.

It is invoked *after* the traditional `RBENV_VERSION` lookup. Which means hook scripts can interrogate `$RBENV_VERSION_FILE` and/or `$RBENV_VERSION` (or use the executables).

The hooks are then run, giving plugins a chance to alter `RBENV_VERSION`. Once the hooks have run, we now have (in `$RBENV_VERSION`) the actual version we want to use (or it's empty which defaults to `system` per normal). Lastly, the same logic remains for checking if the version exists, or trimming the `ruby-` prefix.

Prime example: the ruby-bundler-ruby-version plugin can select a ruby by using the `ruby` directive from the `Gemfile` if a local `.ruby-version` doesn't exist.
2015-12-23 17:22:30 +01:00
Mislav Marohnić
a62a75369e Merge branch 'rbenv-local-respects-ancestry' 2015-12-23 15:30:18 +01:00
Mislav Marohnić
ba072adcb9 Have rbenv local read version from parent directories as well
Fixes #807
2015-12-23 15:21:24 +01:00
Mislav Marohnić
ca25259900 Allow explicit target directory argument to rbenv-version-file
Can be used for `.ruby-version` file lookup in the ancestry of a
specific directory. In this mode of operation, global version files
aren't taken into consideration, and the command fails unless a local
version file was found.
2015-12-23 15:19:54 +01:00
108 changed files with 1463 additions and 616 deletions

2
.agignore Normal file
View File

@@ -0,0 +1,2 @@
./versions
./cache

1
.vimrc Normal file
View File

@@ -0,0 +1 @@
set wildignore+=versions/*,cache/*

View File

@@ -1,5 +1,59 @@
## Version History
## 1.0.0
* pyenv: Import latest changes from rbenv as of Aug 15, 2016 (#669)
* pyenv: Add workaround for system python at `/bin/python` (#628)
* python-build: Import changes from ruby-build v20160602 (#668)
## 20160726
* python-build: pypy-5.3.1: Remove stray text (#648)
* python-build: Add CPython 3.6.0a3 (#657)
* python-build: Add anaconda[23]-4.1.0
* pyenv: Keep using `.tar.gz` archives if tar doesn't support `-J` (especially on BSD) (#654, #663)
* pyenv: Fixed conflict between pyenv-virtualenv's `rehash` hooks of `envs.bash`
* pyenv: Write help message of `sh-*` commands to stdout properly (#650, #651)
## 20160629
* python-build: Added CPython 2.7.12 (#645)
* python-build: Added PyPy 3.5.1 (#646)
* python-build: Added PyPy Portable 5.3.1
## 20160628
* python-build: Added PyPy3.3 5.2-alpha1 (#631)
* python-build: Added CPython 2.7.12rc1
* python-build: Added CPython 3.6.0a2 (#630)
* python-build: Added CPython 3.5.2 (#643)
* python-build: Added CPython 3.4.5 (#643)
* python-build: Added PyPy2 5.3 (#626)
* pyenv: Skip creating shims for system executables bundled with Anaconda rather than ignoring them in `pyenv-which` (#594, #595, #599)
* python-build: Configured GCC as a requirement to build CPython prior to 2.4.4 (#613)
* python-build: Use `aria2c` - ultra fast download utility if available (#534)
## 20160509
* python-build: Fixed wrong SHA256 of `pypy-5.1-linux_x86_64-portable.tar.bz2` (#586, #587)
* python-build: Added miniconda[23]-4.0.5
* python-build: Added PyPy (Portable) 5.1.1 (#591, #592, #593)
## 20160422
* python-build: Added PyPy 5.1 (#579)
* python-build: Added PyPy 5.1 Portable
* python-build: Added PyPy 5.0.1 (#558)
* python-build: Added PyPy 5.0.1 Portable
* python-build: Added PyPy 5.0 Portable
* python-build: Added anaconda[23]-4.0.0 (#572)
* python-build: Added Jython 2.7.1b3 (#557)
## 20160310
* python-build: Add PyPy-5.0.0 (#555)
* pyenv: Import recent changes from rbenv 1.0 (#549)
## 20160303
* python-build: Add anaconda[23]-2.5.0 (#543)

80
CONDUCT.md Normal file
View File

@@ -0,0 +1,80 @@
# Contributor Covenant Code of Conduct
## Our Pledge
In the interest of fostering an open and welcoming environment, we as
contributors and maintainers pledge to making participation in our project and
our community a harassment-free experience for everyone, regardless of age, body
size, disability, ethnicity, gender identity and expression, level of experience,
nationality, personal appearance, race, religion, or sexual identity and
orientation.
## Our Standards
Examples of behavior that contributes to creating a positive environment
include:
* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members
Examples of unacceptable behavior by participants include:
* The use of sexualized language or imagery and unwelcome sexual attention or
advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic
address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting
## Our Responsibilities
Project maintainers are responsible for clarifying the standards of acceptable
behavior and are expected to take appropriate and fair corrective action in
response to any instances of unacceptable behavior.
Project maintainers have the right and responsibility to remove, edit, or
reject comments, commits, code, wiki edits, issues, and other contributions
that are not aligned to this Code of Conduct, or to ban temporarily or
permanently any contributor for other behaviors that they deem inappropriate,
threatening, offensive, or harmful.
## Scope
This Code of Conduct applies both within project spaces and in public spaces
when an individual is representing the project or its community. Examples of
representing a project or community include using an official project e-mail
address, posting via an official social media account, or acting as an appointed
representative at an online or offline event. Representation of a project may be
further defined and clarified by project maintainers.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported by contacting one of the project maintainers listed below. All
complaints will be reviewed and investigated and will result in a response that
is deemed necessary and appropriate to the circumstances. The project team is
obligated to maintain confidentiality with regard to the reporter of an incident.
Further details of specific enforcement policies may be posted separately.
Project maintainers who do not follow or enforce the Code of Conduct in good
faith may face temporary or permanent repercussions as determined by other
members of the project's leadership.
## Project Maintainers
* Sam Stephenson <<sstephenson@gmail.com>>
* Mislav Marohnić <<mislav.marohnic@gmail.com>>
* Erik Michaels-Ober <<sferik@gmail.com>>
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
available at [http://contributor-covenant.org/version/1/4][version]
[homepage]: http://contributor-covenant.org
[version]: http://contributor-covenant.org/version/1/4/

View File

@@ -225,16 +225,6 @@ easy to fork and contribute any changes back upstream.
please visit the wiki page about
[Common Build Problems](https://github.com/yyuu/pyenv/wiki/Common-build-problems)
6. **Rebuild the shim binaries.**
You should do this any time you install a new Python binary.
(Examples: installing a new Python version, or installing a package that provides a binary.)
$ pyenv rehash
This can be automated for pip using
[pyenv-pip-rehash](https://github.com/yyuu/pyenv-pip-rehash), which invokes
`pyenv rehash` after (un)installing packages using pip.
#### Upgrading

View File

@@ -1,23 +0,0 @@
#!/usr/bin/env bash
#
# `python-local-exec` is a drop-in replacement for the standard Python
# shebang line:
#
# #!/usr/bin/env python-local-exec
#
# Use it for scripts inside a project with an `.pyenv-version`
# file. When you run the scripts, they'll use the project-specified
# Python version, regardless of what directory they're run from. Useful
# for e.g. running project tasks in cron scripts without needing to
# `cd` into the project first.
set -e
export PYENV_DIR="${1%/*}"
[ -n "$PYENV_SILENCE_WARNINGS" ] || {
echo "pyenv: \`python-local-exec' is deprecated and will be removed in the next release."
echo " To upgrade: https://github.com/yyuu/pyenv/wiki/python-local-exec"
echo
} >&2
exec python "$@"

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env bash
set -e
export -n CDPATH
unset CDPATH
if [ "$1" = "--debug" ]; then
export PYENV_DEBUG=1
@@ -97,6 +97,7 @@ PYENV_HOOK_PATH="${PYENV_HOOK_PATH}:/usr/local/etc/pyenv.d:/etc/pyenv.d:/usr/lib
for plugin_hook in "${PYENV_ROOT}/plugins/"*/etc/pyenv.d; do
PYENV_HOOK_PATH="${PYENV_HOOK_PATH}:${plugin_hook}"
done
PYENV_HOOK_PATH="${PYENV_HOOK_PATH#:}"
export PYENV_HOOK_PATH
shopt -u nullglob
@@ -121,7 +122,11 @@ case "$command" in
shift 1
if [ "$1" = --help ]; then
exec pyenv-help "$command"
if [[ "$command" == "sh-"* ]]; then
echo "pyenv help \"$command\""
else
exec pyenv-help "$command"
fi
else
exec "$command_path" "$@"
fi

View File

@@ -12,15 +12,12 @@
set -e
[ -n "$PYENV_DEBUG" ] && set -x
version="20160303"
version="1.0.0"
git_revision=""
for source_dir in "${BASH_SOURCE%/*}" "$PYENV_ROOT"; do
if cd "$source_dir" 2>/dev/null && git remote -v 2>/dev/null | grep -q pyenv; then
git_revision="$(git describe --tags HEAD 2>/dev/null || true)"
git_revision="${git_revision#v}"
[ -z "$git_revision" ] || break
fi
done
if cd "${BASH_SOURCE%/*}" 2>/dev/null && git remote -v 2>/dev/null | grep -q pyenv; then
git_revision="$(git describe --tags HEAD 2>/dev/null || true)"
git_revision="${git_revision#v}"
fi
echo "pyenv ${git_revision:-$version}"

View File

@@ -9,6 +9,8 @@ set -e
if [ "$1" = "--complete" ]; then
echo exec
echo rehash
echo version-name
echo version-origin
echo which
exit
fi

View File

@@ -33,9 +33,9 @@ done
shell="$1"
if [ -z "$shell" ]; then
shell="$(ps c -p "$PPID" -o 'ucomm=' 2>/dev/null || true)"
shell="${shell##-}"
shell="$(ps -p "$PPID" -o 'args=' 2>/dev/null || true)"
shell="${shell%% *}"
shell="${shell##-}"
shell="${shell:-$SHELL}"
shell="${shell##*/}"
fi
@@ -70,7 +70,7 @@ if [ -z "$print" ]; then
echo
case "$shell" in
fish )
echo 'status --is-interactive; and . (pyenv init -|psub)'
echo 'status --is-interactive; and source (pyenv init -|psub)'
;;
* )
echo 'eval "$(pyenv init -)"'

View File

@@ -15,10 +15,6 @@
# `PYENV_VERSION' environment variable takes precedence over local
# and global versions.
#
# For backwards compatibility, pyenv will also read version
# specifications from `.pyenv-version' files, but a `.python-version'
# file in the same directory takes precedence.
#
# <version> should be a string matching a Python version known to pyenv.
# The special version string `system' will use your default system Python.
# Run `pyenv versions' for a list of available Python versions.
@@ -36,27 +32,17 @@ fi
versions=("$@")
if [ "$versions" = "--unset" ]; then
rm -f .python-version .pyenv-version
rm -f .python-version
elif [ -n "$versions" ]; then
previous_file="$(PYENV_VERSION= pyenv-version-origin || true)"
pyenv-version-file-write .python-version "${versions[@]}"
if [ "$previous_file" -ef .pyenv-version ]; then
rm -f .pyenv-version
{ echo "pyenv: removed existing \`.pyenv-version' file and migrated"
echo " local version specification to \`.python-version' file"
} >&2
fi
else
OLDIFS="$IFS"
IFS=: versions=($(
pyenv-version-file-read .python-version ||
pyenv-version-file-read .pyenv-version ||
{ echo "pyenv: no local version configured for this directory"
exit 1
} >&2
))
IFS="$OLDIFS"
for version in "${versions[@]}"; do
echo "$version"
done
if version_file="$(pyenv-version-file "$PWD")"; then
IFS=: versions=($(pyenv-version-file-read "$version_file"))
for version in "${versions[@]}"; do
echo "$version"
done
else
echo "pyenv: no local version configured for this directory" >&2
exit 1
fi
fi

View File

@@ -32,6 +32,7 @@ OLDIFS="$IFS"
if [ "$version" = "system" ]; then
if PYTHON_PATH="$(PYENV_VERSION="${version}" pyenv-which python 2>/dev/null)"; then
PYENV_PREFIX_PATH="${PYTHON_PATH%/bin/*}"
PYENV_PREFIX_PATH="${PYENV_PREFIX_PATH:-/}"
else
echo "pyenv: system version not found in PATH" >&2
exit 1

View File

@@ -1,35 +1,28 @@
#!/usr/bin/env bash
# Usage: pyenv version-file [<dir>]
# Summary: Detect the file that sets the current pyenv version
set -e
[ -n "$PYENV_DEBUG" ] && set -x
target_dir="$1"
find_local_version_file() {
local root="$1"
while true; do
[[ "$root" =~ ^//[^/]*$ ]] && break
while ! [[ "$root" =~ ^//[^/]*$ ]]; do
if [ -e "${root}/.python-version" ]; then
echo "${root}/.python-version"
exit
elif [ -e "${root}/.pyenv-version" ]; then
echo "${root}/.pyenv-version"
exit
return 0
fi
[ -n "$root" ] || break
root="${root%/*}"
done
return 1
}
find_local_version_file "$PYENV_DIR"
[ "$PYENV_DIR" = "$PWD" ] || find_local_version_file "$PWD"
global_version_file="${PYENV_ROOT}/version"
if [ -e "$global_version_file" ]; then
echo "$global_version_file"
elif [ -e "${PYENV_ROOT}/global" ]; then
echo "${PYENV_ROOT}/global"
elif [ -e "${PYENV_ROOT}/default" ]; then
echo "${PYENV_ROOT}/default"
if [ -n "$target_dir" ]; then
find_local_version_file "$target_dir"
else
echo "$global_version_file"
find_local_version_file "$PYENV_DIR" || {
[ "$PYENV_DIR" != "$PWD" ] && find_local_version_file "$PWD"
} || echo "${PYENV_ROOT}/version"
fi

View File

@@ -8,6 +8,13 @@ if [ -z "$PYENV_VERSION" ]; then
PYENV_VERSION="$(pyenv-version-file-read "$PYENV_VERSION_FILE" || true)"
fi
OLDIFS="$IFS"
IFS=$'\n' scripts=(`pyenv-hooks version-name`)
IFS="$OLDIFS"
for script in "${scripts[@]}"; do
source "$script"
done
if [ -z "$PYENV_VERSION" ] || [ "$PYENV_VERSION" = "system" ]; then
echo "system"
exit

View File

@@ -3,7 +3,18 @@
set -e
[ -n "$PYENV_DEBUG" ] && set -x
if [ -n "$PYENV_VERSION" ]; then
unset PYENV_VERSION_ORIGIN
OLDIFS="$IFS"
IFS=$'\n' scripts=(`pyenv-hooks version-origin`)
IFS="$OLDIFS"
for script in "${scripts[@]}"; do
source "$script"
done
if [ -n "$PYENV_VERSION_ORIGIN" ]; then
echo "$PYENV_VERSION_ORIGIN"
elif [ -n "$PYENV_VERSION" ]; then
echo "PYENV_VERSION environment variable"
else
pyenv-version-file

View File

@@ -27,7 +27,7 @@ done
versions_dir="${PYENV_ROOT}/versions"
if ! enable -f "${BASH_SOURCE%/*}"/../libexec/pyenv-realpath.dylib realpath 2>/dev/null; then
if ! enable -f "${BASH_SOURCE%/*}"/pyenv-realpath.dylib realpath 2>/dev/null; then
if [ -n "$PYENV_NATIVE_EXT" ]; then
echo "pyenv: failed to load \`realpath' builtin" >&2
exit 1

View File

@@ -59,9 +59,6 @@ done
if [ -x "$PYENV_COMMAND_PATH" ]; then
echo "$PYENV_COMMAND_PATH"
elif [ "$PYENV_VERSION" != "system" ] && [ ! -d "${PYENV_ROOT}/versions/${PYENV_VERSION}" ]; then
echo "pyenv: version \`$PYENV_VERSION' is not installed (set by $(pyenv-version-origin))" >&2
exit 1
else
any_not_installed=0
for version in "${versions[@]}"; do
@@ -69,7 +66,7 @@ else
continue
fi
if ! [ -d "${PYENV_ROOT}/versions/${version}" ]; then
echo "pyenv: version \`$version' is not installed" >&2
echo "pyenv: version \`$version' is not installed (set by $(pyenv-version-origin))" >&2
any_not_installed=1
fi
done

View File

@@ -14,7 +14,7 @@
# -g/--debug Build a debug version
#
PYTHON_BUILD_VERSION="20160130"
PYTHON_BUILD_VERSION="20160602"
OLDIFS="$IFS"
@@ -323,42 +323,45 @@ http() {
local file="$3"
[ -n "$url" ] || return 1
if type curl &>/dev/null; then
if type aria2c &>/dev/null; then
"http_${method}_aria2c" "$url" "$file"
elif type curl &>/dev/null; then
"http_${method}_curl" "$url" "$file"
elif type wget &>/dev/null; then
"http_${method}_wget" "$url" "$file"
else
echo "error: please install \`curl\` or \`wget\` and try again" >&2
echo "error: please install \`aria2c\`, \`curl\` or \`wget\` and try again" >&2
exit 1
fi
}
http_head_aria2c() {
aria2c --dry-run --no-conf=true ${ARIA2_OPTS} "$1" >&4 2>&1
}
http_get_aria2c() {
local out="${2:-$(mktemp "out.XXXXXX")}"
if aria2c --allow-overwrite=true --no-conf=true -o "${out}" ${ARIA2_OPTS} "$1" >&4; then
[ -n "$2" ] || cat "${out}"
else
false
fi
}
http_head_curl() {
options=""
[ -n "${IPV4}" ] && options="--ipv4"
[ -n "${IPV6}" ] && options="--ipv6"
curl -qsILf ${options} "$1" >&4 2>&1
curl -qsILf ${CURL_OPTS} "$1" >&4 2>&1
}
http_get_curl() {
options=""
[ -n "${IPV4}" ] && options="--ipv4"
[ -n "${IPV6}" ] && options="--ipv6"
curl -q -o "${2:--}" -sSLf ${options} "$1"
curl -q -o "${2:--}" -sSLf ${CURL_OPTS} "$1"
}
http_head_wget() {
options=""
[ -n "${IPV4}" ] && options="--inet4-only"
[ -n "${IPV6}" ] && options="--inet6-only"
wget -q --spider ${options} "$1" >&4 2>&1
wget -q --spider ${WGET_OPTS} "$1" >&4 2>&1
}
http_get_wget() {
options=""
[ -n "${IPV4}" ] && options="--inet4-only"
[ -n "${IPV6}" ] && options="--inet6-only"
wget -nv ${options} -O "${2:--}" "$1"
wget -nv ${WGET_OPTS} -O "${2:--}" "$1"
}
fetch_tarball() {
@@ -470,6 +473,10 @@ download_tarball() {
fi
}
has_tar_xz_support() {
tar Jc /dev/null 1>/dev/null 2>&1
}
fetch_git() {
local package_name="$1"
local git_url="$2"
@@ -682,6 +689,26 @@ package_option() {
eval "$variable=( \"\${value[@]}\" )"
}
build_package_warn_eol() {
local package_name="$1"
{ echo
echo "WARNING: $package_name is past its end of life and is now unsupported."
echo "It no longer receives bug fixes or critical security updates."
echo
} >&3
}
build_package_warn_unsupported() {
local package_name="$1"
{ echo
echo "WARNING: $package_name is nearing its end of life."
echo "It only receives critical security updates, no bug fixes."
echo
} >&3
}
build_package_standard() {
local package_name="$1"
@@ -1439,38 +1466,48 @@ apply_python_patch() {
esac
}
verify_python() {
build_package_symlink_version_suffix() {
if [[ "$PYTHON_CONFIGURE_OPTS" == *"--enable-framework"* ]]; then
if [ -e "${PREFIX_PATH}/bin" ]; then
# Always create `bin` as symlink to framework path if the version was built with `--enable-frameowrk` (#590)
mv -f "${PREFIX_PATH}/bin" "${PREFIX_PATH}/bin.orig"
fi
# Only symlinks are installed in ${PREFIX_PATH}/bin
rm -fr "${PREFIX_PATH}/bin"
ln -fs "${PREFIX_PATH}/Python.framework/Versions/Current/bin" "${PREFIX_PATH}/bin"
fi
# Not create symlinks on `altinstall` (#255)
if [[ "$PYTHON_MAKE_INSTALL_TARGET" != *"altinstall"* ]]; then
local suffix="${1#python}"
local file link
shopt -s nullglob
for file in "${PREFIX_PATH}/bin"/*; do
unset link
case "${file}" in
*/"python${suffix}-config" )
# Symlink `pythonX.Y-config` to `python-config` if `python-config` is missing (#296)
link="${file%/*}/python-config"
;;
*/*"-${suffix}" )
link="${file%%-${suffix}}"
;;
*/*"${suffix}" )
link="${file%%${suffix}}"
;;
esac
if [ -n "$link" ] && [ ! -e "$link" ]; then
( cd "${file%/*}" && ln -fs "${file##*/}" "${link##*/}" )
fi
done
local version_bin="$(ls -1 "${PREFIX_PATH}/bin/python"* | grep '[0-9]$' | sort | tail -1)"
suffix="$(basename "${version_bin}" | sed -e 's/^python//')"
if [ -n "${suffix}" ]; then
local file link
for file in "${PREFIX_PATH}/bin"/*; do
unset link
case "${file}" in
*/"python${suffix}-config" )
# Symlink `pythonX.Y-config` to `python-config` if `python-config` is missing (#296)
link="${file%/*}/python-config"
;;
*/*"-${suffix}" )
link="${file%%-${suffix}}"
;;
*/*"${suffix}" )
link="${file%%${suffix}}"
;;
esac
if [ -n "$link" ] && [ ! -e "$link" ]; then
( cd "${file%/*}" && ln -fs "${file##*/}" "${link##*/}" )
fi
done
fi
shopt -u nullglob
fi
}
verify_python() {
build_package_symlink_version_suffix
if [ ! -x "${PYTHON_BIN}" ]; then
{ colorize 1 "ERROR"
@@ -1605,7 +1642,7 @@ build_package_verify_py36() {
}
build_package_ez_setup() {
local ez_setup="${BUILD_PATH}/ez_setup.py"
local ez_setup="ez_setup.py"
rm -f "${ez_setup}"
{ if [ "${EZ_SETUP+defined}" ] && [ -f "${EZ_SETUP}" ]; then
echo "Installing setuptools from ${EZ_SETUP}..." 1>&2
@@ -1620,10 +1657,11 @@ build_package_ez_setup() {
echo "error: failed to install setuptools via ez_setup.py" >&2
return 1
}
build_package_symlink_version_suffix
}
build_package_get_pip() {
local get_pip="${BUILD_PATH}/get-pip.py"
local get_pip="get-pip.py"
rm -f "${get_pip}"
{ if [ "${GET_PIP+defined}" ] && [ -f "${GET_PIP}" ]; then
echo "Installing pip from ${GET_PIP}..." 1>&2
@@ -1638,6 +1676,7 @@ build_package_get_pip() {
echo "error: failed to install pip via get-pip.py" >&2
return 1
}
build_package_symlink_version_suffix
}
build_package_ensurepip() {
@@ -1648,6 +1687,7 @@ build_package_ensurepip() {
fi
# FIXME: `--altinstall` with `get-pip.py`
"$PYTHON_BIN" -s -m ensurepip ${ensurepip_opts} 1>/dev/null 2>&1 || build_package_get_pip "$@" || return 1
build_package_symlink_version_suffix
}
version() {
@@ -1791,8 +1831,16 @@ fi
#fi
if [ -z "$MAKE" ]; then
if [ "FreeBSD" = "$(uname -s)" ] && [ "$(uname -r | sed 's/[^[:digit:]].*//')" -lt 10 ]; then
export MAKE="gmake"
if [ "FreeBSD" = "$(uname -s)" ]; then
# if [ $(echo $1 | sed 's/-.*$//') = "jruby" ]; then
# export MAKE="gmake"
# else
if [ "$(uname -r | sed 's/[^[:digit:]].*//')" -lt 10 ]; then
export MAKE="gmake"
else
export MAKE="make"
fi
# fi
else
export MAKE="make"
fi
@@ -1816,6 +1864,10 @@ if [ -n "$PYTHON_BUILD_SKIP_MIRROR" ] || ! has_checksum_support compute_sha2; th
unset PYTHON_BUILD_MIRROR_URL
fi
ARIA2_OPTS="${PYTHON_BUILD_ARIA2_OPTS} ${IPV4+--disable-ipv6=true} ${IPV6+--disable-ipv6=false}"
CURL_OPTS="${PYTHON_BUILD_CURL_OPTS} ${IPV4+--ipv4} ${IPV6+--ipv6}"
WGET_OPTS="${PYTHON_BUILD_WGET_OPTS} ${IPV4+--inet4-only} ${IPV6+--inet6-only}"
# Add an option to build a debug version of Python (#11)
if [ -n "$DEBUG" ]; then
package_option python configure --with-pydebug

View File

@@ -1,5 +1,5 @@
#require_gcc
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
require_gcc
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#79a696070a058c233c72dd6ac697021cc64abd5ed51e59db867d66d196a89381" standard --if has_broken_mac_readline
install_package "Python-2.1.3" "http://www.python.org/ftp/python/2.1.3/Python-2.1.3.tgz#1bcb5bb587948bc38f36db60e15c376009c56c66570e563a08a82bf7f227afb9" ldflags_dirs standard verify_py21
#install_package "setuptools-1.4.2" "https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz#13951be6711438073fbe50843e7f141f" python
#install_package "pip-1.1" "https://pypi.python.org/packages/source/p/pip/pip-1.1.tar.gz#62a9f08dd5dc69d76734568a6c040508" python
#install_package "setuptools-1.4.2" "https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz#263986a60a83aba790a5bffc7d009ac88114ba4e908e5c90e453b3bf2155dbbd" python
#install_package "pip-1.1" "https://pypi.python.org/packages/source/p/pip/pip-1.1.tar.gz#993804bb947d18508acee02141281c77d27677f8c14eaa64d6287a1c53ef01c8" python

View File

@@ -1,5 +1,5 @@
#require_gcc
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
require_gcc
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#79a696070a058c233c72dd6ac697021cc64abd5ed51e59db867d66d196a89381" standard --if has_broken_mac_readline
install_package "Python-2.2.3" "http://www.python.org/ftp/python/2.2.3/Python-2.2.3.tgz#a8f92e6b89d47359fff0d1fbfe47f104afc77fd1cd5143e7332758b7bc100188" ldflags_dirs standard verify_py22
#install_package "setuptools-1.4.2" "https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz#13951be6711438073fbe50843e7f141f" python
#install_package "pip-1.1" "https://pypi.python.org/packages/source/p/pip/pip-1.1.tar.gz#62a9f08dd5dc69d76734568a6c040508" python
#install_package "setuptools-1.4.2" "https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz#263986a60a83aba790a5bffc7d009ac88114ba4e908e5c90e453b3bf2155dbbd" python
#install_package "pip-1.1" "https://pypi.python.org/packages/source/p/pip/pip-1.1.tar.gz#993804bb947d18508acee02141281c77d27677f8c14eaa64d6287a1c53ef01c8" python

View File

@@ -1,5 +1,5 @@
#require_gcc
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
require_gcc
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#79a696070a058c233c72dd6ac697021cc64abd5ed51e59db867d66d196a89381" standard --if has_broken_mac_readline
install_package "Python-2.3.7" "http://www.python.org/ftp/python/2.3.7/Python-2.3.7.tgz#969a9891dce9f50b13e54f9890acaf2be66715a5895bf9b11111f320c205b90e" ldflags_dirs standard verify_py23
#install_package "setuptools-1.4.2" "https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz#13951be6711438073fbe50843e7f141f" python
#install_package "pip-1.1" "https://pypi.python.org/packages/source/p/pip/pip-1.1.tar.gz#62a9f08dd5dc69d76734568a6c040508" python
#install_package "setuptools-1.4.2" "https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz#263986a60a83aba790a5bffc7d009ac88114ba4e908e5c90e453b3bf2155dbbd" python
#install_package "pip-1.1" "https://pypi.python.org/packages/source/p/pip/pip-1.1.tar.gz#993804bb947d18508acee02141281c77d27677f8c14eaa64d6287a1c53ef01c8" python

View File

@@ -1,4 +1,4 @@
#require_gcc
require_gcc
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
install_package "Python-2.4" "http://www.python.org/ftp/python/2.4/Python-2.4.tgz#ff746de0fae8691c082414b42a2bb172da8797e6e8ff66c9a39d2e452f7034e9" ldflags_dirs standard verify_py24
install_package "setuptools-1.4.2" "https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz#263986a60a83aba790a5bffc7d009ac88114ba4e908e5c90e453b3bf2155dbbd" python

View File

@@ -1,4 +1,4 @@
#require_gcc
require_gcc
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
install_package "Python-2.4.1" "http://www.python.org/ftp/python/2.4.1/Python-2.4.1.tgz#f449c3b167389324c525ad99d02376c518ac11e163dbbbc13bc88a5c7101fd00" ldflags_dirs standard verify_py24
install_package "setuptools-1.4.2" "https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz#263986a60a83aba790a5bffc7d009ac88114ba4e908e5c90e453b3bf2155dbbd" python

View File

@@ -1,4 +1,4 @@
#require_gcc
require_gcc
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
install_package "Python-2.4.2" "http://www.python.org/ftp/python/2.4.2/Python-2.4.2.tgz#2653e1846e87fd9b3ee287fefc965c80c54646548b4913a22265b0dd54493adf" ldflags_dirs standard verify_py24
install_package "setuptools-1.4.2" "https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz#263986a60a83aba790a5bffc7d009ac88114ba4e908e5c90e453b3bf2155dbbd" python

View File

@@ -1,4 +1,4 @@
#require_gcc
require_gcc
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
install_package "Python-2.4.3" "http://www.python.org/ftp/python/2.4.3/Python-2.4.3.tgz#985a413932f5e31e6280b37da6b285a3a0b2748c6786643989ed9b23de97e2d5" ldflags_dirs standard verify_py24
install_package "setuptools-1.4.2" "https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz#263986a60a83aba790a5bffc7d009ac88114ba4e908e5c90e453b3bf2155dbbd" python

View File

@@ -1,4 +1,4 @@
#require_gcc
require_gcc
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
install_package "Python-2.4.4" "http://www.python.org/ftp/python/2.4.4/Python-2.4.4.tgz#92be6e20cbc3111d9dd0c016d72ef7914c23b879dc52df7ba28df97afbf12e2e" ldflags_dirs standard verify_py24
install_package "setuptools-1.4.2" "https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz#263986a60a83aba790a5bffc7d009ac88114ba4e908e5c90e453b3bf2155dbbd" python

View File

@@ -1,4 +1,4 @@
#require_gcc
require_gcc
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
install_package "Python-2.4.5" "http://www.python.org/ftp/python/2.4.5/Python-2.4.5.tgz#6ae6f67a388a7f70ed3a20eebab5aae995ee433089d1f1724095c62f4b7389a1" ldflags_dirs standard verify_py24
install_package "setuptools-1.4.2" "https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz#263986a60a83aba790a5bffc7d009ac88114ba4e908e5c90e453b3bf2155dbbd" python

View File

@@ -1,4 +1,4 @@
#require_gcc
require_gcc
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
install_package "Python-2.4.6" "http://www.python.org/ftp/python/2.4.6/Python-2.4.6.tgz#b03f269e826927f05c966cf4f4414f3c93ee2314960859e7f8375e24e82f8b02" ldflags_dirs standard verify_py24
install_package "setuptools-1.4.2" "https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz#263986a60a83aba790a5bffc7d009ac88114ba4e908e5c90e453b3bf2155dbbd" python

View File

@@ -1,4 +1,8 @@
#require_gcc
install_package "openssl-1.0.2g" "https://www.openssl.org/source/openssl-1.0.2g.tar.gz#b784b1b3907ce39abf4098702dade6365522a253ad1552e267a9a0e89594aa33" mac_openssl --if has_broken_mac_openssl
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
install_package "Python-2.7.10" "https://www.python.org/ftp/python/2.7.10/Python-2.7.10.tgz#eda8ce6eec03e74991abb5384170e7c65fcd7522e409b8e83d7e6372add0f12a" ldflags_dirs standard verify_py27 ensurepip
if has_tar_xz_support; then
install_package "Python-2.7.10" "https://www.python.org/ftp/python/2.7.10/Python-2.7.10.tar.xz#1cd3730781b91caf0fa1c4d472dc29274186480161a150294c42ce9b5c5effc0" ldflags_dirs standard verify_py27 ensurepip
else
install_package "Python-2.7.10" "https://www.python.org/ftp/python/2.7.10/Python-2.7.10.tgz#eda8ce6eec03e74991abb5384170e7c65fcd7522e409b8e83d7e6372add0f12a" ldflags_dirs standard verify_py27 ensurepip
fi

View File

@@ -1,4 +1,8 @@
#require_gcc
install_package "openssl-1.0.2g" "https://www.openssl.org/source/openssl-1.0.2g.tar.gz#b784b1b3907ce39abf4098702dade6365522a253ad1552e267a9a0e89594aa33" mac_openssl --if has_broken_mac_openssl
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
install_package "Python-2.7.11" "https://www.python.org/ftp/python/2.7.11/Python-2.7.11.tgz#82929b96fd6afc8da838b149107078c02fa1744b7e60999a8babbc0d3fa86fc6" ldflags_dirs standard verify_py27 ensurepip
if has_tar_xz_support; then
install_package "Python-2.7.11" "https://www.python.org/ftp/python/2.7.11/Python-2.7.11.tar.xz#962b4c45af50124ea61f11a30deb4342fc0bc21126790fa1d7f6c79809413f46" ldflags_dirs standard verify_py27 ensurepip
else
install_package "Python-2.7.11" "https://www.python.org/ftp/python/2.7.11/Python-2.7.11.tgz#82929b96fd6afc8da838b149107078c02fa1744b7e60999a8babbc0d3fa86fc6" ldflags_dirs standard verify_py27 ensurepip
fi

View File

@@ -0,0 +1,8 @@
#require_gcc
install_package "openssl-1.0.2g" "https://www.openssl.org/source/openssl-1.0.2g.tar.gz#b784b1b3907ce39abf4098702dade6365522a253ad1552e267a9a0e89594aa33" mac_openssl --if has_broken_mac_openssl
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
if has_tar_xz_support; then
install_package "Python-2.7.12" "https://www.python.org/ftp/python/2.7.12/Python-2.7.12.tar.xz#d7837121dd5652a05fef807c361909d255d173280c4e1a4ded94d73d80a1f978" ldflags_dirs standard verify_py27 ensurepip
else
install_package "Python-2.7.12" "https://www.python.org/ftp/python/2.7.12/Python-2.7.12.tgz#3cb522d17463dfa69a155ab18cffa399b358c966c0363d6c8b5b3bf1384da4b6" ldflags_dirs standard verify_py27 ensurepip
fi

View File

@@ -1,4 +1,8 @@
#require_gcc
install_package "openssl-1.0.2g" "https://www.openssl.org/source/openssl-1.0.2g.tar.gz#b784b1b3907ce39abf4098702dade6365522a253ad1552e267a9a0e89594aa33" mac_openssl --if has_broken_mac_openssl
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
install_package "Python-2.7.7" "https://www.python.org/ftp/python/2.7.7/Python-2.7.7.tgz#7f49c0a6705ad89d925181e27d0aaa025ee4731ce0de64776c722216c3e66c42" ldflags_dirs standard verify_py27 ensurepip
if has_tar_xz_support; then
install_package "Python-2.7.7" "https://www.python.org/ftp/python/2.7.7/Python-2.7.7.tar.xz#2983e3cd089b30c50e2b2234f07c2ac4fb8a5df230ab8f2e1133a1d8b208da78" ldflags_dirs standard verify_py27 ensurepip
else
install_package "Python-2.7.7" "https://www.python.org/ftp/python/2.7.7/Python-2.7.7.tgz#7f49c0a6705ad89d925181e27d0aaa025ee4731ce0de64776c722216c3e66c42" ldflags_dirs standard verify_py27 ensurepip
fi

View File

@@ -1,4 +1,8 @@
#require_gcc
install_package "openssl-1.0.2g" "https://www.openssl.org/source/openssl-1.0.2g.tar.gz#b784b1b3907ce39abf4098702dade6365522a253ad1552e267a9a0e89594aa33" mac_openssl --if has_broken_mac_openssl
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
install_package "Python-2.7.8" "https://www.python.org/ftp/python/2.7.8/Python-2.7.8.tgz#74d70b914da4487aa1d97222b29e9554d042f825f26cb2b93abd20fdda56b557" ldflags_dirs standard verify_py27 ensurepip
if has_tar_xz_support; then
install_package "Python-2.7.8" "https://www.python.org/ftp/python/2.7.8/Python-2.7.8.tar.xz#edde10a0cb7d14e2735e682882d5b287028d1485c456758154c19573db68075a" ldflags_dirs standard verify_py27 ensurepip
else
install_package "Python-2.7.8" "https://www.python.org/ftp/python/2.7.8/Python-2.7.8.tgz#74d70b914da4487aa1d97222b29e9554d042f825f26cb2b93abd20fdda56b557" ldflags_dirs standard verify_py27 ensurepip
fi

View File

@@ -1,4 +1,8 @@
#require_gcc
install_package "openssl-1.0.2g" "https://www.openssl.org/source/openssl-1.0.2g.tar.gz#b784b1b3907ce39abf4098702dade6365522a253ad1552e267a9a0e89594aa33" mac_openssl --if has_broken_mac_openssl
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
install_package "Python-2.7.9" "https://www.python.org/ftp/python/2.7.9/Python-2.7.9.tgz#c8bba33e66ac3201dabdc556f0ea7cfe6ac11946ec32d357c4c6f9b018c12c5b" ldflags_dirs standard verify_py27 ensurepip
if has_tar_xz_support; then
install_package "Python-2.7.9" "https://www.python.org/ftp/python/2.7.9/Python-2.7.9.tar.xz#90d27e14ea7e03570026850e2e50ba71ad20b7eb31035aada1cf3def8f8d4916" ldflags_dirs standard verify_py27 ensurepip
else
install_package "Python-2.7.9" "https://www.python.org/ftp/python/2.7.9/Python-2.7.9.tgz#c8bba33e66ac3201dabdc556f0ea7cfe6ac11946ec32d357c4c6f9b018c12c5b" ldflags_dirs standard verify_py27 ensurepip
fi

View File

@@ -1,6 +1,10 @@
#require_gcc
install_package "openssl-1.0.2g" "https://www.openssl.org/source/openssl-1.0.2g.tar.gz#b784b1b3907ce39abf4098702dade6365522a253ad1552e267a9a0e89594aa33" mac_openssl --if has_broken_mac_openssl
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
install_package "Python-3.2.6" "https://www.python.org/ftp/python/3.2.6/Python-3.2.6.tgz#fc1e41296e29d476f696303acae293ae7a2310f0f9d0d637905e722a3f16163e" ldflags_dirs standard verify_py32
if has_tar_xz_support; then
install_package "Python-3.2.6" "https://www.python.org/ftp/python/3.2.6/Python-3.2.6.tar.xz#1d12b501819fd26afafbf8459be1aa279b56f032b4c15412de0a713ce0de7bdc" ldflags_dirs standard verify_py32
else
install_package "Python-3.2.6" "https://www.python.org/ftp/python/3.2.6/Python-3.2.6.tgz#fc1e41296e29d476f696303acae293ae7a2310f0f9d0d637905e722a3f16163e" ldflags_dirs standard verify_py32
fi
install_package "setuptools-17.1.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-17.1.1.tar.gz#5bf42dbf406fd58a41029f53cffff1c90db5de1c5e0e560b5545cf2ec949c431" python
install_package "pip-7.1.2" "https://pypi.python.org/packages/source/p/pip/pip-7.1.2.tar.gz#ca047986f0528cfa975a14fb9f7f106271d4e0c3fe1ddced6c1db2e7ae57a477" python

View File

@@ -1,4 +1,8 @@
#require_gcc
install_package "openssl-1.0.2g" "https://www.openssl.org/source/openssl-1.0.2g.tar.gz#b784b1b3907ce39abf4098702dade6365522a253ad1552e267a9a0e89594aa33" mac_openssl --if has_broken_mac_openssl
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
install_package "Python-3.3.6" "https://www.python.org/ftp/python/3.3.6/Python-3.3.6.tgz#0a58ad1f1def4ecc90b18b0c410a3a0e1a48cf7692c75d1f83d0af080e5d2034" ldflags_dirs standard verify_py33 ensurepip
if has_tar_xz_support; then
install_package "Python-3.3.6" "https://www.python.org/ftp/python/3.3.6/Python-3.3.6.tar.xz#5226e4bf7a530c3ff2bcde0c94e0e09e59a8bcde0114fe0268bc925bdabb5d3f" ldflags_dirs standard verify_py33 ensurepip
else
install_package "Python-3.3.6" "https://www.python.org/ftp/python/3.3.6/Python-3.3.6.tgz#0a58ad1f1def4ecc90b18b0c410a3a0e1a48cf7692c75d1f83d0af080e5d2034" ldflags_dirs standard verify_py33 ensurepip
fi

View File

@@ -1,4 +1,8 @@
#require_gcc
install_package "openssl-1.0.2g" "https://www.openssl.org/source/openssl-1.0.2g.tar.gz#b784b1b3907ce39abf4098702dade6365522a253ad1552e267a9a0e89594aa33" mac_openssl --if has_broken_mac_openssl
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
install_package "Python-3.4.0" "https://www.python.org/ftp/python/3.4.0/Python-3.4.0.tgz#d2c83ea0217769a73e8b1ee33ffbca814903f8568e30f8d13e68e3d1f743449c" ldflags_dirs standard verify_py34 ensurepip
if has_tar_xz_support; then
install_package "Python-3.4.0" "https://www.python.org/ftp/python/3.4.0/Python-3.4.0.tar.xz#f13686c0a2d45e7146759e9d5d1cbd8097a0606483c0cf7730e1e13f58b14cbe" ldflags_dirs standard verify_py34 ensurepip
else
install_package "Python-3.4.0" "https://www.python.org/ftp/python/3.4.0/Python-3.4.0.tgz#d2c83ea0217769a73e8b1ee33ffbca814903f8568e30f8d13e68e3d1f743449c" ldflags_dirs standard verify_py34 ensurepip
fi

View File

@@ -1,4 +1,8 @@
#require_gcc
install_package "openssl-1.0.2g" "https://www.openssl.org/source/openssl-1.0.2g.tar.gz#b784b1b3907ce39abf4098702dade6365522a253ad1552e267a9a0e89594aa33" mac_openssl --if has_broken_mac_openssl
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
install_package "Python-3.4.1" "https://www.python.org/ftp/python/3.4.1/Python-3.4.1.tgz#8d007e3ef80b128a292be101201e75dec5480e5632e994771e7c231d17720b66" ldflags_dirs standard verify_py34 ensurepip
if has_tar_xz_support; then
install_package "Python-3.4.1" "https://www.python.org/ftp/python/3.4.1/Python-3.4.1.tar.xz#c595a163104399041fcbe1c5c04db4c1da94f917b82ce89e8944c8edff7aedc4" ldflags_dirs standard verify_py34 ensurepip
else
install_package "Python-3.4.1" "https://www.python.org/ftp/python/3.4.1/Python-3.4.1.tgz#8d007e3ef80b128a292be101201e75dec5480e5632e994771e7c231d17720b66" ldflags_dirs standard verify_py34 ensurepip
fi

View File

@@ -1,4 +1,8 @@
#require_gcc
install_package "openssl-1.0.2g" "https://www.openssl.org/source/openssl-1.0.2g.tar.gz#b784b1b3907ce39abf4098702dade6365522a253ad1552e267a9a0e89594aa33" mac_openssl --if has_broken_mac_openssl
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
install_package "Python-3.4.2" "https://www.python.org/ftp/python/3.4.2/Python-3.4.2.tgz#44a3c1ef1c7ca3e4fd25242af80ed72da941203cb4ed1a8c1b724d9078965dd8" ldflags_dirs standard verify_py34 ensurepip
if has_tar_xz_support; then
install_package "Python-3.4.2" "https://www.python.org/ftp/python/3.4.2/Python-3.4.2.tar.xz#1c6d9682d145c056537e477bbfa060ce727f9edd38df1827e0f970dcf04b2def" ldflags_dirs standard verify_py34 ensurepip
else
install_package "Python-3.4.2" "https://www.python.org/ftp/python/3.4.2/Python-3.4.2.tgz#44a3c1ef1c7ca3e4fd25242af80ed72da941203cb4ed1a8c1b724d9078965dd8" ldflags_dirs standard verify_py34 ensurepip
fi

View File

@@ -1,4 +1,8 @@
#require_gcc
install_package "openssl-1.0.2g" "https://www.openssl.org/source/openssl-1.0.2g.tar.gz#b784b1b3907ce39abf4098702dade6365522a253ad1552e267a9a0e89594aa33" mac_openssl --if has_broken_mac_openssl
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
install_package "Python-3.4.3" "https://www.python.org/ftp/python/3.4.3/Python-3.4.3.tgz#4281ff86778db65892c05151d5de738d" ldflags_dirs standard verify_py34 ensurepip
if has_tar_xz_support; then
install_package "Python-3.4.3" "https://www.python.org/ftp/python/3.4.3/Python-3.4.3.tar.xz#b5b3963533768d5fc325a4d7a6bd6f666726002d696f1d399ec06b043ea996b8" ldflags_dirs standard verify_py34 ensurepip
else
install_package "Python-3.4.3" "https://www.python.org/ftp/python/3.4.3/Python-3.4.3.tgz#8b743f56e9e50bf0923b9e9c45dd927c071d7aa56cd46569d8818add8cf01147" ldflags_dirs standard verify_py34 ensurepip
fi

View File

@@ -1,4 +1,8 @@
#require_gcc
install_package "openssl-1.0.2g" "https://www.openssl.org/source/openssl-1.0.2g.tar.gz#b784b1b3907ce39abf4098702dade6365522a253ad1552e267a9a0e89594aa33" mac_openssl --if has_broken_mac_openssl
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
install_package "Python-3.4.4" "https://www.python.org/ftp/python/3.4.4/Python-3.4.4.tgz#bc93e944025816ec360712b4c42d8d5f729eaed2b26585e9bc8844f93f0c382e" ldflags_dirs standard verify_py34 ensurepip
if has_tar_xz_support; then
install_package "Python-3.4.4" "https://www.python.org/ftp/python/3.4.4/Python-3.4.4.tar.xz#a797d3820155ec6cb654a652b9acfb11792d4e7d568eef1f9199009e042b6ba2" ldflags_dirs standard verify_py34 ensurepip
else
install_package "Python-3.4.4" "https://www.python.org/ftp/python/3.4.4/Python-3.4.4.tgz#bc93e944025816ec360712b4c42d8d5f729eaed2b26585e9bc8844f93f0c382e" ldflags_dirs standard verify_py34 ensurepip
fi

View File

@@ -0,0 +1,8 @@
#require_gcc
install_package "openssl-1.0.2g" "https://www.openssl.org/source/openssl-1.0.2g.tar.gz#b784b1b3907ce39abf4098702dade6365522a253ad1552e267a9a0e89594aa33" mac_openssl --if has_broken_mac_openssl
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
if has_tar_xz_support; then
install_package "Python-3.4.5" "https://www.python.org/ftp/python/3.4.5/Python-3.4.5.tar.xz#ee64b1c8a47461009abf25252332d29a4e587cb4f0c1c96aa793a3732e9d898a" ldflags_dirs standard verify_py34 ensurepip
else
install_package "Python-3.4.5" "https://www.python.org/ftp/python/3.4.5/Python-3.4.5.tgz#997aca4dd8692f3c954658a3db11c1d0862bcbf8eadd6a164746eb33d317c034" ldflags_dirs standard verify_py34 ensurepip
fi

View File

@@ -1,4 +1,8 @@
#require_gcc
install_package "openssl-1.0.2g" "https://www.openssl.org/source/openssl-1.0.2g.tar.gz#b784b1b3907ce39abf4098702dade6365522a253ad1552e267a9a0e89594aa33" mac_openssl --if has_broken_mac_openssl
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
install_package "Python-3.5.0" "https://www.python.org/ftp/python/3.5.0/Python-3.5.0.tgz#584e3d5a02692ca52fce505e68ecd77248a6f2c99adf9db144a39087336b0fe0" ldflags_dirs standard verify_py35 ensurepip
if has_tar_xz_support; then
install_package "Python-3.5.0" "https://www.python.org/ftp/python/3.5.0/Python-3.5.0.tar.xz#d6d7aa1634a5eeeca6ed4fca266982a04f84bd8f3945a9179e20b24ad2e2be91" ldflags_dirs standard verify_py35 ensurepip
else
install_package "Python-3.5.0" "https://www.python.org/ftp/python/3.5.0/Python-3.5.0.tgz#584e3d5a02692ca52fce505e68ecd77248a6f2c99adf9db144a39087336b0fe0" ldflags_dirs standard verify_py35 ensurepip
fi

View File

@@ -1,4 +1,8 @@
#require_gcc
install_package "openssl-1.0.2g" "https://www.openssl.org/source/openssl-1.0.2g.tar.gz#b784b1b3907ce39abf4098702dade6365522a253ad1552e267a9a0e89594aa33" mac_openssl --if has_broken_mac_openssl
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
install_package "Python-3.5.1" "https://www.python.org/ftp/python/3.5.1/Python-3.5.1.tgz#687e067d9f391da645423c7eda8205bae9d35edc0c76ef5218dcbe4cc770d0d7" ldflags_dirs standard verify_py35 ensurepip
if has_tar_xz_support; then
install_package "Python-3.5.1" "https://www.python.org/ftp/python/3.5.1/Python-3.5.1.tar.xz#c6d57c0c366d9060ab6c0cdf889ebf3d92711d466cc0119c441dbf2746f725c9" ldflags_dirs standard verify_py35 ensurepip
else
install_package "Python-3.5.1" "https://www.python.org/ftp/python/3.5.1/Python-3.5.1.tgz#687e067d9f391da645423c7eda8205bae9d35edc0c76ef5218dcbe4cc770d0d7" ldflags_dirs standard verify_py35 ensurepip
fi

View File

@@ -0,0 +1,8 @@
#require_gcc
install_package "openssl-1.0.2g" "https://www.openssl.org/source/openssl-1.0.2g.tar.gz#b784b1b3907ce39abf4098702dade6365522a253ad1552e267a9a0e89594aa33" mac_openssl --if has_broken_mac_openssl
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
if has_tar_xz_support; then
install_package "Python-3.5.2" "https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tar.xz#0010f56100b9b74259ebcd5d4b295a32324b58b517403a10d1a2aa7cb22bca40" ldflags_dirs standard verify_py35 ensurepip
else
install_package "Python-3.5.2" "https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz#1524b840e42cf3b909e8f8df67c1724012c7dc7f9d076d4feef2d3eff031e8a0" ldflags_dirs standard verify_py35 ensurepip
fi

View File

@@ -0,0 +1,8 @@
#require_gcc
install_package "openssl-1.0.2g" "https://www.openssl.org/source/openssl-1.0.2g.tar.gz#b784b1b3907ce39abf4098702dade6365522a253ad1552e267a9a0e89594aa33" mac_openssl --if has_broken_mac_openssl
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
if has_tar_xz_support; then
install_package "Python-3.6.0a1" "https://www.python.org/ftp/python/3.6.0/Python-3.6.0a1.tar.xz#7528a7c78ef6f319fec4e3ab40aca22e398e40716772f6030b7f0ea97d3d273f" ldflags_dirs standard verify_py36 ensurepip
else
install_package "Python-3.6.0a1" "https://www.python.org/ftp/python/3.6.0/Python-3.6.0a1.tgz#16336eefaec9adf2e8e0035ddb622076f78e0c9c49db1d962f018bfb3804935e" ldflags_dirs standard verify_py36 ensurepip
fi

View File

@@ -0,0 +1,8 @@
#require_gcc
install_package "openssl-1.0.2g" "https://www.openssl.org/source/openssl-1.0.2g.tar.gz#b784b1b3907ce39abf4098702dade6365522a253ad1552e267a9a0e89594aa33" mac_openssl --if has_broken_mac_openssl
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
if has_tar_xz_support; then
install_package "Python-3.6.0a3" "https://www.python.org/ftp/python/3.6.0/Python-3.6.0a3.tar.xz#2cd0611c3456a83737d99d8ffd36d4094b3d44c29dd3a4185f1146be502a8321" ldflags_dirs standard verify_py36 ensurepip
else
install_package "Python-3.6.0a3" "https://www.python.org/ftp/python/3.6.0/Python-3.6.0a3.tgz#2d84b00787eb788b98204b361ef1ac1eeced332d2020f09f3e120523c580dc98" ldflags_dirs standard verify_py36 ensurepip
fi

View File

@@ -0,0 +1 @@
source "${BASH_SOURCE%/*}/anaconda2-4.0.0"

View File

@@ -0,0 +1,19 @@
case "$(anaconda_architecture 2>/dev/null || true)" in
"Linux-x86" )
install_script "Anaconda2-4.0.0-Linux-x86" "https://repo.continuum.io/archive/Anaconda2-4.0.0-Linux-x86.sh#41341c840cea4185ef5bd82520c1de72b42e7dc43c703fb13b032f04dc0e3573" "anaconda" verify_py27
;;
"Linux-x86_64" )
install_script "Anaconda2-4.0.0-Linux-x86_64" "https://repo.continuum.io/archive/Anaconda2-4.0.0-Linux-x86_64.sh#ae312143952ca00e061a656c2080e0e4fd3532721282ba8e2978177cad71a5f0" "anaconda" verify_py27
;;
"MacOSX-x86_64" )
install_script "Anaconda2-4.0.0-MacOSX-x86_64" "https://repo.continuum.io/archive/Anaconda2-4.0.0-MacOSX-x86_64.sh#aa7ba6e1a40e08e672660c00c3151f0124faa61b598d75bdd07ebe1d24873ef6" "anaconda" verify_py27
;;
* )
{ echo
colorize 1 "ERROR"
echo ": The binary distribution of Anaconda2 is not available for $(anaconda_architecture 2>/dev/null || true)."
echo
} >&2
exit 1
;;
esac

View File

@@ -0,0 +1,19 @@
case "$(anaconda_architecture 2>/dev/null || true)" in
"Linux-x86" )
install_script "Anaconda2-4.1.0-Linux-x86" "https://repo.continuum.io/archive/Anaconda2-4.1.0-Linux-x86.sh#54c06cd1b11cb687db6ba3613df443c057f769cdb87693e11674d956d8e5d081" "anaconda" verify_py27
;;
"Linux-x86_64" )
install_script "Anaconda2-4.1.0-Linux-x86_64" "https://repo.continuum.io/archive/Anaconda2-4.1.0-Linux-x86_64.sh#3b7e504ca0132fb555d1f10e174cae07007f1bc6898cad0f7d416a68aca01f45" "anaconda" verify_py27
;;
"MacOSX-x86_64" )
install_script "Anaconda2-4.1.0-MacOSX-x86_64" "https://repo.continuum.io/archive/Anaconda2-4.1.0-MacOSX-x86_64.sh#8b2c2a32f5e0da75cf8c81c568124cc1ea701a58cd46b7816133573a7f5b7b45" "anaconda" verify_py27
;;
* )
{ echo
colorize 1 "ERROR"
echo ": The binary distribution of Anaconda2 is not available for $(anaconda_architecture 2>/dev/null || true)."
echo
} >&2
exit 1
;;
esac

View File

@@ -0,0 +1,19 @@
case "$(anaconda_architecture 2>/dev/null || true)" in
"Linux-x86" )
install_script "Anaconda3-4.0.0-Linux-x86" "https://repo.continuum.io/archive/Anaconda3-4.0.0-Linux-x86.sh#e1469fa0d24de12f33661ce3d7a06d77968be8822f366a61a0018a3850ab56b0" "anaconda" verify_py35
;;
"Linux-x86_64" )
install_script "Anaconda3-4.0.0-Linux-x86_64" "https://repo.continuum.io/archive/Anaconda3-4.0.0-Linux-x86_64.sh#36a558a1109868661a5735f5f32607643f6dc05cf581fefb1c10fb8abbe22f39" "anaconda" verify_py35
;;
"MacOSX-x86_64" )
install_script "Anaconda3-4.0.0-MacOSX-x86_64" "https://repo.continuum.io/archive/Anaconda3-4.0.0-MacOSX-x86_64.sh#704a776c0cf3fcca6e0c5a1e6b6043728229cfac813bff28f003157771824036" "anaconda" verify_py35
;;
* )
{ 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

View File

@@ -0,0 +1,19 @@
case "$(anaconda_architecture 2>/dev/null || true)" in
"Linux-x86" )
install_script "Anaconda3-4.1.0-Linux-x86" "https://repo.continuum.io/archive/Anaconda3-4.1.0-Linux-x86.sh#7764093f337a43e4962b12d01508c1a385f0f62c1ddc006b69af95ae763fc4c2" "anaconda" verify_py35
;;
"Linux-x86_64" )
install_script "Anaconda3-4.1.0-Linux-x86_64" "https://repo.continuum.io/archive/Anaconda3-4.1.0-Linux-x86_64.sh#11d32cf4026603d3b327dc4299863be6b815905ff51a80329085e1bb9f96c8bd" "anaconda" verify_py35
;;
"MacOSX-x86_64" )
install_script "Anaconda3-4.1.0-MacOSX-x86_64" "https://repo.continuum.io/archive/Anaconda3-4.1.0-MacOSX-x86_64.sh#4c45c8d75665fa5194ebe4e355d3427f5aa385f77eb2b5002c0c78d8ae7f2200" "anaconda" verify_py35
;;
* )
{ 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

View File

@@ -0,0 +1,13 @@
require_java
install_jar "jython-2.7.1b3" "https://repo1.maven.org/maven2/org/python/jython-installer/2.7.1b3/jython-installer-2.7.1b3.jar#5c6c7dc372a131dbc2b29b95407c69a4ebab22c1823d9098b7f993444f3090c5" jython
case "$(pypy_architecture 2>/dev/null || true)" in
"osx64"|"win32" )
# Jython does not seem to work properly on OSX/windows unless JAVA_HOME is set
if [ -z "${JAVA_HOME+defined}" ]; then
colorize 1 "WARNING: "
echo "Please ensure that your JAVA_HOME environment variable is set correctly!"
echo "See http://bugs.jython.org/issue2346 for details."
fi
;;
esac

View File

@@ -0,0 +1,19 @@
case "$(anaconda_architecture 2>/dev/null || true)" in
"Linux-x86" )
install_script "Miniconda2-4.0.5-Linux-x86" "https://repo.continuum.io/miniconda/Miniconda2-4.0.5-Linux-x86.sh#fc85229837ef2f0571e0c369e6de8ae7339b6cd9f16449efce0a2a01f0bec110" "miniconda" verify_py27
;;
"Linux-x86_64" )
install_script "Miniconda2-4.0.5-Linux-x86_64" "https://repo.continuum.io/miniconda/Miniconda2-4.0.5-Linux-x86_64.sh#ada5b7942e519829bc5e8e638d525e009676a7a598cf3dd80f041f6d5e39ddbb" "miniconda" verify_py27
;;
"MacOSX-x86_64" )
install_script "Miniconda2-4.0.5-MacOSX-x86_64" "https://repo.continuum.io/miniconda/Miniconda2-4.0.5-MacOSX-x86_64.sh#7471adcdf7ff1f4e7464617992f57fb7f6f58dbc16ce2455d441dc2c2660e350" "miniconda" verify_py27
;;
* )
{ echo
colorize 1 "ERROR"
echo ": The binary distribution of Miniconda2 is not available for $(anaconda_architecture 2>/dev/null || true)."
echo
} >&2
exit 1
;;
esac

View File

@@ -1,12 +1,12 @@
case "$(anaconda_architecture 2>/dev/null || true)" in
"Linux-x86" )
install_script "Miniconda3-3.18.3-Linux-x86" "https://repo.continuum.io/miniconda/Miniconda3-3.18.3-Linux-x86.sh#7f6b432daacfbe67ac5fd5b3e3bc5bca75642e4e099e967b1353a5b0a828b036" "miniconda" verify_py27
install_script "Miniconda3-3.18.3-Linux-x86" "https://repo.continuum.io/miniconda/Miniconda3-3.18.3-Linux-x86.sh#7f6b432daacfbe67ac5fd5b3e3bc5bca75642e4e099e967b1353a5b0a828b036" "miniconda" verify_py35
;;
"Linux-x86_64" )
install_script "Miniconda3-3.18.3-Linux-x86_64" "https://repo.continuum.io/miniconda/Miniconda3-3.18.3-Linux-x86_64.sh#6eee19f7ac958578b0da4124f58b09f23422fa6f6b26af8b594a47f08cc61af4" "miniconda" verify_py27
install_script "Miniconda3-3.18.3-Linux-x86_64" "https://repo.continuum.io/miniconda/Miniconda3-3.18.3-Linux-x86_64.sh#6eee19f7ac958578b0da4124f58b09f23422fa6f6b26af8b594a47f08cc61af4" "miniconda" verify_py35
;;
"MacOSX-x86_64" )
install_script "Miniconda3-3.18.3-MacOSX-x86_64" "https://repo.continuum.io/miniconda/Miniconda3-3.18.3-MacOSX-x86_64.sh#b81c9b27eb9a91e3183e51000dbf986bfe91f99acfa1a4e3bc849ddacc7bf934" "miniconda" verify_py27
install_script "Miniconda3-3.18.3-MacOSX-x86_64" "https://repo.continuum.io/miniconda/Miniconda3-3.18.3-MacOSX-x86_64.sh#b81c9b27eb9a91e3183e51000dbf986bfe91f99acfa1a4e3bc849ddacc7bf934" "miniconda" verify_py35
;;
* )
{ echo

View File

@@ -1,12 +1,12 @@
case "$(anaconda_architecture 2>/dev/null || true)" in
"Linux-x86" )
install_script "Miniconda3-3.19.0-Linux-x86" "https://repo.continuum.io/miniconda/Miniconda3-3.19.0-Linux-x86.sh#9789463cad35cdb3ee4cda5a9c3767cad21491faacc071fcd60eb38a9f75098e" "miniconda" verify_py27
install_script "Miniconda3-3.19.0-Linux-x86" "https://repo.continuum.io/miniconda/Miniconda3-3.19.0-Linux-x86.sh#9789463cad35cdb3ee4cda5a9c3767cad21491faacc071fcd60eb38a9f75098e" "miniconda" verify_py35
;;
"Linux-x86_64" )
install_script "Miniconda3-3.19.0-Linux-x86_64" "https://repo.continuum.io/miniconda/Miniconda3-3.19.0-Linux-x86_64.sh#9ea57c0fdf481acf89d816184f969b04bc44dea27b258c4e86b1e3a25ff26aa0" "miniconda" verify_py27
install_script "Miniconda3-3.19.0-Linux-x86_64" "https://repo.continuum.io/miniconda/Miniconda3-3.19.0-Linux-x86_64.sh#9ea57c0fdf481acf89d816184f969b04bc44dea27b258c4e86b1e3a25ff26aa0" "miniconda" verify_py35
;;
"MacOSX-x86_64" )
install_script "Miniconda3-3.19.0-MacOSX-x86_64" "https://repo.continuum.io/miniconda/Miniconda3-3.19.0-MacOSX-x86_64.sh#40ec9c2726262addd330c24f62853de47430482965f0bb8cba47d8cd995bec29" "miniconda" verify_py27
install_script "Miniconda3-3.19.0-MacOSX-x86_64" "https://repo.continuum.io/miniconda/Miniconda3-3.19.0-MacOSX-x86_64.sh#40ec9c2726262addd330c24f62853de47430482965f0bb8cba47d8cd995bec29" "miniconda" verify_py35
;;
* )
{ echo

View File

@@ -0,0 +1,19 @@
case "$(anaconda_architecture 2>/dev/null || true)" in
"Linux-x86" )
install_script "Miniconda3-4.0.5-Linux-x86" "https://repo.continuum.io/miniconda/Miniconda3-4.0.5-Linux-x86.sh#3c06b31b0f70d21f4f62021b8db98929faa3a99ebe6b5b1a2999576d16c30e35" "miniconda" verify_py35
;;
"Linux-x86_64" )
install_script "Miniconda3-4.0.5-Linux-x86_64" "https://repo.continuum.io/miniconda/Miniconda3-4.0.5-Linux-x86_64.sh#a7bcd0425d8b6688753946b59681572f63c2241aed77bf0ec6de4c5edc5ceeac" "miniconda" verify_py35
;;
"MacOSX-x86_64" )
install_script "Miniconda3-4.0.5-MacOSX-x86_64" "https://repo.continuum.io/miniconda/Miniconda3-4.0.5-MacOSX-x86_64.sh#5673d23ed00515dbb7d236bc0db239c875db54ba1cd0976d907d0552dc58928f" "miniconda" verify_py35
;;
* )
{ echo
colorize 1 "ERROR"
echo ": The binary distribution of Miniconda is not available for $(anaconda_architecture 2>/dev/null || true)."
echo
} >&2
exit 1
;;
esac

View File

@@ -1,13 +1,13 @@
case "$(pypy_architecture 2>/dev/null || true)" in
"linux" )
if require_distro "Ubuntu 12.04" "Ubuntu 12.10" "Ubuntu 13.04" "Ubuntu 13.10" "Ubuntu 14.04" 1>/dev/null 2>&1; then
if require_distro "Ubuntu 10.04" 1>/dev/null 2>&1; then
install_package "pypy-2.4.0-linux" "https://bitbucket.org/pypy/pypy/downloads/pypy-2.4.0-linux.tar.bz2#a24adb366f87ac0eba829d7188a156a7d897e71893689fab06502c3f4152ac0e" "pypy" verify_py27 ensurepip
else
install_package "pypy-2.4-linux_i686-portable" "https://bitbucket.org/squeaky/portable-pypy/downloads/pypy-2.4-linux_i686-portable.tar.bz2#2a330bbeae038c143366982f2104bf4096752f1ec7520fc5608f0527c124b0c2" "pypy" verify_py27 ensurepip
fi
;;
"linux-armel" )
require_distro "Ubuntu 12.04" "Ubuntu 12.10" "Ubuntu 13.04" "Ubuntu 13.10" "Ubuntu 14.04" || true
require_distro "Ubuntu 12.04" || true
install_package "pypy-2.4.0-linux-armel" "https://bitbucket.org/pypy/pypy/downloads/pypy-2.4.0-linux-armel.tar.bz2#8362d634bf86fbfb3b99b578b13c0a9fd673b2b7580d6d65b4a181934c659ccd" "pypy" verify_py27 ensurepip
;;
"linux-armhf" )

View File

@@ -1,13 +1,13 @@
case "$(pypy_architecture 2>/dev/null || true)" in
"linux" )
if require_distro "Ubuntu 12.04" "Ubuntu 12.10" "Ubuntu 13.04" "Ubuntu 13.10" "Ubuntu 14.04" 1>/dev/null 2>&1; then
if require_distro "Ubuntu 10.04" 1>/dev/null 2>&1; then
install_package "pypy-2.5.0-linux" "https://bitbucket.org/pypy/pypy/downloads/pypy-2.5.0-linux.tar.bz2#3dfd56a986d25929b4ed9f40a5484f72f1d513cd816cf8aaa683106c3391247c" "pypy" verify_py27 ensurepip
else
install_package "pypy-2.5-linux_i686-portable" "https://bitbucket.org/squeaky/portable-pypy/downloads/pypy-2.5-linux_i686-portable.tar.bz2#6cbe3e1a48900f22c8e4412f82906fba92dd4a165bac5fe6866a2a26383fe3b8" "pypy" verify_py27 ensurepip
fi
;;
"linux-armel" )
require_distro "Ubuntu 12.04" "Ubuntu 12.10" "Ubuntu 13.04" "Ubuntu 13.10" "Ubuntu 14.04" || true
require_distro "Ubuntu 12.04" || true
install_package "pypy-2.5.0-linux-armel" "https://bitbucket.org/pypy/pypy/downloads/pypy-2.5.0-linux-armel.tar.bz2#277fa6c61d63af96893dafd19e1ffea7b988397c6a0fd66cd99dc0db1029be56" "pypy" verify_py27 ensurepip
;;
"linux-armhf" )

View File

@@ -1,13 +1,13 @@
case "$(pypy_architecture 2>/dev/null || true)" in
"linux" )
if require_distro "Ubuntu 12.04" "Ubuntu 12.10" "Ubuntu 13.04" "Ubuntu 13.10" "Ubuntu 14.04" 1>/dev/null 2>&1; then
if require_distro "Ubuntu 10.04" 1>/dev/null 2>&1; then
install_package "pypy-2.5.1-linux" "https://bitbucket.org/pypy/pypy/downloads/pypy-2.5.1-linux.tar.bz2#c0035a2650cafcb384050a8c476ddc41c9fd40b0c3677fab68026f57c715907a" "pypy" verify_py27 ensurepip
else
install_package "pypy-2.5.1-linux_i686-portable" "https://bitbucket.org/squeaky/portable-pypy/downloads/pypy-2.5.1-linux_i686-portable.tar.bz2#ed532ddde3332d10faa59af49854cacbca458c597889352e619a87ab22363063" "pypy" verify_py27 ensurepip
fi
;;
"linux-armel" )
require_distro "Ubuntu 12.04" "Ubuntu 12.10" "Ubuntu 13.04" "Ubuntu 13.10" "Ubuntu 14.04" || true
require_distro "Ubuntu 12.04" || true
install_package "pypy-2.5.1-linux-armel" "https://bitbucket.org/pypy/pypy/downloads/pypy-2.5.1-linux-armel.tar.bz2#91d68551b6e738c1e47aaed869a6df8208abb8c60194a1647c6aa13c7363a61d" "pypy" verify_py27 ensurepip
;;
"linux-armhf" )

View File

@@ -1,13 +1,13 @@
case "$(pypy_architecture 2>/dev/null || true)" in
"linux" )
if require_distro "Ubuntu 12.04" "Ubuntu 12.10" "Ubuntu 13.04" "Ubuntu 13.10" "Ubuntu 14.04" 1>/dev/null 2>&1; then
if require_distro "Ubuntu 10.04" 1>/dev/null 2>&1; then
install_package "pypy-2.6.0-linux" "https://bitbucket.org/pypy/pypy/downloads/pypy-2.6.0-linux.tar.bz2#6e0b052c40a59bf5a85ee239980bbcab8b031b4c2bc33b99efe1b072977d9910" "pypy" verify_py27 ensurepip
else
install_package "pypy-2.6-linux_i686-portable" "https://bitbucket.org/squeaky/portable-pypy/downloads/pypy-2.6-linux_i686-portable.tar.bz2#e01db0984f7fecd80dadfb1d5f65118e596e3984d12643b4d552e83f92bff549" "pypy" verify_py27 ensurepip
fi
;;
"linux-armel" )
require_distro "Ubuntu 12.04" "Ubuntu 12.10" "Ubuntu 13.04" "Ubuntu 13.10" "Ubuntu 14.04" || true
require_distro "Ubuntu 12.04" || true
install_package "pypy-2.6.0-linux-armel" "https://bitbucket.org/pypy/pypy/downloads/pypy-2.6.0-linux-armel.tar.bz2#9d0cb9b15283f9c15f83c05293f8bd41d302c96090fd89b778f359df9bc8e619" "pypy" verify_py27 ensurepip
;;
"linux-armhf" )

View File

@@ -3,14 +3,14 @@ case "$(pypy_architecture 2>/dev/null || true)" in
install_package "pypy-2.6.1-freebsd64" "https://bitbucket.org/pypy/pypy/downloads/pypy-2.6.1-freebsd64.tar.bz2#58118e88ce01c1d48b31d293db40687efbdeba54334eb55ba96de9ecf3c39055" "pypy" verify_py27 ensurepip
;;
"linux" )
if require_distro "Ubuntu 12.04" "Ubuntu 12.10" "Ubuntu 13.04" "Ubuntu 13.10" "Ubuntu 14.04" 1>/dev/null 2>&1; then
if require_distro "Ubuntu 10.04" 1>/dev/null 2>&1; then
install_package "pypy-2.6.1-linux" "https://bitbucket.org/pypy/pypy/downloads/pypy-2.6.1-linux.tar.bz2#d010b1f1aafdb01beb107f16843985508ce81698260ce830690686d9b2768c88" "pypy" verify_py27 ensurepip
else
install_package "pypy-2.6.1-linux_i686-portable" "https://bitbucket.org/squeaky/portable-pypy/downloads/pypy-2.6.1-linux_i686-portable.tar.bz2#af8f05790fe21bffdb0619d39f2890e2ecabe47bbd3b21c2c97b9778e4cdb378" "pypy" verify_py27 ensurepip
fi
;;
"linux-armel" )
require_distro "Ubuntu 12.04" "Ubuntu 12.10" "Ubuntu 13.04" "Ubuntu 13.10" "Ubuntu 14.04" || true
require_distro "Ubuntu 12.04" || true
install_package "pypy-2.6.1-linux-armel" "https://bitbucket.org/pypy/pypy/downloads/pypy-2.6.1-linux-armel.tar.bz2#0ca15d289e78a82f927b375a016b7c3246accac5d7eebded4e32a496fb3245ab" "pypy" verify_py27 ensurepip
;;
"linux-armhf" )

View File

@@ -1,13 +1,13 @@
case "$(pypy_architecture 2>/dev/null || true)" in
"linux" )
if require_distro "Ubuntu 12.04" "Ubuntu 12.10" "Ubuntu 13.04" "Ubuntu 13.10" "Ubuntu 14.04" 1>/dev/null 2>&1; then
if require_distro "Ubuntu 10.04" 1>/dev/null 2>&1; then
install_package "pypy-4.0.0-linux" "https://bitbucket.org/pypy/pypy/downloads/pypy-4.0.0-linux.tar.bz2#365600947775bc73a902a5b1d11f8b96cf49f07cdbbab28bb47240097b4bb4c5" "pypy" verify_py27 ensurepip
else
install_package "pypy-4.0-linux_i686-portable" "https://bitbucket.org/squeaky/portable-pypy/downloads/pypy-4.0-linux_i686-portable.tar.bz2#8d6b775a1fdc79db453f80e6b50cd9979d89be3714cd71d3af21bf9f56745610" "pypy" verify_py27 ensurepip
fi
;;
"linux-armel" )
require_distro "Ubuntu 12.04" "Ubuntu 12.10" "Ubuntu 13.04" "Ubuntu 13.10" "Ubuntu 14.04" || true
require_distro "Ubuntu 12.04" || true
install_package "pypy-4.0.0-linux-armel" "https://bitbucket.org/pypy/pypy/downloads/pypy-4.0.0-linux-armel.tar.bz2#612df41fa21c5bc95d8d3575e0d8c09f605de6f0684109222afa561672dd9c7b" "pypy" verify_py27 ensurepip
;;
"linux-armhf" )

View File

@@ -1,13 +1,13 @@
case "$(pypy_architecture 2>/dev/null || true)" in
"linux" )
if require_distro "Ubuntu 12.04" "Ubuntu 12.10" "Ubuntu 13.04" "Ubuntu 13.10" "Ubuntu 14.04" 1>/dev/null 2>&1; then
if require_distro "Ubuntu 10.04" 1>/dev/null 2>&1; then
install_package "pypy-4.0.1-linux" "https://bitbucket.org/pypy/pypy/downloads/pypy-4.0.1-linux.tar.bz2#721920fcbb6aefc9a98e868e32b7f4ea5fd68b7f9305d08d0a2595327c9c0611" "pypy" verify_py27 ensurepip
else
install_package "pypy-4.0.1-linux_i686-portable" "https://bitbucket.org/squeaky/portable-pypy/downloads/pypy-4.0.1-linux_i686-portable.tar.bz2#2a1078bf36372b1c2919c11c418860dd7f0d44c92e6772bb36490eaf793b5c47" "pypy" verify_py27 ensurepip
fi
;;
"linux-armel" )
require_distro "Ubuntu 12.04" "Ubuntu 12.10" "Ubuntu 13.04" "Ubuntu 13.10" "Ubuntu 14.04" || true
require_distro "Ubuntu 12.04" || true
install_package "pypy-4.0.1-linux-armel" "https://bitbucket.org/pypy/pypy/downloads/pypy-4.0.1-linux-armel.tar.bz2#d1acdd45ebd34580dd632c63c95211f6bae5e9a8f7a46ffa6f0443286ff9f61b" "pypy" verify_py27 ensurepip
;;
"linux-armhf" )
@@ -20,11 +20,11 @@ case "$(pypy_architecture 2>/dev/null || true)" in
;;
#"linux-ppc64" )
# require_distro "Fedora 20" || true
# install_package "pypy-4.0.1-ppc64" "https://bitbucket.org/pypy/pypy/downloads/pypy-4.0.1-ppc64.tar.bz2#2aadbb7638153b9d7c2a832888ed3c1e" "pypy" verify_py27 ensurepip
# install_package "pypy-4.0.1-ppc64" "https://bitbucket.org/pypy/pypy/downloads/pypy-4.0.1-ppc64.tar.bz2#FIXME" "pypy" verify_py27 ensurepip
# ;;
#"linux-ppc64le" )
# require_distro "Fedora 21" || true
# install_package "pypy-4.0.1-ppc64le" "https://bitbucket.org/pypy/pypy/downloads/pypy-4.0.1-ppc64le.tar.bz2#d4492e65201bb09dca5f97601113dc57" "pypy" verify_py27 ensurepip
# install_package "pypy-4.0.1-ppc64le" "https://bitbucket.org/pypy/pypy/downloads/pypy-4.0.1-ppc64le.tar.bz2#FIXME" "pypy" verify_py27 ensurepip
# ;;
"linux64" )
if require_distro "Ubuntu 12.04" "Ubuntu 12.10" "Ubuntu 13.04" "Ubuntu 13.10" "Ubuntu 14.04" 1>/dev/null 2>&1; then

View File

@@ -0,0 +1,52 @@
case "$(pypy_architecture 2>/dev/null || true)" in
"linux" )
if require_distro "Ubuntu 10.04" 1>/dev/null 2>&1; then
install_package "pypy-5.0.0-linux" "https://bitbucket.org/pypy/pypy/downloads/pypy-5.0.0-linux.tar.bz2#a9cc9afa94ff1cde811626a70081c477c9840e7816c0562d1903fd823d222ceb" "pypy" verify_py27 ensurepip
else
install_package "pypy-5.0-linux_i686-portable" "https://bitbucket.org/squeaky/portable-pypy/downloads/pypy-5.0-linux_i686-portable.tar.bz2#316e03afdd2f6212857789933c01f0d41a1665c80d28526c0fb4082b6d3f4f60" "pypy" verify_py27 ensurepip
fi
;;
"linux-armel" )
require_distro "Ubuntu 12.04" || true
install_package "pypy-5.0.0-linux-armel" "https://bitbucket.org/pypy/pypy/downloads/pypy-5.0.0-linux-armel.tar.bz2#87bd85441b16ecca0d45ba6e9c0e9d26bb7bd8867afbf79d80312cf79b032dc1" "pypy" verify_py27 ensurepip
;;
"linux-armhf" )
if [[ "$(cat /etc/issue 2>/dev/null || true)" == "Raspbian"* ]]; then
install_package "pypy-5.0.0-linux-armhf-raspbian" "https://bitbucket.org/pypy/pypy/downloads/pypy-5.0.0-linux-armhf-raspbian.tar.bz2#8033c0cc39e9f6771688f2eda95c726595f5453b3e73e1cd5f7ebbe3dae1f685" "pypy" verify_py27 ensurepip
else
require_distro "Ubuntu 13.04" || true
install_package "pypy-5.0.0-linux-armhf-raring" "https://bitbucket.org/pypy/pypy/downloads/pypy-5.0.0-linux-armhf-raring.tar.bz2#5bb52cf5db4ae8497c4e03cd8a70e49867e6b93d9f29ad335d030fcd3a375769" "pypy" verify_py27 ensurepip
fi
;;
"linux-ppc64" )
require_distro "Fedora 20" || true
install_package "pypy-5.0.0-ppc64" "https://bitbucket.org/pypy/pypy/downloads/pypy-5.0.0-ppc64.tar.bz2#334a37e68cb543cf2cbcdd12379b9b770064bb70ba7fd104f1e451cfa10cdda5" "pypy" verify_py27 ensurepip
;;
"linux-ppc64le" )
require_distro "Fedora 21" || true
install_package "pypy-5.0.0-ppc64le" "https://bitbucket.org/pypy/pypy/downloads/pypy-5.0.0-ppc64le.tar.bz2#e72fe5c094186f79c997000ddbaa01616def652a8d1338b75a27dfa3755eb86c" "pypy" verify_py27 ensurepip
;;
"linux64" )
if require_distro "Ubuntu 12.04" "Ubuntu 12.10" "Ubuntu 13.04" "Ubuntu 13.10" "Ubuntu 14.04" 1>/dev/null 2>&1; then
install_package "pypy-5.0.0-linux64" "https://bitbucket.org/pypy/pypy/downloads/pypy-5.0.0-linux64.tar.bz2#b9c73be8e3c3b0835df83bdb86335712005240071cdd4dc245ac30b457063ae0" "pypy" verify_py27 ensurepip
else
install_package "pypy-5.0-linux_x86_64-portable" "https://bitbucket.org/squeaky/portable-pypy/downloads/pypy-5.0-linux_x86_64-portable.tar.bz2#57c9ea251bf1e7074e14aeecdd1ac8bb2fc53dbf3f90a9613d03e33076a7fa08" "pypy" verify_py27 ensurepip
fi
;;
"osx64" )
install_package "pypy-5.0.0-osx64" "https://bitbucket.org/pypy/pypy/downloads/pypy-5.0.0-osx64.tar.bz2#45ed8bf799d0fd8eb051cbcc427173fba74dc9c2f6c309d7a3cc90f4917e6a10" "pypy" verify_py27 ensurepip
;;
"win32" )
# FIXME: never tested on Windows
install_zip "pypy-5.0.0-win32" "https://bitbucket.org/pypy/pypy/downloads/pypy-5.0.0-win32.zip#c53f0946703f5e4885484c7cde2554a0320537135bf8965e054757c214412438" "pypy" verify_py27 ensurepip
;;
* )
{ echo
colorize 1 "ERROR"
echo ": The binary distribution of PyPy is not available for $(pypy_architecture 2>/dev/null || true)."
echo "try 'pypy-5.0.0-src' to build from soruce."
echo
} >&2
exit 1
;;
esac

View File

@@ -0,0 +1,2 @@
require_gcc
install_package "pypy-5.0.0-src" "https://bitbucket.org/pypy/pypy/downloads/pypy-5.0.0-src.tar.bz2#89027b1b33553b53ff7733dc4838f0a76af23552c0d915d9f6de5875b8d7d4ab" "pypy_builder" verify_py27 ensurepip

View File

@@ -0,0 +1,44 @@
case "$(pypy_architecture 2>/dev/null || true)" in
"linux" )
if require_distro "Ubuntu 10.04" 1>/dev/null 2>&1; then
install_package "pypy-5.0.1-linux" "https://bitbucket.org/pypy/pypy/downloads/pypy-5.0.1-linux.tar.bz2#4b9a294033f917a1674c9ddcb2e7e8d32c4f4351f8216fd1fe23f6d2ad2b1a36" "pypy" verify_py27 ensurepip
else
install_package "pypy-5.0.1-linux_i686-portable" "https://bitbucket.org/squeaky/portable-pypy/downloads/pypy-5.0.1-linux_i686-portable.tar.bz2#96f1b487655c914a03f56747dfff9c20350175cae01e2911f19b1016442ed6b5" "pypy" verify_py27 ensurepip
fi
;;
"linux-armel" )
require_distro "Ubuntu 12.04" || true
install_package "pypy-5.0.1-linux-armel" "https://bitbucket.org/pypy/pypy/downloads/pypy-5.0.1-linux-armel.tar.bz2#17d55804b2253acd9de42276d756d4a08b7d1d2da09ef81dd325e14b18a1bcda" "pypy" verify_py27 ensurepip
;;
"linux-armhf" )
if [[ "$(cat /etc/issue 2>/dev/null || true)" == "Raspbian"* ]]; then
install_package "pypy-5.0.1-linux-armhf-raspbian" "https://bitbucket.org/pypy/pypy/downloads/pypy-5.0.1-linux-armhf-raspbian.tar.bz2#338d1c32c1326e6321b222ae357711b38c4a0ffddf020c2a35536b5f69376e28" "pypy" verify_py27 ensurepip
else
require_distro "Ubuntu 13.04" || true
install_package "pypy-5.0.1-linux-armhf-raring" "https://bitbucket.org/pypy/pypy/downloads/pypy-5.0.1-linux-armhf-raring.tar.bz2#1e9146978cc7e7bd30683a518f304a824db7b9b1c6fae5e866eb703684ba3c98" "pypy" verify_py27 ensurepip
fi
;;
"linux64" )
if require_distro "Ubuntu 12.04" "Ubuntu 12.10" "Ubuntu 13.04" "Ubuntu 13.10" "Ubuntu 14.04" 1>/dev/null 2>&1; then
install_package "pypy-5.0.1-linux64" "https://bitbucket.org/pypy/pypy/downloads/pypy-5.0.1-linux64.tar.bz2#1b1363a48edd1c1b31ca5e995987eda3d460a3404f36c3bb2dd9f52c93eecff5" "pypy" verify_py27 ensurepip
else
install_package "pypy-5.0.1-linux_x86_64-portable" "https://bitbucket.org/squeaky/portable-pypy/downloads/pypy-5.0.1-linux_x86_64-portable.tar.bz2#14d65f84fe8228cfa2b8e924364cf4c71e2bc6b13649098fa340baf044606436" "pypy" verify_py27 ensurepip
fi
;;
"osx64" )
install_package "pypy-5.0.1-osx64" "https://bitbucket.org/pypy/pypy/downloads/pypy-5.0.1-osx64.tar.bz2#6ebdb9d91203f053b38e3c21841c11a72f416dc185f7b3b7c908229df15e924a" "pypy" verify_py27 ensurepip
;;
"win32" )
# FIXME: never tested on Windows
install_zip "pypy-5.0.1-win32" "https://bitbucket.org/pypy/pypy/downloads/pypy-5.0.1-win32.zip#c12254d8b1747322736d26e014744a426c6900d232c1799140fbb43f44319730" "pypy" verify_py27 ensurepip
;;
* )
{ echo
colorize 1 "ERROR"
echo ": The binary distribution of PyPy is not available for $(pypy_architecture 2>/dev/null || true)."
echo "try 'pypy-5.0.1-src' to build from soruce."
echo
} >&2
exit 1
;;
esac

View File

@@ -0,0 +1,2 @@
require_gcc
install_package "pypy-5.0.1-src" "https://bitbucket.org/pypy/pypy/downloads/pypy-5.0.1-src.tar.bz2#1573c9284d3ec236c8e6ef3b954753932dff29462c54b5885b761d1ee68b6e05" "pypy_builder" verify_py27 ensurepip

View File

@@ -0,0 +1,52 @@
case "$(pypy_architecture 2>/dev/null || true)" in
"linux" )
if require_distro "Ubuntu 12.04" "Ubuntu 12.10" "Ubuntu 13.04" "Ubuntu 13.10" "Ubuntu 14.04" 1>/dev/null 2>&1; then
install_package "pypy-5.1.0-linux" "https://bitbucket.org/pypy/pypy/downloads/pypy-5.1.0-linux.tar.bz2#2f6c521b5b3c1082eab58be78655aa01ec400d19baeec93c455864a7483b8744" "pypy" verify_py27 ensurepip
else
install_package "pypy-5.1-linux_i686-portable" "https://bitbucket.org/squeaky/portable-pypy/downloads/pypy-5.1-linux_i686-portable.tar.bz2#893507603a58b8983b69924e60591de39b8f71f70ba36d6e3894db8f7c49c3ea" "pypy" verify_py27 ensurepip
fi
;;
"linux-armel" )
require_distro "Ubuntu 12.04" || true
install_package "pypy-5.1.0-linux-armel" "https://bitbucket.org/pypy/pypy/downloads/pypy-5.1.0-linux-armel.tar.bz2#ea7017449ff0630431866423220c3688fc55c1a0b80a96af0ae138dd0751b81c" "pypy" verify_py27 ensurepip
;;
"linux-armhf" )
if [[ "$(cat /etc/issue 2>/dev/null || true)" == "Raspbian"* ]]; then
install_package "pypy-5.1.0-linux-armhf-raspbian" "https://bitbucket.org/pypy/pypy/downloads/pypy-5.1.0-linux-armhf-raspbian.tar.bz2#3bfcd251b4f3fd1a09520b2741c647c364d16d50c82b813732a78ac60ccb2b69" "pypy" verify_py27 ensurepip
else
require_distro "Ubuntu 13.04" || true
install_package "pypy-5.1.0-linux-armhf-raring" "https://bitbucket.org/pypy/pypy/downloads/pypy-5.1.0-linux-armhf-raring.tar.bz2#a3e13083591bccc301fb974ff0a6c7e4ab4e611e4b31c0932898b981c794462b" "pypy" verify_py27 ensurepip
fi
;;
"linux-ppc64" )
require_distro "Fedora 20" || true
install_package "pypy-5.1.0-ppc64" "https://bitbucket.org/pypy/pypy/downloads/pypy-5.1.0-ppc64.tar.bz2#32a31b9ff5174d69f8cf8db711ba2a593fed49b52bdf590bcecd6b727419b6df" "pypy" verify_py27 ensurepip
;;
"linux-ppc64le" )
require_distro "Fedora 21" || true
install_package "pypy-5.1.0-ppc64le" "https://bitbucket.org/pypy/pypy/downloads/pypy-5.1.0-ppc64le.tar.bz2#303764f44154f81d7f0753258c89f8a14653658911a16ec2bcfee04055cbfab6" "pypy" verify_py27 ensurepip
;;
"linux64" )
if require_distro "Ubuntu 12.04" "Ubuntu 12.10" "Ubuntu 13.04" "Ubuntu 13.10" "Ubuntu 14.04" 1>/dev/null 2>&1; then
install_package "pypy-5.1.0-linux64" "https://bitbucket.org/pypy/pypy/downloads/pypy-5.1.0-linux64.tar.bz2#0e8913351d043a50740b98cb89d99852b8bd6d11225a41c8abfc0baf7084cbf6" "pypy" verify_py27 ensurepip
else
install_package "pypy-5.1-linux_x86_64-portable" "https://bitbucket.org/squeaky/portable-pypy/downloads/pypy-5.1-linux_x86_64-portable.tar.bz2#b2df9b0127457d1c3cc0dc9b8f027a53569ccd3ba5a79012d641e576d9cc003a" "pypy" verify_py27 ensurepip
fi
;;
"osx64" )
install_package "pypy-5.1.0-osx64" "https://bitbucket.org/pypy/pypy/downloads/pypy-5.1.0-osx64.tar.bz2#7e270c66347158dd794c101c4817f742f760ed805aa0d10abe19ba4a78a75118" "pypy" verify_py27 ensurepip
;;
"win32" )
# FIXME: never tested on Windows
install_zip "pypy-5.1.0-win32" "https://bitbucket.org/pypy/pypy/downloads/pypy-5.1.0-win32.zip#044e7f35223a443412b5948740e60e93069a6f8b0a72053cc9d472874bb1b6cc" "pypy" verify_py27 ensurepip
;;
* )
{ echo
colorize 1 "ERROR"
echo ": The binary distribution of PyPy is not available for $(pypy_architecture 2>/dev/null || true)."
echo "try 'pypy-5.1.0-src' to build from soruce."
echo
} >&2
exit 1
;;
esac

View File

@@ -0,0 +1,2 @@
require_gcc
install_package "pypy-5.1.0-src" "https://bitbucket.org/pypy/pypy/downloads/pypy-5.1.0-src.tar.bz2#16bab9501e942c0704abbf9cd6c4e950c6a76dc226cf1e447ea084916aef4714" "pypy_builder" verify_py27 ensurepip

View File

@@ -0,0 +1,52 @@
case "$(pypy_architecture 2>/dev/null || true)" in
"linux" )
if require_distro "Ubuntu 12.04" "Ubuntu 12.10" "Ubuntu 13.04" "Ubuntu 13.10" "Ubuntu 14.04" 1>/dev/null 2>&1; then
install_package "pypy-5.1.1-linux" "https://bitbucket.org/pypy/pypy/downloads/pypy-5.1.1-linux.tar.bz2#7951fd2b87c9e621ec57c932c20da2b8a4a9e87d8daeb9e2b7373f9444219abc" "pypy" verify_py27 ensurepip
else
install_package "pypy-5.1.1-linux_i686-portable" "https://bitbucket.org/squeaky/portable-pypy/downloads/pypy-5.1.1-linux_i686-portable.tar.bz2#f00faf426f41f9980344d03fd74bb949875c0cf86048ad762dd445f72353eb8f" "pypy" verify_py27 ensurepip
fi
;;
"linux-armel" )
require_distro "Ubuntu 12.04" || true
install_package "pypy-5.1.1-linux-armel" "https://bitbucket.org/pypy/pypy/downloads/pypy-5.1.1-linux-armel.tar.bz2#062b33641c24dfc8c6b5af955c2ddf3815b471de0af4bfc343020651b94d13bf" "pypy" verify_py27 ensurepip
;;
"linux-armhf" )
if [[ "$(cat /etc/issue 2>/dev/null || true)" == "Raspbian"* ]]; then
install_package "pypy-5.1.1-linux-armhf-raspbian" "https://bitbucket.org/pypy/pypy/downloads/pypy-5.1.1-linux-armhf-raspbian.tar.bz2#fc2a1f8719a7eca5d85d0bdcf499c6ab7409fc32aa312435bcbe66950b47e863" "pypy" verify_py27 ensurepip
else
require_distro "Ubuntu 13.04" || true
install_package "pypy-5.1.1-linux-armhf-raring" "https://bitbucket.org/pypy/pypy/downloads/pypy-5.1.1-linux-armhf-raring.tar.bz2#c4bcdabccd15669ea44d1c715cd36b2ca55b340a27b63e1a92ef5ab6eb158a8d" "pypy" verify_py27 ensurepip
fi
;;
#"linux-ppc64" )
# require_distro "Fedora 20" || true
# install_package "pypy-5.1.1-ppc64" "https://bitbucket.org/pypy/pypy/downloads/pypy-5.1.1-ppc64.tar.bz2#FIXME" "pypy" verify_py27 ensurepip
# ;;
#"linux-ppc64le" )
# require_distro "Fedora 21" || true
# install_package "pypy-5.1.1-ppc64le" "https://bitbucket.org/pypy/pypy/downloads/pypy-5.1.1-ppc64le.tar.bz2#FIXME" "pypy" verify_py27 ensurepip
# ;;
"linux64" )
if require_distro "Ubuntu 12.04" "Ubuntu 12.10" "Ubuntu 13.04" "Ubuntu 13.10" "Ubuntu 14.04" 1>/dev/null 2>&1; then
install_package "pypy-5.1.1-linux64" "https://bitbucket.org/pypy/pypy/downloads/pypy-5.1.1-linux64.tar.bz2#c852622e8bc81618c137da35fcf57b2349b956c07b6fd853300846e3cefa64fc" "pypy" verify_py27 ensurepip
else
install_package "pypy-5.1.1-linux_x86_64-portable" "https://bitbucket.org/squeaky/portable-pypy/downloads/pypy-5.1.1-linux_x86_64-portable.tar.bz2#c0502d8db1cc2b81513cc6047813669b0a561cb20e41d60e179f51fe8657a794" "pypy" verify_py27 ensurepip
fi
;;
"osx64" )
install_package "pypy-5.1.1-osx64" "https://bitbucket.org/pypy/pypy/downloads/pypy-5.1.1-osx64.tar.bz2#fe2bbb7cf95eb91b1724029f81e85d1dbb6025a2e9a005cfe7258fe07602f771" "pypy" verify_py27 ensurepip
;;
"win32" )
# FIXME: never tested on Windows
install_zip "pypy-5.1.1-win32" "https://bitbucket.org/pypy/pypy/downloads/pypy-5.1.1-win32.zip#22a780e328ef053e098f2edc2302957ac3119adf7bf11ff23e225931806e7bcd" "pypy" verify_py27 ensurepip
;;
* )
{ echo
colorize 1 "ERROR"
echo ": The binary distribution of PyPy is not available for $(pypy_architecture 2>/dev/null || true)."
echo "try 'pypy-5.1.1-src' to build from soruce."
echo
} >&2
exit 1
;;
esac

View File

@@ -0,0 +1,2 @@
require_gcc
install_package "pypy-5.1.1-src" "https://bitbucket.org/pypy/pypy/downloads/pypy-5.1.1-src.tar.bz2#ca3d943d7fbd78bb957ee9e5833ada4bb8506ac99a41b7628790e286a65ed2be" "pypy_builder" verify_py27 ensurepip

View File

@@ -0,0 +1,56 @@
case "$(pypy_architecture 2>/dev/null || true)" in
"linux" )
if require_distro "Ubuntu 12.04" "Ubuntu 12.10" "Ubuntu 13.04" "Ubuntu 13.10" "Ubuntu 14.04" 1>/dev/null 2>&1; then
install_package "pypy2-v5.3.0-linux" "https://bitbucket.org/pypy/pypy/downloads/pypy2-v5.3.0-linux32.tar.bz2#bd422fe9d0b7d525d1da3f32855b047bc39ba397d0cf708d8f4f96fe874424f2" "pypy" verify_py27 ensurepip
else
{ echo
colorize 1 "ERROR"
echo ": The binary distribution of PyPy is not available for $(pypy_architecture 2>/dev/null || true)."
echo "try 'pypy-5.3-src' to build from soruce."
echo
} >&2
exit 1
fi
;;
"linux-armel" )
require_distro "Ubuntu 12.04" || true
install_package "pypy2-v5.3.0-linux-armel" "https://bitbucket.org/pypy/pypy/downloads/pypy2-v5.3.0-linux-armel.tar.bz2#81b6f589a947d7353bb69408c46d4833d6e9cb501f3c3f0c73bd28d0e3df69aa" "pypy" verify_py27 ensurepip
;;
"linux-armhf" )
if [[ "$(cat /etc/issue 2>/dev/null || true)" == "Raspbian"* ]]; then
install_package "pypy2-v5.3.0-linux-armhf-raspbian" "https://bitbucket.org/pypy/pypy/downloads/pypy2-v5.3.0-linux-armhf-raspbian.tar.bz2#87b3566b6bbb8bf31c2f0d72bf31d95142fdce004d987812336a59d788005bed" "pypy" verify_py27 ensurepip
else
require_distro "Ubuntu 13.04" || true
install_package "pypy2-v5.3.0-linux-armhf-raring" "https://bitbucket.org/pypy/pypy/downloads/pypy2-v5.3.0-linux-armhf-raring.tar.bz2#bdb911a87e773a292334061b9c33b907f46d987e403fe94cc627a3b9b1c9cb19" "pypy" verify_py27 ensurepip
fi
;;
"linux64" )
if require_distro "Ubuntu 12.04" "Ubuntu 12.10" "Ubuntu 13.04" "Ubuntu 13.10" "Ubuntu 14.04" 1>/dev/null 2>&1; then
install_package "pypy2-v5.3.0-linux64" "https://bitbucket.org/pypy/pypy/downloads/pypy2-v5.3.0-linux64.tar.bz2#ac336e8877ed676bf87a9a546d5926b6afc4679fa2d3fdf9f3ca56f28ec40588" "pypy" verify_py27 ensurepip
else
{ echo
colorize 1 "ERROR"
echo ": The binary distribution of PyPy is not available for $(pypy_architecture 2>/dev/null || true)."
echo "try 'pypy-5.3-src' to build from soruce."
echo
} >&2
exit 1
fi
;;
"osx64" )
install_package "pypy2-v5.3.0-osx64" "https://bitbucket.org/pypy/pypy/downloads/pypy2-v5.3.0-osx64.tar.bz2#1b103bacbdcdbbc490660ec0c7b3d99d1ff1cfc2f13cd403db21c27f03d36a1d" "pypy" verify_py27 ensurepip
;;
"win32" )
# FIXME: never tested on Windows
install_zip "pypy2-v5.3.0-win32" "https://bitbucket.org/pypy/pypy/downloads/pypy2-v5.3.0-win32.zip#32a9e5286fc344165f63b529a9f84e521e9368e717c583488115654676428a20" "pypy" verify_py27 ensurepip
;;
* )
{ echo
colorize 1 "ERROR"
echo ": The binary distribution of PyPy is not available for $(pypy_architecture 2>/dev/null || true)."
echo "try 'pypy-5.3-src' to build from soruce."
echo
} >&2
exit 1
;;
esac

View File

@@ -0,0 +1,2 @@
require_gcc
install_package "pypy2-v5.3.0-src" "https://bitbucket.org/pypy/pypy/downloads/pypy2-v5.3.0-src.tar.bz2#4142eb8f403810bc88a4911792bb5a502e152df95806e33e69050c828cd160d5" "pypy_builder" verify_py27 ensurepip

View File

@@ -0,0 +1,44 @@
case "$(pypy_architecture 2>/dev/null || true)" in
"linux" )
if require_distro "Ubuntu 12.04" "Ubuntu 12.10" "Ubuntu 13.04" "Ubuntu 13.10" "Ubuntu 14.04" 1>/dev/null 2>&1; then
install_package "pypy2-v5.3.1-linux" "https://bitbucket.org/pypy/pypy/downloads/pypy2-v5.3.1-linux32.tar.bz2#da69f4280b288e524387103eaa3eb4d036965724c3e546da27135c15a77bd2eb" "pypy" verify_py27 ensurepip
else
install_package "pypy-5.3.1-linux_i686-portable" "https://bitbucket.org/squeaky/portable-pypy/downloads/pypy-5.3.1-linux_i686-portable.tar.bz2#4460dad6376406c221406676208abae989c126115b0f0b2e46c8b8a027bf978a" "pypy" verify_py27 ensurepip
fi
;;
"linux-armel" )
require_distro "Ubuntu 12.04" || true
install_package "pypy2-v5.3.1-linux-armel" "https://bitbucket.org/pypy/pypy/downloads/pypy2-v5.3.1-linux-armel.tar.bz2#0425f2022c35ef7f0bb3d2b854c5bcbe500b1aba511a0d83581ba6c784913961" "pypy" verify_py27 ensurepip
;;
"linux-armhf" )
if [[ "$(cat /etc/issue 2>/dev/null || true)" == "Raspbian"* ]]; then
install_package "pypy2-v5.3.1-linux-armhf-raspbian" "https://bitbucket.org/pypy/pypy/downloads/pypy2-v5.3.1-linux-armhf-raspbian.tar.bz2#5c93eb3c54fbb2c7d7332f775a096671512e590565e6051196bbc5039c5033b5" "pypy" verify_py27 ensurepip
else
require_distro "Ubuntu 13.04" || true
install_package "pypy2-v5.3.1-linux-armhf-raring" "https://bitbucket.org/pypy/pypy/downloads/pypy2-v5.3.1-linux-armhf-raring.tar.bz2#b4859496099bde4b17c1e56cc5749dcdcd25b4c68fde1d2ea426de84130e84cc" "pypy" verify_py27 ensurepip
fi
;;
"linux64" )
if require_distro "Ubuntu 12.04" "Ubuntu 12.10" "Ubuntu 13.04" "Ubuntu 13.10" "Ubuntu 14.04" 1>/dev/null 2>&1; then
install_package "pypy2-v5.3.1-linux64" "https://bitbucket.org/pypy/pypy/downloads/pypy2-v5.3.1-linux64.tar.bz2#6d0e8b14875b76b1e77f06a2ee3f1fb5015a645a951ba7a7586289344d4d9c22" "pypy" verify_py27 ensurepip
else
install_package "pypy-5.3.1-linux_x86_64-portable" "https://bitbucket.org/squeaky/portable-pypy/downloads/pypy-5.3.1-linux_x86_64-portable.tar.bz2#73014c3840609a62c0984b9c383652097f0a8c52fb74dd9de70d9df2a9a743ff" "pypy" verify_py27 ensurepip
fi
;;
"osx64" )
install_package "pypy2-v5.3.1-osx64" "https://bitbucket.org/pypy/pypy/downloads/pypy2-v5.3.1-osx64.tar.bz2#7a242d7373b4f18c7f5fe6c2fe6f15e2a405d9adf1f4f934c89b875e60ac5def" "pypy" verify_py27 ensurepip
;;
"win32" )
# FIXME: never tested on Windows
install_zip "pypy2-v5.3.1-win32" "https://bitbucket.org/pypy/pypy/downloads/pypy2-v5.3.1-win32.zip#d83477e2c5f032ebd8c7f47afce03dc8adbeb41a3c74f7db50d9de317dcf3a4a" "pypy" verify_py27 ensurepip
;;
* )
{ echo
colorize 1 "ERROR"
echo ": The binary distribution of PyPy is not available for $(pypy_architecture 2>/dev/null || true)."
echo "try 'pypy-5.3-src' to build from soruce."
echo
} >&2
exit 1
;;
esac

View File

@@ -0,0 +1,16 @@
case "$(pypy_architecture 2>/dev/null || true)" in
"linux" )
install_package "pypy-5.0-linux_i686-portable" "https://bitbucket.org/squeaky/portable-pypy/downloads/pypy-5.0-linux_i686-portable.tar.bz2#316e03afdd2f6212857789933c01f0d41a1665c80d28526c0fb4082b6d3f4f60" "pypy" verify_py27 ensurepip
;;
"linux64" )
install_package "pypy-5.0-linux_x86_64-portable" "https://bitbucket.org/squeaky/portable-pypy/downloads/pypy-5.0-linux_x86_64-portable.tar.bz2#57c9ea251bf1e7074e14aeecdd1ac8bb2fc53dbf3f90a9613d03e33076a7fa08" "pypy" verify_py27 ensurepip
;;
* )
{ echo
colorize 1 "ERROR"
echo ": Portable PyPy is not available for $(pypy_architecture 2>/dev/null || true)."
echo
} >&2
exit 1
;;
esac

View File

@@ -0,0 +1,16 @@
case "$(pypy_architecture 2>/dev/null || true)" in
"linux" )
install_package "pypy-5.0.1-linux_i686-portable" "https://bitbucket.org/squeaky/portable-pypy/downloads/pypy-5.0.1-linux_i686-portable.tar.bz2#96f1b487655c914a03f56747dfff9c20350175cae01e2911f19b1016442ed6b5" "pypy" verify_py27 ensurepip
;;
"linux64" )
install_package "pypy-5.0.1-linux_x86_64-portable" "https://bitbucket.org/squeaky/portable-pypy/downloads/pypy-5.0.1-linux_x86_64-portable.tar.bz2#14d65f84fe8228cfa2b8e924364cf4c71e2bc6b13649098fa340baf044606436" "pypy" verify_py27 ensurepip
;;
* )
{ echo
colorize 1 "ERROR"
echo ": Portable PyPy is not available for $(pypy_architecture 2>/dev/null || true)."
echo
} >&2
exit 1
;;
esac

View File

@@ -0,0 +1,16 @@
case "$(pypy_architecture 2>/dev/null || true)" in
"linux" )
install_package "pypy-5.1-linux_i686-portable" "https://bitbucket.org/squeaky/portable-pypy/downloads/pypy-5.1-linux_i686-portable.tar.bz2#893507603a58b8983b69924e60591de39b8f71f70ba36d6e3894db8f7c49c3ea" "pypy" verify_py27 ensurepip
;;
"linux64" )
install_package "pypy-5.1-linux_x86_64-portable" "https://bitbucket.org/squeaky/portable-pypy/downloads/pypy-5.1-linux_x86_64-portable.tar.bz2#b2df9b0127457d1c3cc0dc9b8f027a53569ccd3ba5a79012d641e576d9cc003a" "pypy" verify_py27 ensurepip
;;
* )
{ echo
colorize 1 "ERROR"
echo ": Portable PyPy is not available for $(pypy_architecture 2>/dev/null || true)."
echo
} >&2
exit 1
;;
esac

View File

@@ -0,0 +1,16 @@
case "$(pypy_architecture 2>/dev/null || true)" in
"linux" )
install_package "pypy-5.1.1-linux_i686-portable" "https://bitbucket.org/squeaky/portable-pypy/downloads/pypy-5.1.1-linux_i686-portable.tar.bz2#f00faf426f41f9980344d03fd74bb949875c0cf86048ad762dd445f72353eb8f" "pypy" verify_py27 ensurepip
;;
"linux64" )
install_package "pypy-5.1.1-linux_x86_64-portable" "https://bitbucket.org/squeaky/portable-pypy/downloads/pypy-5.1.1-linux_x86_64-portable.tar.bz2#c0502d8db1cc2b81513cc6047813669b0a561cb20e41d60e179f51fe8657a794" "pypy" verify_py27 ensurepip
;;
* )
{ echo
colorize 1 "ERROR"
echo ": Portable PyPy is not available for $(pypy_architecture 2>/dev/null || true)."
echo
} >&2
exit 1
;;
esac

View File

@@ -0,0 +1,16 @@
case "$(pypy_architecture 2>/dev/null || true)" in
"linux" )
install_package "pypy-5.3.1-linux_i686-portable" "https://bitbucket.org/squeaky/portable-pypy/downloads/pypy-5.3.1-linux_i686-portable.tar.bz2#4460dad6376406c221406676208abae989c126115b0f0b2e46c8b8a027bf978a" "pypy" verify_py27 ensurepip
;;
"linux64" )
install_package "pypy-5.3.1-linux_x86_64-portable" "https://bitbucket.org/squeaky/portable-pypy/downloads/pypy-5.3.1-linux_x86_64-portable.tar.bz2#73014c3840609a62c0984b9c383652097f0a8c52fb74dd9de70d9df2a9a743ff" "pypy" verify_py27 ensurepip
;;
* )
{ echo
colorize 1 "ERROR"
echo ": Portable PyPy is not available for $(pypy_architecture 2>/dev/null || true)."
echo
} >&2
exit 1
;;
esac

View File

@@ -0,0 +1,40 @@
case "$(pypy_architecture 2>/dev/null || true)" in
"linux" )
if require_distro "Ubuntu 10.04" 1>/dev/null 2>&1; then
install_package "pypy3.3-v5.2.0-alpha1-linux" "https://bitbucket.org/pypy/pypy/downloads/pypy3.3-v5.2.0-alpha1-linux32.tar.bz2#351aec101bdedddae7ea1b63845a5654b1a95fc9393894ef84a66749f6945f17" "pypy" verify_py33 ensurepip
else
install_package "pypy3.3-5.2-alpha-20160602-linux_i686-portable" "https://bitbucket.org/squeaky/portable-pypy/downloads/pypy3.3-5.2-alpha-20160602-linux_i686-portable.tar.bz2#6f2412167c63d6711b41062a23794828f95a75400082a6957595867762cb170d" "pypy" verify_py33 ensurepip
fi
;;
"linux-armel" )
require_distro "Ubuntu 12.04" || true
install_package "pypy3.3-v5.2.0-alpha1-linux-armel" "https://bitbucket.org/pypy/pypy/downloads/pypy3.3-v5.2.0-alpha1-linux-armel.tar.bz2#ac83e632213f078ab60045e6ad0564b146d65dcd9a52c130026fab6dd85bf2dc" "pypy" verify_py33 ensurepip
;;
"linux-armhf" )
if [[ "$(cat /etc/issue 2>/dev/null || true)" == "Raspbian"* ]]; then
install_package "pypy3.3-v5.2.0-alpha1-linux-armhf-raspbian" "https://bitbucket.org/pypy/pypy/downloads/pypy3.3-v5.2.0-alpha1-linux-armhf-raspbian.tar.bz2#ba9a5d0cbac1c622363315b30df288ab2cf8fcccf7e2882bf5946115dbfa657e" "pypy" verify_py33 ensurepip
else
require_distro "Ubuntu 13.04" || true
install_package "pypy3.3-v5.2.0-alpha1-linux-armhf-raring" "https://bitbucket.org/pypy/pypy/downloads/pypy3.3-v5.2.0-alpha1-linux-armhf-raring.tar.bz2#b4d847d33c1bf9b3956d1d17b9e37505eb32f68e341c9333a74a82010a63e799" "pypy" verify_py33 ensurepip
fi
;;
"linux64" )
if require_distro "Ubuntu 12.04" "Ubuntu 12.10" "Ubuntu 13.04" "Ubuntu 13.10" "Ubuntu 14.04" 1>/dev/null 2>&1; then
install_package "pypy3.3-v5.2.0-alpha1-linux64" "https://bitbucket.org/pypy/pypy/downloads/pypy3.3-v5.2.0-alpha1-linux64.tar.bz2#f5e66ab24267d6ddf662d07c512d06c10ebc732ae62093dabbd775ac63b9060a" "pypy" verify_py33 ensurepip
else
install_package "pypy3.3-5.2-alpha-20160602-linux_x86_64-portable" "https://bitbucket.org/squeaky/portable-pypy/downloads/pypy3.3-5.2-alpha-20160602-linux_x86_64-portable.tar.bz2#4d1e7dd727448c1b2caa90c943713c0aa10b32e9d977c2c3b348835f515a3ad4" "pypy" verify_py33 ensurepip
fi
;;
"osx64" )
install_package "pypy3.3-v5.2.0-alpha1-osx64" "https://bitbucket.org/pypy/pypy/downloads/pypy3.3-v5.2.0-alpha1-osx64.tar.bz2#abaceab5d2790f49e04e0d80669283da41f94b77cf483b30ac0de48d3c19f304" "pypy" verify_py33 ensurepip
;;
* )
{ echo
colorize 1 "ERROR"
echo ": The binary distribution of PyPy is not available for $(pypy_architecture 2>/dev/null || true)."
echo "try 'pypy3.3-5.2-alpha1-src' to build from soruce."
echo
} >&2
exit 1
;;
esac

View File

@@ -0,0 +1,2 @@
require_gcc
install_package "pypy3.3-v5.2.0-alpha1-src" "https://bitbucket.org/pypy/pypy/downloads/pypy3.3-v5.2.0-alpha1-src.tar.bz2#344c2f088c82ea1274964bb0505ab80d3f9e538cc03f91aa109325ddbaa61426" "pypy_builder" verify_py33 ensurepip

View File

@@ -1,4 +1,4 @@
#require_gcc
install_package "openssl-1.0.2g" "https://www.openssl.org/source/openssl-1.0.2g.tar.gz#b784b1b3907ce39abf4098702dade6365522a253ad1552e267a9a0e89594aa33" mac_openssl --if has_broken_mac_openssl
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
install_hg "stackless-dev" "http://hg.python.org/stackless" "default" standard verify_py33 ensurepip
install_hg "stackless-dev" "http://hg.python.org/stackless" "default" standard verify_py35 ensurepip

View File

@@ -8,6 +8,7 @@ export CC=cc
export -n PYTHON_CONFIGURE_OPTS
setup() {
ensure_not_found_in_path aria2c
mkdir -p "$INSTALL_ROOT"
stub md5 false
stub curl false

View File

@@ -3,8 +3,10 @@
load test_helper
export PYTHON_BUILD_SKIP_MIRROR=1
export PYTHON_BUILD_CACHE_PATH="$TMP/cache"
export PYTHON_BUILD_CURL_OPTS=
setup() {
ensure_not_found_in_path aria2c
mkdir "$PYTHON_BUILD_CACHE_PATH"
}
@@ -57,7 +59,7 @@ setup() {
local checksum="ba988b1bb4250dee0b9dd3d4d722f9c64b2bacfc805d1b6eba7426bda72dd3c5"
stub shasum true "echo invalid" "echo $checksum"
stub curl "-*I* : true" \
stub curl "-*I* * : true" \
"-q -o * -*S* https://?*/$checksum : cp $FIXTURE_ROOT/package-1.0.0.tar.gz \$3"
touch "${PYTHON_BUILD_CACHE_PATH}/package-1.0.0.tar.gz"

View File

@@ -3,6 +3,11 @@
load test_helper
export PYTHON_BUILD_SKIP_MIRROR=1
export PYTHON_BUILD_CACHE_PATH=
export PYTHON_BUILD_CURL_OPTS=
setup() {
ensure_not_found_in_path aria2c
}
@test "package URL without checksum" {
@@ -103,6 +108,7 @@ export PYTHON_BUILD_CACHE_PATH=
@test "existing tarball in build location is reused" {
stub shasum true "echo ba988b1bb4250dee0b9dd3d4d722f9c64b2bacfc805d1b6eba7426bda72dd3c5"
stub curl false
stub curl false
stub wget false
export -n PYTHON_BUILD_CACHE_PATH

View File

@@ -3,8 +3,10 @@
load test_helper
export PYTHON_BUILD_SKIP_MIRROR=1
export PYTHON_BUILD_CACHE_PATH=
export PYTHON_BUILD_ARIA2_OPTS=
setup() {
ensure_not_found_in_path aria2c
export PYTHON_BUILD_BUILD_PATH="${TMP}/source"
mkdir -p "${PYTHON_BUILD_BUILD_PATH}"
}
@@ -18,6 +20,20 @@ setup() {
assert_output_contains "error: failed to download package-1.0.0.tar.gz"
}
@test "using aria2c if available" {
stub aria2c "--allow-overwrite=true --no-conf=true -o * http://example.com/* : cp $FIXTURE_ROOT/\${5##*/} \$4"
install_fixture definitions/without-checksum
assert_success
assert_output <<OUT
Downloading package-1.0.0.tar.gz...
-> http://example.com/packages/package-1.0.0.tar.gz
Installing package-1.0.0...
Installed package-1.0.0 to ${TMP}/install
OUT
unstub aria2c
}
@test "fetching from git repository" {
stub git "clone --depth 1 --branch master http://example.com/packages/package.git package-dev : mkdir package-dev"

View File

@@ -4,6 +4,11 @@ load test_helper
export PYTHON_BUILD_SKIP_MIRROR=
export PYTHON_BUILD_CACHE_PATH=
export PYTHON_BUILD_MIRROR_URL=http://mirror.example.com
export PYTHON_BUILD_CURL_OPTS=
setup() {
ensure_not_found_in_path aria2c
}
@test "package URL without checksum bypasses mirror" {

View File

@@ -9,6 +9,7 @@ export CC=cc
export TMP_FIXTURES="$TMP/fixtures"
setup() {
ensure_not_found_in_path aria2c
mkdir -p "$INSTALL_ROOT"
stub md5 false
stub curl false

View File

@@ -9,6 +9,35 @@ if [ "$FIXTURE_ROOT" != "$BATS_TEST_DIRNAME/fixtures" ]; then
export PATH
fi
remove_command_from_path() {
OLDIFS="${IFS}"
local cmd="$1"
local path
local paths=()
IFS=:
for path in ${PATH}; do
if [ -e "${path}/${cmd}" ]; then
local tmp_path="$(mktemp -d "${TMP}/path.XXXXX")"
ln -fs "${path}"/* "${tmp_path}"
rm -f "${tmp_path}/${cmd}"
paths["${#paths[@]}"]="${tmp_path}"
else
paths["${#paths[@]}"]="${path}"
fi
done
export PATH="${paths[*]}"
IFS="${OLDIFS}"
}
ensure_not_found_in_path() {
local cmd
for cmd; do
if command -v "${cmd}" 1>/dev/null 2>&1; then
remove_command_from_path "${cmd}"
fi
done
}
teardown() {
rm -fr "${TMP:?}"/*
}

47
pyenv.d/rehash/conda.bash Normal file
View File

@@ -0,0 +1,47 @@
# Anaconda comes with binaries of system packages (e.g. `openssl`, `curl`).
# Creating shims for those binaries will prevent pyenv users to run those
# commands normally when not using Anaconda.
#
# This hooks is intended to skip creating shims for those executables.
conda_exists() {
shopt -s nullglob
local condas=($(echo "${PYENV_ROOT}/versions/"*"/bin/conda" "${PYENV_ROOT}/versions/"*"/envs/"*"/bin/conda"))
shopt -u nullglob
[ -n "${condas}" ]
}
shims=()
for shim in $(cat "${BASH_SOURCE%/*}/conda.txt"); do
if [ -n "${shim%%#*}" ]; then
shims[${#shims[*]}]="${shim})return 0;;"
fi
done
eval "conda_shim(){ case \"\$1\" in ${shims[@]} *)return 1;;esac;}"
# override `make_shims` to avoid conflict between pyenv-virtualenv's `envs.bash`
# https://github.com/yyuu/pyenv-virtualenv/blob/v20160716/etc/pyenv.d/rehash/envs.bash
make_shims() {
local file shim
for file do
shim="${file##*/}"
if ! conda_shim "${shim}" 1>&2; then
register_shim "$shim"
fi
done
}
deregister_conda_shims() {
local shim
local shims=()
for shim in ${registered_shims}; do
if ! conda_shim "${shim}" 1>&2; then
shims[${#shims[*]}]="${shim}"
fi
done
registered_shims=" ${shims[@]} "
}
if conda_exists; then
deregister_conda_shims
fi

78
pyenv.d/rehash/conda.txt Normal file
View File

@@ -0,0 +1,78 @@
# curl
curl
curl-config
# fontconfig
fc-cache
fc-cat
fc-list
fc-match
fc-pattern
fc-query
fc-scan
fc-validate
# freetype
freetype-config
# libglib2.0-bin
gapplication
gdbus
gresource
gsettings
gio-querymodules
glib-compile-resources
glib-compile-schemas
# libpng
libpng-config
# libxml2
xml2-config
# libxml2-utils
xmlcatalog
xmllint
# openssl
openssl
# qtchooser
assistant
designer
lconvert
linguist
lrelease
lupdate
moc
pixeltool
qcollectiongenerator
qdbus
qdbuscpp2xml
qdbusviewer
qdbusxml2cpp
qhelpconverter
qhelpgenerator
qmake
qmlplugindump
qmlviewer
qtconfig
rcc
uic
xmlpatterns
xmlpatternsvalidator
# redis
redis-benchmark
redis-check-aof
redis-check-dump
redis-cli
redis-server
# sqlite3
sqlite3
# xslt-config
xslt-config
# xsltproc
xsltproc
# xz
unxz
xz
xzcat
xzcmd
xzdiff
xzegrep
xzfgrep
xzgrep
xzless
xzmore

View File

@@ -1,165 +0,0 @@
# Anaconda comes with binaries of system packages (e.g. `openssl`, `curl`).
# Creating shims for those binaries will prevent pyenv users to run those
# commands normally when not using Anaconda.
#
# This is a limited edition of https://github.com/yyuu/pyenv-which-ext
# and it will looks for original `PATH` if there is Anaconda/Miniconda
# installed and the command name is blacklisted.
conda_exists() {
shopt -s nullglob
local condas=($(echo "${PYENV_ROOT}/versions/"*"/bin/conda" "${PYENV_ROOT}/versions/"*"/envs/"*"/bin/conda"))
shopt -u nullglob
[ -n "${condas}" ]
}
conda_shims() {
## curl
cat <<EOS
curl
curl-config
EOS
## fontconfig
cat <<EOS
fc-cache
fc-cat
fc-list
fc-match
fc-pattern
fc-query
fc-scan
fc-validate
EOS
## freetype
cat <<EOS
freetype-config
EOS
## libpng
cat <<EOS
libpng-config
EOS
## openssl
cat <<EOS
openssl
EOS
## qtchooser
cat <<EOS
assistant
designer
lconvert
linguist
lrelease
lupdate
moc
pixeltool
qcollectiongenerator
qdbus
qdbuscpp2xml
qdbusviewer
qdbusxml2cpp
qhelpconverter
qhelpgenerator
qmake
qmlplugindump
qmlviewer
qtconfig
rcc
uic
xmlpatterns
xmlpatternsvalidator
EOS
## redis
cat <<EOS
redis-benchmark
redis-check-aof
redis-check-dump
redis-cli
redis-server
EOS
## sqlite3
cat <<EOS
sqlite3
EOS
## libxml2
cat <<EOS
xml2-config
EOS
## libxslt
cat <<EOS
xslt-config
EOS
## xsltproc
cat <<EOS
xsltproc
EOS
}
expand_path() {
if [ ! -d "$1" ]; then
return 1
fi
local cwd="$(pwd)"
cd "$1"
pwd
cd "$cwd"
}
remove_from_path() {
local path_to_remove="$(expand_path "$1")"
local result=""
if [ -z "$path_to_remove" ]; then
echo "${PATH}"
return
fi
local paths
IFS=: paths=($PATH)
for path in "${paths[@]}"; do
path="$(expand_path "$path" || true)"
if [ -n "$path" ] && [ "$path" != "$path_to_remove" ]; then
result="${result}${path}:"
fi
done
echo "${result%:}"
}
lookup_from_path() {
local command_to_lookup="$1"
local original_path="${PATH}"
PATH="$(remove_from_path "${PYENV_ROOT}/shims")"
local result="$(command -v "$command_to_lookup" || true)"
PATH="${original_path}"
echo "$result"
}
if [ -n "$PYENV_COMMAND" ]; then
if conda_exists; then
if [ -x "$PYENV_COMMAND_PATH" ]; then
# `curl` bundled with Anaconda does not work on Debian
# https://github.com/ContinuumIO/anaconda-issues/issues/72
if [[ "$PYENV_COMMAND" == "curl" ]] && [[ -x "${PYENV_COMMAND_PATH%/*}/curl-config" ]]; then
if [ ! -f "$("${PYENV_COMMAND_PATH%/*}/curl-config" --ca 2>/dev/null || true)" ]; then
PYENV_COMMAND_PATH="$(lookup_from_path "$PYENV_COMMAND" || true)"
fi
fi
else
if conda_shims | grep -q -x "$PYENV_COMMAND"; then
PYENV_COMMAND_PATH="$(lookup_from_path "$PYENV_COMMAND" || true)"
fi
fi
fi
fi

View File

@@ -10,21 +10,23 @@
# Chet Ramey
# chet@po.cwru.edu
# Copyright (C) 1996-2002 Free Software Foundation, Inc.
# Copyright (C) 1996-2014 Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This file is part of GNU Bash, the Bourne Again SHell.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
#
# defaults
@@ -62,7 +64,21 @@ while [ $# -gt 0 ]; do
esac
done
case "${host_os}-${SHOBJ_CC}" in
case "${host_os}-${SHOBJ_CC}-${host_vendor}" in
nsk-cc-tandem)
SHOBJ_CFLAGS=-Wglobalized
case `uname -m` in
NSR*)
SHOBJ_CFLAGS="${SHOBJ_CFLAGS} -Wcall_shared" # default on TNS/E, needed on TNS/R
SHOBJ_LD=/usr/bin/ld # for TNS/R
;;
NSE*|NEO*)
SHOBJ_LD=/usr/bin/eld
;;
esac
SHOBJ_LDFLAGS='-shared -bglobalized -unres_symbols ignore'
;;
sunos4*-*gcc*)
SHOBJ_CFLAGS=-fpic
SHOBJ_LD=/usr/bin/ld
@@ -80,15 +96,17 @@ sunos4*)
;;
sunos5*-*gcc*|solaris2*-*gcc*)
SHOBJ_CFLAGS=-fpic
SHOBJ_LD='${CC}'
ld_used=`gcc -print-prog-name=ld`
if ${ld_used} -V 2>&1 | grep GNU >/dev/null 2>&1; then
# This line works for the GNU ld
SHOBJ_LDFLAGS='-shared -Wl,-h,$@'
# http://sourceware.org/ml/binutils/2001-08/msg00361.html
SHOBJ_CFLAGS=-fPIC
else
# This line works for the Solaris linker in /usr/ccs/bin/ld
SHOBJ_LDFLAGS='-shared -Wl,-i -Wl,-h,$@'
SHOBJ_CFLAGS=-fpic
fi
# SHLIB_XLDFLAGS='-R $(libdir)'
@@ -104,8 +122,8 @@ sunos5*|solaris2*)
SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
;;
# All versions of Linux or the semi-mythical GNU Hurd.
linux*-*|gnu*-*|k*bsd*-gnu-*)
# All versions of Linux (including Gentoo/FreeBSD) or the semi-mythical GNU Hurd.
linux*-*|gnu*-*|k*bsd*-gnu-*|freebsd*-gentoo)
SHOBJ_CFLAGS=-fPIC
SHOBJ_LD='${CC}'
SHOBJ_LDFLAGS='-shared -Wl,-soname,$@'
@@ -114,7 +132,7 @@ linux*-*|gnu*-*|k*bsd*-gnu-*)
SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)'
;;
freebsd2* | netbsd*)
freebsd2*)
SHOBJ_CFLAGS=-fpic
SHOBJ_LD=ld
SHOBJ_LDFLAGS='-x -Bshareable'
@@ -124,8 +142,8 @@ freebsd2* | netbsd*)
;;
# FreeBSD-3.x ELF
freebsd[3-9]*|freebsdelf[3-9]*|freebsdaout[3-9]*|dragonfly*)
SHOBJ_CFLAGS=-fpic
freebsd3*|freebsdaout*)
SHOBJ_CFLAGS=-fPIC
SHOBJ_LD='${CC}'
if [ -x /usr/bin/objformat ] && [ "`/usr/bin/objformat`" = "elf" ]; then
@@ -141,39 +159,20 @@ freebsd[3-9]*|freebsdelf[3-9]*|freebsdaout[3-9]*|dragonfly*)
fi
;;
# FreeBSD-4.x and later have only ELF
freebsd[4-9]*|freebsd1[0-9]*|freebsdelf*|dragonfly*)
SHOBJ_CFLAGS=-fPIC
SHOBJ_LD='${CC}'
SHOBJ_LDFLAGS='-shared -Wl,-soname,$@'
SHLIB_XLDFLAGS='-Wl,-rpath,$(libdir)'
SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
;;
# Darwin/MacOS X
darwin1*)
SHOBJ_STATUS=supported
SHLIB_STATUS=supported
SHOBJ_CFLAGS=''
SHLIB_LIBSUFF='dylib'
SHOBJ_LD='${CC}'
SHOBJ_LDFLAGS='-dynamiclib'
;;
darwin8*)
SHOBJ_STATUS=supported
SHLIB_STATUS=supported
SHOBJ_CFLAGS='-fno-common'
SHOBJ_LD='MACOSX_DEPLOYMENT_TARGET=10.3 ${CC}'
SHLIB_LIBVERSION='$(SHLIB_MAJOR)$(SHLIB_MINOR).$(SHLIB_LIBSUFF)'
SHLIB_LIBSUFF='dylib'
SHOBJ_LDFLAGS='-undefined dynamic_lookup'
SHLIB_XLDFLAGS='-dynamiclib -arch_only `/usr/bin/arch` -install_name $(libdir)/$@ -current_version $(SHLIB_MAJOR)$(SHLIB_MINOR) -compatibility_version $(SHLIB_MAJOR) -v'
SHLIB_LIBS='-lncurses' # see if -lcurses works on MacOS X 10.1
;;
darwin*|macosx*)
SHOBJ_STATUS=unsupported
SHLIB_STATUS=supported
darwin*)
# Common definitions for all darwin/mac os x versions
SHOBJ_CFLAGS='-fno-common'
SHOBJ_LD='${CC}'
@@ -181,19 +180,39 @@ darwin*|macosx*)
SHLIB_LIBVERSION='$(SHLIB_MAJOR)$(SHLIB_MINOR).$(SHLIB_LIBSUFF)'
SHLIB_LIBSUFF='dylib'
# unused at this time
SHLIB_SONAME='$(libdir)/`echo $@ | sed "s:\\..*::"`.$(SHLIB_MAJOR).$(SHLIB_LIBSUFF)'
case "${host_os}" in
darwin[78]*) SHOBJ_LDFLAGS=''
SHLIB_XLDFLAGS='-dynamiclib -arch_only `/usr/bin/arch` -install_name $(libdir)/$@ -current_version $(SHLIB_MAJOR)$(SHLIB_MINOR) -compatibility_version $(SHLIB_MAJOR) -v'
# Darwin versions 1, 5, 6, 7 correspond to Mac OS X 10.0, 10.1, 10.2,
# and 10.3, respectively.
darwin[1-7].*)
SHOBJ_STATUS=unsupported
SHOBJ_LDFLAGS='-dynamic'
SHLIB_XLDFLAGS='-arch_only `/usr/bin/arch` -install_name $(libdir)/`echo $@ | sed "s:\\..*::"`.$(SHLIB_MAJOR).$(SHLIB_LIBSUFF) -current_version $(SHLIB_MAJOR)$(SHLIB_MINOR) -compatibility_version $(SHLIB_MAJOR) -v'
;;
# Darwin 8 == Mac OS X 10.4; Mac OS X 10.N == Darwin N+4
*)
case "${host_os}" in
darwin[89]*|darwin1[012]*)
SHOBJ_ARCHFLAGS='-arch_only `/usr/bin/arch`'
;;
*) SHOBJ_LDFLAGS='-dynamic'
SHLIB_XLDFLAGS='-arch_only `/usr/bin/arch` -install_name $(libdir)/$@ -current_version $(SHLIB_MAJOR)$(SHLIB_MINOR) -compatibility_version $(SHLIB_MAJOR) -v'
*) # Mac OS X 10.9 (Mavericks) and later
SHOBJ_ARCHFLAGS=
# for 32 and 64bit universal library
#SHOBJ_ARCHFLAGS='-arch i386 -arch x86_64'
#SHOBJ_CFLAGS=${SHOBJ_CFLAGS}' -arch i386 -arch x86_64'
;;
esac
SHOBJ_LDFLAGS="-dynamiclib -dynamic -undefined dynamic_lookup ${SHOBJ_ARCHFLAGS}"
SHLIB_XLDFLAGS="-dynamiclib ${SHOBJ_ARCHFLAGS}"' -install_name $(libdir)/`echo $@ | sed "s:\\..*::"`.$(SHLIB_MAJOR).$(SHLIB_LIBSUFF) -current_version $(SHLIB_MAJOR)$(SHLIB_MINOR) -compatibility_version $(SHLIB_MAJOR) -v'
;;
esac
SHLIB_LIBS='-lncurses' # see if -lcurses works on MacOS X 10.1
;;
openbsd*)
openbsd*|netbsd*|mirbsd*)
SHOBJ_CFLAGS=-fPIC
SHOBJ_LD='${CC}'
SHOBJ_LDFLAGS='-shared'
@@ -258,7 +277,7 @@ osf*)
SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
;;
aix4.[2-9]*-*gcc*) # lightly tested by jik@cisco.com
aix4.[2-9]*-*gcc*|aix[5-9].*-*gcc*) # lightly tested by jik@cisco.com
SHOBJ_CFLAGS=-fpic
SHOBJ_LD='ld'
SHOBJ_LDFLAGS='-bdynamic -bnoentry -bexpall'
@@ -269,7 +288,7 @@ aix4.[2-9]*-*gcc*) # lightly tested by jik@cisco.com
SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
;;
aix4.[2-9]*)
aix4.[2-9]*|aix[5-9].*)
SHOBJ_CFLAGS=-K
SHOBJ_LD='ld'
SHOBJ_LDFLAGS='-bdynamic -bnoentry -bexpall'
@@ -340,7 +359,7 @@ hpux10*-*gcc*)
SHOBJ_LD='${CC}'
# if you have problems linking here, moving the `-Wl,+h,$@' from
# SHLIB_XLDFLAGS to SHOBJ_LDFLAGS has been reported to work
SHOBJ_LDFLAGS='-shared -Wl,-b -Wl,+s'
SHOBJ_LDFLAGS='-shared -fpic -Wl,-b -Wl,+s'
SHLIB_XLDFLAGS='-Wl,+h,$@ -Wl,+b,$(libdir)'
SHLIB_LIBSUFF='sl'
@@ -500,20 +519,37 @@ msdos*)
cygwin*)
SHOBJ_LD='$(CC)'
SHOBJ_LDFLAGS='-shared -Wl,--enable-auto-import -Wl,--enable-auto-image-base -Wl,--export-all -Wl,--out-implib=$(@).a'
SHLIB_LIBPREF='cyg'
SHLIB_LIBSUFF='dll'
SHLIB_LIBVERSION='$(SHLIB_DLLVERSION).$(SHLIB_LIBSUFF)'
SHLIB_LIBS='$(TERMCAP_LIB)'
SHOBJ_LDFLAGS='-shared -Wl,--enable-auto-import -Wl,--enable-auto-image-base -Wl,--export-all -Wl,--out-implib=$(@).a'
SHLIB_LIBPREF='cyg'
SHLIB_LIBSUFF='dll'
SHLIB_LIBVERSION='$(SHLIB_DLLVERSION).$(SHLIB_LIBSUFF)'
SHLIB_LIBS='$(TERMCAP_LIB)'
SHLIB_DOT=
# For official cygwin releases, DLLVERSION will be defined in the
# environment of configure, and will be incremented any time the API
# changes in a non-backwards compatible manner. Otherwise, it is just
# SHLIB_MAJOR.
if [ -n "$DLLVERSION" ] ; then
# For official cygwin releases, DLLVERSION will be defined in the
# environment of configure, and will be incremented any time the API
# changes in a non-backwards compatible manner. Otherwise, it is just
# SHLIB_MAJOR.
if [ -n "$DLLVERSION" ] ; then
SHLIB_DLLVERSION="$DLLVERSION"
fi
fi
;;
mingw*)
SHOBJ_LD='$(CC)'
SHOBJ_LDFLAGS='-shared -Wl,--enable-auto-import -Wl,--enable-auto-image-base -Wl,--export-all -Wl,--out-implib=$(@).a'
SHLIB_LIBSUFF='dll'
SHLIB_LIBVERSION='$(SHLIB_DLLVERSION).$(SHLIB_LIBSUFF)'
SHLIB_LIBS='$(TERMCAP_LIB)'
SHLIB_DOT=
# For official cygwin releases, DLLVERSION will be defined in the
# environment of configure, and will be incremented any time the API
# changes in a non-backwards compatible manner. Otherwise, it is just
# SHLIB_MAJOR.
if [ -n "$DLLVERSION" ] ; then
SHLIB_DLLVERSION="$DLLVERSION"
fi
;;
#

View File

@@ -2,22 +2,13 @@
load test_helper
export GIT_DIR="${PYENV_TEST_DIR}/.git"
setup() {
mkdir -p "$HOME"
git config --global user.name "Tester"
git config --global user.email "tester@test.local"
mkdir -p "${PYENV_TEST_DIR}/bin"
cat > "${PYENV_TEST_DIR}/bin/git" <<CMD
#!$BASH
if [[ \$1 == remote && \$PWD != "\$PYENV_TEST_DIR"/* ]]; then
echo "not allowed" >&2
exit 1
else
exec $(which git) "\$@"
fi
CMD
chmod +x "${PYENV_TEST_DIR}/bin/git"
cd "$PYENV_TEST_DIR"
}
git_commit() {
@@ -28,47 +19,37 @@ git_commit() {
assert [ ! -e "$PYENV_ROOT" ]
run pyenv---version
assert_success
[[ $output == "pyenv 20"* ]]
[[ $output == "pyenv "?.?.? ]]
}
@test "doesn't read version from non-pyenv repo" {
mkdir -p "$PYENV_ROOT"
cd "$PYENV_ROOT"
git init
git remote add origin https://github.com/homebrew/homebrew.git
git_commit
git tag v1.0
cd "$PYENV_TEST_DIR"
run pyenv---version
assert_success
[[ $output == "pyenv 20"* ]]
[[ $output == "pyenv "?.?.? ]]
}
@test "reads version from git repo" {
mkdir -p "$PYENV_ROOT"
cd "$PYENV_ROOT"
git init
git remote add origin https://github.com/yyuu/pyenv.git
git_commit
git tag v20380119
git tag v0.4.1
git_commit
git_commit
cd "$PYENV_TEST_DIR"
run pyenv---version
assert_success
[[ $output == "pyenv 20380119-2-g"* ]]
assert_success "pyenv 0.4.1-2-g$(git rev-parse --short HEAD)"
}
@test "prints default version if no tags in git repo" {
mkdir -p "$PYENV_ROOT"
cd "$PYENV_ROOT"
git init
git remote add origin https://github.com/yyuu/pyenv.git
git_commit
cd "$PYENV_TEST_DIR"
run pyenv---version
[[ $output == "pyenv 20"* ]]
[[ $output == "pyenv "?.?.? ]]
}

View File

@@ -43,27 +43,14 @@ python
OUT
}
@test "supports hook path with spaces" {
hook_path="${PYENV_TEST_DIR}/custom stuff/pyenv hooks"
mkdir -p "${hook_path}/exec"
echo "export HELLO='from hook'" > "${hook_path}/exec/hello.bash"
export PYENV_VERSION=system
PYENV_HOOK_PATH="$hook_path" run pyenv-exec env
assert_success
assert_line "HELLO=from hook"
}
@test "carries original IFS within hooks" {
hook_path="${PYENV_TEST_DIR}/pyenv.d"
mkdir -p "${hook_path}/exec"
cat > "${hook_path}/exec/hello.bash" <<SH
create_hook exec hello.bash <<SH
hellos=(\$(printf "hello\\tugly world\\nagain"))
echo HELLO="\$(printf ":%s" "\${hellos[@]}")"
SH
export PYENV_VERSION=system
PYENV_HOOK_PATH="$hook_path" IFS=$' \t\n' run pyenv-exec env
IFS=$' \t\n' run pyenv-exec env
assert_success
assert_line "HELLO=:hello:ugly:world:again"
}

View File

@@ -3,7 +3,7 @@
load test_helper
@test "default" {
run pyenv global
run pyenv-global
assert_success
assert_output "system"
}
@@ -20,7 +20,7 @@ load test_helper
mkdir -p "$PYENV_ROOT/versions/1.2.3"
run pyenv-global "1.2.3"
assert_success
run pyenv global
run pyenv-global
assert_success "1.2.3"
}

View File

@@ -2,11 +2,6 @@
load test_helper
create_hook() {
mkdir -p "$1/$2"
touch "$1/$2/$3"
}
@test "prints usage help given no argument" {
run pyenv-hooks
assert_failure "Usage: pyenv hooks <command>"
@@ -15,11 +10,13 @@ create_hook() {
@test "prints list of hooks" {
path1="${PYENV_TEST_DIR}/pyenv.d"
path2="${PYENV_TEST_DIR}/etc/pyenv_hooks"
create_hook "$path1" exec "hello.bash"
create_hook "$path1" exec "ahoy.bash"
create_hook "$path1" exec "invalid.sh"
create_hook "$path1" which "boom.bash"
create_hook "$path2" exec "bueno.bash"
PYENV_HOOK_PATH="$path1"
create_hook exec "hello.bash"
create_hook exec "ahoy.bash"
create_hook exec "invalid.sh"
create_hook which "boom.bash"
PYENV_HOOK_PATH="$path2"
create_hook exec "bueno.bash"
PYENV_HOOK_PATH="$path1:$path2" run pyenv-hooks exec
assert_success
@@ -33,8 +30,10 @@ OUT
@test "supports hook paths with spaces" {
path1="${PYENV_TEST_DIR}/my hooks/pyenv.d"
path2="${PYENV_TEST_DIR}/etc/pyenv hooks"
create_hook "$path1" exec "hello.bash"
create_hook "$path2" exec "ahoy.bash"
PYENV_HOOK_PATH="$path1"
create_hook exec "hello.bash"
PYENV_HOOK_PATH="$path2"
create_hook exec "ahoy.bash"
PYENV_HOOK_PATH="$path1:$path2" run pyenv-hooks exec
assert_success
@@ -45,8 +44,8 @@ OUT
}
@test "resolves relative paths" {
path="${PYENV_TEST_DIR}/pyenv.d"
create_hook "$path" exec "hello.bash"
PYENV_HOOK_PATH="${PYENV_TEST_DIR}/pyenv.d"
create_hook exec "hello.bash"
mkdir -p "$HOME"
PYENV_HOOK_PATH="${HOME}/../pyenv.d" run pyenv-hooks exec

View File

@@ -25,12 +25,24 @@ load test_helper
}
@test "detect parent shell" {
root="$(cd $BATS_TEST_DIRNAME/.. && pwd)"
SHELL=/bin/false run pyenv-init -
assert_success
assert_line "export PYENV_SHELL=bash"
}
@test "detect parent shell from script" {
mkdir -p "$PYENV_TEST_DIR"
cd "$PYENV_TEST_DIR"
cat > myscript.sh <<OUT
#!/bin/sh
eval "\$(pyenv-init -)"
echo \$PYENV_SHELL
OUT
chmod +x myscript.sh
run ./myscript.sh /bin/zsh
assert_success "sh"
}
@test "setup shell completions (fish)" {
root="$(cd $BATS_TEST_DIRNAME/.. && pwd)"
run pyenv-init - fish
@@ -41,7 +53,7 @@ load test_helper
@test "fish instructions" {
run pyenv-init fish
assert [ "$status" -eq 1 ]
assert_line 'status --is-interactive; and . (pyenv init -|psub)'
assert_line 'status --is-interactive; and source (pyenv init -|psub)'
}
@test "option to skip rehash" {

View File

@@ -19,24 +19,11 @@ setup() {
assert_success "1.2.3"
}
@test "supports legacy .pyenv-version file" {
echo "1.2.3" > .pyenv-version
run pyenv-local
assert_success "1.2.3"
}
@test "local .python-version has precedence over .pyenv-version" {
echo "2.7" > .pyenv-version
echo "3.4" > .python-version
run pyenv-local
assert_success "3.4"
}
@test "ignores version in parent directory" {
@test "discovers version file in parent directory" {
echo "1.2.3" > .python-version
mkdir -p "subdir" && cd "subdir"
run pyenv-local
assert_failure
assert_success "1.2.3"
}
@test "ignores PYENV_DIR" {
@@ -64,40 +51,9 @@ setup() {
assert [ "$(cat .python-version)" = "1.2.3" ]
}
@test "renames .pyenv-version to .python-version" {
echo "2.7.6" > .pyenv-version
mkdir -p "${PYENV_ROOT}/versions/3.3.3"
run pyenv-local
assert_success "2.7.6"
run pyenv-local "3.3.3"
assert_success
assert_output <<OUT
pyenv: removed existing \`.pyenv-version' file and migrated
local version specification to \`.python-version' file
OUT
assert [ ! -e .pyenv-version ]
assert [ "$(cat .python-version)" = "3.3.3" ]
}
@test "doesn't rename .pyenv-version if changing the version failed" {
echo "2.7.6" > .pyenv-version
assert [ ! -e "${PYENV_ROOT}/versions/3.3.3" ]
run pyenv-local "3.3.3"
assert_failure "pyenv: version \`3.3.3' not installed"
assert [ ! -e .python-version ]
assert [ "$(cat .pyenv-version)" = "2.7.6" ]
}
@test "unsets local version" {
touch .python-version
run pyenv-local --unset
assert_success ""
assert [ ! -e .pyenv-version ]
}
@test "unsets alternate version file" {
touch .pyenv-version
run pyenv-local --unset
assert_success ""
assert [ ! -e .pyenv-version ]
assert [ ! -e .python-version ]
}

Some files were not shown because too many files have changed in this diff Show More