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

Compare commits

...

2940 Commits

Author SHA1 Message Date
Anton Petrov
79a501139f 2.3.24 2023-08-11 02:21:21 -07:00
Anton Petrov
791ae90aef 2.3.24 2023-08-11 02:20:36 -07:00
Anton Petrov
db871427c7 Add an updated Anaconda and Miniconda installer scripts 2023-08-11 12:00:12 +03:00
Anton Petrov
4c5eac68c5 Merge pull request #2752 from edgarrmondragon/cpython-3.12.0rc1
Add CPython 3.12.0rc1
2023-08-06 22:00:47 -07:00
Edgar Ramírez Mondragón
d4ff57d0ce Add CPython 3.12.0rc1 2023-08-06 11:37:43 -06:00
native-api
ac5efed3a8 Fix FreeBSD tests in MacOS CI (#2748)
Guthub have recently preinstalled x64 Homebrew OpenSSL to stock MacOS runners. This has caused FreeBSD OpenSSL detection logic to erroneously trigger when running FreeBSD tests in MacOS because their paths happened to coincide.

Replaced checking a specific path with checking with pkg.
2023-07-28 15:23:39 +03:00
VictorieeMan
8aabba9485 README: Add explicit UNIX reference into the relevant installation sections (#2744)
Co-authored-by: Ivan Pozdeev <vano@mail.mipt.ru>
2023-07-23 22:29:17 +03:00
Anton Petrov
879fa68b35 v2.3.23 2023-07-22 16:09:30 +03:00
Anton Petrov
e908606554 v2.3.23 2023-07-22 16:08:35 +03:00
native-api
b81204c08b Merge pull request #2742 from aphedges/update-miniconda-2023-07-11
Add new anaconda and miniconda definitions
2023-07-12 20:48:50 +03:00
Alex Hedges
37cc45a831 Update anaconda and miniconda with add_miniconda.py
This adds anaconda 2023.03, anaconda 2023.07, miniconda 23.3.1, and
miniconda 23.5.0.
2023-07-11 17:42:00 -04:00
Alex Hedges
3f6bc8d16a Support miniconda with Python 3.11 2023-07-11 17:36:41 -04:00
Alex Hedges
dd5378941a Fix miniconda version handling
Anaconda and miniconda have changed their version string format again,
so the parsing needs to be done differently. `add_miniconda.py` can now
parse all existing definition files properly.
2023-07-11 17:30:10 -04:00
Alex Hedges
2506c9773c Log errors when parsing existing Conda versions
This makes it easier to fix file names that cannot be parsed using the
current logic.
2023-07-11 17:30:10 -04:00
Edgar R. M
51166377b7 Add CPython 3.12.0b4 (#2741) 2023-07-11 21:50:06 +03:00
Anton Petrov
af1a54482b Update CHANGELOG.md 2023-07-08 22:38:47 +03:00
Anton Petrov
64c70feb08 Update pyenv---version 2023-07-08 22:37:24 +03:00
Anton Petrov
7b713a88c4 Merge pull request #2739 from filips123/add-cinder-3.10
Add Cinder 3.10 and Cinder configure patches
2023-07-02 10:16:59 +03:00
Filip Š
1874f95a0e Update Cinder errors and warnings 2023-07-01 19:34:12 +02:00
Filip Š
1a882c6053 Add Cinder configure patches 2023-06-28 14:02:51 +02:00
Filip Š
05dcd45741 Add Cinder 3.10 2023-06-28 10:29:55 +02:00
Anton Petrov
a2dff4809b Merge pull request #2730 from edgarrmondragon/cpython-3.12.0b3
Add CPython 3.12.0b3
2023-06-21 07:47:36 +03:00
Edgar Ramírez Mondragón
ad0d131032 Add CPython 3.12.0b3 2023-06-20 07:46:41 -06:00
Anton Petrov
7c17c741eb 2.3.21 2023-06-20 13:52:59 +03:00
Anton Petrov
ba8b58f90d 2.3.21 2023-06-20 13:52:17 +03:00
native-api
fe76b05445 Fix occasional 'libexec/pyenv-latest: line 39: printf: write error: Broken pipe' (#2729) 2023-06-20 03:04:06 +03:00
Anton Petrov
c5d2639082 Merge pull request #2726 from edgarrmondragon/pypy-7.3.12
Add PyPy 7.3.12
2023-06-18 09:35:15 +03:00
Edgar Ramírez Mondragón
d4bd7bbe2b Add PyPy 7.3.12 2023-06-17 22:46:05 -06:00
Anton Petrov
38ac747239 Merge pull request #2724 from msimacek/master
Add graalpy-23.0.0
2023-06-14 09:41:42 +03:00
Michael Simacek
8f655d2ca6 Add graalpy-23.0.0 2023-06-13 17:13:00 +02:00
Ivan Pozdeev
d0b78fd5fe CONTRIBUTING.md: clearer phrasing 2023-06-12 15:34:45 +03:00
Anton Petrov
43f40eca05 v2.3.20 2023-06-12 10:33:36 +03:00
Alex Tomkins
687944d991 Add missing patches for Python 3.7/3.8/3.9 (#2718)
* Use OpenSSL 1.1.1u and remove patches for 1.1.1q
2023-06-11 00:09:42 +03:00
native-api
0f337a6c9a Merge pull request #2717 from native-api/backport_42351_3.5.10
Backport bpo-42351 to 3.5.10
2023-06-10 20:49:31 +03:00
Ivan Pozdeev
afe2615a1c 3.5.10: Backport bpo-42351
The bug is reported to manifest in Mandjaro Linux 6.3.5-2
2023-06-10 20:33:01 +03:00
Ivan Pozdeev
d7d5ab5148 3.5.10: Fix patches to apply cleanly 2023-06-10 20:31:57 +03:00
Anton Petrov
e79dd97afa v2.3.19 2023-06-08 12:18:16 +03:00
Anton Petrov
021b6c2da0 v2.3.19 2023-06-08 12:17:52 +03:00
Anton Petrov
e008430451 Merge pull request #2713 from edgarrmondragon/cpython-3.12.0b2
Add CPython 3.12.0b2
2023-06-07 14:47:56 +03:00
Anton Petrov
09fc5b8824 Merge pull request #2714 from edgarrmondragon/cpython-3.10.12
Add CPython 3.10.12
2023-06-07 14:47:10 +03:00
Anton Petrov
6eeda1f87e Merge pull request #2715 from edgarrmondragon/cpython-3.11.4
Add CPython 3.11.4
2023-06-07 14:46:34 +03:00
Edgar Ramírez Mondragón
452647ab33 Add CPython 3.11.4 2023-06-07 01:12:47 -06:00
Edgar Ramírez Mondragón
4086e452fd Add CPython 3.10.12 2023-06-06 18:26:24 -06:00
Edgar Ramírez Mondragón
82c8d511c4 Add CPython 3.12.0b2 2023-06-06 14:39:15 -06:00
native-api
578c7507c6 Merge pull request #2711 from edgarrmondragon/cpython-3.9.17
Add CPython 3.7.17, 3.8.17 and 3.9.17
2023-06-06 20:04:06 +03:00
Edgar Ramírez Mondragón
23c727a767 Add CPython 3.7.17 and CPython 3.8.17 2023-06-06 10:39:56 -06:00
Edgar Ramírez Mondragón
fb73c4b714 Add CPython 3.9.17 2023-06-06 09:19:19 -06:00
Anton Petrov
3fa5812bfc Update pyenv---version 2023-05-25 11:23:39 +03:00
Anton Petrov
c8a23e26e6 Update CHANGELOG.md 2023-05-25 11:23:18 +03:00
t0b3
def5cd994e Update 3.12-dev and add 3.13-dev (#2703) 2023-05-25 09:47:37 +03:00
Edgar R. M
b5576240a2 Add CPython 3.12.0b1 (#2701) 2023-05-23 23:07:48 +03:00
Kevin Schoedel
920ef1456a Support ksh alternative names (#2697)
* Support ksh versions

Korn shell had two major versions: ’88 and ’93. Some systems have
ksh installed under the name `ksh93`. A few systems (maybe only
Solaris now) also have a `ksh88`. A few others use the `pdksh` (’88)
or `mksh` (’93) implementations, originated before ksh was open source.

Limit to currently-used versions

---------

Co-authored-by: Kevin Schoedel <kps@datatravelandexperiments.com>
2023-05-13 01:24:57 +03:00
Anton Petrov
528d10e96f Merge pull request #2691 from aviadhahami/master
fix: updating heredoc delimiter to be random and unique
2023-04-30 08:16:28 +03:00
Aviad Hahami
cf9d0dcd7b fix: updating heredoc delimiter to be random and unique 2023-04-30 00:56:43 +03:00
Anton Petrov
aa5fd27e2f Merge pull request #2687 from tomschr/bug2682-fix-manpage
Fix #2682: Correct pyenv_user_setup.bash file
2023-04-25 07:39:39 +03:00
Tom Schraitle
73b6307399 Fix #2682: Correct pyenv_user_setup.bash file
The manpage contains a reference to a file which does
only exist on Debian (/usr/share/pyenv/pyenv_user_setup.bash).

It is replaced by its content to make it usable for
other distributions.
2023-04-24 13:56:01 +02:00
Ivan Pozdeev
a57e0b5019 README: move troubleshooting note higher 2023-04-16 20:11:08 +03:00
Anton Petrov
b3c91b37d6 Merge pull request #2677 from mirekdlugosz/fix-31011-3113-tarxz
Correct link in has_tar_xz_support else branch of 3.10.11 and 3.11.3
2023-04-11 11:00:40 +03:00
Mirek Długosz
777089466d Correct link in has_tar_xz_support else branch of 3.10.11 and 3.11.3 2023-04-11 09:15:16 +02:00
native-api
20189ff06f Fix not showing symlink contents for unselected versions in pyenv versions (#2675) 2023-04-08 01:12:09 +03:00
Ivan Pozdeev
5a8dbcf143 Document using and writing plugins 2023-04-07 19:07:35 +03:00
Anton Petrov
9a4f9c2511 2.3.17 2023-04-06 06:58:52 +03:00
Anton Petrov
bee178a95d 2.3.17 2023-04-06 06:58:33 +03:00
Anton Petrov
0f75cd8800 Merge pull request #2670 from mirekdlugosz/cpython-3.10.11
Add CPython 3.10.11
2023-04-05 18:28:35 +03:00
Anton Petrov
29c4f279a3 Merge pull request #2671 from mirekdlugosz/cpython-3.11.3
Add CPython 3.11.3
2023-04-05 18:07:59 +03:00
Mirek Długosz
be4939604e Add CPython 3.11.3 2023-04-05 15:52:01 +02:00
Mirek Długosz
fc616a0aee Add CPython 3.10.11 2023-04-05 15:51:13 +02:00
Edgar R. M
b613a4abeb Add CPython 3.12.0a7 (#2668) 2023-04-05 05:56:24 +03:00
Shengqi Chen
b1ee6c93c4 Try locate readlink first in pyenv-hooks, fix #2654 (#2655)
* Remove all use of `greadlink`, fix #2654

Signed-off-by: Harry Chen <i@harrychen.xyz>

* revert greadlink back in tests

---------

Signed-off-by: Harry Chen <i@harrychen.xyz>
Co-authored-by: Anton Petrov <anton.a.petrov@gmail.com>
2023-03-28 11:25:27 +03:00
Petrov
9fad1f46c5 Update pyenv---version 2023-03-24 08:26:20 +03:00
Petrov
f51d3dcb47 Update CHANGELOG.md 2023-03-24 08:26:05 +03:00
Petrov
deb4935187 Merge pull request #2648 from anton-petrov/master
Add Anaconda3-2023.03
2023-03-23 14:38:52 +03:00
Petrov
e28d747b83 set hashes to sha-256 2023-03-23 13:41:02 +03:00
Petrov
ddd37eb823 Add hashes 2023-03-23 13:35:50 +03:00
Petrov
be2bd5f03d Create anaconda3-2023.03 2023-03-19 08:14:59 +03:00
Justin Lecher
4ef81b5c7a Add Miniforge3-22.11.1-4 (#2642) 2023-03-10 19:38:06 +03:00
Anton Petrov
6bb75b3ba7 Update CHANGELOG.md 2023-03-10 09:04:21 +03:00
Anton Petrov
f507d08064 Update pyenv---version 2023-03-10 09:03:23 +03:00
Saaket Prakash
ad15c75e0e Add CPython 3.12.0a6 (#2638) 2023-03-08 08:32:18 +03:00
Ivan Pozdeev
6052caa038 README: extended support for 3.5.10 2023-03-02 11:27:23 +03:00
Ivan Pozdeev
e8a4b54231 CI: ubuntu-build: Fix 404s on apt install 2023-03-02 11:24:05 +03:00
Alex Hedges
bcbdadf10d Add miniconda 23.1.0-1 (#2635) 2023-03-02 06:49:44 +03:00
Anton Petrov
904dd5f828 Update pyenv---version 2023-03-01 08:25:31 +03:00
Anton Petrov
3226a1870b Update CHANGELOG.md 2023-03-01 08:25:12 +03:00
Anton Petrov
0d19efecf5 Merge pull request #2634 from mrienstra/patch-1
README: clarify behavior of `pyenv latest`
2023-02-28 09:30:48 +03:00
Michael Rienstra
ecab7b0d17 README: clarify behavior of pyenv latest 2023-02-27 16:26:18 -08:00
Chaim Halbert
3bfc97ad29 bpo-36231 for v3.5.10: fix Unsupported MacOS X CPU type in ffi.h (#2633) 2023-02-26 18:36:51 +03:00
native-api
276ce32643 Merge pull request #2630 from chaimleib/fix-bpo-27987-on-eol-pythons
bpo-27987 for v3.5.10 and v3.6.15: align by 16bytes on 64bit platforms
2023-02-26 16:05:39 +03:00
Chaim Halbert
b30508f9b8 bpo-41100 for v3.5.10: fix implicit declaration of function sendfile 2023-02-26 05:51:20 -07:00
Chaim Halbert
0e80d0725b v3.5.10 on macOS13: fix unexpected output of arch on OSX 2023-02-26 05:21:03 -07:00
Chaim Halbert
6bec7a50fe bpo-45405 for v3.5.10: Prevent internal configure error when running configure with recent versions of clang. (GH-28845) (GH-31890) 2023-02-24 13:16:52 -07:00
Chaim Halbert
28be65992d bpo-27987 for v3.5.10 and v3.6.15: align by 16bytes on 64bit platforms 2023-02-24 12:19:13 -07:00
Florian Schüller
68918e69b7 Support for BusyBox version of `head' (#2629) 2023-02-22 20:11:48 +03:00
Rafał
86a4423bbb Fix indentation (#2620) 2023-02-16 00:10:36 +03:00
Anton Petrov
0ab9683e58 2.3.13 2023-02-15 08:15:35 +03:00
Anton Petrov
7fe647968d 2.3.13 2023-02-15 08:15:14 +03:00
Anton Petrov
c8daaa3954 Merge pull request #2614 from Afront/3.12.0a5
Add CPython 3.12.0a5
2023-02-08 14:08:18 +03:00
Anton Petrov
88be70722f Merge pull request #2616 from edgarrmondragon/cpython-3.10.10
Add CPython 3.10.10
2023-02-08 14:07:46 +03:00
Anton Petrov
47d88d2c5f Merge pull request #2615 from edgarrmondragon/cpython-3.11.2
Add CPython 3.11.2
2023-02-08 14:07:34 +03:00
Edgar Ramírez Mondragón
6b758c8cf9 Add CPython 3.10.10 2023-02-08 03:43:04 -06:00
Edgar Ramírez Mondragón
017b6d877e Add CPython 3.11.2 2023-02-08 03:38:33 -06:00
Afront
063aa457e4 Add CPython 3.12.0a5 2023-02-08 15:34:14 +09:00
native-api
fcd7806529 Merge pull request #2612 from laggardkernel/bugfix/realpath-in-versions
Fix link resolving in pyenv-versions
2023-02-06 20:09:22 +03:00
Ivan Pozdeev
a3f0bddc2a CI: Migrate to checkout@v3
Actions runner warns about v2 deprecation
2023-02-06 19:22:38 +03:00
Ivan Pozdeev
f72c1712dc CI: Test with native extension
Only run tests for subcommands that use the native extension
2023-02-06 19:22:38 +03:00
laggardkernel
a7b181c3ca Fix link resolving in pyenv-versions
Co-Authored-by: Ivan Pozdeev <vano@mail.mipt.ru>
2023-02-06 19:22:38 +03:00
native-api
c8c324afb4 Merge pull request #2610 from native-api/version_skip_envs
Ignore virtualenvs in `pyenv latest' in a clean way
2023-02-02 20:01:28 +03:00
Ivan Pozdeev
72c5b034ca Avoid the need to filter out envs in `pyenv-latest' 2023-02-02 18:24:17 +03:00
Ivan Pozdeev
446411dc64 Streamline `pyenv-versions --bare'
Achieves a ~20% speedup.
As it's used in pyenv-latest, this affects all version lookups
2023-02-02 18:15:47 +03:00
Ivan Pozdeev
9fe80f28e5 Add pyenv versions' option to skip envs for pyenv-latest' 2023-02-02 18:15:13 +03:00
native-api
9248255f70 Show symlink contents in non-bare `pyenv versions' (#2609)
* Change other tests to use the newly-created convenience function
2023-02-02 17:24:19 +03:00
native-api
368e04f3fa Fix pyenv-latest to ignore virtualenvs (#2608)
* Add test, exclude alphas as well
2023-02-02 15:15:16 +03:00
Anton Petrov
76e93b073e 2.3.12 2023-01-30 08:19:43 +03:00
Anton Petrov
e3fe82a9b1 2.3.12 2023-01-30 08:19:25 +03:00
native-api
dd60d5fae2 Fix overriding arguments for --enable-framework and --enable-universalsdk after #2592 (#2605) 2023-01-29 00:59:47 +03:00
Anton Petrov
96828af31e Merge pull request #2602 from colesbury/nogil-3.9.10-1
Add more recent build of nogil Python.
2023-01-23 16:17:32 +03:00
Sam Gross
c998eae677 Add more recent build of nogil Python. 2023-01-22 13:12:28 -08:00
native-api
c20fc7bd6a Fix pyenv which to support auto-resolved prefixes (#2601)
* Resolve version name that hooks see
* Avoid a 2nd iteration over configured versions
2023-01-22 18:22:26 +03:00
native-api
f1a1f59c87 Fix :latest after #2568 (#2599)
* Cleanup mocks logic
* Add test for `:latest`
2023-01-22 05:49:40 +03:00
Ivan Pozdeev
b64b0ab5e2 Merge branch 'master' of https://github.com/native-api/pyenv 2023-01-22 00:20:28 +03:00
Ivan Pozdeev
1a0b555baf Improve visibility of the auto-resolution feature
Recent feedback showed that it's not visible enough
2023-01-22 00:07:53 +03:00
native-api
819e2b8f45 Fix wrong libpython being linked to in MacOS (#2596)
Without rpath, python would link up to the system's libpython
2023-01-19 00:21:10 +03:00
Christian Clauss
bd618ea9ef add_miniconda.py: fix typo oversight (#2595) 2023-01-15 13:37:11 +03:00
Anton Petrov
b77b0be089 2.3.11 2023-01-15 12:44:38 +03:00
Anton Petrov
906246da4c 2.3.11 2023-01-15 12:43:34 +03:00
native-api
12e74e147a Fix a compilation error in 3.8.10+ and 3.9.5+ when linking against OpenSSL built with SSLv3 support (#2594) 2023-01-14 05:18:10 +03:00
Ivan Pozdeev
2b0dd7355d Specify additional required information for build failures 2023-01-14 02:28:38 +03:00
native-api
f40397088c Merge pull request #2592 from native-api/disable_shared
* Fix priority for user-supplied configure and make flags
* Don't set --enable-shared if user supplied --disable-shared
2023-01-14 02:00:53 +03:00
Ivan Pozdeev
e447fe5b73 Don't set --enable-shared if user supplied --disable-shared 2023-01-14 01:45:20 +03:00
Ivan Pozdeev
4242694a0e Fix priority for user-supplied configure and make flags 2023-01-14 01:44:59 +03:00
native-api
83619f3fbe Merge pull request #2593 from native-api/fix_freebsd
Fix using dependencies from Ports in FreeBSD that are not searched with pkg-config
2023-01-13 22:20:01 +03:00
Ivan Pozdeev
4bd8a975f4 Avoid adding dangling spaces to *FLAGS 2023-01-13 22:07:31 +03:00
Ivan Pozdeev
2a5bbf6cb5 Fix searching readline and sqlite3 in FreeBSD
Surprisingly, CPython doesn't search these with pkg-config
This is fixed upstream in 3.12.0a1
2023-01-13 22:07:31 +03:00
Sean McGivern
b9a27af7b8 Add missing Miniforge/Mambaforge versions (4.10.2-0 - 22.9.0-3) (#2591) 2023-01-11 22:51:31 +03:00
Anton Petrov
c03d9cf84c Merge pull request #2560 from smcgivern/add-miniforge-script
Add a script to add the latest miniforge and mambaforge versions
2023-01-11 19:43:31 +03:00
Sean McGivern
c7f2c4db45 Add a script to add the latest miniforge and mambaforge versions
This takes inspiration from the similar script for miniconda, but it
simplifies in a couple of ways:

1. Use the GitHub Releases API instead of scraping HTML.
2. Don't perform a diff, simply add the latest release.

Lots of intermediate miniconda releases have been skipped in the past,
and it doesn't seem particularly valuable to backfill those.
2023-01-11 13:59:33 +00:00
Anton Petrov
3bc3a624db Merge pull request #2590 from Afront/3.12.0a4
Add CPython 3.12.0a4
2023-01-11 10:43:45 +03:00
Afront
f4598bc1f0 Add CPython 3.12.0a4 2023-01-11 13:16:00 +09:00
Anton Petrov
fc4c0ac52d 2.3.10 2023-01-10 19:03:46 +03:00
Anton Petrov
579c34e570 2.3.10 2023-01-10 19:03:00 +03:00
native-api
2369ac2a08 Fix using dependencies from Ports in BSD with no pkg-config (#2586) 2023-01-10 01:13:09 +03:00
Brendan Falk
25c974d59a Add Fig as autocomplete suggestion (#2574)
Co-authored-by: Ivan Pozdeev <vano@mail.mipt.ru>
2023-01-05 05:03:45 +03:00
native-api
2ea797e226 Merge pull request #2583 from aphedges/update-miniconda-22.11.1
Add miniconda 22.11.1-1
2023-01-05 04:47:28 +03:00
Alex Hedges
7d7f8b94ae Add miniconda 22.11.1-1 2023-01-03 20:31:01 -05:00
Alex Hedges
e715e03be0 Support new miniconda file name format 2023-01-03 20:29:19 -05:00
Alex Hedges
b3a5b5eee3 Support miniconda with Python 3.10 2023-01-03 20:18:26 -05:00
Anton Petrov
894bcd8717 Merge pull request #2579 from hauntsaninja/faster-cpython
Mention how to build for maximum performance
2023-01-03 09:04:44 +03:00
hauntsaninja
03ee3ffd32 Mention how to build for maximum performance 2023-01-02 14:35:16 -08:00
dand-oss
3d83bcdbef Add PyPy 7.3.11 (#2576)
Co-authored-by: Dan Dees <dand@appsmiths.com>
2022-12-31 11:17:18 +03:00
Ian Chen
f897c50202 Fix non-bash output while detecting shell (#2561)
Co-authored-by: Ivan Pozdeev <vano@mail.mipt.ru>
2022-12-25 02:35:03 +03:00
Anton Petrov
773c65416b Merge pull request #2554 from anton-petrov/master
Build CPython with--enable-shared flag by default on non-mac systems
2022-12-23 13:48:30 +03:00
Anton Petrov
ca1593c80e Fix build tests 2022-12-23 13:36:37 +03:00
Anton Petrov
cb5da5e831 Merge pull request #2568 from rockandska/fix/919
Allow multiple versions for pyenv-install
2022-12-22 21:44:28 +03:00
rockandska
31f372034d Allow multiple versions for pyenv-install 2022-12-22 19:04:04 +01:00
Tobias Klauser
ff93c58bab Remove stray newline after python-build installation (#2566)
To match other Pyenv commands
2022-12-20 22:01:19 +03:00
Anton Petrov
2bb59169db 2.3.9 2022-12-19 07:52:52 +03:00
Anton Petrov
f9e519611a 2.3.9 2022-12-19 07:52:31 +03:00
Phung Nhat-Huy
ae04877154 Add Anaconda3-2022.10 (#2565) 2022-12-19 01:16:18 +03:00
Anton Petrov
e82e12739c Merge pull request #2564 from samdoran/openssl-patches
Add `openssl` patches for 3.7.15, 3.7.16, and 3.8.16
2022-12-16 10:10:32 +03:00
Sam Doran
6b9795728e Add openssl patches for 3.7.15, 3.7.16, and 3.8.16 2022-12-15 16:48:41 -05:00
宇萱/土撥鼠(Lisbeth)
23576296ae Fix compilation error when building OpenSSL 1.1.1q in MacOS 11+ for 3.9.16 (#2558) 2022-12-13 20:05:01 +03:00
Anton Petrov
2128b4f27d Merge pull request #2559 from smcgivern/add-miniforge3-22.9.0-2
Add miniforge3 and mambaforge 22.9.0-2
2022-12-13 19:17:19 +03:00
Sean McGivern
9ba6124833 Add miniforge3 and mambaforge 22.9.0-2 2022-12-13 11:19:40 +00:00
native-api
6c63e086e9 Merge pull request #2553 from dand-oss/pypy7.3.10
Add Pypy 7.3.10
2022-12-11 04:18:08 +03:00
Dan Dees
540c94bdb1 CI: Use PyPy 2.7 as PyPy source build bootstrapper 2022-12-11 02:19:19 +03:00
Ivan Pozdeev
18f62f266d Remove no-longer-needed PyPy prerequisites 2022-12-11 02:18:36 +03:00
Ivan Pozdeev
49cc88094a CI: Install bootstrapper Python for PyPy source builds 2022-12-11 02:17:39 +03:00
Dan Dees
cad18bb332 Add PyPy 7.3.10 2022-12-11 02:17:19 +03:00
Ivan Pozdeev
79fdf1e3bb Improve Mac feature messages phrasing 2022-12-09 16:58:44 +03:00
Ivan Pozdeev
03bba03291 Set --enable-shared earlier
To take advantage of the existing logic to add to rpath
2022-12-09 16:52:47 +03:00
Ivan Pozdeev
cf50e2a2db Don't hide output from extension checks 2022-12-09 11:41:26 +03:00
Anton Petrov
b3d52b05d2 --enable-shared by default on non-mac systems 2022-12-08 12:17:53 +03:00
Anton Petrov
73dc5547fc Merge pull request #2551 from nwh/add-miniforge3-latest-suffix
add -latest suffix to miniforge3
2022-12-08 11:33:16 +03:00
Anton Petrov
3f0dd1962f 2.3.8 2022-12-08 10:07:26 +03:00
Chad Crawford
48b0224aaf Add CPython 3.7.16, 3.8.16, 3.9.16 (#2550) 2022-12-08 00:26:27 +03:00
Nick Henderson
8cfa967d74 add -latest suffix to miniforge3
The auto-resolve feature (#2487) means that

  pyenv install miniforge3

installs miniforge3-4.10.3-10 and not the exactly named "miniforge3"
recipe.  Renaming "miniforge3" to "miniforge3-latest" solves this
issue allowing users to execute

  pyenv install miniforge3-latest

This is similar to the naming of the current "miniconda3-latest" recipe.
2022-12-07 12:56:03 -08:00
Anton Petrov
a57106c932 Merge pull request #2544 from rudisimo/master
Add CPython 3.10.9
2022-12-07 14:35:18 +03:00
Anton Petrov
189e73e5e8 Merge pull request #2549 from anton-petrov/master
Add CPython 3.11.1
2022-12-07 14:34:58 +03:00
Anton Petrov
8680247381 Add CPython 3.11.1 2022-12-07 13:43:35 +03:00
Anton Petrov
606ff454a1 Merge pull request #2545 from saaketp/3.12.0a3
Add CPython 3.12.0a3
2022-12-07 13:10:57 +03:00
Saaket Prakash
b05d15f673 Add CPython 3.12.0a3 2022-12-07 04:57:31 +05:30
Rodolfo Puig
881ba40ff4 Add CPython 3.10.9
Signed-off-by: Rodolfo Puig <rodolfo@puig.io>
2022-12-06 17:36:03 -05:00
Anton Petrov
58bbbf8880 Merge pull request #2540 from ianchen-tw/detect-shell
Export detected shell environment in pyenv-init
2022-12-02 18:07:11 +03:00
Ian Chen
c1674cd552 Detect shell 2022-12-02 00:22:50 +08:00
Anton Petrov
74f923b5fc 2.3.7 2022-12-01 10:16:53 +03:00
Anton Petrov
59c560893a 2.3.7 2022-12-01 10:15:45 +03:00
spookyuser
4971d9e35e Copy auto installer oneliner to README (#2538) 2022-11-29 23:00:22 +03:00
weensy
6d13db992f Fix typo in README.md (#2535)
There was a space at the beginning of the `git clone` command
2022-11-28 19:43:11 +03:00
Ivan Pozdeev
13d8568620 Add 3.11 into CI for Linux 2022-11-19 00:08:53 +03:00
Isaac Levy
cc56f76733 Add --no-push-path option (#2526)
In some advanced shell setups, the order of custom-added PATH entries is important.
We disregard it by default, always pushing shims to the front of PATH,
to ensure that Pyenv works even in poorly maintained shell environments
and with minimal hassle for non-export users
(an attempt to do the opposite (#1898) has ended in a disaster).
Some advanced users are however ready and able to carefully maintain their environment
and deal with breakages and inconvenience. This option is for them.
2022-11-19 00:01:59 +03:00
Saaket Prakash
4c261e6ea1 Add CPython 3.12.0a2 (#2527) 2022-11-16 00:10:34 +03:00
native-api
31355676f0 Support aria2c being a snap (#2528)
Likely in Ubuntu where it's only available as a snap
2022-11-15 20:57:04 +03:00
Alex Hedges
c162dcd932 Add .editorconfig (#2518) 2022-11-13 05:35:45 +03:00
native-api
0b6320d371 Merge pull request #2520 from twangboy/fix_3.9.15
Fix compilation error when building OpenSSL 1.1.1q in MacOS 11+ for 3.9.15 and 3.8.15
2022-11-13 04:52:37 +03:00
Twangboy
3bfaa33c1b Gitignore special files of PyCharm and Vim 2022-11-13 04:47:01 +03:00
Twangboy
cd2858aa17 Fix compilation error when building OpenSSL 1.1.1q in MacOS 11+ for 3.9.15 and 3.8.15 2022-11-13 04:46:48 +03:00
James Campbell
19359de7b8 Add activate.nu to shim creation exception list (#2524) 2022-11-10 18:58:04 +03:00
Alex
8dd46e3915 GitHub Workflows security hardening (#2511)
Signed-off-by: Alex <aleksandrosansan@gmail.com>
2022-11-10 04:46:55 +03:00
native-api
ed1083ec27 Fix resolution of a name that's a prefix of another name (#2521) 2022-11-10 04:46:14 +03:00
Ivan Pozdeev
904fe964b0 README: Prefix auto-resolution: improve phrasing 2022-11-07 04:46:44 +03:00
Hoàng
036fd63bbd style: convert crlf to lf (#2517) 2022-11-06 19:18:04 +03:00
native-api
1250d7dd30 Don't use Zlib from XCode SDK if a custom compiler is used (#2516) 2022-11-05 02:11:55 +03:00
Omer Korner
ad6a950734 Add Python version 3.11 to the macOS build (#2510) 2022-11-03 15:32:52 +01:00
Rust Saiargaliev
6da0e89207 2.3.6 2022-11-03 09:26:31 +01:00
Ivan Pozdeev
e03118235a Improve prefix resolution documentation 2022-10-30 21:38:06 +03:00
Rust Saiargaliev
a8f921ce4d Document the release process (#2503) 2022-10-30 12:42:20 +03:00
Ivan Pozdeev
4a031504db Document prefix auto-resolution et al.
* Document listing available versions in the tutorial (#1677)
* Reflect 3.7.15's extended support
* Document using development head with Homebrew
* Structurize the Upgrading section
* Fix Pyenv-latest documentation
2022-10-30 05:28:53 +03:00
Ivan Pozdeev
75022d5d7c Revert version auto-resolution in python-build
It was moved to `pyenv-install`
2022-10-30 04:12:42 +03:00
native-api
a12f947cc3 Auto-resolve prefixes to the latest version (#2487) 2022-10-30 03:38:40 +03:00
native-api
0b5e16add3 Fix invalid syntax error in pyenv init - if PYENV_ROOT has spaces (#2506) 2022-10-29 23:08:02 +03:00
native-api
5b0ac41dec Discover Tcl/Tk from Homebrew via pkgconfig for 3.11+ (#2501)
CPython 3.11+ dropped support for --with-tcl-tk-*
in favor of pure pkgconfig
2022-10-29 22:48:13 +03:00
Michael Šimáček
44510a68f1 Add graalpy-22.3.0 (#2497) 2022-10-27 02:55:27 +03:00
Edgar R. M
16c4924f22 Add CPython 3.12.0a1 (#2495) 2022-10-27 02:41:30 +03:00
native-api
ac30d5f4e4 Merge pull request #2500 from native-api/fix_macos_openssl_build
Fix compilation error when building OpenSSL 1.1.1q in MacOS 11+
2022-10-27 00:22:09 +03:00
Ivan Pozdeev
9f5dcbffd4 Fix compilation error when building OpenSSL 1.1.1q in MacOS 11+
"error: implicitly declaring library function 'memcmp'"
Downstream backport of https://github.com/openssl/openssl/issues/18720
2022-10-27 00:02:24 +03:00
Ivan Pozdeev
faceb4b79c Allow patching supplementary packages 2022-10-27 00:02:13 +03:00
Igor Davydenko
d7389c10ee Update Python 3.11.0 tgz checksum (#2496)
For some reason checksum for `Python-3.11.0.tgz` file introduced in
0726e02e3a is invalid. Update that
checksum to ensure `pyenv install 3.11.0` works well on systems without
tar.xz support.
2022-10-26 21:21:53 +03:00
Noam Cohen
0726e02e3a Add CPython 3.11.0 (#2493) 2022-10-24 22:49:48 +03:00
Adam Johnson
03a5d65387 Add CPython 3.7.15, 3.8.15, and 3.9.15 (#2482)
Co-authored-by: Ivan Pozdeev <vano@mail.mipt.ru>
2022-10-12 20:52:53 +03:00
MuX
776f6ff9fa Add CPython 3.10.8 (#2480) 2022-10-12 07:39:42 +03:00
Ivan Pozdeev
bb0f2ae1a7 Merge branch 'master' of https://github.com/pyenv/pyenv 2022-10-08 20:49:53 +03:00
Ivan Pozdeev
ea6085e3f3 2.3.5 2022-10-08 20:49:49 +03:00
Ville Skyttä
2c2619a49e Add Pyston 2.3.5 (#2476) 2022-10-05 20:52:20 +03:00
native-api
1f526edbdd Merge pull request #2471 from native-api/add_dsymutil
Build CPython 3.12+ with --with-dsymutil in MacOS
2022-09-23 16:37:19 +03:00
Ivan Pozdeev
8b226c9679 Build 3.12+ with --with-dsymutil 2022-09-23 16:16:17 +03:00
Ivan Pozdeev
f3521e88be Allow to build CPython with --with-dsymutil
Since 3.12, CPython can provide debug symbols in
Apple's nonstandard way, "dSYM bundles"
2022-09-23 16:16:17 +03:00
native-api
5b08a6492b Add missing patch for 3.7.14 (#2469) 2022-09-22 10:59:03 +03:00
Nikita Sobolev
d722f059a0 Drop Travis integration (#2468)
It has been unused since Travis dropped free plans
2022-09-22 10:32:50 +03:00
native-api
093d0b3a49 Merge pull request #2464 from samdoran/skip-brew
Add ability to easily skip all use of Homebrew
2022-09-19 00:59:55 +03:00
Ivan Pozdeev
73d4f3102a Allow to test python-build separately 2022-09-19 00:19:01 +03:00
Ivan Pozdeev
aa07a3a37c Remove extraneous is_mac call 2022-09-19 00:19:00 +03:00
Sam Doran
e6446555f3 Add envvar to skip Homebrew 2022-09-19 00:19:00 +03:00
native-api
c5e0d2cd94 Document extended support for 3.7.14
Added in https://github.com/pyenv/pyenv/pull/2463
2022-09-15 22:01:05 +03:00
Sam Doran
cfe684ef42 Add patches for 3.7.14 needed for Apple Silicon (#2463) 2022-09-15 17:53:22 +03:00
Viktor Haag
1d28067353 Add CPython 3.11.0rc2 (#2459) 2022-09-14 07:53:34 +03:00
Tsuki
0740fdf910 Update miniconda3-3.9-4.12.0 (#2460)
update checksum from https://repo.anaconda.com/miniconda/
Miniconda3-py39_4.12.0-MacOSX-arm64.sh	52.2M	2022-06-01 14:45:20	f7448cfeb278f2a84ed903db02d5525c
2022-09-14 07:48:12 +03:00
Anton Petrov
75fc9f6fd4 Merge pull request #2456 from edgarrmondragon/cpython-3.7.14_3.8.14_3.9.14
Add CPython security releases 3.7.14, 3.8.14 and 3.9.14
2022-09-11 19:47:51 +03:00
Edgar Ramírez Mondragón
a0fbdad292 Add CPython security releases 3.7.14, 3.8.14 and 3.9.14 2022-09-07 11:13:11 -05:00
Grzegorz
6a104f68d0 docs: Add configuration option for Fish 3.2.0+ (#2449)
The original instructions were added 2 years ago in 0f2d659732. Since then, [Fish released](https://github.com/fish-shell/fish-shell/releases/tag/3.2.0) [a more declarative instruction for this operation](https://fishshell.com/docs/current/cmds/fish_add_path.html), which is now the recommended way of manipulating `PATH` in Fish.
2022-09-06 21:39:31 +03:00
Edgar R. M
f6f1803ac9 Add CPython 3.10.7 (#2454) 2022-09-06 19:13:59 +03:00
Ivan Pozdeev
23559ee6d1 Fix syntax error 2022-09-06 01:43:12 +03:00
Ivan Pozdeev
4e31668c21 Ignore beta and release candidates in :latest
Fixes https://github.com/pyenv/pyenv/issues/2450
2022-09-05 23:20:39 +03:00
Ivan Pozdeev
2b22145670 2.3.4 2022-09-04 01:54:33 +03:00
Filip Š
7c1c180551 Add Cinder 3.8 (#2433)
* Add Cinder 3.8
* Add distro and GCC warnings
* Set the complier to GCC 10 if available

Co-authored-by: Ivan Pozdeev <vano@mail.mipt.ru>
2022-09-04 01:48:43 +03:00
native-api
a648682ed6 CI: Bump OS versions (#2448)
* CI: Bump OS versions

Github released ubuntu-22.04 and macos-12 from beta
and deprecated ubuntu-18.04 and macos-10.15, due to dropping by 2013.

* CI: clean up installed packages
2022-09-04 01:40:00 +03:00
James Stronz
47b0ce77c0 Re-allow paths in .python-version provided that they resolve to within the versions dir (#2442)
* Fixes #2430 while still preventing CVE-2022-35861
* Adds a skipped version message to stderr

Co-authored-by: Ivan Pozdeev <vano@mail.mipt.ru>
2022-09-03 22:37:53 +03:00
Ivan Pozdeev
fdabd14c2b Merge branch 'master' of https://github.com/pyenv/pyenv 2022-09-03 22:31:15 +03:00
Ivan Pozdeev
e52ad61389 CI: Bump versions 2022-09-03 22:31:00 +03:00
native-api
2e5983b004 Merge pull request #2447 from native-api/ci_modified_micropython
CI: support Micropython, deleted scripts; build with -v
2022-09-03 22:22:56 +03:00
Ivan Pozdeev
27b5f62dfb CI: Build with -v 2022-09-03 22:02:47 +03:00
Ivan Pozdeev
7c1e3a710c CI: Support Micropython 2022-09-03 22:02:47 +03:00
Ivan Pozdeev
13f273188d CI: Exclude deleted scripts from modified check 2022-09-03 22:02:47 +03:00
Dmitriy Serdyuk
c89a69a6ed Add micropython 1.18 and 1.19.1 (#2443)
Support frozen builtin modules e.g. upip
2022-09-01 13:48:26 +03:00
native-api
a8afc61146 CONTRIBUTING.md: phrasing 2022-08-16 21:33:49 +03:00
native-api
e4a0c12b1b CONTRIBUTING.md: clarify that Bash 4+ optimizations are allowed 2022-08-16 21:32:14 +03:00
hardikpnsp
afeb971fa2 Add support for multiple versions in pyenv uninstall (#2432) 2022-08-15 20:25:46 +03:00
Edgar R. M
965421d5d4 Add CPython 3.11.0rc1 (#2434) 2022-08-14 15:12:22 +03:00
Janith Petangoda
ae22c69505 Small update to instruction in README.md (#2431) 2022-08-06 18:12:11 +03:00
Ivan Pozdeev
37a6070855 2.3.3 2022-08-02 23:59:30 +03:00
Edgar R. M
1ae5596bfa Add CPython 3.10.6 (#2428) 2022-08-02 23:51:31 +03:00
Michael Šimáček
ff9d3ca69e Add GraalPython 22.2.0 (#2425) 2022-07-28 00:08:14 +03:00
Edgar R. M
d98d3f5055 Add CPython 3.11.0b5 (#2420) 2022-07-26 22:04:26 +03:00
brogon
f5cbba0636 Allow pypy2 pypy3 patching (#2421)
* Fix: patterns for pypy2.*/pypy3.* versions

* Shrink pypy patterns

* Fix extglob pattern

* Fix: no regex-charclasses like '[:digit:]' in 'extglob', needs also double-activation for parse/runtime stage

Co-authored-by: native-api <vano@mail.mipt.ru>
Co-authored-by: Bjoern Schneider <bjoern.schneider@scribos.com>
2022-07-26 22:03:26 +03:00
brogon
16f7ea03e8 Fix: patterns for pypy2.*/pypy3.* versions (#2419)
Co-authored-by: native-api <vano@mail.mipt.ru>
2022-07-25 23:55:11 +03:00
James Stronz
22fa683571 CVE-2022-35861: Fixed relative path traversal due to using version string in path (#2412) 2022-07-17 01:01:04 +03:00
Tim Gates
0eba0a5bd5 docs: fix simple typo (#2414)
Signed-off-by: Tim Gates <tim.gates@iress.com>
2022-07-15 16:55:30 +03:00
Sorin Sbarnea
0990e7843d python-build: Replace deprecated git protocol in the README (#2413) 2022-07-14 16:29:59 +03:00
Tahir H. Butt
aee9c82c29 Add CPython 3.11.0b4 (#2411) 2022-07-12 00:05:34 +03:00
Pedro Fonini
fdaeaf1f97 Use version sort in pyenv versions if available (#2405) 2022-07-10 23:00:51 +03:00
Ivan Pozdeev
207f33fc5e Fix line endings in 3.7.13 patches 2022-07-02 22:05:34 +03:00
Ivan Pozdeev
304515f2cd 2.3.2 2022-06-30 16:04:22 +03:00
Ivan Pozdeev
572a8bcfba Merge branch 'master' of https://github.com/pyenv/pyenv 2022-06-13 18:22:36 +03:00
Ivan Pozdeev
100871b48a Remove no-longer-needed commented line 2022-06-13 18:22:21 +03:00
Xiangyu Xu
9f2cba3da8 Update anaconda3-2022.05 MacOSX arm64 md5 (#2391) 2022-06-11 01:28:58 +03:00
Ivan Pozdeev
6620e0e2c5 CONTRIBUTING: softened working about EOL fixes 2022-06-11 01:24:51 +03:00
native-api
d59e7dff5e Update README.md 2022-06-11 01:14:46 +03:00
Ivan Pozdeev
22532c305e Merge branch 'master' of https://github.com/pyenv/pyenv 2022-06-11 01:10:54 +03:00
Ivan Pozdeev
e48883b940 README: document cases of extended support 2022-06-11 01:10:44 +03:00
dand-oss
7457df4190 Add pyston-2.3.4 (#2390)
Co-authored-by: Dan Dees <dand@appsmiths.com>
2022-06-10 10:11:44 +03:00
Ivan Pozdeev
c4fd08e6fb README: Link to CONTRIBUTING and Python-Build's envvars 2022-06-09 02:52:50 +03:00
Ivan Pozdeev
97039ca1af Fix accidental typo 2022-06-08 23:23:01 +03:00
native-api
c3404568e8 Merge pull request #2385 from native-api/condas
Add Anaconda 2019.10, 2021.04, 2022.05; support Anaconda in add_miniconda.py
2022-06-08 22:40:50 +03:00
Ivan Pozdeev
42cace010b CI: workaround MacOS jobs hanging for some Anaconda releases
Shims from executables bundled with some older Anaconda releases
cause MacOS script check jobs to hang at the end
2022-06-08 22:19:34 +03:00
Ivan Pozdeev
e9f95065ad Add Anaconda 2019.10, 2021.04, 2022.05 2022-06-08 18:37:36 +03:00
Ivan Pozdeev
64aacd5cfd add_miniconda: support Anaconda, support non-CPython scripts in scripts check 2022-06-08 18:32:42 +03:00
Illia Volochii
9b91641094 Add CPython 3.10.5 (#2386) 2022-06-06 21:52:20 +03:00
native-api
bc13a87bee Add flags for Homebrew into python-config --ldflags (#2384) 2022-06-05 22:35:56 +03:00
Edgar R. M
c055ba718b Add CPython 3.11.0b3 (#2382) 2022-06-01 19:45:35 +03:00
Alex Hedges
4456e64c89 Add post-install checks for curses, ctypes, lzma, and tkinter (#2353)
Tkinter check is conditional on DISPLAY

Co-authored-by: Ivan Pozdeev <vano@mail.mipt.ru>
2022-05-31 21:37:44 +03:00
yggdr
cd5522965b Pass through CFLAGS_EXTRA for Micropython (#2007)
Co-authored-by: Ivan Pozdeev <vano@mail.mipt.ru>
2022-05-31 19:47:06 +03:00
Saaket Prakash
845e08eb2f Add CPython 3.11.0b2 (#2380) 2022-05-31 18:50:52 +03:00
Ivan Pozdeev
8ff6507f80 2.3.1 2022-05-29 19:50:13 +03:00
tuzi3040
0930533d92 CI: Add tests for modified python build scripts (#2286)
Co-authored-by: Ivan Pozdeev <vano@mail.mipt.ru>
2022-05-23 03:36:39 +03:00
Ivan Pozdeev
477fd42d68 Merge branch 'master' of https://github.com/pyenv/pyenv 2022-05-22 15:59:23 +03:00
Ivan Pozdeev
e16b7adf94 Migrate from probot/no-response to lee-dohm/no-response
probot/no-response has been retired and no longer runs
2022-05-22 15:58:48 +03:00
native-api
e676fde990 Fix endless loop in pyenv init - under SSH in some shell setups (#2374) 2022-05-18 16:15:05 +03:00
native-api
8608d60fed Merge pull request #2371 from aphedges/update-miniconda-4.12.0
Add miniconda 4.12.0
2022-05-18 00:42:29 +03:00
Mathieu Kniewallner
ef110c1c4f Add CPython 3.9.13 (#2372) 2022-05-18 00:35:26 +03:00
Alex Hedges
d200c6afa9 Add miniconda 4.12.0 2022-05-17 15:59:25 -04:00
Alex Hedges
25e0ffa67d Add missing miniconda architectures: aarch64, arm64, s390x 2022-05-17 15:59:11 -04:00
Hugo van Kemenade
70b23638f4 Update 3.11-dev and add 3.12-dev (#2361) 2022-05-10 12:01:58 +03:00
Edgar Ramírez
df5ecfc72d Add CPython 3.11.0b1 (#2358) 2022-05-09 06:07:44 +03:00
SADIK KUZU
169321b3e6 README.md, CHANGELOG.md, libexec/pyenv-help: Fix typos 2022-05-08 09:46:47 +03:00
SADIK KUZU
86598fcf4e README.md: Fix typo 2022-05-08 01:16:03 +03:00
Ville Skyttä
c3fd96c429 Version file read improvements (#2269)
* Don't bother reading empty version files
* Implement version file read in pure bash
Is faster with usual sized version files, slower with degenerate cases.
2022-05-06 19:51:51 +03:00
Ivan Pozdeev
867f34b596 README.md: Fix typos, improve phrasing 2022-05-04 04:28:35 +03:00
Ivan Pozdeev
cca008ba04 Merge branch 'master' of https://github.com/pyenv/pyenv 2022-05-04 03:32:53 +03:00
Ivan Pozdeev
2fd7be0453 2.3.0 2022-05-04 03:30:52 +03:00
Hay Kranen
cdccbd0ba3 Add :latest syntax to documentation for the install command (#2351) 2022-05-04 03:20:16 +03:00
native-api
51c026bf56 Merge pull request #2349 from native-api/no_linuxbrew
Don't use Homebrew outside of MacOS
2022-05-04 03:19:27 +03:00
Ivan Pozdeev
5d967fa38a Merge branch 'master' into no_linuxbrew 2022-05-04 03:10:08 +03:00
Ivan Pozdeev
f03adae58a Rename CI workflows to what they actually do 2022-05-04 03:08:46 +03:00
Ivan Pozdeev
65316a7e99 Don't use Homebrew outside of MacOS
In Linux, it's not the primary source of packages and
cannot be used without build flag adjustments
thus has caused build failures.
2022-05-04 03:04:45 +03:00
Ivan Pozdeev
e928e75f22 Fix a duplicate error message on stub plan overrun 2022-05-04 02:58:47 +03:00
native-api
de1f8a7a1d Merge pull request #2310 from native-api/simplify_setup
Simplify init scheme
2022-05-02 19:17:31 +03:00
Ivan Pozdeev
7256feeaa8 Remove EOL versions from CI 2022-05-02 19:08:49 +03:00
Ivan Pozdeev
6d4365a696 Make pyenv init --path usable as a pyenv init - substitute
We're going to eliminate the need to mandatorily use `pyenv init --path`.
We can't delete it yet for backward compatibility.
Besides, there's one other use case for it: to enable shims but without
shell integration, e.g. for noninteractive shells.

To be a full-fledged replacement for `pyenv init -` however,
it needs to do rehashing.
2022-05-02 19:07:24 +03:00
Ivan Pozdeev
8439f8e187 Simplify init scheme; update & clarify the README
Now the setup is to add to both rc and profile:
1) set PYENV_ROOT
   (can do it unconditionally -- since if you change it,
   you need to update all places anyway since any of them can be run first)
2) Add `pyenv` to PATH if not already there
3) eval "$(pyenv init -)"

Not a breaking change, old setup will continue to work.
2022-05-02 19:07:24 +03:00
Ivan Pozdeev
32a86a84c0 Show output for assert_line() and refure_line()
Required for diagnostics
2022-05-02 04:46:00 +03:00
native-api
d5b12f826d Make PYENV_DEBUG imply -v for pyenv install (#2347)
Trace logs without `-v` are usually useless due to missing the build part.
So this leaves one less thing for users to worry about
when submitting error reports.

Mentioning `-v` in the issue template should stay for some time
since users report on old versions, too.
2022-05-01 05:49:09 +03:00
Michael Šimáček
b6b761f9f1 Add GraalPython 22.1.0 (#2346) 2022-04-29 20:30:31 +03:00
native-api
e8f952a5d8 Support XCode 13.3 (Apple Cang 13.1.6) in all releases that officially support MacOS 11 (#2344)
There are no new (glaring) platform incompatibilities in MacOS 12 so those releases should technically run in it as well
2022-04-29 08:54:22 +03:00
Sam Gross
864cd79980 Add "nogil" Python v3.9.10 (#2342) 2022-04-29 05:49:43 +03:00
Illia Volochii
6d20b3b123 Add CPython 3.11.0a7 (#2315) 2022-04-19 18:01:22 +03:00
Ville Skyttä
fe4eccf3e7 Add Pyston 2.3.3 (#2316) 2022-04-19 18:01:07 +03:00
dand-oss
f0f2cdd1c6 Add PyPy 7.3.9 (#2308)
Co-authored-by: Dan Dees <dand@appsmiths.com>
2022-04-01 15:26:38 +03:00
native-api
58427b9a5c Add CONTRIBUTING.md (#2287) 2022-03-31 05:28:28 +03:00
native-api
72757562c1 Remove bountysource since it has gone rogue
I've never been able to activate (or refund) existing bounties on solved problems. Their support has been unhelpful. So I've given up on them.
2022-03-24 20:00:29 +03:00
Sam Doran
fb97a9c2bd Support MacOS with CLang 3+ for CPython 3.7.12 (#2292) 2022-03-24 16:36:48 +03:00
Netanel Shine
48b545345e Support MacOS with CLang 3+ for CPython 3.6.15 (#2288) 2022-03-24 16:35:57 +03:00
Saaket Prakash
45bb60dc39 Add CPython 3.10.4 (#2295) 2022-03-24 16:10:10 +03:00
Saaket Prakash
c0fef470cb Add CPython 3.9.12 (#2296) 2022-03-24 16:09:17 +03:00
Ed Rogers
986fe1a749 Prevent GitHub autolinking to an issue (#2282) 2022-03-18 07:52:26 +03:00
Ivan Pozdeev
bfe54c9459 declare -ar causes "readonly variable" error in Bash 3.2
Fixes https://github.com/pyenv/pyenv/issues/2278
2022-03-18 07:39:44 +03:00
Ivan Pozdeev
a43631d7c0 Copy patches 3.7.12->3.7.13
All the patches still apply
2022-03-17 14:48:33 +03:00
tuzi3040
a157725dbe Bump openssl 1.1 to 1.1.1n for CPython 3.7.13 3.8.13 3.9.11 3.10+ (#2276) 2022-03-17 00:47:09 +03:00
Josh Friend
3a95c969e1 v2.2.5 Add new CPython versions 2022-03-16 16:58:43 -04:00
dand-oss
0d949796ce Add PyPy 7.3.8 (#2253)
Co-authored-by: Dan Dees <dand@appsmiths.com>
2022-03-09 21:13:38 +03:00
Ville Skyttä
ee6ef20859 docs(pyenv-prefix): note support for multiple versions (#2270) 2022-03-09 05:33:01 +03:00
Alex Hedges
7bc426e2be Add miniconda3-3.7-4.11.0, miniconda3-3.8-4.11.0, miniconda3-3.9-4.11.0 (#2268) 2022-03-08 17:37:39 +03:00
Saaket Prakash
3b0ee099a8 Add CPython 3.11.0a6 (#2266) 2022-03-07 21:23:04 +03:00
Ivan Pozdeev
44db3b03d0 Merge branch 'master' of https://github.com/pyenv/pyenv 2022-03-01 09:25:30 +03:00
Ivan Pozdeev
49d955d584 Fix typo in looked-for argument name 2022-03-01 09:25:20 +03:00
Saaket Prakash
1e79a5222b Add CPython 3.11.0a5 (#2241) 2022-02-04 03:04:53 +03:00
David Lawson
d29feab2c8 Add pyston-2.3.2 (#2240) 2022-02-03 16:07:56 +03:00
Pedro Fonini
a98fee0555 python-build: add URL for get-pip for Python 3.6 (#2238) 2022-02-03 03:20:52 +03:00
Pedro Fonini
7ea0408966 Fix UnicodeDecodeError for CPython 3.6.15 and 3.7.12 (#2237) 2022-02-02 15:56:12 +03:00
Anton Petrov
42e6409f6c Update CHANGELOG.md 2022-01-27 18:51:13 +03:00
Anton Petrov
6f7a29c3f4 Update pyenv---version 2022-01-27 18:46:17 +03:00
Michael Šimáček
8aa8d84e09 Add GraalPython 22.0.0 (#2226) 2022-01-26 12:12:55 +03:00
Verdi March
39f1b141ef miniconda3-latest: added Linux-aarch64 (#2221) 2022-01-17 19:44:59 +03:00
Ned Batchelder
a55dd92436 CPython 3.9.10 and 3.10.2 (#2219) 2022-01-15 16:27:08 +03:00
Ned Batchelder
9f5aa953b4 CPython 3.11.0a4 (#2217) 2022-01-15 10:51:28 +03:00
native-api
971397dd4e Revert "Disable coreutils on M1 Apple Silicon with arm64 (#2020)" (#2212)
This reverts commit 90d0d20508.

After further consideration, we've decided to remove this workaround:
* It only has an effect if the user has added `gnubin` from Homebrew Coreutils to PATH which is an unsupported setup
* It was intended to be applied only to a few select 3.8 and 3.9 versions that officially support Apple Silicon and only fail with Homebrew Coreutils in PATH because they have `config.*` from a too old version of Autoconf that doesn't support the Arm64 arch -- but
  * CPython devs [didn't actually fix the problem in 3.10, either, only in 3.11](https://github.com/pyenv/pyenv/pull/2157#issuecomment-968055387), so we'd need to apply it to all 3.10 releases, too
  * users started pushing this workaround into other unrelated branches because they were using the above unsupported setup. See https://github.com/pyenv/pyenv/pull/2190#pullrequestreview-835221952 for discussion.
2022-01-08 13:56:56 +03:00
Christian Hammond
867909c933 Fix a regression in include paths when compiling ctypes in 3.6.15/3.7.12. (#2209)
In my previous work on getting Python 3.6.15 and 3.7.12 to compile on
Apple M1, I backported logic from newer 3.8.x releases to properly find
libffi and related files on macOS.

This regressed compilation on Linux. The include search path was
incomplete, and `ffi.h` could not be found, resulting in `ctypes` being
disabled.

There was a key difference between the old logic and new logic that led
to this regression:

1. In 3.8 and newer, `detect_ctypes()` in `setup.py` took no arguments,
   and was expected to access instance variables for the include search
   path.
2. In 3.7 and earlier, `detect_ctypes()` took the path as an argument,
   and was expected to make use of it.

The backport made use of the instance variables, overriding the provided
include path. These were not equivalent. The one on the instance was not
complete, lacking the necessary directories to find `ffi.h`. Since this
could not be found, `ctypes` support was disabled.

The fix is to simply not overwrite the variables passed to the function,
and resume using them as before.

Fixes #2207
2022-01-07 05:14:22 +03:00
Joseph Strach
162fea40f7 Fix incorrect pypy 2.7-7.3.6 sha256 hashes (#2208) 2022-01-05 23:46:06 +03:00
Fluency
423de9ae8d add-miniconda: add docstrings to several key functions (#2197) 2021-12-23 21:01:28 +03:00
Anton Petrov
40d35f84b4 Update CHANGELOG.md 2021-12-22 09:48:46 +03:00
Anton Petrov
8675031879 Update pyenv---version 2021-12-22 09:48:21 +03:00
Yudai Hayashi
381002dbe2 Add pypy2.7-7.3.2~7.3.6 (#2194) 2021-12-20 13:51:28 +03:00
Christian Hammond
2d9e981d60 Fix Python 3.7.12 compilation on macOS arm64/M1. (#2190)
This change ports pyenv and Python patches to 3.7.12 to enable the
`ctypes `and `decimal` modules to compile.

While Python 3.7.12 itself compiles on arm64/M1, both of these modules
fail to compile, due to missing support for locating system libffi and
due to architecture gate-keeping. These issues have been fixed in newer
releases of Python, and in other pyenv patch bundles.

The following patches are provided:

1. `0001-Port-ctypes-and-system-libffi-patches-for-arm64-macO.patch` -
   Fixes system `ffi.h`/`libffi` path determination and usage and
   enables calling of variadic functions, fixing ctypes support
   (consolidated port of existing pyenv patches for 2.7.18 that iterate
   on this logic).

2. `0002-bpo-41100-fix-_decimal-for-arm64-Mac-OS-GH-21228.patch` -
   Adds arm64 to the list of allowable architectures for the
   `decimal` module (port of Python patch introduced in 3.8.10).
2021-12-20 07:14:14 +03:00
Christian Hammond
152457a428 Fix Python 3.6.15 compilation on macOS arm64/M1. (#2189)
This change ports several established patches to the Python 3.6.15
build, enabling compilation on arm64/Apple M1 architectures:

1. `0001-Detect-arm64-in-configure.patch` -
   Updates configure to detect arm64 architectures (port of an existing
   pyenv patch for 2.7.18).

2. `0002-bpo-36231-Support-building-on-macOS-without-usr-incl.patch` -
   Adds macOS SDK root computation logic for determining include paths
   (port of existing Python patches introduced in 2.7.17 and 3.7.4).

3. `0003-Fix-macOS-_tkinter-use-of-Tck-Tk-in-Library-Framewor.patch` -
   Fixes Tcl/Tk support on macOS (port of an existing pyenv patch
   for 2.7.18).

4. `0004-Port-ctypes-and-system-libffi-patches-for-arm64-macO.patch` -
   Fixes system `ffi.h`/`libffi` path determination and usage and
   enables calling of variadic functions, fixing ctypes support
   (consolidated port of existing pyenv patches for 2.7.18 that iterate
   on this logic).

5. `0005-BPO-41100-Support-macOS-11-when-building-GH-21113.patch` -
   Updates Darwin version checks to handle macOS 11's major version
   bump (port of Python patches introduced in 3.7.0 and 3.9.0).

6. `0006-bpo-41100-fix-_decimal-for-arm64-Mac-OS-GH-21228.patch` -
   Adds arm64 to the list of allowable architectures for the
   `decimal` module (port of Python patch introduced in 3.8.10).
2021-12-20 07:09:38 +03:00
SouthWolf
86ca164a11 Add Anaconda3-2021.11 (#2193)
* Use verify_py39 since anaconda3-2021.11 is using python-3.9 according to release notes
2021-12-19 18:43:01 +03:00
Ned Batchelder
943c5f995d Add CPython 3.11.0a3 (#2187) 2021-12-09 21:41:09 +03:00
John Miller
c80b1cdfb9 Fix errant "echo" in build env install instructions (#2185) 2021-12-08 07:12:53 +03:00
Juan Luis Cano Rodríguez
15677f7f5a Add Miniforge and Mambaforge 4.10.3-10 (#2184) 2021-12-07 21:39:30 +03:00
Ricardo Madriz
631bf6a23a Add CPython 3.10.1 (#2183) 2021-12-07 08:50:30 -05:00
native-api
2862858052 Merge pull request #2182 from J-M0/fix_3.6.15
Fix 3.6.15 build on macOS
2021-12-06 20:01:42 +03:00
James Morris
a7e09ce2ea Update macOS test dependencies 2021-12-05 19:23:21 -05:00
James Morris
4d56947277 Fix Python 3.6.15 build 2021-12-03 16:50:13 -05:00
James Morris
07b7471819 Add macOS tests 2021-12-03 16:48:22 -05:00
James Morris
3d4fc164a2 Update Python 3.6 in Ubuntu tests 2021-12-03 16:47:42 -05:00
Ivan Pozdeev
f2925393e4 update ISSUE_TEMPLATE.md 2021-11-23 20:22:59 +03:00
Anton Petrov
a681e756e1 Update CHANGELOG.md 2021-11-22 22:35:16 +03:00
Anton Petrov
dc3a201301 Update pyenv---version 2021-11-22 22:33:10 +03:00
Xiangyu Xu
7706a45080 Add macOS Apple M1 to Miniconda-latest (#2164)
[source](https://www.anaconda.com/blog/anaconda-individual-edition-2021-11#:~:text=Update%20on%20macOS%20Apple%20M1%20Support)
2021-11-20 23:58:42 +03:00
Josh Friend
23dfe75b73 v2.2.1 2021-11-20 09:04:59 -05:00
Illia Volochii
df7ccfe0e8 Add CPython 3.9.9 (#2162) 2021-11-16 19:17:00 +03:00
native-api
e342d84715 Merge pull request #2158 from scop/micropythons 2021-11-14 00:05:58 +03:00
Ville Skyttä
e54cd5f49d Add micropython 1.17 2021-11-13 22:56:51 +02:00
Ville Skyttä
80ec306155 Add micropython 1.16 2021-11-13 22:56:42 +02:00
Ville Skyttä
a9e11ba164 Use command and type instead of which (#2144)
`which` has been deprecated in Debian's debianutils 5.0+
They suggest using `type` and `command` as replacements:
3a8dd10b45 ,
610a65c6ef
2021-11-11 21:08:12 +03:00
native-api
5b7c140f5b Dummy for https://github.com/pyenv/pyenv/issues/106 (#2156)
The issue has been resolved in ed38af6409
but the bounty didn't trigger -- allegedly 'cuz it's not a PR.

Bountysource support replied "we're looking" but never did anything
so I'm going to try to trigger it via a dummy PR.
2021-11-09 20:48:12 +03:00
Ivan Pozdeev
aebed1c0a4 Merge branch 'master' of https://github.com/pyenv/pyenv 2021-11-09 20:19:35 +03:00
Ivan Pozdeev
4adc45ef8a Dummy for https://github.com/pyenv/pyenv/issues/106 2021-11-09 20:19:16 +03:00
native-api
d79bda4602 Patch 3.10.0 configure (#2155)
* Fix "PKG_PROG_PKG_CONFIG: command not found"

Apply f146ca36f8
* bpo-45350: Rerun autoreconf with the pkg-config macros (GH-28707)
2021-11-09 19:06:42 +03:00
Oğuzhan Çelikarslan
552d943762 Fix typos in command examples (#2147) 2021-11-09 09:50:29 +03:00
Parnassius
663abeb5fa Add CPython 3.9.8 (#2152) 2021-11-07 17:43:58 +03:00
Ned Batchelder
748261869a CPython 3.11.0a2 (#2150) 2021-11-06 14:21:35 +03:00
native-api
54889eb87a Make gist generation instructions more explicit; add Zsh PS4 2021-10-31 05:14:03 +03:00
sandipanpanda
cfe2aba670 Add definition of pyenv help in COMMANDS.md (#2139) 2021-10-30 22:11:42 +03:00
Ivan Pozdeev
009fea2b20 Merge branch 'master' of https://github.com/pyenv/pyenv 2021-10-29 12:20:30 +03:00
Ivan Pozdeev
6e214570d1 Use OpenSSL 1 for 2.7.18 2021-10-29 12:20:20 +03:00
native-api
abfa1c6d92 Explicitly state to enable verbose mode 2021-10-29 01:21:23 +03:00
Anton Petrov
066c05336f Update pyenv---version 2021-10-27 11:15:57 +03:00
Anton Petrov
1fa027af1e Update CHANGELOG.md 2021-10-27 11:15:29 +03:00
Ivan Pozdeev
a0cc289d15 Added a wiki page on how to setup shell as a login shell in MacOS 2021-10-27 00:27:14 +03:00
Danny Hermes
4bbf7d7bb0 Adding PyPy release 7.3.7 (Python 3.7 and 3.8). (#2132) 2021-10-26 05:09:48 +03:00
native-api
4b82f575c7 Append Homebrew custom prefix to search path (#1957)
This is needed to find other Python deps (e.g. libintl) in Homebrew if it has
nonstandard prefix (e.g. in Apple M1)

* Re-allow to search Homebrew for zlib everywhere
2021-10-26 04:36:01 +03:00
amd-9
c0d8b9cfe8 Add documentation for init command (#2125) 2021-10-25 15:30:50 +03:00
native-api
0388da7d0b Add setup instructions for the case when one installs Pyenv as part of a batch job (#2127) 2021-10-25 01:08:57 +03:00
amd-9
13efdea9ab Add documentation for completions command (#2126) 2021-10-24 23:33:32 +03:00
native-api
8db91d5516 Default --with-universal-archs to universal2 on Apple Silicon (#2122)
Don't override a user-supplied value
2021-10-23 22:01:57 +03:00
Khushl Vora
a015760854 Update README.md (#2120)
Minor changes to make the docs better.
2021-10-23 17:33:18 +03:00
Michael Šimáček
d4f45b0096 Add GraalPython 21.3.0 (#2117) 2021-10-21 18:04:03 +03:00
native-api
444088b1db Merge pull request #2111 from dand-oss/pypy3.8-7.3.6
Pypy ver 7.3.6 - python 3.7 and python 3.8
2021-10-19 17:20:46 +03:00
Dan Dees
09877f45cb pypy3.8-7.3.6 2021-10-19 09:36:29 -04:00
Dan Dees
f864294e0e pypy3.7-7.3.6 2021-10-19 09:36:29 -04:00
native-api
5963dc4f61 Discover Tcl/Tk reliably and use active version (#2106)
Link to the active version like other Homebrew deps --
this won't break when another binary-compatible version is installed.
Use a discovery method that doesn't break when other versions are present alongside.
2021-10-16 14:51:39 +03:00
native-api
0915c5b7b6 Update README.md 2021-10-16 01:57:05 +03:00
native-api
ed38af6409 Add Homerew alias to fix brew doctor's warning
Closes #106
2021-10-15 22:15:25 +03:00
native-api
208be7d6af Update ISSUE_TEMPLATE.md 2021-10-14 12:13:46 +03:00
Marcin Konowalczyk
07aa659dbb fish installation instructions (#2104) 2021-10-12 14:09:15 +03:00
native-api
88c3404997 Update ISSUE_TEMPLATE.md 2021-10-08 11:56:08 +03:00
native-api
3a35f43eb4 Update FUNDING.yml 2021-10-08 11:47:01 +03:00
Ivan Pozdeev
9a42b48da4 Merge branch 'master' of https://github.com/pyenv/pyenv 2021-10-07 02:37:36 +03:00
Ivan Pozdeev
f5cc25ed14 Fix "`build_package_pyston2.2': not a valid identifier" 2021-10-07 02:37:04 +03:00
Anton Petrov
e0e3244015 Merge pull request #2099 from nedbat/master
Add CPython 3.11.0a1
2021-10-06 14:48:38 +03:00
Ned Batchelder
9c72c27d76 Add CPython 3.11.0a1 2021-10-06 07:25:55 -04:00
Anton Petrov
483d95d6d2 Remove travis build status 2021-10-05 17:49:38 +03:00
Anton Petrov
05ca057bb2 Update pyenv---version 2021-10-05 17:32:37 +03:00
Anton Petrov
108a10a198 Update CHANGELOG.md 2021-10-05 17:32:15 +03:00
Anton Petrov
979e6f0a61 Merge pull request #2096 from ashwinvis/patch-1
Fix mambaforge-pypy3 build
2021-10-05 17:24:58 +03:00
Ashwin V. Mohanan
2a9c18372a Update mambaforge-pypy3
Fix typo `ase` -> `case`
2021-10-05 15:28:13 +02:00
native-api
8315e1528b Create FUNDING.yml 2021-10-05 12:27:48 +03:00
Anton Petrov
c81a28105f Merge pull request #2093 from Parnassius/py310
Add Python 3.10.0
2021-10-04 22:28:30 +03:00
Parnassius
d601efa0d5 Add Python 3.10.0 2021-10-04 21:16:19 +02:00
sandipanpanda
0688b17cc1 Add documentation for exec command (#2090) 2021-10-02 23:15:18 +03:00
sandipanpanda
bb6a747c02 Add documentation for shims command (#2091) 2021-10-02 23:10:37 +03:00
sandipanpanda
681d31bc36 Add documentation for hooks command (#2089) 2021-10-02 20:00:24 +03:00
sandipanpanda
3b1bc86031 Add documentation for root command (#2088)
* Add documentation for root command
2021-10-02 19:58:56 +03:00
sandipanpanda
6139b51af4 Add documentaion for prefix command (#2087) 2021-10-02 19:54:12 +03:00
Ivan Pozdeev
10a8c83888 Merge branch 'master' of https://github.com/pyenv/pyenv 2021-10-01 02:30:41 +03:00
Ivan Pozdeev
9985f7b436 Honor CONFIGURE_OPTS as well as PYTHON_CONFIGURE_OPTS when detecting options 2021-10-01 02:30:28 +03:00
Kevin Modzelewski
a7895e6ea8 Update to Pyston's v2 package of the 2.3.1 release (#2078)
This one gets rid of the extra "usr" subdirectory that we had and now fits the format that pyenv expects
2021-09-28 21:12:46 +03:00
Anton Petrov
7dd48d1665 Merge pull request #2075 from kmod/pyston_2.3.1
Add pyston-2.3.1 support
2021-09-27 21:45:33 +03:00
Kevin Modzelewski
11c54713bb This looks unnecessary now 2021-09-24 17:23:35 -04:00
Kevin Modzelewski
3051d21004 Add pyston-2.3.1 support
We changed the directory structure for pyston 2.3.1 slightly, where we now
include a top-level "pyston-2.3.1" directory when you unpack the tarball.
2021-09-24 15:10:50 -04:00
Anton Petrov
9ecfdd1073 Merge pull request #2074 from anton-petrov/master
Don't update conda when installing pip
2021-09-23 12:47:50 +03:00
Anton Petrov
47d3dee0bb Fix 2021-09-23 12:26:46 +03:00
Anton Petrov
0a3b72d890 Don't update conda when installing pip 2021-09-23 12:00:09 +03:00
native-api
f018056165 Merge pull request #2072 from aphedges/improve-add_miniconda 2021-09-21 08:07:42 +03:00
Alex Hedges
af55330d37 Add miniconda2-2.7-4.8.3, miniconda3-3.7-4.10.3, miniconda3-3.8-4.10.3, miniconda3-3.9-4.10.3 2021-09-21 08:06:57 +03:00
native-api
0211c345f7 Merge pull request #2073 from native-api/github_actions_tests
GitHub actions tests
2021-09-21 07:55:28 +03:00
Ivan Pozdeev
2f8c625a7d Fix test failures 2021-09-21 07:44:03 +03:00
Ivan Pozdeev
e28661c7e2 Fix random "broken pipe" 2021-09-21 07:43:58 +03:00
Ivan Pozdeev
6882be06a6 Bats: report unstub failure details 2021-09-21 07:43:58 +03:00
Ivan Pozdeev
c6c4e41eb9 Bats: show output on failed assertions 2021-09-21 05:07:17 +03:00
Ivan Pozdeev
f504b01818 consistent message 2021-09-21 05:07:12 +03:00
Ivan Pozdeev
876be1bb04 Bats: path_without: support multiple args 2021-09-21 05:07:12 +03:00
Ivan Pozdeev
6185bb55e6 allow for sys.executable to be different 2021-09-21 05:07:06 +03:00
Ivan Pozdeev
7f714c34ba Bats 1.2 requires readline from gnu coreutils in MacOS 2021-09-21 05:07:06 +03:00
Ivan Pozdeev
848e56e992 Add Pyenv tests to Github Actions
Now that Travis check has been removed from the repo
2021-09-21 05:07:06 +03:00
Alex Hedges
8b07b92c37 Support newer miniconda filenames 2021-09-20 19:47:26 -04:00
Alex Hedges
3a20ce7555 Add default verbosity to add_miniconda.py
Required to prevent a crash when no verbosity given.
2021-09-20 19:30:45 -04:00
rallyemax
0c6ad7c52b Fix sed commands (#2071)
In GNU `sed`, the `-iEe` argument is equivalent to `--in-place=Ee`, which would create `~/.profileEe` as backup of `~/.profile` if the command executed successfully. However, because the `e` is no longer being processed as an expression argument, `sed` does not correctly join the expressions and exits with `sed: -e expression #2, char 10: unexpected }`.

The intent is to use extended regex, perform the changes in-place, and use a series of expressions, so `-Ei -e` is used instead.
2021-09-21 00:30:11 +03:00
Takumi Sueda
1bd397112a Add Python 2.7.18 patches for Apple Silicon machines (#2061) 2021-09-20 22:10:58 +03:00
Anton Petrov
dcfd715603 Update pyenv---version 2021-09-20 20:08:06 +03:00
Anton Petrov
474d7cc066 Update CHANGELOG.md 2021-09-20 20:07:51 +03:00
Anton Petrov
02c44942c6 Merge pull request #2067 from native-api/readme
Update setup instructions in the Readme
2021-09-20 07:33:50 +03:00
Ivan Pozdeev
76db37dbfa Update fish instructions based on user feedback 2021-09-19 01:08:26 +03:00
Ivan Pozdeev
eb89256f59 Remove the sample code from pyenv init
since there proved to be to many cases to fit
2021-09-19 00:27:03 +03:00
Ivan Pozdeev
19f74e41f0 Update setup instructions based on user feedback 2021-09-19 00:26:48 +03:00
Ivan Pozdeev
6c74b616a5 Windows note as a separate section 2021-09-19 00:26:30 +03:00
Ivan Pozdeev
8cce6e8dd2 Add notes when to use the 2nd shell step 2021-09-19 00:26:07 +03:00
Ivan Pozdeev
03cabd88e9 Highlight MacOS note about restart 2021-09-19 00:26:07 +03:00
tillhainbach
e56962b357 allow tcl-tk as argument or try with homebrew by default Replacement for #1409 (#1646)
* feat(python-build): allow tcl-tk as argument or default to homebrew
* refactor(python-build): detect tcl-tk-libs from confugre_opts_arr
2021-09-17 14:56:53 +03:00
Ivan Pozdeev
cabdc45181 fix possible side effect 2021-09-17 03:52:52 +03:00
Ivan Pozdeev
7f45f1eb9d Merge branch 'sbin'
# Conflicts:
#	test/prefix.bats
2021-09-15 20:45:27 +03:00
Ivan Pozdeev
acc949c27b fix test 2021-09-15 20:42:41 +03:00
native-api
4f689cdf83 Allow system Python in sbin (#2065)
Arch Linux has Python is sbin as well as bin
2021-09-15 20:00:49 +03:00
Ivan Pozdeev
26134d9b38 Allow system Python in sbin
Arch Linux has Python is sbin as well as bin
2021-09-15 19:07:00 +03:00
Pamela McA'Nulty
1c90a0f864 Prevent duplicate PATH entries when bin_path/.. is the same as PYENV_ROOT (#2045) 2021-09-15 01:09:50 +03:00
Toshihiro Takushima
90d0d20508 Disable coreutils on M1 Apple Silicon with arm64 (#2020)
* Disable coreutils on arm64-apple
* Only selectively apply to the affected CPython versions

Co-authored-by: Ivan Pozdeev <vano@mail.mipt.ru>
2021-09-09 15:53:00 +03:00
Ned Batchelder
58e2087967 Add Python 3.10.0rc2 (#2053) 2021-09-08 17:28:25 +03:00
Seonghyeon Cho
a65af6570d Add space after yes/no prompt (#2040) 2021-09-07 23:35:53 +03:00
Ricardo N Feliciano
70d7749584 Add CPython v3.6.15 and v3.7.12 (#2052) 2021-09-07 23:07:40 +03:00
Víctor Molina García
9df4524c79 Add missing Python 2.6.x definitions and patches (#2051) 2021-09-06 22:37:38 +03:00
Víctor Molina García
f7450587dc Fix build of ossaudiodev in Linux/FreeBSD for Python 2.6 (#2049)
This is essentially the same fix as in pull request #2047, but it
is applied from Python 2.6.6 to 2.6.9, and for `ossaudiodev` as well
as the (deprecated) `linuxaudiodev`.
2021-09-05 21:54:57 +03:00
Víctor Molina García
22e1aa6e9d Fix build of ossaudiodev in Linux/FreeBSD for Python 3.1 (#2047)
With the normal `setup.py`, the installation of the `ossaudiodev`
module is skipped under GNU/Linux with newer kernel versions because
Python 3.1 appends the major kernel version to the result of
`build_ext.get_platform` and later `ossaudiodev` is skipped if the
major kernel version is not 2. A similar problem might occur if
installing in FreeBSD.

This problem may even occur if installing Python 3.1 in a Docker image
of an old OS (e.g. prehistoric Debian or CentOS), because the major
kernel version is still the one of the host system.

The solution is to use `str.startswith` and only check that the
platform starts with 'linux' or 'freebsd'.
2021-09-03 16:56:45 +03:00
Anton Petrov
2d64fb1cb9 Update pyenv---version 2021-08-31 08:44:12 +03:00
Anton Petrov
a85875c39e Update CHANGELOG.md 2021-08-31 08:43:56 +03:00
Anton Petrov
8db5778b12 Merge pull request #2044 from poad/master
Add CPython 3.9.7
2021-08-31 08:36:49 +03:00
Kenji Saito
c7d8a1c33d Add CPython 3.9.7 2021-08-31 08:29:43 +09:00
Ricardo N Feliciano
44b7da194b Add CPython v3.8.12 (#2043) 2021-08-30 23:39:24 +03:00
Anton Petrov
b2eb2d28d1 Merge pull request #2037 from NyaMisty/master
[Fixed] Adapt conda.bash for bash associative array
2021-08-24 13:42:02 +03:00
Anton Petrov
8b60418361 Update CHANGELOG.md 2021-08-23 10:35:08 +03:00
Anton Petrov
e9c8dfc197 Update pyenv---version 2021-08-23 10:34:26 +03:00
Sakuragawa Misty
dfeda54079 fixes checking of associative array in conda.bash 2021-08-21 04:20:23 +08:00
Anton Petrov
4f8b15fecd Merge pull request #2035 from pyenv/revert-2027-master
Revert "Adapt conda.bash for bash associative array"
2021-08-20 14:18:30 +03:00
Anton Petrov
07609cc579 Revert "Adapt conda.bash for bash associative array" 2021-08-20 09:58:18 +03:00
Anton Petrov
3738c2a282 Merge pull request #2027 from NyaMisty/master
Adapt conda.bash for bash associative array
2021-08-19 19:38:25 +03:00
Anton Petrov
9668be8850 Merge pull request #2032 from vatosarmat/master
Move man page to location where it can be automatically found by man
2021-08-19 13:29:12 +03:00
V S
dc36c300e1 Move man page to location where in can be automatically found by manpage utility without manual MANPATH setting 2021-08-19 19:55:22 +10:00
Sakuragawa Misty
351ddb1095 Adapt conda.bash for bash associative array 2021-08-10 05:54:51 +08:00
native-api
d209e0612b Merge pull request #2025 from fredrikaverpil/fix-checksums
Update checksums for CPython 3.10.0rc1
Remove 3.10.0rc1
2021-08-04 23:23:24 +03:00
Fredrik Averpil
825ef64995 Remove CPython 3.10.0b4 2021-08-04 22:22:11 +02:00
Fredrik Averpil
65588f51d9 Update checksums for CPython 3.10.0rc1 2021-08-04 22:16:34 +02:00
Anton Petrov
ab1a9d290c Merge pull request #2022 from native-api/remove_3.9.3
Remove 3.9.3
2021-08-03 21:58:21 +03:00
Anton Petrov
b40ef3c698 Merge pull request #2023 from fredrikaverpil/add-3100rc1
Add CPython 3.10.0rc1
2021-08-03 21:57:08 +03:00
Fredrik Averpil
1427f80828 Add test to CI 2021-08-03 20:10:53 +02:00
Fredrik Averpil
9db1193c2a Add CPython 3.10.0rc1 2021-08-03 20:07:38 +02:00
Ivan Pozdeev
1f906baae8 Remove 3.9.3
It has been recalled due to introducing an unexpected incompatibility:
https://www.python.org/downloads/release/python-393/
2021-08-03 06:52:44 +03:00
Anton Petrov
cef86ce462 Update pyenv---version 2021-07-25 11:54:16 +03:00
Anton Petrov
52822a3d50 Update CHANGELOG.md 2021-07-25 11:53:58 +03:00
Anton Petrov
afc8031544 Merge pull request #2019 from anton-petrov/master
Added scripts for rolling releases of Miniforge
2021-07-25 11:48:07 +03:00
Anton Petrov
c435fde088 Rename mambaforge3-pypy3-latest to mambaforge-pypy3 2021-07-25 11:38:11 +03:00
Anton Petrov
3773dfb4f1 Update and rename miniforge3-pypy3 to miniforge-pypy3 2021-07-25 11:37:22 +03:00
Anton Petrov
abe0056b5f Update and rename mambaforge3-latest to mambaforge 2021-07-25 11:34:51 +03:00
Anton Petrov
fd8854dea1 Rename miniforge3-latest to miniforge3 2021-07-25 11:34:05 +03:00
Anton Petrov
9b6377de23 Create mambaforge3-pypy3-latest 2021-07-25 11:30:59 +03:00
Anton Petrov
8c251a5e9b Rename mambaforge3 to mambaforge3-latest 2021-07-25 11:27:21 +03:00
Anton Petrov
a6d6ba8050 Rename miniforge3 to miniforge3-latest 2021-07-25 11:26:54 +03:00
Anton Petrov
fc7560bcfd Update and rename mambaforge3-latest to mambaforge3 2021-07-25 11:24:59 +03:00
Anton Petrov
56fd6c3c51 Update and rename miniforge3-latest to miniforge3 2021-07-25 11:24:31 +03:00
Anton Petrov
db82c73391 Create miniforge3-pypy3 2021-07-25 11:23:28 +03:00
Anton Petrov
d4d66b6183 Update miniforge3-latest 2021-07-25 11:12:58 +03:00
Anton Petrov
0c287ffcf7 Create mambaforge3-latest 2021-07-25 11:12:29 +03:00
Anton Petrov
af59ef0088 Create miniforge3-latest 2021-07-25 11:09:54 +03:00
David Lawson
ad8807543b Update pyston-2.3 (#2017)
The original 2.3 portable version was compiled on Ubuntu 20.04 and didn't work with older glibc.

This has been fixed and the older file has been deleted so hopefully this change is acceptable.
2021-07-22 19:28:04 +03:00
Michael Šimáček
aad74674cb Add GraalPython 21.2.0 (#2018) 2021-07-22 19:26:11 +03:00
Anton Petrov
f043f47c35 Merge pull request #2013 from nedbat/fix-3.10.0b4
fix: correct the reported version for 3.10.0b4
2021-07-20 08:14:12 +03:00
Ned Batchelder
d769f22996 fix: correct the reported version for 3.10.0b4 2021-07-19 14:40:13 -04:00
Anton Petrov
56fe98bfed Merge pull request #2012 from dmrlawson/pyston-2.3
Add Pyston 2.3
2021-07-18 20:55:42 +03:00
David Lawson
041903c640 Add Pyston 2.3 2021-07-18 18:21:01 +01:00
Anton Petrov
84a6535708 Merge pull request #2005 from nedbat/3.10.0b4
3.10.0b4
2021-07-12 07:51:57 +03:00
Ned Batchelder
93dd6f1163 Add 3.10.0b4 2021-07-11 14:02:39 -04:00
Anton Petrov
3a5a21ee05 Update pyenv---version 2021-07-03 10:10:58 +03:00
Anton Petrov
ae29f86968 Update CHANGELOG.md 2021-07-03 10:10:42 +03:00
native-api
f7754ae6a4 Remove PATH warning (#2001)
* In some cases (Ubuntu), `pyenv init -` has to be run before `pyenv init --path`.
* The warning has served its purpose by now.
2021-07-03 09:48:13 +03:00
Illia Volochii
673c73012d Add Python 3.6.14, 3.7.11, 3.8.11, and 3.9.6 (#1996) 2021-06-29 13:45:48 +03:00
Anton Petrov
20df064204 Update pyenv---version 2021-06-27 11:25:53 +03:00
Anton Petrov
1cce1cadbd Update CHANGELOG.md 2021-06-27 11:25:37 +03:00
Anton Petrov
fc83d32317 Merge pull request #1992 from anton-petrov/master
Miniforge minor update to 4.10.1-5
2021-06-27 11:01:51 +03:00
Anton Petrov
cb0402214e Merge pull request #1991 from hughrawlinson/patch-1
Suggest that fish users init in interactive mode
2021-06-27 11:01:42 +03:00
Anton Petrov
35e0b0e24a Create mambaforge-4.10.1-5 2021-06-27 10:45:15 +03:00
Anton Petrov
57f1c3b5b4 Create miniforge3-4.10.1-5 2021-06-27 10:39:48 +03:00
Hugh Rawlinson
637fd914dc Update README.md 2021-06-27 00:25:22 +02:00
Hugh Rawlinson
d2bd4c06ef Suggest that fish users init in interactive mode
...rather than login mode.

I couldn't get rid of the warning that `pyenv init -` no longer sets path until I did this. It looks like setting only on the login shell wasn't enough to hide the warning in other shells I opened. This fits with [how rbenv does the same thing](https://github.com/rbenv/rbenv/blob/master/libexec/rbenv-init#L74).

I'm way out of my depth here, so someone who knows about shell types should definitely review this.
2021-06-27 00:22:59 +02:00
Ned Batchelder
5f75198569 Add 3.10.0b3 (#1988)
* Add 3.10.0b3

Co-authored-by: Ivan Pozdeev <vano@mail.mipt.ru>
2021-06-19 15:41:43 +03:00
native-api
bbcecc7561 Merge pull request #1984 from pyenv/revert-1907-install_no_blank
Revert "Drop inferring version to install from `pyenv local`"
2021-06-14 18:08:19 +03:00
native-api
e154693dc6 Revert "Drop inferring version to install from pyenv local" 2021-06-14 17:08:46 +03:00
native-api
1706436fae Use system Python3 for tests (#1979)
PEP 394 now doesn't require `python` presence or specify what it is.
Tests that invoke it use Py3-specific code.
2021-06-10 03:57:58 +03:00
native-api
859b260764 Check for shims in path with pure Bash (#1978)
Closes https://github.com/pyenv/pyenv/issues/1921
2021-06-10 03:51:59 +03:00
LukeAI
fadb3f3389 Fix instructions for Debian/Ubuntu to have shims ahead of ~/.local/bin (#1977)
Debian/Ubuntu's stock `~/.bashrc` prepends `~/.local/bin` to `PATH` towards its end if it exists.
Executables for per-user modules for system Python are installed into `~/.local/bin` --
so need to prepend `shims` to `PATH` later that that.

Co-authored-by: Ivan Pozdeev <vano@mail.mipt.ru>
2021-06-08 18:10:38 +03:00
Anton Petrov
f81bffc95e 2.0.1 2021-06-06 16:25:48 +03:00
Anton Petrov
d517315d25 Update CHANGELOG.md 2021-06-06 16:25:21 +03:00
Anton Petrov
70934bd635 Merge pull request #1907 from native-api/install_no_blank
Drop inferring version to install from `pyenv local`
2021-06-04 21:01:48 +03:00
Anton Petrov
b8686ffdad Merge pull request #1971 from anton-petrov/master
Create mambaforge-4.10.1-4
2021-06-04 20:57:34 +03:00
Anton Petrov
c95b1f2b95 Create mambaforge-4.10.1-4 2021-06-04 20:32:57 +03:00
Seth Michael Larson
c878150dac Add 3.10.0b2 (#1966) 2021-06-03 00:16:20 +03:00
Philip Howard
6633382417 Fix .bashrc echo install syntax error (#1965)
Change `done` to `fi` since otherwise Bash emits an unexpected token error:

```
bash: /home/foo/.bashrc: line 120: syntax error near unexpected token `done'
bash: /home/foo/.bashrc: line 120: `if command -v pyenv >/dev/null; then eval "$(pyenv init -)"; done'
```
2021-06-03 00:12:58 +03:00
native-api
83056fc404 Merge pull request #1964 from native-api/master
Add explicit Zsh instructions for MacOS
2021-06-02 12:25:12 +03:00
Ivan Pozdeev
cb1390cb49 Fix capitalization 2021-06-02 00:47:52 +03:00
Ivan Pozdeev
159327ff25 Add explicit instructions for Zsh in MacOS
Indirect ones with errata have proven to confuse users.
Fixes #1947, #1948
2021-06-02 00:08:28 +03:00
Ivan Pozdeev
e2125b2750 Merge branch 'master' of https://github.com/pyenv/pyenv 2021-06-01 02:22:35 +03:00
Ivan Pozdeev
adca14a910 fix typo 2021-06-01 02:22:19 +03:00
native-api
fa7bb12221 Merge pull request #1955 from aisk/patch-1
install pip with pyston
2021-05-31 12:34:46 +03:00
An Long
fa384f134e install pip with pyston
The default pyston build do not have pip installed by default. This change just add `get_pip` function to have pip installed.
2021-05-31 16:46:01 +08:00
native-api
ca2032452b Merge pull request #1537 from native-api/mention_log
Mention log file if an error happened before building, too
2021-05-27 02:29:58 +03:00
native-api
713cfea475 Merge pull request #1950 from dmrlawson/pypy3.7-7.3.5
Add pypy3.7-7.3.5, pypy3.7-7.3.4-src, pypy3.7-7.3.5-src
2021-05-26 23:20:44 +03:00
David Lawson
d73ae603c7 Add pypy3.7-7.3.4-src and pypy3.7-7.3.5-src 2021-05-26 20:55:17 +01:00
David Lawson
84486ceb70 Add pypy3.7-7.3.5 2021-05-26 20:21:38 +01:00
Anton Petrov
1270ca6b0b 2.0.0 2021-05-23 20:01:43 +03:00
Anton Petrov
c8abcd23f0 Update CHANGELOG.md 2021-05-23 20:01:19 +03:00
Anton Petrov
748a1ff0ec Merge pull request #1908 from native-api/show_cache_filename
Report cache filename at download
2021-05-23 19:54:32 +03:00
Anton Petrov
20a146ed6e Create miniforge3-4.10.1-3 2021-05-23 19:45:53 +03:00
Ville Skyttä
ac4de22265 Add micropython 1.15 (#1939) 2021-05-21 19:01:02 +03:00
Nathan V
d02b929d07 Add Stackless 2.7.16 (#1450)
* Added Stackless 2.7.16

Co-authored-by: Nathan <nathan@nathan.v>
Co-authored-by: Ivan Pozdeev <vano@mail.mipt.ru>
2021-05-21 15:09:05 +03:00
Anton Petrov
4ce52bd333 2.0.0-rc1 2021-05-20 23:20:22 +03:00
Anton Petrov
d576ac4c8c 2.0.0 2021-05-20 23:19:25 +03:00
Anton Petrov
aa950f939a Merge pull request #1935 from native-api/framework_prefix
Prevent build from installing MacOS apps globally
2021-05-20 22:50:31 +03:00
Anton Petrov
13e67a37ab Merge pull request #1934 from native-api/no_ldflags_dirs
ldflags_dirs is not needed for Python and causes failures
2021-05-20 22:49:21 +03:00
Anton Petrov
750ccb1129 Merge pull request #1937 from anton-petrov/master
Update anaconda3-2021.05 - fixed checksum for macOS package
2021-05-20 09:46:03 +03:00
Anton Petrov
5cf4eeb5cb Update anaconda3-2021.05
Fixed checksum for macos package
2021-05-20 09:44:36 +03:00
Ivan Pozdeev
0dd61f8777 fix test 2021-05-19 17:02:03 +03:00
Ivan Pozdeev
a7044d2c06 Prevent build from installing MacOS apps globally 2021-05-19 15:44:05 +03:00
Ivan Pozdeev
d010b4110a adjust tests 2021-05-19 05:47:48 +03:00
Ivan Pozdeev
e5db32499c ldflags_dirs is not needed for Python and causes failures
Ensuring that all dirs in LDFLAGS exist is only needed for Ruby due to its `configure` requirements.
If some LDFLAGS entries point to a nonexisting path to which the user doesn't have permission. this causes a build failure.
2021-05-19 05:28:03 +03:00
Ivan Pozdeev
ddf952ab2d Allow for cases where user might've aliased some programs
The $(type -p | head -1) construct expects to always get a path, so need to ignore such aliases with -P

Closes https://github.com/pyenv/pyenv/issues/1662
2021-05-17 10:48:46 +03:00
Ivan Pozdeev
fdbcdd38f1 Add a version-neutral verify fn for rolling-release scripts
E.g. "*-latest"
May need splitting into project-specific ones if there emerge projects with different check needed

Closes https://github.com/pyenv/pyenv/issues/1559
2021-05-17 00:47:27 +03:00
Anton Petrov
7b04d3a8e6 Merge pull request #1928 from anton-petrov/master
Create miniforge3-4.10.1-1
2021-05-16 21:24:46 +03:00
Anton Petrov
d9b9c4588d Create anaconda3-2021.05 2021-05-16 21:01:13 +03:00
Anton Petrov
13ae1461ff Create miniforge3-4.10.1-1 2021-05-16 20:52:24 +03:00
native-api
b5d7216f5c Merge pull request #1905 from native-api/umask
Make test independent of umask
2021-05-15 15:49:52 +03:00
native-api
bba1289e23 Bash automated install option (#1922)
Bash automated install option for the case when ~/.profile sources ~/.bashrc
2021-05-14 00:05:40 +03:00
Ivan Pozdeev
e0d109c227 Include a Bash automated install option 2021-05-13 22:58:07 +03:00
native-api
0d07cda969 Update install instructions for Bash and Zsh (#1920)
* Update install instructions for Bash and Zsh

* Synchronize README.md with `pyenv init`
* Add a ~/.bash_profile note
* Concatenate shims activation into installation for brevity
  (Pyenv can't be used meaningfully without shims anyway)
  Otherwise, we'd need to duplicate all the ~/.profile shenanigans in both sections
* Update based on feedback
* Proofread
2021-05-13 22:57:14 +03:00
Ivan Pozdeev
a7f3e3a5be Use magic keyword for linking issues to PRs 2021-05-11 22:36:58 +03:00
Fabian Homborg
0d2fb35cee Fix fish installation instructions (#1916) 2021-05-11 22:35:15 +03:00
Anton Petrov
fd3c891d76 Merge pull request #1912 from native-api/profile_sources_rc
Add a hint for cases when ~/.profile sources ~/.rc
2021-05-10 06:09:25 +03:00
Ivan Pozdeev
da9392fd09 Add a hint for cases when ~/.profile sources ~/.rc
Our ~/.rc logic must run after the ~/.profile one
2021-05-10 04:39:45 +03:00
Ivan Pozdeev
b4511f0787 Remove test for the feature 2021-05-10 03:19:38 +03:00
native-api
f0a8e72c36 Merge pull request #1910 from native-api/full_install_message
Place full shell configuration instructions into `pyenv init`
2021-05-10 00:36:46 +03:00
Ivan Pozdeev
13deda8875 Place full shell configuration instructions into pyenv init
including initial PATH and PYENV_ROOT entries.
The migration hint proved to be unclear to users without them.
2021-05-10 00:08:46 +03:00
Ivan Pozdeev
891dc31c92 Report cache filename at download
In certain cases, a user wants to know the cached filename to add the file themselves,
see https://github.com/pyenv/pyenv/issues/1743 .
Since we report both a filename and a URL anyway, there's no reason to report a wrong one.
2021-05-08 19:50:21 +03:00
native-api
debf1abd8b Merge pull request #1312 from AlyssonOliveira/update_configuration_files
Update generated configuration files before run ./configure
2021-05-08 04:28:09 +03:00
Ivan Pozdeev
8bff74dbd4 Drop inferring version to install from pyenv local
This behavior is only triggered when the version is provided as an empty string,
is undocumented and breaks if multiple local versions are specified
(rightly so since it's unclear which of them to install).
2021-05-08 01:58:47 +03:00
Ivan Pozdeev
37f6349b01 Make test independent of umask
Only test the permission bit that we're setting
2021-05-07 20:34:00 +03:00
Anton Petrov
35795148fb Update no-response.yml 2021-05-07 19:38:57 +03:00
Anton Petrov
a52e79856e Create no-response.yml 2021-05-07 19:05:02 +03:00
Anton Petrov
fecb03fcb3 Merge pull request #1898 from native-api/startup_r1
Split startup logic into PATH and everything else
2021-05-07 18:38:28 +03:00
Ivan Pozdeev
aab562c696 Add a warning about needing to restart the entire login session
E.g. for a GUI session, ~/.profile is executed by the GUI login "shell" at its startup
so one needs to fully log out and log back in.
Before that, the change would only be seen by shells explicitly started as login shells.
2021-05-07 16:21:17 +03:00
Anton Petrov
db308d830e Merge pull request #1902 from native-api/openssl_osx_arm
Bump OpenSSL to 1.1.1x for all Pythons that support MacOS 11
2021-05-07 09:11:20 +03:00
Anton Petrov
73e41c250e Delete 3.10.0a7 2021-05-07 09:09:28 +03:00
Ivan Pozdeev
a59430c7c4 Bump OpenSSL to 1.1.1x for all Pythons that support MacOS 11
To support building for Apple ARM64 which was introduced in MacOS 11
OpenSSL added support for Apple ARM in 1.1.1
(61168b5b8d).
Python added support for MacOS 11 in 3.7.8+, 3.8.4+, 3.9.0+
(https://github.com/python/cpython/pull/21113 and backports).
2021-05-07 02:57:58 +03:00
Anton Petrov
328fd42c3a support for pyston 2.2 2021-05-06 15:06:06 +03:00
Anton Petrov
58b09b7461 Create pyston-2.2 2021-05-06 15:04:20 +03:00
Anton Petrov
92f7510b4b Delete pyston-0.6.1 2021-05-06 15:02:55 +03:00
Anton Petrov
4464fda5af Delete pyston-0.6.0 2021-05-06 15:02:36 +03:00
Anton Petrov
cf17d4a548 Delete pyston-0.5.1 2021-05-06 15:02:19 +03:00
Ivan Pozdeev
3e3f40fefc Warn users to add pyenv init --path to ~/.profile
To facilitate migration
2021-05-05 03:04:52 +03:00
Ivan Pozdeev
7838707595 Separate startup logic into PATH and the rest
PATH manipulation should be done in ~/.profile rather than ~/.*rc since .rc can be sourced multiple times
2021-05-05 03:04:51 +03:00
Ivan Pozdeev
b0b862ca64 Don't print actual PATH in test output 2021-05-05 01:29:18 +03:00
Ivan Pozdeev
5998f4f7ab Refactoring: make logic more fit for rearrangement
With functions, we have more leeway in what to call
2021-05-05 01:25:11 +03:00
Fredrik Averpil
1edded3426 Update 3.10-dev and 3.11-dev (#1897) 2021-05-04 14:28:09 -04:00
S. Co1
e887a3d062 Fix CPython 3.10-dev target branch (#1896) 2021-05-04 09:44:58 -04:00
Fredrik Averpil
7355554fdc Add CPython 3.8.10 (#1895)
Co-authored-by: Josh Friend <josh@fueledbycaffeine.com>
2021-05-04 08:48:39 -04:00
Rajiv Bakulesh Shah
1146ce6e9c Add CPython 3.9.5 (#1892)
Co-authored-by: Josh Friend <josh@fueledbycaffeine.com>
2021-05-04 08:42:26 -04:00
Anton Petrov
4e676667cf Merge pull request #1891 from fredrikaverpil/3.10.0b1
Add CPython 3.10.0b1
2021-05-04 10:42:01 +03:00
Fredrik Averpil
79d979f954 Add test 2021-05-04 07:57:52 +02:00
Fredrik Averpil
7ad2162004 Add CPython 3.10.0b1 2021-05-03 23:16:20 +02:00
Anton Petrov
6656066d4f 1.2.27 2021-05-01 08:41:27 +03:00
Anton Petrov
9edeafbc77 1.2.27 2021-05-01 08:41:08 +03:00
Anton Petrov
54e58dc778 Merge pull request #1882 from msimacek/master
Add GraalPython 21.1.0
2021-04-25 15:26:25 +03:00
Michael Simacek
a9a3c96bbd Add GraalPython 21.1.0 2021-04-21 11:15:54 +02:00
Anton Petrov
b1d1ceba82 Merge pull request #1880 from Theelgirl/master
Add CPython 3.10.0a7
2021-04-20 11:17:30 +03:00
Theelgirl
8dd8fa2d66 Fix missing character in checksum and add tgz checksum 2021-04-19 09:27:38 -07:00
Theelgirl
30ba8356bc Add CPython 3.10.0a7 2021-04-19 09:15:12 -07:00
Theelgirl
e18620c0a7 Add CPython 3.10.0a7 2021-04-19 09:14:23 -07:00
Anton Petrov
6759b7cdf1 Merge pull request #1874 from scop/docs/version-file-separator
docs(README): fix info about version-file separator
2021-04-17 10:59:08 +03:00
Ville Skyttä
60dbcea612 docs(README): fix info about version-file separator
Any whitespace doesn't work, need version per line.
2021-04-16 18:48:32 +03:00
Anton Petrov
2924886a77 Merge pull request #1350 from maxbrunet/feature/versions/dotglob
List versions starting with a dot
2021-04-15 21:02:50 +03:00
Anton Petrov
58e3a0ce18 Merge pull request #1866 from scop/feat/python-version-comments
feat: support (skip) commented lines in version-file
2021-04-15 21:00:03 +03:00
Anton Petrov
4cc08407ed Merge pull request #1873 from dand-oss/pypy3.7.4
pypy3.7-7.3.4
2021-04-15 20:58:56 +03:00
Dan Dees
526750e889 pypy3.7-7.3.4 2021-04-13 13:56:24 +07:00
Ville Skyttä
641916270b feat: support (skip) commented lines in version-file
Sometimes it is convenient to be able to temporarily disable something
in a version-file. Because these files often aren't necessarily tracked
in a SCM, especially when working with virtualenvs, the SCM diffs won't
help with showing removed lines which are currently the only way to
disable something.
2021-04-11 07:46:34 +03:00
Anton Petrov
c010935abd Update COMMANDS.md 2021-04-09 10:46:22 +03:00
Anton Petrov
fab0082bd5 Merge pull request #1868 from anton-petrov/master
Create miniforge3-4.10
2021-04-08 13:03:55 +03:00
Anton Petrov
0e1b1229ce Create miniforge3-4.10 2021-04-08 12:17:21 +03:00
Anton Petrov
4f93366be8 Update CHANGELOG.md 2021-04-05 14:27:53 +03:00
Anton Petrov
80067632b6 1.2.26 2021-04-05 14:25:25 +03:00
Anton Petrov
1c1df80e0e Merge pull request #1865 from idwpan/3.9.4-hotfix
add CPython 3.9.4
2021-04-05 14:18:14 +03:00
idwpan
e18ea212e9 add CPython 3.9.4 2021-04-04 17:03:28 -04:00
Anton Petrov
4ef6570781 Merge pull request #1863 from anton-petrov/master
New version 1.2.25
2021-04-04 15:05:36 +03:00
Anton Petrov
35aa7e52ce 1.2.25 2021-04-04 14:42:16 +03:00
Anton Petrov
2197566c42 Update CHANGELOG.md 2021-04-04 14:41:47 +03:00
idwpan
32ba5d5e61 bpo-43631: update to openssl 1.1.1k (#1861) 2021-04-03 09:01:48 -04:00
idwpan
e2a1c77666 Add CPython 3.9.3 and 3.8.9 (#1859) 2021-04-02 16:28:07 -04:00
Anton Petrov
6889fbc147 Merge pull request #1858 from scop/micropython-1.14
Add micropython 1.14
2021-04-02 12:58:30 +03:00
Ville Skyttä
5c8735cdbf Add micropython 1.14 2021-03-27 10:29:13 +02:00
Anton Petrov
132d546453 Merge pull request #1835 from scop/shell-detect-improvements
Shell detect improvements
2021-03-26 19:11:17 +03:00
Anton Petrov
84cc7825da Merge pull request #1856 from scop/test/misleading-parent-shell-arg
test(init): remove misleading detect from parent shell case arg
2021-03-26 19:10:49 +03:00
Ville Skyttä
b5008ce74e test(init): remove misleading detect from parent shell case arg
The generated script does not take/use any arguments, so passing
/bin/zsh to it serves only to cause confusion.
2021-03-23 23:45:32 +02:00
Ville Skyttä
61d702405d feat(init): strip -<suffix> when autodetecting shell
For example bash-5.1, bash-static.
2021-03-23 22:10:55 +02:00
Anton Petrov
3086e6e790 Merge pull request #1855 from msimacek/master
Add GraalPython 21.0.0
2021-03-23 20:30:53 +03:00
Michael Simacek
5a122c6732 Add GraalPython 21.0.0 2021-03-19 14:07:17 +01:00
Anton Petrov
332772abc5 1.2.24 2021-03-19 10:06:26 +03:00
Anton Petrov
8ec4a60db1 1.2.24 2021-03-18 12:49:09 +03:00
Anton Petrov
80e418eca5 Merge pull request #1838 from cclauss/patch-1
GitHub Actions: Add $PYENV_ROOT/shims to $PATH
2021-03-09 14:41:02 +03:00
Anton Petrov
47ab85ccf7 Merge pull request #1839 from Theelgirl/master
Add Python 3.10.0a6
2021-03-09 14:37:06 +03:00
Anton Petrov
afb14d2072 Merge pull request #1814 from native-api/rm_script_dir
Remove the "Using script's directory as PYENV_DIR if shim is invoked with a script argument" feature
2021-03-09 14:36:12 +03:00
Anton Petrov
de17b20a88 Merge pull request #1844 from mateumann/master
Update GET_PIP_URL
2021-03-09 13:05:52 +03:00
Mateusz Neumann
3bdafde5bf Fix URLs in the tests 2021-03-08 13:02:52 +01:00
Mateusz Neumann
1bacfa5445 Update GET_PIP_URL
The bootstrap.pypa.io URLs for pip installation changed.
2021-03-08 12:51:02 +01:00
Christian Clauss
f75e028401 Prove that actual Python == expected Python 2021-03-03 13:26:08 +01:00
Theelgirl
23048b4f63 Add CPython 3.10a6 2021-03-02 17:36:05 -08:00
Theelgirl
8ee5611755 Add CPython 3.10a6 2021-03-02 17:35:27 -08:00
Christian Clauss
45b99abec6 Update ubuntu_tests.yml 2021-03-02 13:21:20 +01:00
Christian Clauss
9212585098 Update ubuntu_tests.yml 2021-03-02 13:19:57 +01:00
Christian Clauss
5ca0900a23 Update ubuntu_tests.yml 2021-03-02 13:06:26 +01:00
Christian Clauss
6e74abc42a Update ubuntu_tests.yml 2021-03-02 12:54:20 +01:00
Christian Clauss
c20aad5ef9 Update ubuntu_tests.yml 2021-03-02 12:49:09 +01:00
Christian Clauss
9e4ead1f93 echo "$PYENV_ROOT/shims:$PYENV_ROOT/bin" >> $GITHUB_PATH 2021-03-02 12:42:17 +01:00
Christian Clauss
66ba35817b Separate pyenv install, pyenv global, pyenv rehash 2021-03-02 12:36:19 +01:00
Christian Clauss
acb5f572b2 echo $GITHUB_PATH 2021-03-02 12:23:44 +01:00
Christian Clauss
63a6f1bec4 GitHub Actions: Add $PYENV_ROOT/shims to $PATH 2021-03-02 12:15:18 +01:00
Anton Petrov
abcbf6e112 Merge pull request #1794 from cclauss/patch-3
GitHub Action to build Python versions on Ubuntu
2021-03-01 08:32:20 +03:00
Anton Petrov
ec2d2b970b Merge pull request #1786 from scop/nounset
Make work in nounset (-u) mode
2021-02-28 22:20:46 +03:00
Anton Petrov
338c3666de Merge pull request #1834 from anton-petrov/master
Update miniforge3-4.9.2
2021-02-28 22:05:07 +03:00
Anton Petrov
af5bc2bc97 Update miniforge3-4.9.2
Update miniforge3-4.9.2 to the latest patch
2021-02-28 21:02:01 +03:00
Anton Petrov
b2f7629c56 Merge pull request #1833 from anton-petrov/master
Added aarch64 for Linux in anaconda_architecture()
2021-02-28 19:59:02 +03:00
Anton Petrov
a2634350f4 Fixed typo
Added aarch64 for Linux in anaconda_architecture()
2021-02-28 19:03:12 +03:00
Anton Petrov
2fd00096de Added aarch64 for Linux in anaconda_architecture()
Added aarch64 for Linux in anaconda_architecture()
2021-02-28 19:01:11 +03:00
Anton Petrov
dde9a31f2e Merge pull request #1831 from anton-petrov/master
Hook script to add latest suffix for install command
2021-02-27 09:25:16 +03:00
Asynchronous Interruption #0
9ee109b661 fix error link (#1832) 2021-02-25 23:17:47 -05:00
Anton Petrov
16d0f50b37 Merge pull request #1830 from zdog234/patch-1
clarify proxy variable names in readme?
2021-02-25 10:33:04 +03:00
Anton Petrov
4c4457b22f hook script to add latest suffix for install command 2021-02-25 08:55:13 +03:00
Zane Dufour
06e88164cc clarify proxy variable names in readme?
The casing for `*_proxy` is currently inconsistent. I'm guessing that's a typo?

Thanks for maintaining this awesome tool!
2021-02-24 14:29:21 -05:00
Christian Clauss
12e6f92a56 Update ubuntu_tests.yml 2021-02-24 12:48:18 +01:00
Christian Clauss
5ec5f9598f echo "$HOME/bin" >> $GITHUB_PATH 2021-02-24 12:45:00 +01:00
Christian Clauss
f86a799b5f Update ubuntu_tests.yml 2021-02-24 12:30:13 +01:00
Christian Clauss
1e4c759b7a PYENV_ROOT: /home/runner/work/pyenv/pyenv 2021-02-24 12:28:15 +01:00
Christian Clauss
8c0603acf2 Update ubuntu_tests.yml 2021-02-24 12:26:57 +01:00
Christian Clauss
61e2f742fc Update ubuntu_tests.yml 2021-02-24 12:16:02 +01:00
Christian Clauss
bc185d76cd Update ubuntu_tests.yml 2021-02-24 12:07:27 +01:00
Anton Petrov
b4a5bb3d85 Merge pull request #1708 from cclauss/patch-1
Travis CI: Add Xcode 12 on macOS 10.15.5
2021-02-24 13:07:44 +03:00
Christian Clauss
36efced5b7 echo "$HOME/.local/bin" >> $GITHUB_PATH 2021-02-24 10:42:12 +01:00
Christian Clauss
33335507b0 env: PYENV_ROOT: $HOME" 2021-02-24 10:40:14 +01:00
Christian Clauss
7c18f8a10c Update ubuntu_tests.yml 2021-02-24 10:31:10 +01:00
Christian Clauss
ee9c1d2b1c Update ubuntu_tests.yml 2021-02-24 10:07:52 +01:00
Ville Skyttä
f06fb60b1f Make work in nounset (-u) mode 2021-02-23 22:29:56 +02:00
Christian Clauss
604cd77d26 Update ubuntu_tests.yml 2021-02-23 18:51:53 +01:00
Christian Clauss
c8bbc481ee cd $(bin/pyenv root) && git pull 2021-02-23 18:51:53 +01:00
Christian Clauss
ac198a66ae Update ubuntu_tests.yml 2021-02-23 18:51:53 +01:00
Christian Clauss
086f594b8c runs-on: Ubuntu-20.04 2021-02-23 18:51:53 +01:00
Christian Clauss
878e96978a Python 3.6.12 and 3.7.9 2021-02-23 18:51:52 +01:00
Christian Clauss
390a1dd8c7 Update ubuntu_tests.yml 2021-02-23 18:51:52 +01:00
Christian Clauss
4be2dc685a bin/pyenv update 2021-02-23 18:51:52 +01:00
Christian Clauss
170636769f Python 3.6.13 and 3.7.10 2021-02-23 18:51:52 +01:00
Christian Clauss
f9a0bfbe91 bin/pyenv global ${{ matrix.python-version }} 2021-02-23 18:51:52 +01:00
Christian Clauss
d6b6e470b9 Python 3.9.1 2021-02-23 18:51:52 +01:00
Christian Clauss
e702adaee1 bin/pyenv install ${{ matrix.python-version }} 2021-02-23 18:51:52 +01:00
Christian Clauss
79bdfce276 ./pyenv install ${{ matrix.python-version }} 2021-02-23 18:51:52 +01:00
Christian Clauss
665f1f9aa4 Update ubuntu_tests.yml 2021-02-23 18:51:52 +01:00
Christian Clauss
b66160cc42 GitHub Action to build Python verssions on Ubuntu 2021-02-23 18:51:52 +01:00
Anton Petrov
3fbbc155c7 Merge pull request #1829 from anton-petrov/master
Added --nosystem argument
2021-02-23 08:16:40 +03:00
Anton Petrov
f31a06dc19 Added --nosystem argument
Added --nosystem argument to skip the system environment when searching for an executable.
2021-02-22 12:21:02 +03:00
Christian Clauss
1e5938a9d0 Update comments on macOS versions 2021-02-20 10:59:42 +01:00
Christian Clauss
f34dbba9b5 Upgrade xcode11.3 --> xcode11.6 2021-02-20 07:05:34 +01:00
Christian Clauss
4860b9a059 Upgrade to Python 3.9.1, Bug Sur and Ubuntu Focal 2021-02-20 06:47:11 +01:00
Anton Petrov
2c02f4f0f8 Merge pull request #1825 from gotche/master
Add CPython 3.8.8
2021-02-20 07:25:51 +03:00
Anton Petrov
f1aab847e7 Update 3.8.8
Upgrade openssl to 1.1.1i
2021-02-20 06:54:49 +03:00
Anton Petrov
b0dc8b77ba Merge pull request #1826 from gotche/add-cpython-3.9.2
Add CPython 3.9.2
2021-02-20 06:51:55 +03:00
Anton Petrov
666aceea6c Merge pull request #1790 from karthek-git/master
add manpage
2021-02-20 06:51:37 +03:00
Anton Petrov
d9cb389a46 Update 3.9.2
Upgrade openssl to 1.1.1i
2021-02-20 06:33:06 +03:00
Jose Martin
32740a1e86 Add CPython 3.9.2 2021-02-19 18:07:50 +01:00
Jose Martin
cc776ff875 Add CPython 3.8.8 2021-02-19 18:00:05 +01:00
karthek
2073e6d4ca Update pyenv.1 2021-02-18 01:36:11 +05:30
Josh Friend
5f62ad7680 v1.2.23 2021-02-17 11:32:41 -05:00
native-api
5b49256330 Fix download links for everything (incl. PyPy and Stackless) (#1692)
* Update PyPy download links. Remove releases that are no longer available.

PyPy has moved from bitbucket.org to foss.heptapod.net.
Downloads have moved to https://downloads.python.org/pypy/; some of the archives are no longer available.

Portable PyPy has moved from bitbucket.org to Github. Old archives have been moved to a 3rd-party "Bitbucket Archive" site.

* Update Stackless download links. Remove releases that are no longer available.

Stackless has moved from Bitbucket to Github. Old downloads have been renamed(?); stackless.com no longer works via HTTPS.

* Delete releases that have become invalid since the last check

* fix changed checksums
2021-02-17 11:13:18 -05:00
tuzi3040
d51999adf5 Fix 'sed: RE error: illegal byte sequence' (#1714)
... by unsetting `LC_ALL` and passing `LC_CTYPE=C` to `sed`.

This commit fixes issue #1454.
2021-02-17 11:12:45 -05:00
Mike Tigas
9f12152463 add pypy3.7-c-jit-latest. use https for buildbot.pypy.org URLs. (#1812) 2021-02-17 11:12:26 -05:00
Ricardo N Feliciano
f0f2e626f4 Add CPython v3.6.13. (#1817) 2021-02-17 11:11:41 -05:00
Ricardo N Feliciano
c340532286 Add CPython v3.7.10. (#1818) 2021-02-17 11:10:12 -05:00
Ivan Pozdeev
131e44afcb Remove the "Using script's directory as PYENV_DIR if shim is invoked with a script argument" feature
It's impossible to 100% reliably extract the script argument from the command line for all and unknown Python versions and implementations
2021-02-16 23:59:08 +03:00
Ivan Pozdeev
a6b0a2846e Revert "shims: handle symlinked scripts, via new PYENV_FILE_ARG"
This reverts commit 493f036928.

# Conflicts:
#	libexec/pyenv
2021-02-16 23:53:05 +03:00
Ivan Pozdeev
e44490c639 Revert "add tests for PYENV_FILE_ARG"
This reverts commit 438e828eb5.

# Conflicts:
#	test/pyenv_ext.bats
2021-02-16 23:46:08 +03:00
Anton Petrov
421ff608fc Merge pull request #1815 from native-api/fix_versions_bash3
Fix not printing asterisk for current version in Bash 3
2021-02-16 20:37:20 +03:00
Ivan Pozdeev
00f7d6249a Fix not printing asterisk for current version in Bash 3 2021-02-14 15:50:36 +03:00
Anton Petrov
a0b02db770 Merge pull request #1810 from native-api/ps4
Use a better PS4 as recommeneded by Bash Hackers Wiki
2021-02-12 14:33:11 +03:00
Anton Petrov
bd5274bbbe Merge pull request #1811 from anton-petrov/master
Create 3.10.0a5
2021-02-12 07:35:48 +03:00
Anton Petrov
1158adbb2f Create 3.10.0a5 2021-02-11 21:11:06 +03:00
Ivan Pozdeev
9309050864 Use a better PS4 as recommeneded by Bash Hackers Wiki
it allows to see functions as well as lines, therefore making it possible to see the control flow
2021-02-10 22:42:18 +03:00
Anton Petrov
89d3d0c33d Merge pull request #1655 from draeath/master
"system" python - support cases where python3, python2 is in PATH but not python
2021-02-10 20:45:41 +03:00
Anton Petrov
9e1bd80668 Merge pull request #1809 from acethical/master
Fixed Miniconda 4.9.2 for MacOSX-x86_64
2021-02-10 20:37:23 +03:00
acethical
a2350d3d9d fix: error link 2021-02-10 11:31:02 +09:00
Anton Petrov
be9aa0c899 Merge pull request #1806 from earlchew/issue/1805
[python-build] Support PYENV_DEBUG
2021-02-07 22:58:34 +03:00
Anton Petrov
50a48764ff Merge pull request #1797 from rharish101/search_system
Added fallback to system executable
2021-02-07 19:37:26 +03:00
Earl Chew
4c3f2cce3e [python-build] Support PYENV_DEBUG
fixes #1805
2021-02-06 10:15:18 -08:00
Anton Petrov
4c302a022d Merge pull request #1749 from scop/perf
Use associative arrays for performance on bash >= 4
2021-01-31 12:27:49 +03:00
Ville Skyttä
c4e556eded versions: use associative array to hold current versions
"hyperfine pyenv-versions" before with my bash 4.4:

Time (mean ± σ):    81.7 ms ±   2.2 ms  [User: 67.8 ms, System: 15.7 ms]
Range (min … max):  78.3 ms …  87.2 ms  34 runs

After:

Time (mean ± σ):    70.6 ms ±   2.4 ms  [User: 55.6 ms, System: 16.9 ms]
Range (min … max):  67.9 ms …  78.9 ms  41 runs
2021-01-29 19:54:25 +02:00
Ville Skyttä
a804887307 rehash: use associative array to hold registered shims
"hyperfine pyenv-rehash" before on my bash 4.4:

Time (mean ± σ):   172.8 ms ±   8.2 ms [User: 185.0 ms, System: 24.8 ms]
Range (min … max): 164.2 ms … 198.4 ms 15 runs

After:

Time (mean ± σ):   113.8 ms ±   2.8 ms [User: 127.1 ms, System: 26.1 ms]
Range (min … max): 108.0 ms … 117.6 ms 25 runs
2021-01-29 19:54:25 +02:00
Anton Petrov
b7efafe599 Merge pull request #1798 from scop/subsec-sleep
rehash: try to sleep in 0.1 sec steps when acquiring lock
2021-01-29 20:01:19 +03:00
Anton Petrov
982c5b36d3 Merge pull request #1763 from pc-fmarin/master
Add miniconda3 4.8.2, 4.8.3, & 4.9.2
2021-01-29 17:06:03 +03:00
Anton Petrov
e0886f552d Merge pull request #1796 from anton-petrov/master
Add PyPy 3.6 versions 7.3.2 and 7.3.3
2021-01-29 16:19:00 +03:00
Harish Rajagopal
cdecf14535 Added fallback to system executable
If pyenv doesn't find an executable for the current version/virtualenv,
then search the "system" version as a fallback.
2021-01-29 13:01:21 +01:00
Anton Petrov
fdd61c29e6 Create pypy3.6-7.3.3-src
PyPy version 3.6-7.3.3-src
2021-01-29 12:18:07 +03:00
Anton Petrov
09ca07981d Create pypy3.6-7.3.3
PyPy version 3.6-7.3.3
2021-01-29 12:16:06 +03:00
Anton Petrov
6077d64b71 Create pypy3.6-7.3.2-src
PyPy version 3.6-7.3.2-src
2021-01-29 12:11:22 +03:00
Anton Petrov
d40aa12a27 Create pypy3.6-7.3.2
PyPy 3.6 version 7.3.2
2021-01-29 12:07:45 +03:00
Anton Petrov
ef3b5072ce Delete pypy3.7-7.3.2
The file was in the wrong location!
2021-01-29 12:00:28 +03:00
Ville Skyttä
b938abdea1 rehash: preserve existing $PYENV_REHASH_TIMEOUT semantics
Try for that long no matter what the sleep step available is.
2021-01-28 16:00:59 +02:00
Ville Skyttä
c0ea15226d rehash: try to sleep in 0.1 sec steps when acquiring lock 2021-01-28 16:00:59 +02:00
Anton Petrov
511756f0c7 Merge pull request #1748 from scop/dylib-compile-doc
README: note optional bash extension build
2021-01-27 20:27:40 +03:00
Anton Petrov
c53cce21c3 Merge pull request #1792 from spookylukey/patch-1
README section on using pyenv without "pyenv init"
2021-01-27 20:04:51 +03:00
Anton Petrov
136bfab5f7 Merge pull request #1793 from cclauss/patch-2
Fix get-pip which dropped support for legacy Python
2021-01-27 20:01:02 +03:00
Christian Clauss
93025e9aa4 Also fix Python 3.4 and 3.5 which do not support f-strings 2021-01-27 10:31:16 +01:00
Christian Clauss
189afa88c6 Fix get-pip which dropped support for legacy Python
Fix pyenv to continue to support legacy Python builds despite the fact that `get-pip` has dropped support for Python 2 as discussed in pypa/get-pip#87
2021-01-27 10:10:06 +01:00
Luke Plant
bfb5e0ec1e README section on using pyenv without "pyenv init" 2021-01-26 09:37:19 +03:00
karthek
6c0f6e05e9 add manpage 2021-01-25 22:27:00 +05:30
Anton Petrov
569992f25f Merge pull request #1785 from John15321/more_general_instal_readme
more general installation readme instructions
2021-01-15 08:24:09 +03:00
Anton Petrov
f53aa3e64e Update README.md
corrected fish shell command
2021-01-15 08:02:25 +03:00
Jan Bronicki
b61536e9ee more general installation readme instructions 2021-01-13 19:36:39 +01:00
Anton Petrov
5b90e62984 Rename miniconda3-py39_4.9.2 to miniconda3-3.9-4.9.2 2021-01-11 20:11:36 +03:00
Anton Petrov
5c5d647a06 Rename miniconda3-py38_4.9.2 to miniconda3-3.8-4.9.2 2021-01-11 20:11:04 +03:00
Anton Petrov
01e5eaecf3 Rename miniconda3-py38_4.8.3 to miniconda3-3.8-4.8.3 2021-01-11 20:09:58 +03:00
Anton Petrov
b103763fa8 Rename miniconda3-py38_4.8.2 to miniconda3-3.8-4.8.2 2021-01-11 20:09:30 +03:00
Anton Petrov
553f9a4d26 Rename miniconda3-py37_4.9.2 to miniconda3-3.7-4.9.2 2021-01-11 20:08:31 +03:00
Anton Petrov
d15b3674d8 Rename miniconda3-py37_4.8.3 to miniconda3-3.7-4.8.3 2021-01-11 20:08:11 +03:00
Anton Petrov
90b68684ac Rename miniconda3-py37_4.8.2 to miniconda3-3.7-4.8.2 2021-01-11 20:07:52 +03:00
Anton Petrov
a7f44c3955 Merge pull request #1782 from anton-petrov/anton-petrov-Miniforge3
Added Miniforge 3
2021-01-10 17:50:28 +03:00
Anton Petrov
c5d2050254 Update miniforge3-4.9.2
OS X arm64 will be installed with Python 3.9 only. Other versions bundled with python 3.8. Miniforge does not have as wide a choice of python versions as miniconda.
The Python version is specific only to the base environment.
2021-01-10 09:37:42 +03:00
Yamashita, Yuu
bb14f22522 Merge pull request #1718 from guiscaranse/master
Add pypy3.7
2021-01-10 13:08:58 +09:00
Yamashita, Yuu
ccd80a5b80 Merge pull request #1726 from brechtm/patch-1
Add PyPy 3.7-7.3.2 (binary distribution)
2021-01-10 13:08:07 +09:00
Yamashita, Yuu
061afe00de Merge pull request #1727 from brechtm/patch-2
Add PyPy 3.7-7.3.2 (source distribution)
2021-01-10 13:07:02 +09:00
Yamashita, Yuu
7be79f36de Merge pull request #1778 from chrahunt/fix-anaconda3-2020.07
Use verify_py38 for anaconda3-2020.07
2021-01-10 12:59:56 +09:00
Yamashita, Yuu
852a50e9e0 Merge pull request #1780 from anton-petrov/anton-petrov-pypy3.7-7.3.3-src
Create pypy3.7-7.3.3
2021-01-10 12:58:59 +09:00
Yamashita, Yuu
bd5825e277 Merge pull request #1781 from anton-petrov/anton-petrov-pypy3.7-7.3.3
Create pypy3.7-7.3.3-src
2021-01-10 12:57:39 +09:00
Yamashita, Yuu
dc70546565 v1.2.22 (fixes #1760) 2021-01-10 12:52:22 +09:00
Anton Petrov
559cc59677 Create pypy3.7-7.3.3-src 2021-01-09 20:27:10 +03:00
Anton Petrov
d589778b6b Create pypy3.7-7.3.3 2021-01-09 20:24:20 +03:00
Anton Petrov
ebd4d98227 Update miniforge3-4.9.2
Bump version to  4.9.2-5
2021-01-09 20:07:03 +03:00
Anton Petrov
9e03d1b62e Added arm64 architecture support in python-build for macOS (#1775)
* Update python-build with arm64 architecture
2021-01-09 11:54:49 -05:00
Chris Hunt
48f742446a Use verify_py38 for anaconda3-2020.07
Per the release notes the installer and base environment (which I assume
we'd be verifying here, if anything) is Python 3.8.
2021-01-09 10:59:10 -05:00
Anton Petrov
82ef0424d6 Added anaconda3-2020.11 (#1774)
Added support for Anaconda 2020.11
2021-01-09 10:37:49 -05:00
Anton Petrov
c8aff5f1b7 Added Miniforge3-4.9.2
Added Miniforge3-4.9.2 support for all platforms, including arm64 in macOS for Apple M1 SoC
2021-01-09 11:13:28 +03:00
Chris Hunt
d511f7ba88 Merge pull request #1762 from gotche/Add-CPython-3.8.7
Add CPython 3.8.7
2021-01-08 20:28:20 -05:00
Kiko Marin
fd003a8f06 Add miniconda3 4.8.2, 4.8.3, & 4.9.2 2020-12-22 20:59:58 -07:00
Jose Martin
973597d67d Add CPython 3.8.7 2020-12-22 09:40:04 +01:00
Tim Felgentreff
2bf6111fa0 Add GraalPython 20.3 (#1736)
* Add GraalPython 20.3

* Update graalpython repository URLs
2020-12-16 11:32:58 -05:00
Almenon
db939bbcfc Put prerequisite for installation before install (#1750)
This prevents people from jumping the gun and trying to install a python version right after brew install.
2020-12-10 19:50:14 -05:00
Chris Barnes
23677c5124 Docker config for testing python-build (#1548)
* Dockerfile for testing python builds

* README: document docker usage

* Finish docker

dockerignore file, specify ephemeral nature of containers.

* Move docs for docker usage to python-build README
2020-12-10 19:49:13 -05:00
tillhainbach
9052491a05 Change order of LDFLAGS paths (#1754) 2020-12-10 19:46:40 -05:00
Kenji Saito
7307b185d2 Add the CPython 3.9.1 (#1752) 2020-12-10 19:42:26 -05:00
Ville Skyttä
5221c4aeea README: note optional bash extension build
Borrowed from rbenv.
2020-12-05 18:19:26 +02:00
Benjamin Howell
943015ebb2 Add LDFLAGS for zlib on macOS >= 1100 (#1711)
Add LDFLAGS for Xcode SDK zlib on macOS >= 1100 to resolve build issues on Big Sur.
2020-11-14 16:48:15 -05:00
Brecht Machiels
3c51754e83 Add PyPy 3.7-7.3.2 (source distribution) 2020-11-04 10:16:53 +01:00
Brecht Machiels
87c6fed697 Add PyPy 3.7-7.3.2 (binary distribution) 2020-11-04 10:02:50 +01:00
Paul Bransford
7c0c3cc22b Merge pull request #1 from native-api/system_detect_py2
Detect Py2 presence as well
2020-11-03 18:40:54 -05:00
Guilherme Scaranse
0129a87bd3 Add pypy3.7 2020-10-17 20:38:10 -03:00
Josh Friend
806b30d6ce v1.2.21 2020-10-08 20:59:02 -04:00
Christian Clauss
a488feb9bf Travis CI: Add Xcode 12 on macOS 10.15.5 2020-10-06 12:18:08 +02:00
wakemaster39
8ac91b4fd6 Add CPython 3.9.0 (#1706) 2020-10-05 14:19:24 -04:00
James Curtin
5d84eed869 Add support for PYTHON_BUILD_MIRROR_URL when checksums do not exist (#1673) 2020-10-03 14:30:46 -04:00
Chris Slater
c9eab47752 Add Jython 2.7.2 (#1672) 2020-10-02 10:50:24 -04:00
Tim Felgentreff
f44cb70d93 Add Graalpython 20.1.0 and 20.2.0 (#1594) 2020-10-02 10:40:23 -04:00
Ville Skyttä
501c97aeea CONDUCT.md: update maintainers (#1625) 2020-10-01 21:36:24 -04:00
cornfeedhobo
cadebd8e65 Search for plugins in PYENV_DIR and PYENV_ROOT (#1697) 2020-10-01 21:33:34 -04:00
M. Smits
71d2e4549e Updated documentation pyenv init for fish shell comform to readme. (#1703) 2020-10-01 21:28:29 -04:00
Smiler Lee
592271b86f Fix 'sed: RE error: illegal byte sequence' (#1670)
... which is caused by `realpath.dylib` containing illegal UTF-8 byte sequence, and `LC_CTYPE` won't take effect if `LC_ALL` happens to be set to something other than `C`.

This commit fixes issue pyenv/pyenv#1454.

Ref: https://stackoverflow.com/a/23584470
2020-10-01 20:16:55 -04:00
Anton Petrov
a992892225 Add Anaconda3-2020.07 (#1684) 2020-10-01 20:15:42 -04:00
Maximilian Matthe
898fe1bb9b add file for downloading and installing micropython-1.13 (#1704) 2020-10-01 20:13:05 -04:00
native-api
8bf79eb44c Drop pypy3-dev (#1700)
PyPy has now only one development tip, `default`,
others are version-line-specific maintenance branches.
The py3k branch has been closed in 2016.
As such, a separate pypy3-dev entry no longer makes sense.
2020-09-30 11:53:37 -04:00
Jose A. Martin
1e3ee5e3aa Add CPython 3.9.0rc2 (#1694) 2020-09-30 11:50:39 -04:00
Kenji Saito
dd62b0d155 Add CPython 3.8.6 (#1698) 2020-09-25 21:46:12 -04:00
Ivan Pozdeev
f77c2d7eab Detect Py2 presence as well 2020-09-21 18:53:09 +03:00
Ricardo N Feliciano
d1ae4a1225 Add CPython v3.5.10 (#1690) 2020-09-15 11:07:22 -04:00
Yamashita, Yuu
1ec3c6f177 Merge pull request #1685 from miketrumpis/exclude-conda-coreutils
exclude bin files from coreutils
2020-08-28 10:54:51 +09:00
miketrumpis
34c0e60798 exclude bin files from coreutils 2020-08-27 11:06:33 -07:00
Kevin Rose
58c776a136 Add 3.6.12 and 3.7.9 versions (#1680) 2020-08-22 09:11:25 -04:00
Ashwin Vishnu
dc4e24e681 Fix PyPy download links (#1682)
* Find working PyPy links in downloads.python.org
* Use portable-pypy links from softwareheritage.org
2020-08-20 15:58:38 -04:00
Seth Michael Larson
70635dade8 Add Python 3.9.0rc1 (#1676) 2020-08-14 15:05:35 -04:00
Josh Friend
c52d26d8db v1.2.20 2020-07-22 09:25:49 -04:00
Josh Friend
6e9a763537 Add CPython 3.9.0b5 2020-07-22 09:20:12 -04:00
Filip Chabik
ea7b5c4aea Fix has_tar_xz_support function on FreeBSD. (#1652) 2020-07-22 09:10:56 -04:00
Ryan Williams
af122400ed Make grep detection more robust (#1663) 2020-07-22 09:07:18 -04:00
Filip Chabik
26b8ba1677 Fix CPython 3.7.8 gzip checksum (#1651) 2020-07-22 09:02:21 -04:00
Jose A. Martin
41210bb16f Add CPython 3.8.5 (#1667) 2020-07-22 08:57:54 -04:00
George Rawlinson
bdfed51d72 Add CPython 3.8.4 (#1658) 2020-07-14 08:16:06 -04:00
Arcadiy Ivanov
0164e2bd59 CPython 3.9.0b4 (#1654) 2020-07-09 22:14:12 -04:00
Paul Bransford
4d762bca7b fix 'system' python to be present if 'python3' is on path but not 'python' 2020-07-07 18:39:52 -04:00
Josh Friend
366c980166 Add CPython 3.8.4rc1 2020-06-30 20:17:00 -04:00
Josh Friend
1bfb2d7607 Add CPython 3.7.8 2020-06-28 10:50:40 -04:00
Josh Friend
d0b5ab6cde Add CPython 3.6.11 2020-06-28 10:50:29 -04:00
Josh Friend
ece59ca827 fix changelog typo 2020-06-17 10:08:39 -04:00
Josh Friend
86fbc6861d v1.2.19 2020-06-17 09:59:49 -04:00
Yamashita, Yuu
2a3b286b71 Merge pull request #1629 from ghedsouza/patch-1
Fix homebrew link in README.
2020-06-11 08:44:07 +09:00
Edward D'Souza
86497f72c2 Fix homebrew link in README. 2020-06-10 19:31:58 -04:00
Michael Mlsna
cf81e5a0c4 Fix stackless-3.7.5 python-build script (#1616)
Remove extra whitespace in quoted package_url#checksum string.

Prevent the following error:

  unexpected checksum length: 65 (e2562a8d235adc19be5451c170837f53ef916aec4cd5cd17d9e0ab1f1b875d3f )
  expected 0 (no checksum), 32 (MD5), or 64 (SHA2-256)
2020-05-21 12:45:26 -04:00
Glen Winters
31f1732fa2 docs(README): removed $ in front of CLI commands (#1620)
This makes it easier to copy and paste commands from the README.
2020-05-21 12:29:21 -04:00
Yamashita, Yuu
2c32a6be15 Merge pull request #1619 from pganssle/update_39
Update 3.9-dev and add 3.10-dev
2020-05-20 07:49:32 +09:00
Paul Ganssle
cd2c26ef71 Add 3.10-dev 2020-05-19 11:26:47 -04:00
Paul Ganssle
14feb59960 Move 3.9-dev to the 3.9 tag
After the feature freeze, master now points to 3.10.
2020-05-19 11:21:59 -04:00
Jose A. Martin
5a96d9f2cd Add CPython 3.8.3 (#1612) 2020-05-14 13:45:33 -04:00
Alexander Ronald Altman
ae3a61d8dd pypy 7.3.1 support (#1586) 2020-05-11 15:28:57 -04:00
Marshall Zobel
098227f26c improve the flow of macOS installation instructions (#1599) 2020-05-01 14:07:31 -04:00
Claudio Jolowicz
a56bcf1015 Update cpython 3.9.0 to latest alpha (3.9.0a6) (#1601) 2020-05-01 13:47:45 -04:00
Claudio Jolowicz
be595ededa Fix duplicate test in prefix.bats due to bad merge (#1603)
The test "prefix for system in /" is duplicated in test/prefix.bats.
Both tests are completely identical. This commit removes the
duplication.

It appears that the culprit is this merge from rbenv/master, from 2016:

  cf1beda362

With the current development version of bats, this leads to the
following error when running `make test`:

  Error:
  Duplicate test name(s) in file
  "/home/travis/build/pyenv/pyenv/test/prefix.bats":
  test_prefix_for_system_in_-2f

Note that the development version is what pyenv's Makefile uses. With
the latest release of bats, the duplication only leads to a warning:

  bats warning:
  duplicate test name(s) in /src/test/prefix.bats:
  test_prefix_for_system_in_-2f
2020-05-01 13:46:49 -04:00
Claudio Jolowicz
e394cb898d Fix CI by pinning bats to the latest release (1.2.0) (#1602)
* Pin bats to the latest release (1.2.0)

This fixes the following error when running `make test` with bats
installed from its master branch:

  /src/bats/libexec/bats-core/bats-exec-file:
  line 192:
  bats-exec-test:
  command not found

The Makefile currently runs bats from its master branch. This can lead
to errors when bats is broken between releases, as is currently the case
with bats at the following commit:

  bats-core/bats-core@b615ed8f75

Instead, use the latest release of bats, which is 1.2.0 (2020-04-25).

* Pin bats to latest release on Travis CI
2020-05-01 13:46:14 -04:00
David Baumgold
5e8719ab0e Remove Ruby references from python-build (#1596)
* Remove Ruby references from python-build

* restore fix_directory_permissions
2020-04-27 16:25:17 -04:00
Bertrand Croq
ae4d48932f add stackless 3.7.5 (#1589) 2020-04-22 11:46:36 -04:00
Varun Agrawal
a8f5fc13ee Improved messages for uninstall (#1591) 2020-04-22 11:45:28 -04:00
Ricardo N Feliciano
c3e29f08b3 Add CPython v2.7.18. (#1593) 2020-04-22 11:33:23 -04:00
George Hawkins
5b009e8767 Updated sha2 values for micropython-1.12 after tarball updates. (#1587)
See https://github.com/micropython/micropython/issues/5884
2020-04-13 11:55:11 -04:00
Marcel Campello
e49794521e Add anaconda3-2020.02 (#1584) 2020-04-12 11:34:08 -04:00
Swaroop Hegde
3e0f5e798c Fixes missing double quote in README #1582 (#1583)
Bash example had a missing quote for setting PYENV_ROOT path
2020-04-10 13:00:13 -04:00
Alexander Popov
0f2d659732 Update instructions for installation in README (#1580)
Describe more clearly for different shells.
2020-04-09 09:03:55 -04:00
Josh Friend
18fe640d29 Also update checksums for 3.9.0a5 2020-04-02 15:32:45 -04:00
Josh Friend
1b6657e751 v1.2.18 2020-04-02 15:28:56 -04:00
Josh Friend
0255cfa8df Update cpython 3.9.0 to latest alpha 2020-04-02 15:28:39 -04:00
Josh Friend
30a0234ccb Remove old cpython RC version 2020-04-02 15:28:22 -04:00
Sudarshan Wadkar
b1381d1d46 Fix python-build brew: command not found error (#1544)
This PR fixes (currently harmless) warning on macOS when homebrew is *not* installed.

- [ ] Test case (required?)

For example:

```sh
wadkar$ pyenv install 3.8.2
/Users/wadkar/.pyenv/plugins/python-build/bin/python-build: line 1541: brew: command not found
/Users/wadkar/.pyenv/plugins/python-build/bin/python-build: line 1541: brew: command not found
Installing openssl-1.1.0j...
Installed openssl-1.1.0j to /Users/wadkar/.pyenv/versions/3.8.2

Installing readline-8.0...
Installed readline-8.0 to /Users/wadkar/.pyenv/versions/3.8.2

Installing Python-3.8.2...
python-build: use zlib from xcode sdk
Installed Python-3.8.2 to /Users/wadkar/.pyenv/versions/3.8.2
```
2020-04-02 15:25:54 -04:00
Edwin Shin
2a0d576681 Update README.md (#1555)
Update the bats link to https://github.com/bats-core/bats-core (which is what pyenv is actually using on [Travis](https://github.com/pyenv/pyenv/blob/master/.travis.yml#L35))
2020-04-02 15:24:48 -04:00
Sean Gies
8f82fc63e2 Update download URLs for old OpenSSL releases (#1578)
https://www.openssl.org/source/openssl-1.0.2*
  => https://www.openssl.org/source/old/1.0.2/openssl-1.0.2*

https://www.openssl.org/source/openssl-1.1.0*
  => https://www.openssl.org/source/old/1.1.0/openssl-1.1.0*

Co-authored-by: Sean Gies <seangies@apple.com>
2020-04-02 15:07:08 -04:00
Brian Dowling
a8ca63fcc0 Update help docs to clarify multiple version(s) are allowed (#1197)
* Update help docs to clarify multiple version(s) are allowed

* Tweek version(s) help description
2020-03-19 17:35:46 -04:00
Edwin Shin
89786b909f pyenv-version-file-read: use POSIX character sets (#1554)
Fixes #623
2020-03-13 09:08:18 -04:00
Josh Friend
3005c46643 v1.2.17 2020-03-13 08:38:35 -04:00
Joshua Sleeper
a7afd20bfc Add CPython 3.7.7 (#1553) 2020-03-12 15:18:57 -04:00
Yamashita, Yuu
df9fa1dc30 Merge pull request #1361 from clbarnes/auto_miniconda
Update miniconda builds
2020-03-10 10:08:11 +09:00
Chris Barnes
81e797be12 Miniconda script review comments
README, better docs + logging
2020-03-09 10:47:26 +00:00
Chris Barnes
0d6cfcc1bd python-build: Run add_miniconda script 2020-03-05 06:09:53 -05:00
Chris Barnes
d1b7bd47a3 python-build: update 4.7.10 to use py37 2020-03-05 06:09:53 -05:00
Chris Barnes
a9686fcae0 python-build: Use python 3.7 for miniconda >= 4.7 2020-03-05 06:09:53 -05:00
Chris Barnes
c0ebcd7228 Run add_miniconda script 2020-03-05 06:09:53 -05:00
Chris Barnes
1fb6e795b6 Script for new miniconda builds
Scrapes available miniconda builds from anaconda repo
2020-03-05 06:09:53 -05:00
Kareem Francis
84f3f77a39 Update README: highlight brew post-install steps (#1543)
I skimmed past the requires post-installation steps for Homebrew when walking though the README. 
Anecdotally, other devs noted the same issue.
2020-02-28 18:52:41 -05:00
Adam Hitchcock
174b7e72a1 Create micropython-1.12 (#1542) 2020-02-26 23:02:06 -05:00
Josh Friend
7cbaff3803 Add CPython 3.9.0a4 2020-02-26 23:00:55 -05:00
Josh Friend
a0a1ae89ab Add CPython 3.8.2 2020-02-25 21:02:57 -05:00
Ivan Pozdeev
df671621e9 Mention log file if an error happened before building, too 2020-02-19 17:58:50 +03:00
adrian-the-git
7097f8204e Remove duplicate help message (#1525)
The pyenv help listing offered the "commands" command twice.
2020-01-22 18:12:29 -05:00
Phil Fernandez
1487135415 fixes sed illegal byte sequence error (#1521) 2020-01-14 13:07:05 -05:00
Christian Clauss
a72ea0abca Travis CI: Upgrade to the latest Xcode images (#1519) 2020-01-13 12:39:25 -05:00
Christian Clauss
36fc10fbfd Travis CI: xcode11.2 (#1434)
https://docs.travis-ci.com/user/reference/osx/#macos-version
2020-01-13 05:11:56 -05:00
Josh Friend
4500a33c73 Modify zshrc instead of zshenv
https://github.com/pyenv/pyenv/issues/1400#issuecomment-551371058

Closes #846, #1400, #1447, #1449
2020-01-10 12:59:46 -05:00
Josh Friend
ce0be04ad4 v1.2.16 2020-01-06 08:06:57 -05:00
Yamashita, Yuu
4e0ba2f47d Merge pull request #1502 from lazka/pypy-7.3.0
Add PyPy 7.3.0
2019-12-27 13:34:19 +09:00
Christoph Reiter
20a1f0cd7a Add PyPy 7.3.0
The official pypy builds should now be portable on linux.
Also add aarch64 builds.
2019-12-26 10:15:26 +01:00
Jose A. Martin
ac246e160f Add CPython 3.6.10 (#1499) 2019-12-20 13:26:14 -05:00
Jose A. Martin
25c9195b90 Add CPython 3.7.6 (#1498) 2019-12-20 13:25:57 -05:00
Jose A. Martin
318f85162e Add CPython 3.8.1 (#1497) 2019-12-19 08:21:26 -05:00
Yamashita, Yuu
c3b17c4bbb Merge pull request #1486 from timgates42/bugfix/typo_above
Fix simple typo: abovementioned -> above
2019-12-17 17:48:39 +09:00
Tim Gates
32663fb8a4 Fix simple typo: abovementioned -> above
Closes #1485
2019-12-17 17:29:37 +11:00
Yamashita, Yuu
089b828b0f Merge pull request #1471 from saahilh/readme-fixes
Grammatical corrections
2019-12-02 10:35:20 +09:00
Saahil Hamayun
eacde87acf Grammatical corrections 2019-12-01 20:00:17 -05:00
Josh Friend
22c0202231 Exclude reset from conda shims
Closes #1459
2019-11-14 15:40:22 -05:00
Joe Siewert
49bf595266 Add CPython 3.5.9 (#1448) 2019-11-04 09:23:30 -05:00
Josh Friend
b5f69fe58a v1.2.15 2019-10-31 16:06:42 -04:00
Joachim Brandon LeBlanc
9c7ec0ce0a Update Python 3.5.8 xz checksum (#1442)
```
checksum mismatch: Python-3.5.8.tar.xz (file is corrupt)
expected 1bb1319bcd05d95c4d9752c7f6378c5378b8f467fb9045e07023e94b28b2ff41, got 55a345c78ee3afbc2e60678442aad7bcc384ddea5bb95f8d66edc4868d4847d4
```
2019-10-30 14:37:45 -04:00
Joe Siewert
d389885466 Add CPython 3.5.8 and remove 3.5.8rc1 (#1441) 2019-10-29 15:36:06 -04:00
Yamashita, Yuu
0e7cfc3b3d Merge pull request #1433 from joesiewert/python-2.7.17
Add CPython 2.7.17
2019-10-21 09:09:52 +09:00
Joe Siewert
69377c65de Add CPython 2.7.17 2019-10-20 11:50:09 -06:00
Phillip Marshall
ddc56ebe3a Add PyPy 7.2.0 (#1418) 2019-10-18 13:41:49 -04:00
Anton Petrov
68a77df0fd Add anaconda3-2019.10 (#1427) 2019-10-16 12:32:23 -04:00
wukuan405
fcf539ecef change help message from hard coding to dynamic (#1421)
## before
```Usage: pyenv <command> [<args>]

Some useful pyenv commands are:
   commands    List all available pyenv commands
   local       Set or show the local application-specific Python version
   global      Set or show the global Python version
   shell       Set or show the shell-specific Python version
   install     Install a Python version using python-build
   uninstall   Uninstall a specific Python version
   rehash      Rehash pyenv shims (run this after installing executables)
   version     Show the current Python version and its origin
   versions    List all Python versions available to pyenv
   which       Display the full path to an executable
   whence      List all Python versions that contain the given executable

See `pyenv help <command>' for information on a specific command.
For full documentation, see: https://github.com/pyenv/pyenv#readme
```

## after
```
Usage: pyenv <command> [<args>]

Some useful pyenv commands are:
   commands    List all available pyenv commands
   local       Set or show the local application-specific Python version
   --version   Display the version of pyenv
   commands    List all available pyenv commands
   exec        Run an executable with the selected Python version
   global      Set or show the global Python version
   help        Display help for a command
   hooks       List hook scripts for a given pyenv command
   init        Configure the shell environment for pyenv
   install     Install a Python version using python-build
   local       Set or show the local application-specific Python version
   prefix      Display prefix for a Python version
   rehash      Rehash pyenv shims (run this after installing executables)
   root        Display the root directory where versions and shims are kept
   shell       Set or show the shell-specific Python version
   shims       List existing pyenv shims
   uninstall   Uninstall a specific Python version
   update      update pyenv and plugins
   version     Show the current Python version and its origin
   version-file   Detect the file that sets the current pyenv version
   version-name   Show the current Python version
   version-origin   Explain how the current Python version is set
   versions    List all Python versions available to pyenv
   whence      List all Python versions that contain the given executable
   which       Display the full path to an executable

See `pyenv help <command>' for information on a specific command.
For full documentation, see: https://github.com/pyenv/pyenv#readme
```
2019-10-16 11:47:11 -04:00
Yamashita, Yuu
8bf5d9d303 Merge pull request #1423 from cjolowicz/cpython-3.7.5
Add CPython 3.7.5
2019-10-16 20:48:57 +09:00
Claudio Jolowicz
ebfba473cf Use CPython 3.7.5 on travis-ci 2019-10-16 12:36:04 +02:00
Claudio Jolowicz
9aa08ed763 Add CPython 3.7.5 2019-10-16 12:32:45 +02:00
Josh Friend
d6d6bc8bb0 v1.2.14 2019-10-15 10:15:56 -04:00
Josh Friend
a0a5822785 Remove 3.8.0 betas/rcs 2019-10-15 10:10:59 -04:00
Jeremiah Boby
3cfe81a3f8 Add Python 3.8.0 (stable release) (#1416)
Use stable 3.8.0 release for PYTHON_BUILD_VERSION
2019-10-15 10:08:32 -04:00
Yamashita, Yuu
f3d008fddd Merge pull request #1410 from felixonmars/patch-1
Correct a typo in python-build
2019-10-09 09:10:18 +09:00
Felix Yan
4039709dfe Correct a typo in python-build 2019-10-09 06:12:27 +08:00
Josh Friend
38de38e3d5 Add CPython 3.5.8rc1 (#1406) 2019-10-02 08:44:00 -04:00
Josh Friend
908d57d677 Add CPython 3.7.5rc1 (#1405) 2019-10-02 01:16:15 -04:00
Anton Petrov
9fc7ef3a17 Create 3.8.0rc1 (#1404)
Added Python version 3.8.0 Release Candidate 1
2019-10-02 01:11:03 -04:00
Daniel Hahler
ecd67c8223 pyenv-exec: no -a with exec to keep $PATH with system version (#1169)
Using `exec -a` caused Python to use $PATH to look up the full program name (for
`sys.executable`), which 314937d then tried to fix by changing $PATH
also for the system version.
This is not necessary anymore when not using the short name with `exec`.

This was rejected upstream
(https://github.com/rbenv/rbenv/pull/1089#issuecomment-394531896), since
it is not a problem with Ruby apparently.

Uses $PYENV_ROOT to check if system version is used.

Fixes https://github.com/pyenv/pyenv/issues/98.
Fixes https://github.com/pyenv/pyenv/issues/789.
2019-09-29 00:03:44 +02:00
Daniel Hahler
31b7e1c390 tests: remove "supports python -S <cmd>" (#1168)
This was imported semi-automatically in 0965577, but `ruby -S` is
different from `python -S`.

`ruby -S`: look for the script using PATH environment variable
`python -S`: don't imply 'import site' on initialization
2019-09-24 04:59:49 +02:00
Yamashita, Yuu
8a56fe641f Merge pull request #1397 from grahamannett/tcltk-fix
working with tcl-tk in PYTHON_CONFIGURE_OPTS
2019-09-19 17:10:42 +09:00
graham
b7f4ace335 working with tcl-tk in PYTHON_CONFIGURE_OPTS 2019-09-18 18:04:12 -07:00
Yamashita, Yuu
a7cba17fb7 Merge pull request #1396 from cdwilson/fix-micropython-build
Fix path to Unix port in micropython build
2019-09-19 09:24:17 +09:00
Christopher Wilson
a71e590a44 Fix path to Unix port in micropython build 2019-09-18 10:18:48 -07:00
Yamashita, Yuu
3798638a6a Merge pull request #1395 from cdwilson/add-micropython-1.11
Add micropython-1.11
2019-09-18 15:07:40 +09:00
Yamashita, Yuu
e29d2b666b Merge pull request #1394 from cdwilson/fix-micropython-build
Build mpy-cross dependency for micropython builds
2019-09-18 15:06:51 +09:00
Christopher Wilson
c9da22d559 Add micropython-1.11 2019-09-17 21:44:46 -07:00
Christopher Wilson
8bebdb7f1a Build mpy-cross dependency for micropython builds 2019-09-17 21:39:04 -07:00
Yamashita, Yuu
6563b64d0b Merge pull request #1390 from Juanlu001/add-cpython-380b4
Add CPython 3.8.0b4
2019-08-31 17:42:33 +09:00
Juan Luis Cano Rodríguez
eefdc57562 Add CPython 3.8.0b4
Fix #1389.
2019-08-31 09:57:46 +02:00
Yamashita, Yuu
0aeeb6fdcb Merge pull request #1382 from kenshohara/master
Support Anaconda-2019.07
2019-08-21 16:32:38 +09:00
kenshohara
b5547afbc8 Support Anaconda-2019.07 2019-08-21 14:57:25 +09:00
Josh Friend
17f44b7cd6 v1.2.13 2019-07-09 08:56:34 -04:00
Joe Siewert
10bf9d22c6 Add CPython 3.7.4 (#1370) 2019-07-08 22:00:12 -04:00
Yamashita, Yuu
525dac36f6 Merge pull request #1368 from joesiewert/python-3.6.9
Add CPython 3.6.9
2019-07-07 16:29:24 +09:00
Joe Siewert
d24bb6eb7e Add CPython 3.6.9 2019-07-06 18:48:56 -06:00
Yamashita, Yuu
eb68ec9488 Merge pull request #1358 from jonathanbranam/patch-1
Remove infocmp from shims
2019-06-21 12:42:40 +09:00
Jonathan Branam
aed0c91d61 Remove infocmp from shims
infocmp is a system utility that returns information about the user's terminal. When it is shimmed it can cause problems for various programs that use it to determine terminal settings. In particular, the library used by the Scala shell reads it and problems can occur where various control keys don't work (e.g. backspace does not work).
2019-06-20 22:04:20 -04:00
Josh Friend
a10c787f9b v1.2.12 2019-06-11 10:18:18 -04:00
Mikhail Bulash
4157973301 Find zlib from Xcode or brew on Mojave (#1353)
fixes #1219, #1333
2019-06-11 10:12:00 -04:00
Josh Friend
2350e57b00 Add CPython 3.8.0b1 2019-06-04 19:39:02 -04:00
Maxime Brunet
2b174ab69f List versions starting with a dot 2019-06-02 16:16:52 -04:00
Josh Friend
7dd50144d5 Link windows users to pyenv-win
see #62
2019-04-28 20:21:47 -04:00
Christopher Hunt
6103468023 Merge pull request #1337 from nvllsvm/1336
Revert "Merge pull request #1153 from cmcginty/remove-sbang"
2019-04-23 10:39:24 -04:00
Andrew Rabert
0f596d2504 Revert "Merge pull request #1153 from cmcginty/remove-sbang"
This reverts commit 070e1c859f, reversing
changes made to 3faeda67bb.
2019-04-23 10:23:33 -04:00
Christopher Hunt
070e1c859f Merge pull request #1153 from cmcginty/remove-sbang
Remove shebang lines from scripts for performance
2019-04-22 20:13:19 -04:00
Christopher Hunt
3faeda67bb Merge pull request #1216 from blueyed/abs_dirname
Fix abs_dirname for relative symlinks in same directory
2019-04-18 16:34:55 -04:00
Yamashita, Yuu
ec220c4476 Merge pull request #1335 from lazka/pypy-7.1.1
Add PyPy 7.1.1
2019-04-17 16:57:04 +09:00
Christoph Reiter
01f596e33c Add PyPy 7.1.1
https://pypy.readthedocs.io/en/latest/release-v7.1.1.html
2019-04-17 09:04:56 +02:00
Yamashita, Yuu
abd4469920 v1.2.11 2019-04-09 00:50:15 +00:00
Yamashita, Yuu
2891972d85 Merge pull request #1329 from pyenv/yy-mac-readline-8.0
Use GNU Readline 8.0
2019-04-09 09:46:38 +09:00
Yamashita, Yuu
3895488c53 Merge pull request #1327 from pyenv/yy-import-ruby-build-20190401
Import ruby-build 20190401
2019-04-09 00:37:32 +09:00
Yamashita, Yuu
8523111193 Clean up test prefix at the beginning of test-build [ci skip] 2019-04-09 00:07:13 +09:00
Yamashita, Yuu
02a4b33b62 Run python-build directly from make to avoid job cancellation after 10 min no output on travis-ci.org 2019-04-08 23:54:12 +09:00
Yamashita, Yuu
70e173381e Use GNU Readline 8.0 2019-04-08 23:15:31 +09:00
Yamashita, Yuu
e7ed7fa27e Fix tests 2019-04-08 23:09:29 +09:00
Yamashita, Yuu
b551fed8d5 Imported changes from rbenv/ruby-build 20190401 2019-04-08 23:09:29 +09:00
Yamashita, Yuu
6efe9d1f40 Merge pull request #1328 from pyenv/yy-prefer-openssl11
Prefer OpenSSL 1.1 only for specific python versions
2019-04-08 23:09:06 +09:00
Yamashita, Yuu
612dd5e2e8 Upgrade the _default_ OpenSSL version from 1.0.2k to 1.1.0j, only against versions w/ OpenSSL 1.1 support backported
See also:
* https://bugs.python.org/issue32947
2019-04-08 20:39:48 +09:00
Yamashita, Yuu
3bb3de7529 Set PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1 to 3.7 and 3.8 definitions 2019-04-08 19:20:35 +09:00
Yamashita, Yuu
79481d686f Fix typos 2019-04-08 08:31:27 +00:00
Yamashita, Yuu
6d279501b5 Add extra code to configure with --with-openssl which is supported by CPython 3.7+ 2019-04-08 08:21:36 +00:00
Yamashita, Yuu
0708c6c968 Add prefer_openssl111 to definitions that (would) support OpenSSL 1.1 (#1327) 2019-04-08 11:25:01 +09:00
Yamashita, Yuu
62395cabb5 Allow overriding the preference of OpenSSL version per definition basis (#1302, #1325, #1326) 2019-04-08 11:18:31 +09:00
Yamashita, Yuu
78cecd2060 Merge pull request #1324 from binbjz/master
Support Anaconda 2019.03
2019-04-08 09:29:50 +09:00
binbjz
b531e0f420 Support Anaconda 2019.03 2019-04-06 19:59:39 +08:00
Ville Skyttä
e405c7898c Add CPython 3.4.10 (#1322) 2019-04-05 13:29:17 -04:00
Yamashita, Yuu
3176c8b71c Merge pull request #1321 from alexdo/bugfix/fix-2.4-name-collision
Fix 2.4 builds: redeclaration of posix_close
2019-04-05 11:57:06 +09:00
Alexander Dormann
40a88f050b fix posix_close name collision in 2.4 builds
Ported from https://bugs.python.org/issue20594
2019-04-04 20:49:18 +02:00
Yamashita, Yuu
9a98bfae48 v1.2.10 2019-04-04 01:18:57 +00:00
Yamashita, Yuu
b610909314 Merge pull request #1302 from ThomasWaldmann/prefer-openssl-1.1
macOS: prefer homebrew openssl 1.1.x over 1.0.x, see #839
2019-04-01 10:53:26 +09:00
Josh Friend
333946b3f8 Update checksums for pypy3.6-7.1.0 to match new tarballs
closes #1316
2019-03-28 14:04:55 -04:00
Josh Friend
64c0828562 Fix checksum error for pypy3.6-7.1.0-linux64
closes #1314
2019-03-27 15:21:15 -04:00
Alysson Oliveira
ee75a75385 Run autoreconf intead autoconf 2019-03-26 23:45:36 -03:00
Yamashita, Yuu
377f6a13fe Merge pull request #1310 from lazka/pypy-7.1.0-portable
Add pypy 7.1.0 portable builds
2019-03-27 10:12:35 +09:00
Christoph Reiter
15543ba68b Add pypy 7.1.0 portable builds 2019-03-26 21:26:15 +01:00
Yamashita, Yuu
dae256f3e0 Merge pull request #1309 from chrahunt/fix-versions
Add copy_python_gdb for 3.7.3 and move patches.
2019-03-26 12:42:46 +09:00
Chris Hunt
9305f1baf4 Add copy_python_gdb for 3.7.3 and move patches.
Fixes issue introduced in #1283 and #1308.
2019-03-25 23:26:18 -04:00
Yamashita, Yuu
a9052c68e7 Merge pull request #1308 from dannyvink/add-python-3.7.3
Add support for Python 3.7.3
2019-03-26 10:59:09 +09:00
Danny Vink
e1d83d1212 Add support for Python 3.7.3 2019-03-25 17:16:31 -07:00
Josh Friend
aefff77b4b Add pypy 7.1.0 2019-03-24 21:20:54 -04:00
Yamashita, Yuu
a899d2507c Merge pull request #1305 from creativecoderr/patch-1
Minor formatting changes
2019-03-22 19:47:46 +09:00
Yamashita, Yuu
53dc6b6891 Merge pull request #1306 from zed/add-cpython-3.5.7
Add cpython 3.5.7
2019-03-22 17:34:31 +09:00
zed
5f46979079 add newline at the end of file 2019-03-22 11:06:59 +03:00
zed
5e9ef18002 Add CPython 3.5.7 2019-03-22 10:53:13 +03:00
Ratul R
6fa07b32e5 Minor formatting changes
Adding a list to the notes of point #2 in Basic GitHub Checkout steps.
2019-03-22 11:16:38 +05:30
Thomas Waldmann
dda597efb3 macOS: prefer homebrew openssl 1.1.x over 1.0.x, see #839
previously, it was not possibly to compile a python with homebrew
openssl 1.1 because the code always queried "openssl" and ignored
"openssl@1.1".

now, if 1.1 is installed, it is used to compile python and only
if it is not, 1.0 is checked and used.
2019-03-16 21:17:43 +01:00
Daniel Hahler
3768f1d7db Revert "also remove shebang with libexec/pyenv"
This reverts commit d352b4810d.
2019-03-07 22:38:15 +01:00
Daniel Hahler
d352b4810d also remove shebang with libexec/pyenv 2019-03-07 22:35:38 +01:00
Casey McGinty
83e5459cfb Remove shebang lines from scripts for performance
All scripts in libexec/ (excluding pyenv) are called through pyenv,
therefore the shebang lines are not necessary. On some systems this
provides a measurable increase in performance of the shell prompt.

Related to pyenv/pyenv-virtualenv#259
2019-03-07 22:15:14 +01:00
Les Aker
7d02b2463b Add CPython 2.7.16 (#1296) 2019-03-04 15:58:26 -05:00
Christopher Hunt
abc28d3a53 Merge pull request #1289 from chrahunt/feature/add-python-gdb
Install python-gdb.py.
2019-03-03 23:47:24 -05:00
Christopher Hunt
9baa6efeda Merge pull request #1291 from chrahunt/feature/add-travis-checks
Add CI builds that actually build Python.
2019-02-22 20:14:38 -05:00
Christopher Hunt
fe04483773 Merge pull request #1217 from remilapeyre/master
Force y, Y, yes or YES to confirm installation
2019-02-21 20:31:20 -05:00
Chris Hunt
8ed7912759 Add CI builds that actually build Python.
For now this just builds the latest CPython, but it can be
extended to include other versions.

Skip with `[skip build]` in commit message.
2019-02-21 20:02:40 -05:00
Chris Hunt
3018241aee Install python-gdb.py.
The script in `Tools/gdb/libpython.py` has helper functions for
debugging Python processes under gdb. When installed to `{exe}-gdb.py`
it will automatically be loaded by gdb assuming it is in the safe path.

gdb resolves all symlinks, so having the single script is sufficient
regardless of how Python is invoked.

Since it is usually only included as part of a dbg/dev package, this
file is intentionally excluded from install by the CPython build
scripts. Like the packaging with EPEL/Debian, we opt to manually copy
it after the build/install.

To ensure this file gets picked up it is enough for users to put this in
their `~/.gdbinit`:

```
add-auto-load-safe-path ~/.pyenv
```

Fixes #1190.
2019-02-18 11:16:37 -05:00
Christopher Hunt
99092d7fd1 Merge pull request #1285 from scop/micropython-xz
Use xz compressed micropython 1.9.* tarballs
2019-02-18 09:12:07 -05:00
Christopher Hunt
7fa3a3f15c Merge pull request #1284 from scop/micropython-1.10
Add micropython 1.10
2019-02-18 09:10:44 -05:00
Yamashita, Yuu
eb4c4c526a Merge pull request #1287 from paugier/enh/add-pypy3.6-v7.0.0
Add pypy3.6-7.0.0
2019-02-18 22:04:36 +09:00
paugier
15d85a828c Add pypy3.6-7.0.0 2019-02-18 13:57:23 +01:00
Ville Skyttä
4de590433b Use xz compressed micropython 1.9.* tarballs if we have tar.xz support 2019-02-17 18:10:55 +02:00
Ville Skyttä
bd4e24cc30 Add micropython 1.10 2019-02-17 18:09:11 +02:00
Christopher Hunt
ddb335c197 Merge pull request #1283 from chrahunt/feature/explicit-versions
Use explicit versions for CPython identifiers.
2019-02-15 23:51:11 -05:00
Chris Hunt
1373ce433c Use explicit versions for CPython identifiers.
Fixes #1282.
2019-02-15 23:00:08 -05:00
Yamashita, Yuu
6b0418226f Merge pull request #1278 from lazka/pypy-7.0.0
Add pypy 7.0.0
2019-02-13 22:55:13 +09:00
Christoph Reiter
9479db96fe Add pypy 7.0.0 2019-02-13 14:15:32 +01:00
Yamashita, Yuu
6309aaf295 Merge pull request #1266 from bicycle1885/patch-1
Add a note for fish shell users (close #1203)
2019-01-11 17:33:25 +09:00
Kenta Sato
336cc885cf Add a note for fish shell users (close #1203) 2019-01-11 17:21:17 +09:00
Josh Friend
3f39e8a944 v1.2.9 2019-01-10 08:19:47 -05:00
Yamashita, Yuu
337b92d95d Merge pull request #1263 from jwilk-forks/python3.3.7-sslv3
Add OPENSSL_NO_SSL3 patch for 3.3.7
2019-01-08 12:11:29 +09:00
Jakub Wilk
781db9bb8c Add OPENSSL_NO_SSL3 patch for 3.3.7 2019-01-07 18:33:40 +01:00
Yamashita, Yuu
775a4b6379 Merge pull request #1260 from adithyabsk/ironpython_dev
Update ironpython development install location
2018-12-28 09:11:03 +09:00
Adithya Balaji
22b7de95d6 Update ironpython development install location 2018-12-27 17:59:43 -05:00
Yamashita, Yuu
0e3e812aa8 Merge pull request #1259 from anton-petrov/add-anaconda-2018.12
Added new Anaconda 2018.12 installers.
2018-12-27 14:54:34 +09:00
Anton Petrov
962fdd974d Added new Anaconda 2018.12 installers.
new file:   plugins/python-build/share/python-build/anaconda2-2018.12
new file:   plugins/python-build/share/python-build/anaconda3-2018.12

Close #123
2018-12-27 08:41:39 +03:00
Yamashita, Yuu
f07184b34c Merge pull request #1256 from ipfans/master
Add CPython 3.7.2 and CPython 3.6.8
2018-12-25 08:24:52 +09:00
ipfans
b246ba437f CPython 3.6.8 2018-12-24 23:23:52 +08:00
ipfans
bdd58ff278 CPython 3.7.2 2018-12-24 23:22:35 +08:00
Yamashita, Yuu
ec9fb5492b Merge pull request #1248 from neersighted/ls-definitions
Use ls instead of find to list definitions
2018-11-26 09:16:47 +09:00
Bjorn Neergaard
cc35fbd0b8 Use ls instead of find to list definitions 2018-11-25 12:31:17 -07:00
Yamashita, Yuu
dd523b706d Merge pull request #1246 from binbjz/master
python-build: add anaconda[23]-5.3.1
2018-11-24 22:25:37 +09:00
ZhaoBin
0c69fc9501 update sha256 2018-11-24 20:24:08 +08:00
ZhaoBin
e302f0d443 add anaconda[23]-5.3.1 2018-11-24 19:16:39 +08:00
Josh Friend
80414b1b5b v1.2.8 2018-10-30 09:42:16 -04:00
Yamashita, Yuu
e389c8d906 Merge pull request #1234 from alanyee/master
Update README.md
2018-10-30 14:49:54 +09:00
Alan Yee
cd7c8af487 Update README.md
Replace OS X with macOS
2018-10-29 22:02:21 -07:00
Josh Friend
835707da22 CPython 3.6.7 and 3.7.1 2018-10-20 17:38:55 -04:00
Yamashita, Yuu
ee7b974160 Merge pull request #1228 from purificant/3.7.1rc2_url
amend 3.7.1rc2 url
2018-10-14 20:46:12 +09:00
purificant
62213bbfff amend 3.7.1rc2 url 2018-10-14 11:35:26 +01:00
Josh Friend
75ca7613ad CPython 3.6.7rc2 and 3.7.1rc2 2018-10-13 18:28:04 -04:00
Josh Friend
21c75c19e3 Add CPython 3.7.1rc1 2018-10-02 09:11:39 -04:00
Josh Friend
99346da8eb Add CPython 3.6.7rc1 2018-10-02 09:11:24 -04:00
Yamashita, Yuu
1a276f2d78 Merge pull request #1220 from shoichiaizawa/add-anaconda-5.3.0
python-build: add anaconda[23]-5.3.0
2018-10-02 09:25:43 +09:00
Shoichi Aizawa
650d9bd652 python-build: add anaconda[23]-5.3.0 2018-10-01 09:32:28 +09:00
Rémi Lapeyre
9be58802c1 Force y, Y, yes or YES to confirm installation 2018-09-19 16:18:27 +02:00
Daniel Hahler
4f21d9a2ea Fix abs_dirname for relative symlinks in same directory
Ref (abs_dirname in bats): https://github.com/sstephenson/bats/pull/224
Ref: https://github.com/rbenv/rbenv/pull/868

Fixes https://github.com/pyenv/pyenv/issues/580
2018-09-19 10:18:07 +02:00
Yamashita, Yuu
5603eb51c9 Merge pull request #1209 from altendky/patch-1
Add readme step for installing build deps per wiki
2018-08-28 23:32:50 +09:00
Kyle Altendorf
c6e3f95f67 Add readme step for installing build deps per wiki 2018-08-28 10:25:51 -04:00
rhymes
7190216884 #1199 introduced Python 3.5.6 not 3.7 (#1200) 2018-08-12 08:33:02 -04:00
Josh Friend
b7eea9003b v1.2.7 2018-08-11 14:41:04 -04:00
Josh Friend
1e96b2c321 Add CPython 3.5.6
Closes #1199
2018-08-11 14:40:09 -04:00
Josh Friend
0bdae9fd9d Add CPython 3.4.9 2018-08-11 14:37:41 -04:00
Josh Friend
9c7bdbc5e2 Remove old RC 2018-08-11 14:37:25 -04:00
Yamashita, Yuu
97f244fbb5 v1.2.6 2018-07-18 06:39:28 +00:00
Yamashita, Yuu
c057a80c82 Merge pull request #1180 from LWisteria/wget_version_check
Check wget version iff wget is going to be used (again)
2018-07-03 09:35:28 +09:00
LWisteria
0e3f04c429 Check wget version iff wget is going to be used
reapplying 4ebba7cd5f , which is (accidently?) reverted by fc90785f75
2018-06-29 14:55:32 +09:00
Yamashita, Yuu
3de7c5f298 Merge pull request #1178 from rhymes/python366
Added CPython 3.6.6
2018-06-28 17:52:26 +09:00
rhymes
996a2d12a5 Added CPython 3.6.6 2018-06-28 10:04:27 +02:00
Josh Friend
4812e0387b v1.2.5 2018-06-27 19:21:18 -04:00
Josh Friend
334e413722 Remove 3.5.5rc1 2018-06-27 19:16:40 -04:00
Josh Friend
2f1fb3a6e1 Remove 3.7.0rc1
fixes #1177
2018-06-27 19:15:15 -04:00
Pascal van Kooten
d48a954c6c Add CPython 3.7.0 2018-06-27 19:03:52 -04:00
Robin Message
d08c9cfb36 Language tweaks to PULL_REQUEST_TEMPLATE.md (#1173) 2018-06-21 10:11:00 -04:00
Josh Friend
43235c2716 CPython 3.7.0rc1 and 3.6.6rc1 2018-06-12 23:06:54 -04:00
Yamashita, Yuu
cbf3983ac5 Merge pull request #1166 from tsahara/openbsd-does-not-have-seq
seq(1) is not available on OpenBSD.
2018-06-06 09:42:26 +09:00
Tomoyuki Sahara
9c1d677d23 seq(1) is not available on OpenBSD. 2018-06-01 15:11:01 +09:00
Yamashita, Yuu
eee72eecdf Merge pull request #1165 from shoichiaizawa/add-anaconda-5.2.0
python-build: add anaconda[23]-5.2.0
2018-06-01 10:52:08 +09:00
Shoichi Aizawa
09494e3943 python-build: add anaconda[23]-5.2.0 2018-06-01 00:57:28 +09:00
Josh Friend
8eeddaebc1 CPython 3.7.0b5 2018-05-31 08:34:08 -04:00
Ville Skyttä
dad0fc708a Add micropython 1.9.4 (#1160) 2018-05-20 16:24:11 -04:00
Josh Friend
a2d51328ee CPython 3.7.0b4 2018-05-07 08:25:52 -04:00
Josh Friend
3faba7d47c v1.2.4 2018-05-01 13:51:00 -04:00
Josh Friend
3f8ea04cc2 Add pypy-portable 6.0.0
closes #1154
2018-05-01 13:45:59 -04:00
Josh Friend
f7a3ffd2d8 CPython 2.7.15 2018-05-01 01:14:42 -04:00
Yamashita, Yuu
df0437f111 Merge pull request #1145 from pyenv/rehash-wait
Wait rehash until lock acquisition
2018-05-01 09:37:03 +09:00
Yamashita, Yuu
d6ba379e08 Merge pull request #1146 from pyenv/http-client-based-on-envvar
Allow overriding HTTP client type based on environment variable
2018-05-01 09:34:24 +09:00
Josh Friend
47436606b5 Add pypy 6.0.0 2018-04-27 18:16:14 -04:00
Yamashita, Yuu
b3ba0fd7e3 Refactor test code of python-build. Use curl during tests by default 2018-04-26 02:06:57 +00:00
Yamashita, Yuu
750c63c643 Merge pull request #1151 from pyenv/ruby-build-20180424
Import latest changes from https://github.com/rbenv/ruby-build as of v20180424
2018-04-26 10:31:38 +09:00
Yamashita, Yuu
c8ad3385c7 Import latest changes from https://github.com/rbenv/ruby-build as of v20180424 2018-04-26 00:56:08 +00:00
Yamashita, Yuu
11067155f4 Merge pull request #1147 from zbentley/fix_bundle_loader_for_new_osx
Address #273 via a patch from python#21811
2018-04-25 10:11:54 +09:00
Zac Bentley
18df84f535 Address #273 via a patch from python#21811 2018-04-24 13:14:18 -04:00
Yamashita, Yuu
098fb9f07a Rewrite python-build tests with using PYTHON_BUILD_HTTP_CLIENT 2018-04-24 05:22:32 +00:00
Yamashita, Yuu
fc90785f75 Allow overriding HTTP client type based on environment variable PYTHON_BUILD_HTTP_CLIENT (#1126) 2018-04-24 02:33:43 +00:00
Yamashita, Yuu
1ec57a0c68 Add basic test for rehash wait 2018-04-24 00:42:47 +00:00
Yamashita, Yuu
7973e59473 Fix rehash test to give up sooner after lock file's presence 2018-04-24 00:38:01 +00:00
Yamashita, Yuu
b1e3f13a85 Renamed variable; s/PYENV_REHASH_LOCK_TIMEOUT/PYENV_REHASH_TIMEOUT/ 2018-04-24 00:35:55 +00:00
Yamashita, Yuu
a6c15fb242 Experimental implementation to wait rehash until acquiring lock
For now the code is using traditional pseudo locking mechanism
based on `noclobber`.
2018-04-19 01:02:16 +00:00
Yamashita, Yuu
63c4b7f45c Merge pull request #1140 from fschulze/2.7.15rc1
Add Python 2.7.15rc1.
2018-04-15 19:51:09 +09:00
Florian Schulze
20e4f53aac Add Python 2.7.15rc1. 2018-04-15 12:40:30 +02:00
Yamashita, Yuu
35f7ef8708 Merge pull request #1133 from pyenv/rbenv-20180402
Import changes from rbenv as of 20180402
2018-04-05 16:47:20 +09:00
Yamashita, Yuu
83429344ea Rewrite some tests for pyenv which was recently imported from rbenv 2018-04-02 01:52:42 +00:00
Yamashita, Yuu
83f97ef2b3 Merge remote-tracking branch 'rbenv/master' into rbenv-20180402 2018-04-02 01:46:48 +00:00
Josh Friend
b960f863cc CPython 3.7.0b2 -> b3 2018-03-30 15:04:29 -04:00
Yamashita, Yuu
a41d7561d0 Merge pull request #1131 from pyenv/workaround-get-pip-url-py26-py32
Use custom get-pip URL based on the target version
2018-03-29 12:19:46 +09:00
Yamashita, Yuu
980b03b582 Update warning message on presence of PIP_VERSION 2018-03-29 03:16:53 +00:00
Yamashita, Yuu
f3aba64a84 Merge pull request #1132 from pyenv/fix-typo-in-pr-template
Fixed a typo in PR template
2018-03-29 10:18:07 +09:00
Yamashita, Yuu
fc33f674b4 s/Generaly/Generally/ 😞 2018-03-29 01:14:19 +00:00
Yamashita, Yuu
f5663f084a Show some warning on the use of PIP_VERSION 2018-03-29 00:58:17 +00:00
Yamashita, Yuu
a1d39c1e25 Add test for custom GET_PIP_URL per versions 2018-03-29 00:58:06 +00:00
Yamashita, Yuu
90dfb261e2 Use custom get-pip URL based on the target version (#1127) 2018-03-29 00:38:16 +00:00
Joe Siewert
367c6765ab Modify changelog to indicate CPython 3.6.5 (#1130) 2018-03-28 20:15:40 -04:00
Josh Friend
abbb606041 v1.2.3 2018-03-28 18:22:17 -04:00
Josh Friend
359aa1f4c6 Add CPython 3.6.5 2018-03-28 18:18:56 -04:00
Yamashita, Yuu
b95d0d9542 Merge pull request #1128 from pyenv/pip-version-workaround2
Refactoring around `GET_PIP_URL`
2018-03-22 11:04:33 +09:00
Yamashita, Yuu
15ff779eb5 Refactoring
Manage `GET_PIP_URL` value at single place for readability.
2018-03-22 01:34:44 +00:00
Yamashita, Yuu
f35aea984f Merge pull request #1123 from pyenv/github-issue-templates
Add template for issues and pull requests
2018-03-22 09:37:25 +09:00
Daniel Hahler
806b9384a1 Update PULL_REQUEST_TEMPLATE.md
revisited
2018-03-20 21:40:02 +01:00
Daniel Hahler
5861aee062 Update ISSUE_TEMPLATE.md
revisited
2018-03-20 21:37:40 +01:00
Yamashita, Yuu
967d9b6a1b Merge pull request #1124 from pyenv/pip-version-workaround
Unset `PIP_VERSION` before invoking `get-pip.py` as a workaround for `invalid truth value` error
2018-03-20 13:23:51 +09:00
Yamashita, Yuu
ed2d2a921e Unset PIP_VERSION before invoking get-pip.py as a workaround for invalid truth value error (pyenv/pyenv-installer#70) 2018-03-20 04:04:49 +00:00
Yamashita, Yuu
143e0be9fc Add template for issues and pull requests (#1116) 2018-03-20 01:44:57 +00:00
raimon
694b551935 Fix dead links in ToC (#1121) 2018-03-15 15:42:52 -04:00
Jens Hedegaard Nielsen
59846ca9b1 Set openssl PKG_CONFIG_PATH for python 3.7 (#1117) 2018-03-13 10:00:23 -04:00
Yamashita, Yuu
adbb59ed2c Merge pull request #1113 from timsavage/activepython
Support for ActivePython
2018-03-13 09:33:17 +09:00
Tim Savage
05143526f4 Added download source and SHA256 hashes 2018-03-12 14:44:57 +11:00
Tim Savage
296ce06d69 Added current ActivePython versions 2.7.14, 3.5.4, 3.6.0 2018-03-09 12:12:56 +11:00
Tim Savage
3daed2e517 Added entries to support installing ActivePython (linux) 2018-03-09 12:12:13 +11:00
Josh Friend
a8e207f330 v1.2.2 2018-02-28 16:32:37 -05:00
Josh Friend
5f74547379 CPython 3.7.0b1 -> 3.7.0b2 2018-02-28 16:24:58 -05:00
Mislav Marohnić
c8ba27fd07 Merge pull request #1069 from viclim/fix-issue-1065
Ignore empty `.ruby-version` files
2018-02-26 10:53:46 +01:00
Victor Lim
9daf81f16e Fix https://github.com/rbenv/rbenv/issues/1065
Command `rbenv version-name > .ruby-version` will create an empty `.ruby-version` file
before running `rbenv-version-file`. This causes `rbenv-version-file` to return empty
string which in turn causes `rbenv-version-name` to return `system`.

Ensure size of `.ruby-version` is non-zero as a workaround.
2018-02-26 16:49:37 +08:00
Yamashita, Yuu
23e1c5049f Merge pull request #1101 from Calinou/readme-use-markdown-image
Use Markdown image markup in README
2018-02-23 09:36:08 +09:00
Hugo Locurcio
7ca1923a44 Use Markdown image markup in README
This also fixes the aspect ratio of the image being incorrect.
2018-02-22 15:43:44 +01:00
Yamashita, Yuu
445d59ae2e Merge pull request #1100 from shoichiaizawa/add-anaconda-5.1.0
python-build: add anaconda[23]-5.1.0
2018-02-19 10:46:56 +09:00
Shoichi Aizawa
bc9687576e python-build: add anaconda[23]-5.1.0 2018-02-16 18:03:57 +09:00
Yamashita, Yuu
907a86b743 Merge pull request #1094 from claco/update-3.4.8
Correct CPython 3.4.8 Checksums
2018-02-09 13:13:02 +09:00
Christopher H. Laco
812f02662b Correct CPython 3.4.8 Checksums
The current checksums for tar.xz and .tgz files are reversed. This
causes python-build to fail with a checksum mismatch error.

Reversing the checksums to allow the build to succeed.
2018-02-08 22:40:04 -05:00
Yamashita, Yuu
5c0570cdc0 Merge pull request #1093 from charlesreid1/master
Improve screenshot in readme
2018-02-09 09:37:18 +09:00
Yamashita, Yuu
43c4063f51 Merge pull request #1091 from BanzaiMan/python-build-updates
Python-build updates
2018-02-09 09:33:52 +09:00
Charles Reid
aab718844a Changing background to be lighter/lower contrast 2018-02-08 16:10:37 -08:00
Charles Reid
59050aa093 Fixing image of terminal output to use carbon (cleaner and easier-to-read colors) 2018-02-08 16:08:24 -08:00
Hiro Asari
42349d9d24 Update 3.4.8rc1 to 3.4.8 release 2018-02-08 08:34:01 -05:00
Hiro Asari
2ba2d8797b Add 3.8-dev to point to master
Push 3.7-dev to `3.7` branch
2018-02-08 08:27:18 -05:00
Yamashita, Yuu
04d9342f82 Merge pull request #1090 from draeath/master
Add CPython 3.5.5
2018-02-08 09:38:09 +09:00
Paul Bransford
d85bc23592 Add CPython 3.5.5 2018-02-07 17:25:15 -05:00
INADA Naoki
f114557698 3.7.0a4 -> 3.7.0b1 (#1086) 2018-02-01 13:31:38 -05:00
Yamashita, Yuu
95ad305bcb Merge pull request #1084 from scop/pypy3-5.10.1
Add pypy3 5.10.1
2018-01-29 09:05:27 +09:00
Ville Skyttä
6c0625710f Add pypy3 5.10.1 2018-01-29 00:11:11 +02:00
Yamashita, Yuu
86e1b9a8ad Merge pull request #1082 from shoichiaizawa/add-clear-to-conda-blacklist
Do not create `clear` shim when Anaconda is installed
2018-01-26 15:17:19 +09:00
Shoichi Aizawa
b64c445b61 Do not create clear shim when Anaconda is installed
Add `clear` to the Anaconda's default blacklist in order to prevent
pyenv from creating the shim script for it.

The `clear` command executable began included from Anaconda 5.0.0
onwards, and this executable now conceals that of the user's base system
- this hinders the user from running the `clear` command with the
`command not found` error output if a user installs and selects one or
more Python version(s) other than Anaconda 5.x.x.

Adding this one-liner to the blacklist allows the user to use the
`clear` command even when Anaconda 5.x.x is not selected by pyenv.
2018-01-26 13:29:48 +09:00
Josh Friend
1864fd7b93 Add CPython 3.4.8rc1 and 3.5.5rc1 2018-01-23 10:13:57 -05:00
Josh Friend
6f27c91b5f Update CPython 3.7.0a3 -> 3.7.0a4 2018-01-12 18:56:44 -05:00
Josh Friend
b704c4242c Update changelog for 1.2.1 release 2018-01-10 08:27:34 -05:00
Josh Friend
978d8e0f9a Add portable pypy[23] 5.10.0 2018-01-10 08:26:30 -05:00
Yamashita, Yuu
65ddf84926 Merge pull request #1070 from BanzaiMan/pypy-xenial
Allow binary installs of PyPy on Xenial
2018-01-10 12:26:17 +09:00
Hiro Asari
9a59c8490a Use multi-arg form of require_distro 2018-01-09 20:50:38 -05:00
Hiro Asari
4a14d2f62a Allow binary installs of PyPy on Xenial 2018-01-09 14:07:27 -05:00
Hiro Asari
66412f556d Rename PyPy 5.10 to include TEENY version (#1069) 2018-01-09 10:13:15 -05:00
Yamashita, Yuu
785738d5b3 Merge pull request #1062 from pyenv/pypy-5.10
Add PyPy[23] 5.10
2017-12-27 08:51:07 +09:00
Josh Friend
71f09a6d71 Add PyPy[23] 5.10
closes #1061
2017-12-26 10:23:07 -05:00
Yamashita, Yuu
9619e6bd53 Merge pull request #1058 from zmwangx/cpython-3.6.4
Add CPython 3.6.4 and remove 3.6.4rc1
2017-12-19 19:34:05 +09:00
Zhiming Wang
2c3998f88b Add CPython 3.6.4 and remove 3.6.4rc1 2017-12-19 05:19:10 -05:00
Yamashita, Yuu
69d47d5fd7 Merge pull request #1055 from klimkjar/fix-illumos
Fix pyenv install on Solaris / Illumos
2017-12-15 19:01:19 +09:00
Kjetil Limkjær
dc145fa5a2 Added true fallback to num_cpu_cores SunOS case 2017-12-15 09:19:15 +01:00
Kjetil Limkjær
5149c53165 Add SunOS case statement to num_cpu_cores 2017-12-14 22:17:34 +01:00
Kjetil Limkjær
c5e4bab858 Fix pyenv install on Solaris / Illumos
pyenv install crashes on Solaris with an empty log file. Adding support for the proper Solaris getconf call in num_cpu_cores fixed it. Tested and working under OmniOS CE r151024.
2017-12-13 22:00:14 +01:00
Josh Friend
e71ac9e439 Release v1.2.0 2017-12-10 09:40:49 -05:00
Chris Laco
76655979f4 Added CPython 3.3.7 (#1053)
* Added final Python 3.3 release, 3.3.7
* Removed Python 3.3.7rc1
2017-12-10 09:15:08 -05:00
Mislav Marohnić
b943955dbf Merge pull request #981 from mhinz/shell-descriptive-error
Better error message for `rbenv shell`
2017-12-07 05:00:44 +01:00
Marco Hinz
643023d98f Add tests for shell integration 2017-12-07 02:32:35 +01:00
Marco Hinz
af53c790cc Better error message for rbenv shell
Shell integration is not enabled by default. This means that, from all the
commands from `rbenv commands`, only "shell" won't work right away.

Replace "no such command" with a more descriptive message that points to
`rbenv init` instead.
2017-12-07 02:32:34 +01:00
Josh Friend
15ba0d9c3f Add CPython 3.6.4rc1 2017-12-06 08:37:07 -05:00
Josh Friend
364fa7f7c6 CPython 3.7.0a2 -> 3.7.0a3 2017-12-06 08:36:47 -05:00
Yamashita, Yuu
b6929531c6 Merge pull request #1051 from LWisteria/do_not_check_wget_version
Check wget version iff wget is going to be used
2017-12-06 09:40:47 +09:00
Mislav Marohnić
6aa70b6541 Merge pull request #1013 from blueyed/shellcheck
Fix some issues reported by shellcheck
2017-11-30 11:43:18 +01:00
Daniel Hahler
5f8a4c4d62 Fix some issues reported by shellcheck 2017-11-29 16:20:51 +01:00
Mislav Marohnić
eda952ab08 Merge branch 'cdpath-enable' 2017-11-29 15:53:41 +01:00
Mislav Marohnić
b80ea43e25 Quote directory name in variable assignment 2017-11-29 15:51:03 +01:00
Mislav Marohnić
c310bc5f83 Merge pull request #968 from maxnordlund/patch-1
Fix fish subcommand completion
2017-11-29 15:47:19 +01:00
Mislav Marohnić
eab68688dc Merge pull request #959 from zenspider/fix-dash-u
Fixed `rbenv init -` output to work w/ no args and bash's `set -u`.
2017-11-29 15:40:23 +01:00
Mislav Marohnić
5183e32887 Merge pull request #982 from MartinNowak/issue759
partly resolve #759
2017-11-29 15:37:22 +01:00
Mislav Marohnić
e2f469a7cd Merge pull request #1002 from blueyed/fix-which-tests-PATH
test/which.bats: do not export PATH
2017-11-29 15:25:03 +01:00
Mislav Marohnić
33a5c2495d Merge pull request #1003 from blueyed/version-file-skip-dirs
rbenv-version-file: ensure that the version file is a file
2017-11-29 15:23:58 +01:00
Mislav Marohnić
66b9f6fb2b Merge pull request #1024 from andyone/master
Fixed support for commas for all environment variables in configure script
2017-11-29 15:20:00 +01:00
LWisteria
4ebba7cd5f Check wget version iff wget is going to be used
Do not check when tarball is cached
2017-11-29 20:54:04 +09:00
Yamashita, Yuu
85a66a9640 Merge pull request #1036 from zachriggle/pwd-changes
Fix $PWD changes when executing Python
2017-11-21 10:51:41 +09:00
Daniel Hahler
a9ca72ab8e test/which.bats: do not export PATH
Otherwise `sed` might not be found later in bats/libexec/bats-exec-test,
in case `/usr/bin` gets removed.
2017-11-20 04:22:05 +01:00
Yamashita, Yuu
435e362c60 Merge pull request #1041 from pyenv/automate-release
Create releases on GitHub automatically from tags (fixes #1038)
2017-11-20 10:58:54 +09:00
Yamashita, Yuu
afd0840836 Create releases on GitHub automatically from tags (fixes #1038) 2017-11-20 01:53:38 +00:00
Zach Riggle
19e2b9588a Fix $PWD changes when executing Python
Specifically, this does not play well with PWD=/proc/self/cwd
2017-11-13 16:04:31 -06:00
Yamashita, Yuu
5b5df15eb7 Merge pull request #1033 from scop/mp193
Add micropython 1.9.3
2017-11-10 09:39:54 +09:00
Yamashita, Yuu
428a94b3ed Merge pull request #1031 from scop/getconf
Get number of processors using getconf over cpuinfo grep
2017-11-09 17:39:32 +09:00
Ville Skyttä
08bed5b7b1 Add micropython 1.9.3 2017-11-09 09:21:16 +02:00
Ville Skyttä
fc4f496545 Get number of processors using getconf over cpuinfo grep 2017-11-08 19:07:20 +02:00
Ryan Davis
1a8b5e04a9 Fixed rbenv init - output to work w/ no args and bash's set -u. 2017-11-06 13:59:04 -08:00
Yamashita, Yuu
7ab48c47fd Merge pull request #1026 from pyenv/ruby-build-20171031
Imported recent changes from the latest ruby-build as of Oct 31, 2017
2017-11-04 06:47:44 +09:00
Yamashita, Yuu
9ff06f61b6 Fix broken tests 2017-11-03 14:14:46 +00:00
Yamashita, Yuu
ecc5ff5ead Fix a bug in handling of PACKAGE_MAKE_INSTALL_TARGET 2017-11-03 14:10:08 +00:00
Yamashita, Yuu
4521552662 Imported recent changes from the latest https://github.com/rbenv/ruby-build as of Oct 31, 2017 (#1025) 2017-11-03 14:10:08 +00:00
Samuel Villamonte
2f396596d7 Moved stackless-dev to Github repo 2017-10-31 08:49:36 -04:00
Samuel Villamonte
47c0db9dd8 Moved stackless-3.4-dev to Github repo 2017-10-31 08:49:36 -04:00
Samuel Villamonte
ecc3100828 Removed stackless-3.2-dev 2017-10-31 08:49:36 -04:00
Samuel Villamonte
e77bdb2f0b Modified stackless-2.7-dev to point to Github 2017-10-31 08:49:36 -04:00
Yamashita, Yuu
4fb078c4c5 Merge pull request #978 from pyenv/skip-enable-unicode-py33
Skip passing `--enable-unicode` for CPython 3.3+ (fixes #912)
2017-10-31 09:57:18 +09:00
Yamashita, Yuu
8d5ffcd082 Merge pull request #1025 from jamieconnolly/fix-missing-openssl-lib
Ignore LibreSSL bundled with macOS 10.13
2017-10-31 09:38:37 +09:00
Jamie Connolly
eb70ee3e73 Ignore LibreSSL bundled with macOS 10.13 2017-10-30 16:47:53 +00:00
Josh Friend
9d7a011f6e pypy defs already use pypy-portable if no official binary is available (#1023)
having a separate definition for each of these seems redundant
2017-10-29 19:25:07 -05:00
Josh Friend
37299c8851 Remove CPython dev branches no longer in development 2017-10-29 09:20:26 -04:00
Josh Friend
734c341c46 Remove ancient pypy-dev branches 2017-10-28 18:32:06 -04:00
Josh Friend
2d9779b60d Remove old pypy-2.4 betas 2017-10-28 18:16:33 -04:00
Josh Friend
71671df0e3 Remove old Jython 2.7.1 betas 2017-10-28 18:10:36 -04:00
Josh Friend
8aa1db2050 A TON of verify_py* checks in miniconda were wrong 2017-10-28 18:04:49 -04:00
Shoichi Aizawa
2998ebce87 python-build: add miniconda[23]-4.3.30 (#1022) 2017-10-28 17:52:47 -04:00
Josh Friend
2263fc883a Don't create shim for bunzip2 2017-10-28 17:31:03 -04:00
Josh Friend
6c24a5a88d Update anaconda[23] 5.0.0 to 5.0.0.1 bugfix 2017-10-28 17:31:03 -04:00
Josh Friend
968ecc10c9 Add Anaconda[23] 5.0.1 2017-10-28 17:31:03 -04:00
Josh Friend
0638a5a320 Don't email on successful builds 2017-10-27 10:33:20 -04:00
Samuel Villamonte
a2d00cb613 Added stackless-3.5.4 2017-10-22 19:20:26 -04:00
Samuel Villamonte
a070a395bf Added stackless-3.4.7 2017-10-22 19:20:26 -04:00
Samuel Villamonte
29e6f34174 Added stackless-3.3.7 2017-10-22 19:20:26 -04:00
Samuel Villamonte
9daffd3fcc Added stackless-2.7.14 2017-10-22 19:20:26 -04:00
Zhiming Wang
7b9d1a40c2 Add CPython 3.7.0a2 and remove 3.7.0a1 2017-10-18 08:50:32 -04:00
Josh Friend
af8cca9b31 Add miniconda[23] 4.3.14, 4.3.21, and 4.3.27
closes #1012
2017-10-10 21:04:42 -04:00
Yamashita, Yuu
656d7b15c0 Merge pull request #1010 from jab/patch-1
Fix broken download link
2017-10-09 11:18:16 +09:00
jab
ff47681966 Fix broken download link (pypy2.7-portable-5.9.0) 2017-10-08 21:46:54 -04:00
Cosimo Lupo
34a5b7f56e fix typo in pypy-5.9 package name for non-ubuntu linux distros
https://github.com/pyenv/pyenv/pull/1005#discussion_r143206847
2017-10-06 11:28:16 -04:00
Josh Friend
d339fbdc53 Add PyPy 5.9.0 2017-10-06 09:58:50 -04:00
Yamashita, Yuu
19cdbc828d Merge pull request #1001 from shoichiaizawa/add-tput-to-conda-blacklist
Do not create `tput` shim when Anaconda is selected
2017-10-05 09:38:52 +09:00
Josh Friend
5af8d2fb12 Update changelog for v1.1.5 2017-10-03 19:30:53 -04:00
Cosimo Lupo
18edb656f9 Add CPython 3.6.3 and remove 3.6.3rc1 (#1000) 2017-10-04 00:48:04 +02:00
Shoichi Aizawa
0c1edefe6a Do not create tput shim when Anaconda is selected
Add `tput` to the Anaconda's default blacklist in order to prevent pyenv
from creating the shim script for it.

Anaconda 5.0.0 contains some executables which are part of the base
system. Many of these executables did not exist in the last major
version of Anaconda (`4.4.0`), and the existence of pyenv's shim
scripts for these executables in `5.0.0` can cause to conceal those
executables in the user's base system; for the details, please see the
discussion with @yyuu at #992.

This commit resolves a coloured output error when running a terminal
command which uses `tput`. This error occurs when multiple Python
versions are installed alongside `anaconda2-5.0.0` or `anaconda3-5.0.0`
and neither of those two Anaconda versions is selected by pyenv.
2017-10-03 15:25:43 +09:00
Yamashita, Yuu
433e2d1f99 Merge pull request #992 from shoichiaizawa/add-anaconda-5.5.0
python-build: add anaconda[23]-5.0.0
2017-09-28 18:09:15 +09:00
Shoichi Aizawa
a3598423c1 python-build: add anaconda[23]-5.0.0 2017-09-28 16:28:13 +09:00
Zhiming Wang
f9183b5f8c Add CPython 3.7.0a1 2017-09-20 09:01:59 -04:00
Zhiming Wang
d3c5b37b8a Add CPython 3.6.3rc1 2017-09-20 09:01:59 -04:00
Yamashita, Yuu
2178fb931c v1.1.4 2017-09-20 01:54:46 +00:00
Zhiming Wang
2ebab025f7 Add CPython 2.7.14 and remove 2.7.14rc1 (#980)
https://www.python.org/download/releases/python-2714
2017-09-17 21:42:38 -04:00
Yamashita, Yuu
90ac836576 Merge pull request #979 from scop/micropython
micropython-dev: unix dir moved to ports/unix
2017-09-16 09:54:00 +09:00
Ville Skyttä
2f4caa83b7 micropython-dev: unix dir moved to ports/unix 2017-09-15 19:12:39 +03:00
Josh Friend
fae20aece7 Add CPython 2.7.14rc1 2017-09-14 18:33:30 -04:00
Yamashita, Yuu
7478310c1b Fix tests regard to --enable-unicode 2017-09-11 02:02:15 +00:00
Yamashita, Yuu
2a4b203312 Skip passing --enable-unicode for CPython 3.3+ (fixes #912) 2017-09-11 01:09:23 +00:00
Yamashita, Yuu
48aa0c491b Merge pull request #977 from cia-rana/update-readme-pyenv-init
Update `pyenv init` line in README.md
2017-09-09 09:04:44 +09:00
CIARANA
f6384fe8d4 Update pyenv init line in README.md 2017-09-09 00:39:02 +09:00
cia-rana
839c9e5c76 Update pyenv init line in README.md 2017-09-08 02:07:47 +09:00
cia-rana
2a2cbea951 Change [ to [[ and move it into eval 2017-09-08 01:23:21 +09:00
CIARANA
bc58ab54f8 Change ~/.pyenv to $PYENV_ROOT 2017-09-07 22:36:14 +09:00
CIARANA
6485409a55 Update pyenv init line in README.md
Update `pyenv init` line in README.md in case ```pyenv``` is not found.
2017-09-07 20:31:02 +09:00
Josh Friend
8297de9ee0 Add CPython 3.3.7rc1 2017-09-06 21:40:05 -04:00
Nikita Grishko
09bc868ea8 Remove extra spaces in checksum (#976)
Fixes #902.
2017-09-05 19:08:48 +02:00
Mislav Marohnić
2d7cefe782 Merge pull request #1034 from MinhThienDX/master
Fix URL fragment target
2017-09-04 18:57:27 +02:00
MinhThienDX
650c9d3452 Fix URL fragment target 2017-09-04 23:51:22 +07:00
Yamashita, Yuu
fd0b8fcfb3 Merge pull request #973 from Samureus/jython-2.7.1
Added jython-2.7.1
2017-08-28 09:15:51 +09:00
Samuel Villamonte
33873e9b4d Added jython-2.7.1 2017-08-27 13:01:46 -05:00
Jeremy Daer
4ebd1bd12c Merge pull request #1009 from jeremy/homebrew-install-clarification
Clarify Homebrew/git install guidance
2017-08-23 14:47:56 -10:00
Yamashita, Yuu
d92e190dc8 Merge pull request #971 from claco/add-3.5.4
Added CPython 3.5.4
2017-08-23 12:01:12 +09:00
Christopher H. Laco
faaa2d587a Added CPython 3.5.4 2017-08-22 22:43:10 -04:00
James Stidard
005a2e8914 Added CPython 3.4.7 (#965) 2017-08-14 14:15:00 -04:00
Yamashita, Yuu
24a3108499 Merge pull request #956 from pyenv/copy-libpypy3
Add support for PyPy3 executables like `libpypy3-c.so`
2017-08-14 09:08:47 +09:00
Yamashita, Yuu
b1d32217c3 Avoid creating a symlink for symlink 2017-08-13 20:02:20 +09:00
Yamashita, Yuu
8b0ec441da Add OpenSSL to pypy build definitions 2017-08-13 17:31:39 +09:00
Yamashita, Yuu
41f00c639d Check if copying file is a file or not 2017-08-13 16:54:04 +09:00
Yamashita, Yuu
bb352f8822 Add genc as a dependency 2017-08-13 16:53:41 +09:00
Yamashita, Yuu
2158e8224a Stop requiring GCC for PyPy source build
It must not have hard dependency to GCC in general.
2017-08-09 22:25:41 +09:00
Yamashita, Yuu
0fe7d78503 Check pycparser's availability when building PyPy from source 2017-08-09 22:23:31 +09:00
Yamashita, Yuu
fc23323ed4 Revert "Avoid choosing virtualenv when building PyPy from source"
This reverts commit 63c00d9989.
2017-08-09 22:22:05 +09:00
Yamashita, Yuu
63c00d9989 Avoid choosing virtualenv when building PyPy from source 2017-08-09 09:23:49 +00:00
Yamashita, Yuu
98878e5d12 Changed default PyPy build option; specify --batch to avoid launching interactive debugger 2017-08-09 09:23:30 +00:00
Yamashita, Yuu
0cbfcf09d4 Fix pattern match for PyPy versions 2017-08-09 07:34:59 +00:00
Anton Novojilov
dbaa8c83b6 Fixed support of build env vars for dynamic bash extension configure script 2017-08-07 13:12:37 +02:00
Yamashita, Yuu
0c909f7457 Merge pull request #959 from diggzhang/fix_doc
Fix readme.md
2017-08-05 16:47:42 +09:00
diggzhang
7c9ebc2727 Fix readme.md 2017-08-05 14:11:30 +08:00
Yamashita, Yuu
269a702321 Fix wrong variable reference 2017-07-26 01:31:26 +00:00
Yamashita, Yuu
adc0365923 Add support for PyPy3 executables like libpypy3-c.so (fixes #955) 2017-07-26 01:06:04 +00:00
Yamashita, Yuu
7dae19765c Merge pull request #953 from pyenv/source-shim
Workaround for scripts in `$PATH` which needs to be source'd
2017-07-21 09:58:37 +09:00
Yamashita, Yuu
ad5a7f0c17 Stop assuming bash for source scripts 2017-07-21 00:55:37 +00:00
Yamashita, Yuu
e9ad498fe3 I should have used basename only to check shims 2017-07-21 00:55:11 +00:00
Yamashita, Yuu
753a9e826b Move conda.txt and source.txt into their directory to allow users to have custom blacklist 2017-07-21 00:43:23 +00:00
Yamashita, Yuu
52d6acc3b0 Workaround for scripts in $PATH which needs to be source'd (#100, #688) 2017-07-20 01:25:36 +00:00
Josh Friend
0314de0c73 v1.1.3 2017-07-17 09:12:51 -04:00
Markus Kaiserswerth
37e4c2094f Add CPython 3.6.2 and remove 3.6.2rc2 (#951) 2017-07-17 08:49:22 -04:00
Yamashita, Yuu
5ab088c707 Merge pull request #948 from zmwangx/cpython-3.6.2rc2
Add CPython 3.6.2rc2 and remove 3.6.2rc1
2017-07-08 20:48:23 +09:00
Zhiming Wang
3e08d43fd9 Add CPython 3.6.2rc2 and remove 3.6.2rc1
https://www.python.org/downloads/release/python-362rc2/
2017-07-08 07:22:46 -04:00
Yamashita, Yuu
8fa1f43856 v1.1.2 2017-07-07 00:40:21 +00:00
Yamashita, Yuu
e93b170fe1 Merge pull request #921 from scop/micropython
micropython-dev: Set better sys.path
2017-07-06 10:41:06 +09:00
Ville Skyttä
7add7793cd micropython-dev: Set better sys.path 2017-07-05 08:30:49 +03:00
Mislav Marohnić
615f8443fe Merge pull request #1011 from kenaniah/patch-1
Properly escapes commas in c flags
2017-06-25 02:48:23 +02:00
Yamashita, Yuu
7467eec9de Merge pull request #942 from xHeliotrope/master
Update README.md typo
2017-06-24 10:06:11 +09:00
Ryan Moore
e83168655c Update README.md 2017-06-24 00:50:54 +00:00
Yamashita, Yuu
4a707c27de Merge pull request #674 from jossy/master
Add default-packages to .gitignore
2017-06-21 20:22:25 +09:00
Kenaniah Cerny
fc706daf60 properly escapes commas in cflags 2017-06-18 20:57:52 -07:00
Zhiming Wang
734e40d8a5 Add CPython 3.6.2rc1 (#940) 2017-06-18 19:51:04 -04:00
Samuel Villamonte
440f044f0b Update CHANGELOG.md for v1.1.1 bugfix release 2017-06-17 13:44:25 -05:00
Samuel Villamonte
bd32d489c1 Update links to Portable Pypy 5.8-1 bugfix release (#939)
* Update pypy2.7-portable-5.8.0, pypy3.5-portable-5.8.0, pypy2.7-5.8.0 and pypy3.5-5.8.0

See issue https://github.com/squeaky-pl/portable-pypy/issues/54
2017-06-17 13:39:10 -05:00
Yamashita, Yuu
bed627addd v1.1.0 2017-06-16 01:03:32 +00:00
Mislav Marohnić
6cd487db81 rbenv 1.1.1 2017-06-15 16:55:33 +02:00
Jeremy Daer
e3e99cc906 Clarify Homebrew/git install guidance
* Move Homebrew to the top, common case for new devs
* Note that `brew install rbenv` includes ruby-build by default
* Be clear that `rbenv init` instructions are needed for shell setup
* Be explicit about starting a new shell to pick up PATH/init changes
* Use rbenv-doctor to conclusively demonstrate correct setup
* Separate upgrade instructions for Homebrew vs Git installs

Related: https://github.com/rbenv/ruby-build/pull/1106
2017-06-14 09:02:50 -07:00
Yamashita, Yuu
29436ffe6d Merge pull request #932 from Samureus/pypy-5.8
Add Pypy 5.8.0
2017-06-12 11:46:36 +09:00
Samuel Villamonte
d82324ecf9 Fix wrong Portable PyPy links 2017-06-11 21:19:50 -05:00
Samuel Villamonte
1910e8667f Merge branch 'pypy-5.8' of github.com:Samureus/pyenv into pypy-5.8 2017-06-10 15:33:55 -05:00
Samuel Villamonte
cb579583bc Dropped support for all EOL x86/x64 Ubuntu distros to use Portable PyPy instead, per issue #925 comments 2017-06-10 15:32:32 -05:00
Samuel Villamonte
7a6cbbcd08 Fixed error message, PyPy3 2017-06-10 15:18:48 -05:00
Samuel Villamonte
3314420f2e Fix yet another checksum 2017-06-09 12:42:31 -05:00
Samuel Villamonte
1f3b0ae017 Fix portable pypy typo 2017-06-09 11:38:39 -05:00
Samuel Villamonte
d3e40c34bb Added pypy3.5-5.8.0 2017-06-09 11:37:20 -05:00
Samuel Villamonte
38e2067ad6 Added pypy2.7-5.8.0 2017-06-09 11:27:20 -05:00
Samuel Villamonte
e0b0147056 Fix sha256 sum 2017-06-09 11:06:42 -05:00
Samuel Villamonte
88e46c4b5a Added pypy3.5-portable-5.8.0 2017-06-09 11:03:34 -05:00
Samuel Villamonte
ca00b8e2e9 Added pypy2.7-portable-5.8.0 2017-06-09 10:43:38 -05:00
Samuel Villamonte
02001dbfb3 Added pypy3.5-5.8.0-src 2017-06-09 10:11:34 -05:00
Samuel Villamonte
033dae622d Added pypy2.7-5.8.0-src 2017-06-09 10:05:35 -05:00
Yamashita, Yuu
0849776306 Merge pull request #930 from shoichiaizawa/master
python-build: add anaconda[23]-4.4.0
2017-06-08 15:15:06 +09:00
Shoichi Aizawa
d5b193e5b0 python-build: add anaconda[23]-4.4.0 2017-06-08 13:33:18 +09:00
Roman Bolshakov
01d39850b5 Do not attempt to read .python-version directories (#606) 2017-06-06 13:09:45 +02:00
Yamashita, Yuu
d461b5f1d8 Merge pull request #927 from blueyed/merge-rbenv
Merge rbenv master
2017-06-06 09:38:33 +09:00
Daniel Hahler
95b1b05cbe rbenv-version-file: ensure that the version file is a file
Forwarded from https://github.com/pyenv/pyenv/pull/606.
2017-06-05 15:40:59 +02:00
Daniel Hahler
3fd23431af Merge remote-tracking branch 'rbenv/master'
Conflicts:
	README.md
	libexec/pyenv---version
	libexec/pyenv-init
	libexec/rbenv
	libexec/rbenv-sh-shell
	libexec/rbenv-which
	test/init.bats
	test/shell.bats
2017-06-05 15:18:44 +02:00
Yamashita, Yuu
acbd736eb3 Merge pull request #920 from scop/micropython
Add micropython-dev
2017-05-29 11:05:18 +09:00
Ville Skyttä
fd1fb13016 Add micropython-dev 2017-05-28 14:04:42 +03:00
Mislav Marohnić
755c820724 Merge pull request #986 from jeffkowalski/fix_init
Prefer 'set' over 'setenv' for fish shell
2017-05-17 00:34:20 +02:00
Mislav Marohnić
b4330a48b1 Merge pull request #999 from jacob-on-github/patch-1
Make homebrew installation instructions more clear
2017-05-17 00:12:52 +02:00
Jeff Kowalski
a81da8d864 Revert quoting change in previous commit; adjust test to match code
Revert back to original quoting style used before previous commit.
Adjust init.bats to reflect changes for successful tests.
2017-05-16 13:36:06 -07:00
jacob-on-github
4e27113494 Update README.md
I work on a team that has followed the Homebrew installations. More than once we've missed the `rbenv init` instruction and it has caused headaches down the road. This formatting makes it harder to miss.
2017-05-16 14:29:46 -05:00
Yamashita, Yuu
3292200786 Merge pull request #909 from joesiewert/fix-command
Fix --enable-shared sample command
2017-05-12 12:38:05 +09:00
Joe Siewert
a91b36b236 Fix --enable-shared sample command 2017-05-11 14:23:31 -07:00
Yamashita, Yuu
d15f3888f0 Merge pull request #907 from LarsFronius/patch-1
Fixes pip-rehash to rehash if pip was called with a flag
2017-05-10 09:01:34 +09:00
Lars Fronius
1ec90481e8 Update pip 2017-05-09 12:51:50 +02:00
Lars Fronius
95818ab802 Update pip 2017-05-09 12:50:46 +02:00
Lars Fronius
bbd8f2c01e Fixes pip-rehash to rehash if pip was called with a flag
`pip -v install foobar` or `pip -q install foobar` did not trigger a rehash before. Now it should have the same behaviour as `pip install foobar`.
2017-05-09 12:43:51 +02:00
Yamashita, Yuu
30212f0054 Merge pull request #903 from webb04/fix-pyenv-shell-readme-link
Update link to pyenv shell documentation in README
2017-05-03 06:05:38 +09:00
Jamie Webb
27a7466f15 Update link to pyenv shell documentation in README 2017-05-02 16:52:53 +01:00
Yamashita, Yuu
23d819ed69 Merge pull request #899 from joliveros/fix-anaconda-build-when-prefix_path-exists
add -f to anaconda install script
2017-05-01 09:50:43 +09:00
Yamashita, Yuu
da80a3d3cc Merge pull request #901 from Bachmann1234/Bachmann1234-patch-1
Remove duplicate heading
2017-04-29 21:00:02 +09:00
Matt Bachmann
0a69dbd818 Remove duplicate heading
Link was pointing to this heading. It seemed incorrect
2017-04-29 07:14:46 -04:00
José Oliveros
aad7c0e055 add -f to anaconda install script 2017-04-27 18:51:30 -05:00
Yamashita, Yuu
19e70e34a0 Merge pull request #897 from proinsias/proinsias/miniconda3-4.3.11
Add miniconda3-4.2.12 and miniconda3-4.3.11
2017-04-26 13:18:25 +09:00
Francis T. O'Donovan
19048f1b60 Add miniconda3-4.2.12 and miniconda3-4.3.11 2017-04-25 15:08:02 -04:00
Yamashita, Yuu
7209cc490e Merge pull request #892 from menduo/master
replace github.com/yyuu with github.com/pyenv
2017-04-18 12:47:08 +09:00
menduo
f5e49fe6fa changelog: correct doc for version 1.0.9 2017-04-18 10:16:37 +08:00
menduo
ff666ab489 replace github.com/yyuu with github.com/pyenv 2017-04-17 11:59:53 +08:00
Jeff Kowalski
be2e606fbd Prefer 'set' over 'setenv' for fish shell
The setenv function in fish shell has changed dramatically in
75600b6b53
It now conforms to the csh version, which takes at most two arguments.
In this init script, the form
    setenv PATH prepend_something $PATH
had been used, which had too many arguments.
Since setenv isn't a native command in fish, a suitable replacement is
to use the "set -gx" command, which can consume multiple arguments.
2017-04-06 23:55:48 -07:00
Tim Pope
9d93605e18 Don't unset CDPATH 2017-04-05 17:39:39 -04:00
Tim Pope
1f1e291385 Enforce absolute RBENV_DIR
This prevents CDPATH from becoming an issue.

Closes #866.
2017-04-05 16:54:03 -04:00
Josh Friend
bcc8ab231a Add PyPy 5.7.1 portable 2017-04-04 11:05:32 -04:00
Josh Friend
29126e4965 Add PyPy3.5 5.7.1 2017-04-04 10:27:20 -04:00
Josh Friend
ae11c56565 Add PyPy 5.7.1
closes #888
2017-04-03 20:54:27 -04:00
Yamashita, Yuu
eef042ad89 Merge pull request #884 from pyenv/ci-workaround-v1.0.10
Workaround for CI failures with versions with multiple digits
2017-03-28 13:47:35 +09:00
Yamashita, Yuu
bec978d0f6 Workaround for CI failures with versions with multiple digits
https://travis-ci.org/pyenv/pyenv/jobs/215777826
2017-03-28 04:43:28 +00:00
Yamashita, Yuu
b3efcc9d15 v1.0.10 (fixes #878) 2017-03-28 02:40:09 +00:00
Yamashita, Yuu
fe1bd31443 Merge pull request #881 from Samureus/miniconda-latest
Update miniconda-latest and miniconda3-latest
2017-03-27 11:43:14 +09:00
Martin Nowak
db39044ef6 partly resolve #759
- some versions of bash (e.g. 4.3.11) complain about clobbering
  /dev/null, use bash's explicit >| operator to ignore noclober
- not sure if the original #759 report has the same cause
- https://github.com/rbenv/rbenv/issues/759#issuecomment-289326891
2017-03-27 02:06:13 +02:00
Samuel Villamonte
45f1d19240 Merge pull request #880 from NickAnderegg/anaconda2-typos
python-build: Fix typo in MacOS packages for anaconda2-4.3.0/4.2.0
2017-03-26 14:16:25 -05:00
Samuel Villamonte
cb2a5b3cea miniconda3 no longer seems to have ARM or PPC *latest* versions, only numbered versions, and is now based on 3.6 2017-03-26 13:22:41 -05:00
Nick Anderegg
6404661372 python-build: Fix typo in MacOS packages for anaconda2-4.3.0/4.2.0
The package names in the python-build files for anaconda2-4.2.0 and
anaconda2-4.3.0 both had 'Anaconda2-4.2.1-MacOSX-x86_64' erroneously
listed as the package name. Anaconda2-4.2.1 is not a version of Anaconda
in existence. The URL arguments were correct, just not the package name
arguments.
2017-03-26 14:03:24 -04:00
Samuel Villamonte
69cfc1a3e2 Make miniconda-latest point to miniconda2-latest 2017-03-26 12:49:19 -05:00
Samuel Villamonte
00165f5796 Merge pull request #876 from NickAnderegg/anaconda-4.3.1
python-build: Add Anaconda2/Anaconda3 4.3.1
2017-03-25 23:52:32 -05:00
Samuel Villamonte
acfbc96614 V1.0.9 release (#877)
* Update version to 1.0.9
2017-03-24 11:36:21 -05:00
Nick Anderegg
c148ac9f89 python-build: Add Anaconda2/Anaconda3 4.3.1 2017-03-23 14:18:02 -04:00
Josh Friend
df52586134 Update changelog with new python additions 2017-03-22 08:49:48 -04:00
Samuel Villamonte
e5d8edf1d9 Add PyPy3 5.7-beta (#871) 2017-03-22 08:36:15 -04:00
Samuel Villamonte
030821e618 Add PyPy2 5.7.0 (#872) 2017-03-22 08:34:54 -04:00
Zhiming Wang
46a6adea6b Add CPython 3.6.1 and remove 3.6.1rc1 (#873) 2017-03-22 08:32:23 -04:00
Samuel Villamonte
cd22737d70 Added pypy-portable-5.7.0 (#868) 2017-03-21 22:00:44 -04:00
Samuel Villamonte
459a535228 Added pypy3-portable-5.7.0 (#869) 2017-03-21 22:00:38 -04:00
Doug Harris
cf38195541 Updated docs to reflect homebrew change. (#867)
* Updated docs to reflect homebrew change.

The instructions previously mentioned in this file were removed from the Homebrew caveats since
they weren't specific to homebrew. See discussion in [this homebrew issue](https://github.com/Homebrew/homebrew-core/pull/11209)

* Added link to specific section of readme
2017-03-21 16:00:37 -04:00
Yamashita, Yuu
98f40f6d6e Merge pull request #864 from Samureus/pypy3-5.7.0-src
Added pypy3.5-5.7-beta-src
2017-03-21 20:12:40 +09:00
Samuel Villamonte
a5619caf54 Added pypy3.5-5.7-beta-src this time for real 2017-03-21 00:35:54 -05:00
Yamashita, Yuu
23f62aeb75 Merge pull request #863 from Samureus/pypy-5.7.0-src
Add PyPy2 5.7.0-src
2017-03-21 14:31:37 +09:00
Yamashita, Yuu
7625d20ee4 Merge pull request #859 from Samureus/pyston-0.6.1
Added pyston-0.6.1
2017-03-21 14:30:22 +09:00
Samuel Villamonte
edd5b932d6 Added pypy2-v5.7.0-src 2017-03-21 00:12:45 -05:00
Samuel Villamonte
b7451d7280 Updated pypy-5.7.0-src shim 2017-03-21 00:08:03 -05:00
Samuel Villamonte
81c2e4b32e Added warning message on top 2017-03-20 23:54:40 -05:00
Samuel Villamonte
250208261f Merge branch 'master' of github.com:pyenv/pyenv into pyston-0.6.1 2017-03-13 22:52:33 -05:00
Yamashita, Yuu
d1ff898a2b Merge pull request #860 from Samureus/http_proxy-in-README
Mention http_proxy in README.md
2017-03-14 11:48:20 +09:00
Samuel Villamonte
d12120a4bf Change curl to proxy note 2017-03-12 09:53:15 -05:00
Samuel Villamonte
b1dd4a8130 Agh spaces 2017-03-12 09:50:35 -05:00
Samuel Villamonte
f1a22c104c Mention http_proxy and HTTPS_PROXY in README.md 2017-03-12 09:45:32 -05:00
Samuel Villamonte
8b0de41c4a Added pyston-0.6.1 2017-03-12 08:55:53 -05:00
Yamashita, Yuu
0e683164bd Merge pull request #852 from pyenv/migrate-to-pyenv-org
Migrate to pyenv org
2017-03-06 13:47:31 +09:00
Yamashita, Yuu
8ce9928819 Update Travi CI build status link target 2017-03-06 04:42:15 +00:00
Yamashita, Yuu
d01fa09a7d Migrate project URL to https://github.com/pyenv/pyenv 2017-03-06 04:31:48 +00:00
Yamashita, Yuu
3d36ee7227 Change default mirror site to https://pyenv.github.io 2017-03-06 04:27:06 +00:00
Yamashita, Yuu
98a879bdb0 Migrate project URL from https://github.com/yyuu to https://github.com/pyenv 2017-03-06 04:14:12 +00:00
Yamashita, Yuu
4107496053 Update to 3.6.1rc1's OpenSSL to 1.0.2k (#850, #851) 2017-03-06 04:09:40 +00:00
Yamashita, Yuu
291b6fb2be Merge pull request #851 from zmwangx/upgrade-openssl-to-1.0.2k
Upgrade OpenSSL to 1.0.2k
2017-03-06 07:07:57 +09:00
Yamashita, Yuu
7d50714105 Merge pull request #850 from zmwangx/cpython-3.6.1rc1
Add CPython 3.6.1rc1
2017-03-06 07:06:29 +09:00
Zhiming Wang
ba620fd076 Upgrade OpenSSL to 1.0.2k 2017-03-05 11:17:36 -05:00
Zhiming Wang
3cf9586b92 Add CPython 3.6.1rc1
https://www.python.org/downloads/release/python-361rc1/
2017-03-05 11:05:31 -05:00
Yamashita, Yuu
b7d89bacf3 Merge pull request #845 from jwilk/spelling
Fix typos
2017-03-02 08:55:34 +09:00
Jakub Wilk
3a4c7cf200 Fix typos 2017-03-02 00:20:59 +01:00
Yamashita, Yuu
ad8f2886ae v1.0.8 (fixes #841) 2017-02-24 06:09:09 +00:00
Yamashita, Yuu
9a99d427ef --quiet options isn't sensible for sha256sum(1) of GNU coreutils (fixes #840)
The option is available only if verifying digest, not available when computing digest.

>       --quiet
>              don't print OK for each successfully verified file
2017-02-23 20:06:44 +00:00
Yamashita, Yuu
6bb14c60da Merge pull request #837 from yyuu/cpython-github-dev
Use GitHub for all CPython dev versions
2017-02-17 09:28:01 -08:00
Yamashita, Yuu
d9c933e0c0 Use GitHub for all CPython dev versions (#836) 2017-02-17 17:24:05 +00:00
Yamashita, Yuu
19cb9f535a Merge pull request #836 from yan12125/cpython-now-uses-git
CPython now uses git
2017-02-17 08:08:23 -08:00
Yen Chi Hsuan
84c4ed5230 CPython now uses git 2017-02-17 19:03:33 +08:00
Max Nordlund
fab5cf912f Fix pyenv -> rbenv typo 2017-02-10 09:31:13 +01:00
Yamashita, Yuu
235eea3003 Merge pull request #831 from maxnordlund/patch-1
Fix fish subcommand completion
2017-02-10 17:24:11 +09:00
Max Nordlund
9f52b56aa8 Fix fish subcommand completion
This allows subcommand style plugins to properly autocomplete.
Existing commands are not affected. 

Example, say you have support for `rbenv foo bar --flag`, then
this allows the last `--flag` argument to be properly completed.
2017-02-10 09:12:30 +01:00
Yamashita, Yuu
688c0af0cd Merge pull request #828 from massongit/develop
Fix file the path and file name of README.md
2017-02-10 10:18:41 +09:00
SUZUKI Masaya
c1af5ab0a9 Fix the file path. 2017-02-10 10:04:35 +09:00
Max Nordlund
e09d61780c Fix fish subcommand completion
This allows subcommand style plugins to properly autocomplete.
Existing commands are not affected. 

Example, say you have support for `pyenv foo bar --flag`, then
this allows the last `--flag` argument to be properly completed.
2017-02-09 15:15:28 +01:00
massongit
4cef3d74ac Fix file the path and file name of README.md 2017-02-06 22:26:13 +09:00
Yamashita, Yuu
f36d735e27 Merge pull request #824 from jprjr/add-anaconda-4.3.0
Add Anaconda 4.3.0
2017-02-03 10:16:17 +09:00
John Regan
a6776562c1 Add Anaconda 4.3.0 2017-02-01 16:28:44 +00:00
Yamashita, Yuu
9c4e489637 Merge pull request #823 from yyuu/revert-819-master
Revert "use $ORIGIN for rpath so the built python can be copied"
2017-01-28 20:24:14 +09:00
Yamashita, Yuu
afbd54dd13 Revert "use $ORIGIN for rpath so the built python can be copied" 2017-01-28 20:21:25 +09:00
Yamashita, Yuu
99b510859d Merge pull request #819 from woosley/master
use $ORIGIN for rpath so the built python can be copied
2017-01-27 11:08:06 +09:00
woosley
2657f1049c use $ORIGIN for rpath so the built python can be copied 2017-01-26 08:30:15 +00:00
Yamashita, Yuu
99d16707e3 Removed release candidates of 3.4.6 and 3.5.3 (#811, #812) 2017-01-19 00:47:24 +00:00
Yamashita, Yuu
57f946550a v1.0.7 2017-01-19 00:39:23 +00:00
Yamashita, Yuu
ccaab86c4c Merge pull request #812 from browniebroke/3.4.6
Add CPython 3.4.6
2017-01-19 09:34:51 +09:00
Yamashita, Yuu
db4cc6097f Merge pull request #811 from browniebroke/3.5.3
Add CPython 3.5.3
2017-01-19 09:34:17 +09:00
Bruno Alla
54e7796eee Update sha's for Python 3.5.3 archives 2017-01-17 12:22:19 +00:00
Bruno Alla
bf613e3d54 Add CPython 3.4.6
https://www.python.org/downloads/release/python-346/
2017-01-17 11:41:01 +00:00
Bruno Alla
25c6817c48 Add CPython 3.5.3 2017-01-17 11:14:21 +00:00
Yamashita, Yuu
0464221edb Specify -O0 when --debug has specified (fixes #808) 2017-01-16 01:23:01 +00:00
Yamashita, Yuu
4d96271113 Merge pull request #801 from yyuu/let-jython-to-generate-launcher-as-shell-script
Let Jython installer to generate shell script instead of python script even if there's `python2.7` available in `$PATH`
2017-01-06 23:26:44 +09:00
Yamashita, Yuu
322aa82ae7 I should have created stub script in $BUILD_PATH explicltly since pwd isn't changed before install_jar 2017-01-06 14:23:23 +00:00
Yamashita, Yuu
9833be730a Let Jython installer to generate shell script instead of python script even if there's python2.7 available in $PATH (#800) 2017-01-06 14:19:04 +00:00
Yamashita, Yuu
e3c8a754a4 Merge pull request #798 from orip/patch-1
README: multiple versions in .python-version
2017-01-06 21:31:00 +09:00
Josh Friend
2d5fc1b749 Add CPython 3.4.6rc1 2017-01-02 23:34:34 -05:00
Josh Friend
001c824744 Add CPython 3.5.3rc2 2017-01-02 23:34:34 -05:00
Ori Peleg
fa80772142 README: multiple versions in .python-version
Document that multiple versions in `.python-version` work similarly to the command line.
2017-01-02 16:18:38 +02:00
Yamashita, Yuu
0c7d2205ff Merge pull request #797 from PeterDaveHello/patch-2
Shallow clone bats in makefile
2017-01-01 21:31:46 +09:00
Yamashita, Yuu
4f719b7909 Merge pull request #796 from PeterDaveHello/patch-1
Syntax highlight in README.md
2017-01-01 21:31:09 +09:00
Peter Dave Hello
134d38fc53 Shallow clone bats in makefile 2017-01-01 18:40:52 +08:00
Peter Dave Hello
3531ad06b2 Syntax highlight in README.md 2017-01-01 18:39:20 +08:00
Takahiro Ueda
767bcae71c Fix the checksum for Python-3.6.0.tgz (#793) 2016-12-30 10:18:36 -05:00
Yamashita, Yuu
0256ff06e8 Add mention to pyenv-virtualenv in README (#662) 2016-12-27 00:51:29 +00:00
Josh Friend
2552329dbd v1.0.6 2016-12-23 08:51:29 -05:00
Donald Stufft
ac0dd36da8 Add CPython 3.6.0 (#787) 2016-12-23 14:29:36 +01:00
Mislav Marohnić
4f8925abe7 Merge pull request #958 from jasonkarns/rbenv-variable-namespace
Conforms OLD_RBENV_VERSION to RBENV_* convention
2016-12-20 14:34:32 +01:00
Jason Karns
8eb97549e1 Conforms OLD_RBENV_VERSION to RBENV_* convention
Keeping rbenv-controlled variables to RBENV_* "namespace" helps with
discoverability (and tools like rbenv-env) but also consistency and a
very minor degree of safety/isolation from env impact.
2016-12-19 17:21:45 -05:00
Josh Friend
095ca59878 v1.0.5 2016-12-17 18:04:50 -05:00
Josh Friend
fed6d25cb1 Remove CPython 2.7.13rc1 2016-12-17 18:04:36 -05:00
Zhiming Wang
7203a96cd7 Add CPython 2.7.13 (#782)
https://www.python.org/downloads/release/python-2713/.
2016-12-17 17:33:11 -05:00
Zhiming Wang
cf7fe1d87f Add CPython 3.6.0rc2 (#781)
https://www.python.org/downloads/release/python-360rc2/.
2016-12-17 17:32:28 -05:00
Yamashita, Yuu
1000c2fa99 Merge pull request #780 from luzfcb/patch-2
document how to accelerate the download with aria2
2016-12-17 06:57:45 +09:00
Fábio C. Barrionuevo da Luz
fc7ceb4176 document how to accelerate the download with aria2 2016-12-16 14:08:44 -03:00
Yamashita, Yuu
a73d90b9a0 Add Anaconda2 4.2.0 (fixes #774) 2016-12-12 00:48:34 +00:00
Yamashita, Yuu
c024fc8428 Merge pull request #775 from Samureus/ironpython-2.7.7
Add Ironpython 2.7.7
2016-12-12 09:34:03 +09:00
Samuel Villamonte
a08f82cab8 Added ensurepip check 2016-12-11 12:07:14 -05:00
Samuel Villamonte
f39fc3a71a Changed to install_zip 2016-12-11 11:22:23 -05:00
Samuel Villamonte
5826d4275b Removed ironpython-2.7.7-rc2 definition 2016-12-11 11:09:55 -05:00
Samuel Villamonte
c930df95b2 Added ironpython-2.7.7 2016-12-11 11:07:55 -05:00
Josh Friend
dce5f750ce Add CPython 3.6.0rc1 2016-12-07 11:02:02 -05:00
Yamashita, Yuu
d72b977846 Merge pull request #771 from zmwangx/cpython-2.7.13rc1
Add CPython 2.7.13rc1
2016-12-04 19:23:27 +09:00
Zhiming Wang
935fdb003b Add CPython 2.7.13rc1
https://www.python.org/downloads/release/python-2713rc1/
2016-12-03 23:58:38 -05:00
Mislav Marohnić
e60ad4a090 rbenv 1.1.0 2016-11-25 21:11:08 +01:00
Mislav Marohnić
6ced4e25de Merge pull request #873 from dmerand/patch-1
Fish shell "." is deprecated in favor of "source"
2016-11-25 20:32:54 +01:00
Mislav Marohnić
2207c27cb4 Merge branch 'shell-undo' 2016-11-25 20:26:24 +01:00
Mislav Marohnić
c4d97ad392 Finalize rbenv shell - implementation
This ensures that OLD_RBENV_VERSION is never exported. This makes the
implementation a little bit more complex, since more logic needs to be
pushed down into eval'd code.
2016-11-25 20:24:16 +01:00
Mislav Marohnić
1b751261ce Merge pull request #914 from yyuu/sh-help-stderr
Help message should not be written to stdout for `sh-` commands
2016-11-25 19:06:01 +01:00
Yamashita, Yuu
53cf2e3387 Merge pull request #765 from takeru/anaconda3-4.2.0
anaconda3-4.2.0
2016-11-25 10:02:16 +09:00
sasaki takeru
bde4786577 anaconda3-4.2.0 2016-11-24 20:57:20 +09:00
Josh Friend
30baff8e5d v1.0.4 2016-11-22 23:31:12 -05:00
Josh Friend
0f6c5ac9b7 Add Pyston 0.6.0 2016-11-22 23:31:12 -05:00
Zhiming Wang
08fc271fca Add CPython 3.6.0b4 and remove 3.6.0b3 (#762)
* Remove CPython 3.6.0b3 in favor of 3.6.0b4

* Add CPython 3.6.0b4

https://www.python.org/downloads/release/python-360b4/.
2016-11-22 09:14:59 -05:00
Yamashita, Yuu
956b9efe0f Merge pull request #737 from Samureus/pypy3.5-c-jit-latest
Pypy3.5-c-jit-latest nightly builds (please review)
2016-11-17 09:20:22 +09:00
Samuel Villamonte
1c63e733f8 Uncomment verify_py35 and ensurepip
Don't remember exactly why I had these out, guess it could be something about pip, seems to be working now
2016-11-15 21:29:03 -05:00
Samuel Villamonte
b9d8a75c8b Merge branch 'master' into pypy3.5-c-jit-latest 2016-11-15 21:16:24 -05:00
Yamashita, Yuu
635d83e26c Merge pull request #752 from Samureus/ironpython-2.7.7-rc2
Add Ironpython 2.7.7 rc2
2016-11-16 10:58:53 +09:00
Josh Friend
74ba392548 Update CHANGELOG 2016-11-13 15:19:41 -05:00
Josh Friend
3ec652e0b1 Add stackless 2.7.11 2016-11-13 15:19:28 -05:00
Josh Friend
c59b1d55c4 Add stackless 2.7.10 2016-11-13 15:19:12 -05:00
Samuel Villamonte
bfbc9e280b Add stackless-2.7.12 (#753) 2016-11-13 14:18:42 -05:00
Samuel Villamonte
fb8801120b Merge branch 'master' of github.com:yyuu/pyenv into pypy3.5-c-jit-latest 2016-11-12 22:11:39 -05:00
Samuel Villamonte
1ca671cc6a Change install_zip to install_package 2016-11-12 19:42:08 -05:00
Samuel Villamonte
dffd62e2cb Add ironpython-2.7.7-rc2 2016-11-12 19:37:00 -05:00
Samuel Villamonte
8f7fb57fbb Add Portable PyPy2 5.6.0 (#749) 2016-11-12 15:37:59 -05:00
Samuel Villamonte
6540dd7ca5 Add PyPy2 5.6.0-src (#750) 2016-11-12 15:37:41 -05:00
Samuel Villamonte
293ffb04a6 Add PyPy2 5.6.0 (#751) 2016-11-12 15:35:03 -05:00
Yamashita, Yuu
0d1a5b3030 v1.0.3 2016-11-11 05:16:06 +00:00
Josh Friend
41606c4307 Merge pull request #744 from methane/3.6.0b3
CPython 3.6.0b3
2016-11-01 08:43:30 -04:00
INADA Naoki
114f4f6d49 3.6.0b3 2016-11-01 19:34:28 +09:00
Samuel Villamonte
a80f54307e Add a link to the buildbot listing page 2016-10-15 13:41:44 -05:00
Samuel Villamonte
709ff7fba7 Fix some formatting 2016-10-15 13:35:36 -05:00
Samuel Villamonte
0ba2cec70e Merge branch 'master' of github.com:yyuu/pyenv into pypy3.5-c-jit-latest
Update from upstream
2016-10-15 13:25:41 -05:00
Yamashita, Yuu
eb2e5ac4c4 Merge pull request #736 from scop/pypy3355-portables
Add PyPy3.3 v5.5-alpha portable binaries
2016-10-14 15:22:54 +09:00
Ville Skyttä
6e658f30a9 Add PyPy3.3 v5.5-alpha portable binaries 2016-10-14 08:38:06 +03:00
Yamashita, Yuu
1dee022342 Merge pull request #735 from scop/notes
Fedora users should tweak ~/.bashrc too
2016-10-12 11:56:51 +09:00
Yamashita, Yuu
31a3aec870 Merge pull request #726 from yyuu/osx-unicode-narrow-ucs2
Stop using ucs4 as default unicode encoding on OS X
2016-10-12 11:56:23 +09:00
Ville Skyttä
22ab0f8b2f Like Ubuntu, Fedora users should modify ~/.bashrc too 2016-10-11 22:39:25 +03:00
Ville Skyttä
e04f2720b4 Make Ubuntu notes stand out better; add linebreak after zsh ones
Line break accomplished by two trailing spaces on the zsh lines.
2016-10-11 22:38:19 +03:00
Josh Friend
aa36a3f69c Merge pull request #733 from scop/spelling
Spelling fixes
2016-10-11 10:04:27 -04:00
Yamashita, Yuu
7718410061 Merge pull request #734 from scop/pypy3355
Add PyPy3.3 v5.5-alpha
2016-10-11 22:15:06 +09:00
Ville Skyttä
d5f18d4d82 Add PyPy3.3 v5.5-alpha 2016-10-11 14:42:09 +03:00
Ville Skyttä
725ff0c5dd Spelling fixes 2016-10-11 14:07:48 +03:00
Josh Friend
ddc9b4d861 Merge pull request #731 from zmwangx/cpython-3.6.0b2
Add CPython 3.6.0b2 and remove 3.6.0b1
2016-10-10 22:29:57 -04:00
Zhiming Wang
bf0cdcf980 Remove CPython 3.6.0b1 in favor of 3.6.0b2 2016-10-10 22:11:24 -04:00
Zhiming Wang
5fe403d7da Add CPython 3.6.0b2
https://www.python.org/downloads/release/python-360b2/.
2016-10-10 22:10:32 -04:00
Yamashita, Yuu
77981bbf1a Merge pull request #730 from skirpichev/3.6
Point 3.6-dev to the 3.6 branch
2016-10-10 17:44:42 +09:00
Yamashita, Yuu
e198792df2 Merge pull request #729 from BanzaiMan/python-3.7-dev
Add 3.7-dev definition
2016-10-10 17:43:39 +09:00
Sergey B Kirpichev
72d6b75b5c Point 3.6-dev to the 3.6 branch
As reported in travis-ci/travis-ci#6599,
the "default" Python branch has moved on to "3.7-dev".
2016-10-10 09:57:47 +03:00
Hiro Asari
a87877c381 Add 3.7-dev definition
As reported in https://github.com/travis-ci/travis-ci/issues/6599,
the "default" Python branch has moved on to "3.7-dev".
2016-10-10 00:53:44 -04:00
Yamashita, Yuu
ff67dc7036 Merge pull request #728 from Samureus/patch-1
Incorrect directory in the 32-bit version
2016-10-09 14:52:37 +09:00
Samuel Villamonte
096f0e2ba6 Incorrect directory in the 32-bit version 2016-10-09 00:41:43 -05:00
Yamashita, Yuu
35ecd398ac Fix test failure on OS X 2016-10-05 10:06:03 +09:00
Yamashita, Yuu
9f3f38d312 Add uname stubs to avoid test failures on OS X (#257) 2016-10-05 00:45:21 +00:00
Yamashita, Yuu
021b53f924 Stop specifying --enable-unicode=ucs4 on OS X (#257) 2016-10-05 00:32:57 +00:00
Yamashita, Yuu
8f4a361414 Merge pull request #725 from robsonpeixoto/venv-3.5.2-fix
Add patch to fix 3.5.2 bug - https://bugs.python.org/issue26664
2016-10-04 10:56:33 +09:00
Robson Roberto Souza Peixoto
e5ce793ad5 Add patch to fix 3.5.2 bug - https://bugs.python.org/issue26664 2016-10-03 08:47:19 -03:00
Yamashita, Yuu
0e298b691d Merge pull request #718 from Samureus/pyston-0.5.1
Add Pyston 0.5.1
2016-10-03 10:29:50 +09:00
Samuel Villamonte
4336d8b43a Drop numpy install for now 2016-10-02 11:57:06 -05:00
Samuel Villamonte
46bc0b7558 Moved this too soon, verify_python() expects bin/python to be created first 2016-10-02 11:38:50 -05:00
Samuel Villamonte
858b318779 Add workaround hacks into pyston-0.5.1 2016-10-02 10:24:26 -05:00
Samuel Villamonte
b662634abf Move virtualenv hack into pyston-0.5.1 2016-10-02 10:07:50 -05:00
Mislav Marohnić
c7dcaf1259 Merge pull request #924 from jlduran/add-freebsd-to-configure-c-extensions
src/configure: Add FreeBSD
2016-09-27 15:17:33 -04:00
Samuel Villamonte
7a957c5488 Fix missing reference to pypy_architecture 2016-09-26 21:16:52 -05:00
Samuel Villamonte
4e4bd42020 Changed pypy_architecture reference to pyston alias 2016-09-26 20:31:01 -05:00
Samuel Villamonte
d24ce2494b Added pyston_architecture() alias to python-build 2016-09-26 20:28:46 -05:00
Samuel Villamonte
8acb4ebaba Delete pyston-0.5.1-numpy 2016-09-26 19:46:29 -05:00
Samuel Villamonte
4441eeada7 Merge branch 'master' into pyston-0.5.1 2016-09-26 00:49:53 -05:00
Yamashita, Yuu
80e769e8d6 Merge pull request #720 from Samureus/stackless-3.4.2
Add stackless-3.4.2 with SHA256 checksum
2016-09-26 14:44:17 +09:00
Samuel Villamonte
e48c2d2f66 Add stackless-3.4.2 with SHA256 checksum 2016-09-25 23:21:50 -05:00
Yamashita, Yuu
7ee7eb108d Merge pull request #717 from Samureus/patch-1
Added SHA256 checksum
2016-09-26 10:32:37 +09:00
Samuel Villamonte
800488bbc1 Add pyston-0.5.1-numpy shim 2016-09-25 17:31:56 -05:00
Samuel Villamonte
e03cb557b0 Add pyston-0.5.1 2016-09-25 17:27:36 -05:00
Samuel Villamonte
866dcd408e Add build_package_pyston() to python-build 2016-09-25 17:25:55 -05:00
Samuel Villamonte
7890b27bcf Added SHA256 checksum to stackless-2.7.9 2016-09-25 00:52:03 -05:00
Samuel Villamonte
7fed8c9c54 Added SHA256 checksum 2016-09-25 00:46:14 -05:00
Yamashita, Yuu
1f9eb6b25d Merge pull request #716 from Samureus/ironpython-2.7.6.3
Add ironpython-2.7.6.3
2016-09-25 10:26:51 +09:00
Yamashita, Yuu
ed1bcc755a Merge pull request #714 from Samureus/stackless-2.7.9
Added stackless-2.7.9
2016-09-25 10:20:27 +09:00
Samuel Villamonte
7ac203bc11 Add ironpython-2.7.6.3 2016-09-24 11:43:24 -05:00
Samuel Villamonte
53fd32c2b6 Added stackless-2.7.9 2016-09-24 10:39:11 -05:00
Yamashita, Yuu
d74daad8f5 v1.0.2 (fixes #709) 2016-09-20 00:52:19 +00:00
Yamashita, Yuu
5be82cb363 Merge pull request #706 from proinsias/proinsias-miniconda-4.1.11
Latest version of miniconda is 4.1.11 not 4.1.1
2016-09-16 00:19:13 +09:00
Francis T. O'Donovan
89a150f434 Latest version of miniconda is 4.1.11 not 4.1.1
My bad!
2016-09-15 09:49:02 -04:00
Yamashita, Yuu
7214f59385 Merge pull request #705 from proinsias/patch-4
Rearrange 'pyenv install' sections in COMMANDS.md
2016-09-15 22:37:15 +09:00
Francis T. O'Donovan
1fc3b48907 Rearrange 'pyenv install' sections in COMMANDS.md
I noticed that there were 3 sections for `pyenv install`, so I've rearranged these to make 1 section.
2016-09-15 09:28:54 -04:00
Yamashita, Yuu
47b6f545f3 Merge pull request #704 from proinsias/patch-3
Add miniconda3 4.1.1
2016-09-15 12:27:33 +09:00
Yamashita, Yuu
ea7ae1ba1a Merge pull request #703 from proinsias/patch-2
Add miniconda2 4.1.1
2016-09-15 12:27:17 +09:00
Yamashita, Yuu
8b982b1cd4 Merge pull request #702 from proinsias/patch-1
Add anaconda2 4.1.1
2016-09-15 12:26:57 +09:00
Francis T. O'Donovan
fe25b85982 Add miniconda3 4.1.1 2016-09-14 21:58:22 -04:00
Francis T. O'Donovan
a2298f7660 Add miniconda2 4.1.1 2016-09-14 21:57:09 -04:00
Francis T. O'Donovan
fd19e45fa9 Add anaconda2 4.1.1 2016-09-14 21:54:31 -04:00
Yamashita, Yuu
7531e7779f Merge pull request #701 from proinsias/patch-1
Add anaconda3 4.1.1
2016-09-15 07:03:14 +09:00
Francis T. O'Donovan
9c78edcdaf Add anaconda3 4.1.1 2016-09-14 17:34:37 -04:00
Yamashita, Yuu
8305eaefe3 Merge pull request #700 from yyuu/issue687
Remove `bin.orig` if it already exists
2016-09-14 09:56:39 +09:00
Yamashita, Yuu
bc4abf06bd Remove bin.orig if it already exists (fixes #687)
The directory may exist if the `build_package_symlink_version_suffix`
ran multiple times.
2016-09-14 09:54:01 +09:00
s1341
36647a66de Only mv bin to bin.orig the first time, otherwise the mv will fail 2016-09-14 09:53:19 +09:00
Yamashita, Yuu
79fca42c35 Merge pull request #699 from zmwangx/3.6.0b1
Add CPython 3.6.0b1 and remove 3.6.0a4
2016-09-14 09:37:13 +09:00
Zhiming Wang
9dcc477c3f Remove CPython 3.6.0a4 in favor of 3.6.0b1 2016-09-13 00:29:00 -04:00
Zhiming Wang
5462e8df8c Add CPython 3.6.0b1
https://www.python.org/downloads/release/python-360b1/
2016-09-13 00:28:41 -04:00
Samuel Villamonte
61ce66a7c6 Added warning message 2016-09-09 07:38:19 -05:00
Mislav Marohnić
d0779fc8fb Expand literal tilde in PATH
The literal tilde in a PATH entry (e.g. `~/.rbenv/shims`) doesn't seem
to be supported by system `which` utility, but *does* seem to be
supported by `command -v` (used in `rbenv-which`) and `type -p`.

Therefore, we must strip away `~/.rbenv/shims` from PATH when looking up
executables for system Ruby, lest we risk infinite loop. We do so by
substituting any occurence of `~` in PATH with the value of `HOME`.
2016-09-09 10:29:12 +02:00
Samuel Villamonte
bde78e83a0 Added latest pypy 3.5 nightly build 2016-09-09 01:34:48 -05:00
Yamashita, Yuu
a0c5fe42e9 v1.0.1 (#694) 2016-09-09 05:26:49 +00:00
Yamashita, Yuu
3e433b2949 Merge pull request #697 from Samureus/pypy2-5.4.1
Added pypy2-5.4.1 and pypy-5.4.1
2016-09-09 14:23:43 +09:00
Samuel Villamonte
d3b71cfb0b Merge branch 'master' into pypy2-5.4.1 2016-09-08 23:53:12 -05:00
Samuel Villamonte
ba945d229c Update pypy2-5.4.1
Updated comment and fixed typo.
2016-09-08 23:50:09 -05:00
Yamashita, Yuu
4e192a6851 Merge pull request #695 from Samureus/pypy2-5.4.1-src
Added pypy2-5.4.1-src
2016-09-09 13:41:08 +09:00
Samuel Villamonte
85354377dd Forgot about shim sorry 2016-09-08 23:34:15 -05:00
Samuel Villamonte
654b645984 Merge branch 'master' into pypy2-5.4.1-src 2016-09-08 23:24:44 -05:00
Samuel Villamonte
e44f7399f5 Added pypy2-5.4.1 and pypy-5.4.1 2016-09-08 23:21:41 -05:00
Yamashita, Yuu
45173d1f67 Merge pull request #696 from Samureus/pypy-portable-5.4.1
Added pypy-portable-5.4.1 now
2016-09-09 13:09:51 +09:00
Samuel Villamonte
baeecdfc7d Added pypy-portable-5.4.1 now 2016-09-08 22:38:09 -05:00
Samuel Villamonte
b2ee05b931 Added pypy2-5.4.1-src 2016-09-08 22:19:21 -05:00
Yamashita, Yuu
6601c34408 Update change log [ci skip] 2016-09-06 01:16:49 +00:00
Yamashita, Yuu
7417b6d57f Merge pull request #686 from Samureus/pypy2-5.4-updated
Updated pypy2-5.4 with portable pypy links
2016-09-03 11:31:23 +09:00
Samuel Villamonte
3d89369f50 Updated pypy2-5.4 with portable pypy links 2016-09-02 20:25:12 -05:00
Yamashita, Yuu
c6ff64220f Merge pull request #685 from Samureus/pypy-portable-5.4
Added pypy-portable-5.4
2016-09-03 10:23:56 +09:00
Samuel Villamonte
44df355099 Added pypy-portable-5.4 2016-09-02 20:08:50 -05:00
Yamashita, Yuu
414a512f47 Add pypy2-5.3.1-src 2016-09-01 04:41:35 +00:00
Yamashita, Yuu
165fbb2c1d Add PyPy2 5.4 2016-09-01 04:36:56 +00:00
Yamashita, Yuu
11476f7a31 Merge pull request #684 from yyuu/pypy-to-pypy2
Rename pypy 5.x definitions as `pypy2`
2016-09-01 13:29:08 +09:00
Yamashita, Yuu
15b336da84 s/pypy/&2/ in error messages 2016-09-01 04:26:20 +00:00
Yamashita, Yuu
d15140fea6 Rename pypy 5.x definitions as pypy2 2016-09-01 04:22:46 +00:00
Yamashita, Yuu
955d517588 Merge pull request #683 from Samureus/pypy-5.4-src
Added pypy-5.4-src
2016-09-01 13:18:21 +09:00
Samuel Villamonte
e7943da3f5 Added pypy-5.4-src 2016-08-31 21:50:41 -05:00
Yamashita, Yuu
dcc109f8be Merge pull request #680 from hawkowl/https
make all http source urls https
2016-08-24 10:19:34 +09:00
Amber Brown (HawkOwl)
778bb2e10f stackless over https too 2016-08-24 03:22:10 +08:00
Amber Brown (HawkOwl)
12447f67f5 make all http source urls https 2016-08-24 02:07:27 +08:00
Josef Hoerandtner
e29dd67ce8 Add default-packages to .gitignore
The plugin pyenv-default-packages uses `$(pyenv root)/default-packages`
as configuration file. Since this plugin is listed as approved, I
assume it makes sense to have the file permanently ignored by Git.
2016-08-16 21:43:55 +02:00
Yamashita, Yuu
e23b9e90b4 Merge pull request #673 from zmwangx/3.6.0a4
Add CPython 3.6.0a4; remove 3.6.0a1 and 3.6.0a3
2016-08-16 18:02:41 +09:00
Zhiming Wang
7dd33c27c2 Remove CPython 3.6.0a1 and 3.6.0a3 in favor of 3.6.0a4 2016-08-16 16:24:08 +08:00
Zhiming Wang
cbcf03d327 Add CPython 3.6.0a4
https://www.python.org/downloads/release/python-360a4/
2016-08-16 16:23:34 +08:00
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
Jose Luis Duran
99342d642f src/configure: Add FreeBSD 2016-08-08 17:24:07 -03: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
26ac59fd1d Write help message to stdout 2016-07-04 00:56: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
7860ad5268 Help message should not be written to stdout for sh- commands (yyuu/pyenv#650) 2016-07-01 00:08:19 +00: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
7467c88780 v20160303 2016-03-03 00:43:07 +00:00
Yamashita, Yuu
d75b1a12d7 Removed diff between ruby-build <-> python-build a little 2016-03-03 00:37:22 +00:00
Yamashita, Yuu
7db657beb5 Upgrade OpenSSL to 1.0.2g (fixes #550) 2016-03-03 00:29:00 +00:00
Yamashita, Yuu
41ce3aade2 Merge remote-tracking branch 'rbenv/master' into rbenv-1.0 2016-03-02 01:39:52 +00:00
Yamashita, Yuu
0c4392bf16 Merge pull request #547 from hackaugusto/master
Added pypy-dev special case in pyenv-install to use py27
2016-03-01 21:41:01 +09:00
Augusto F. Hack
d2e2c61c51 added pypy-dev special case in pyenv-install to use py27 2016-03-01 09:35:32 -03:00
Yamashita, Yuu
e1aac2a12c Merge branch 'issue546' 2016-03-01 00:02:27 +00:00
Yamashita, Yuu
b1cccdb24c Revert fetch_nightly_tarball which is used from PyPy's nightly build (fixes #546) 2016-03-01 00:01:50 +00:00
Donald Merand
121159c089 Merge branch 'patch-1' of https://github.com/dmerand/rbenv into patch-1 2016-02-20 10:28:19 -05:00
Donald Merand
8b0b51a166 convert references to '.' to 'source' for fish shell 2016-02-20 10:27:39 -05:00
Sam Stephenson
29b4da7737 Adopt Contributor Covenant 1.4 2016-02-19 12:28:40 -06:00
Donald Merand
b81f0a2c42 Fish shell "." is deprecated in favor of "source"
Per [the fish documentation for "source"](file:///usr/local/Cellar/fish/2.2.0/share/doc/fish/commands.html#source) - ". (a single period) is an alias for the source command. The use of . is deprecated in favour of source, and . will be removed in a future version of fish."
2016-02-17 15:48:00 -05:00
Yamashita, Yuu
a6f1f480eb Merge pull request #542 from yyuu/default-unicode-ucs4
Compile with `--enable-unicode=ucs4` by default for CPython
2016-02-17 20:33:52 +09:00
Yamashita, Yuu
d8fe9fd0cb Merge pull request #543 from kuanyili/update-continuum
Update build scripts for Continuum products
2016-02-15 17:56:13 +09:00
Kuan-Yi Li
dc97ef3dbe Add anaconda[23]-2.5.0 2016-02-15 15:44:11 +08:00
Kuan-Yi Li
efb00b65bf Switch download URL of Continuum products from HTTP to HTTPS
Conda access official Continuum repository through HTTPS now. Making the
switch for better security and privacy.
2016-02-15 15:31:57 +08:00
Yamashita, Yuu
5436020ec3 Add a test for custom value for --enable-unicode 2016-02-15 00:42:34 +00:00
Yamashita, Yuu
b37361b862 Fix broken tests with --enable-unicode=ucs4 by default 2016-02-15 00:37:20 +00:00
Yamashita, Yuu
90e6e30d63 Compile with --enable-unicode=ucs4 by default for CPython (fixes #257) 2016-02-15 00:27:40 +00: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
Yamashita, Yuu
c8ab429d7b Import recent changes from ruby-build 20160130 2016-02-08 00:19:05 +00:00
Yamashita, Yuu
f2f703d6d9 Merge pull request #536 from patrick91/patch-1
Documenting the skip-existing option for install
2016-02-05 17:54:45 +09:00
Patrick Arminio
2de5ca0846 Documenting the skip-existing option for install 2016-02-05 09:50:02 +01:00
Yamashita, Yuu
425e44d064 v20160202 2016-02-02 08:43:21 +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
Yamashita, Yuu
b84b9ce532 Use setuptools 17.1.1 for Python 3.0-3.2 to prevent the following warning (#531)
```
/home/yyuu/.pyenv/versions/3.2.6/lib/python3.2/site-packages/pkg_resources/__init__.py:85: UserWarning: Support for Python 3.0-3.2 has been dropped. Future versions will fail here.
  warnings.warn(msg)
```
2016-01-30 04:38:29 +00:00
Yamashita, Yuu
dcec0cedf4 Add patches for Stackless 3.2.x to fix build failures 2016-01-30 02:37:15 +00:00
Yamashita, Yuu
1dc9ef24df Use pip 7.1.2 for CPython 3.2.x (#531) 2016-01-30 02:18:56 +00:00
Aaron Patterson
6a912bf104 add support for rbenv shell -
`rbenv shell -` allows you to switch to the previously activated ruby
version.  Similar to `cd -` or `git checkout -`.

This tries to implement `rbenv shell -` as proposed in #854.  However,
adding support seemed to break the "shell change version" test.  I'm not
very good at Bash programming, can someone tell me what is wrong with
what I'm doing?  I'd like to add a bit more functionality to this, but
I'm really just cargo cult programming Bash.

Thank you!

fix tests
2016-01-12 15:32:59 -08: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
Yamashita, Yuu
5c5205e172 Remove broken 3.4.4rc1 (fixes #515) 2016-01-01 02:12:55 +00: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
Yamashita, Yuu
4c06f23aaf Run rehash after conda install 2015-12-23 08:09:40 +00:00
Yamashita, Yuu
046f5bde02 Add miniconda latest 2015-12-23 07:54:47 +00:00
Yamashita, Yuu
c678bb1eaa Add anaconda[23]-2.4.1 2015-12-23 07:41:52 +00:00
Yamashita, Yuu
5e72a4c3e3 Add miniconda[23]-3.19.0 2015-12-23 06:57:51 +00:00
Yamashita, Yuu
23669162c0 Rename anaconda/miniconda to anaconda2/miniconda2 2015-12-23 06:54:28 +00:00
Yamashita, Yuu
01835c2682 Merge pull request #511 from dirn/cpython-3.4.4
Add CPython 3.4.4
2015-12-23 01:00:11 +09:00
Andy Dirnberger
4243ac6ffc Add CPython 3.4.4 2015-12-22 10:58:48 -05:00
Yamashita, Yuu
b0f29d511a v20151222 2015-12-22 10:45:34 +00:00
Yamashita, Yuu
3031cb9750 Add workaround for test failure on Arch Linux (#480) 2015-12-20 12:29:30 +00:00
Yamashita, Yuu
6bcb1d6211 Merge pull request #510 from yyuu/no-ssl3-for-py30-py31-py32
`OPENSSL_NO_SSL3` patch for 3.0.x, 3.1.x and 3.2.x
2015-12-20 16:54:04 +09:00
Yamashita, Yuu
3d1ba0c58c Add OPENSSL_NO_SSL2 & OPENSSL_NO_SSL3 patch for 3.0.1, 3.1 and 3.1.2 2015-12-20 07:46:36 +00:00
Yamashita, Yuu
68e8945f74 Add OPENSSL_NO_SSL2 & OPENSSL_NO_SSL3 patch for 3.1.3 2015-12-20 07:46:01 +00:00
Yamashita, Yuu
3ddbb19663 Add OPENSSL_NO_SSL3 patch for 3.1.4 .. 3.1.5 2015-12-20 07:45:39 +00:00
Yamashita, Yuu
763a30bb1d Add OPENSSL_NO_SSL3 patch for 3.2 2015-12-20 07:16:08 +00:00
Yamashita, Yuu
9a33ce643e Add OPENSSL_NO_SSL3 patch for 3.2.1 2015-12-20 07:15:57 +00:00
Yamashita, Yuu
b29c54ee0a Add OPENSSL_NO_SSL3 patch for 3.2.2 2015-12-20 07:15:46 +00:00
Yamashita, Yuu
58275fc52b Add OPENSSL_NO_SSL3 patch for 3.2.3 .. 3.2.6 2015-12-20 06:55:46 +00:00
Yamashita, Yuu
dc4b355aad Update OPENSSL_NO_SSL3 patch for 3.3.x to remove unnecessary imports 2015-12-20 06:55:46 +00:00
Yamashita, Yuu
9f1daac9f7 Merge pull request #507 from yyuu/openssl-no-ssl3
`OPENSSL_NO_SSL3` patch for 2.6, 2.7, 3.3 and 3.4
2015-12-18 23:59:25 +09:00
Yamashita, Yuu
471fa24531 Add OPENSSL_NO_SSL2 & OPENSSL_NO_SSL3 patch for 2.6.6 .. 2.6.8 2015-12-18 14:54:04 +00:00
Yamashita, Yuu
f228825879 Add OPENSSL_NO_SSL2 & OPENSSL_NO_SSL3 patch for 2.6.9 2015-12-18 14:53:39 +00:00
Yamashita, Yuu
8c96897495 Add OPENSSL_NO_SSL2 & OPENSSL_NO_SSL3 patch for 2.7 .. 2.7.1 2015-12-18 14:25:01 +00:00
Yamashita, Yuu
659e532701 Add OPENSSL_NO_SSL3 patch for 2.7.2 2015-12-18 14:24:49 +00:00
Yamashita, Yuu
5f0056886a Add OPENSSL_NO_SSL3 patch for 2.7.3 .. 2.7.8 2015-12-18 14:24:37 +00:00
Yamashita, Yuu
bc322b0238 Add OPENSSL_NO_SSL3 patch for 2.7.9 2015-12-18 14:24:22 +00:00
Yamashita, Yuu
6251c3bad5 Add OPENSSL_NO_SSL3 patch for 3.3.x 2015-12-18 13:47:09 +00:00
Yamashita, Yuu
526fa03968 Add OPENSSL_NO_SSL3 patch for 3.4.x 2015-12-18 13:46:56 +00:00
Yamashita, Yuu
d6e0120cc8 Use http://www.python.org instead of http://python.org since former is configured to use fast.ly
```
% dig python.org. A
;; ->>HEADER<<- opcode: QUERY, rcode: NOERROR, id: 9216
;; flags: qr rd ra ; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;; python.org.  IN      A

;; ANSWER SECTION:
python.org.     5       IN      A       104.130.43.121

;; AUTHORITY SECTION:

;; ADDITIONAL SECTION:

;; Query time: 3 msec
;; SERVER: 192.168.44.2
;; WHEN: Wed Dec 16 06:08:20 2015
;; MSG SIZE  rcvd: 44
```

```
% dig www.python.org. A
;; ->>HEADER<<- opcode: QUERY, rcode: NOERROR, id: 22050
;; flags: qr rd ra ; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;; www.python.org.      IN      A

;; ANSWER SECTION:
www.python.org. 5       IN      CNAME   python.map.fastly.net.
python.map.fastly.net.  5       IN      A       103.245.222.223

;; AUTHORITY SECTION:

;; ADDITIONAL SECTION:

;; Query time: 7 msec
;; SERVER: 192.168.44.2
;; WHEN: Wed Dec 16 06:08:23 2015
;; MSG SIZE  rcvd: 83
```
2015-12-16 06:07:48 +00:00
Daniel Hahler
66bd348600 Merge pull request #504 from blueyed/merge-rbenv
Merge rbenv/master
2015-12-14 14:13:42 +01:00
Daniel Hahler
03ece82197 Merge remote-tracking branch 'rbenv/master'
Using `git merge rbenv/master -s recursive -X rename-threshold=5%`.

Conflicts:
	README.md
	bin/python-local-exec
	libexec/pyenv
	libexec/pyenv-help
	test/--version.bats
2015-12-14 13:47:11 +01:00
Mislav Marohnić
90373d78b9 Add test for not including current directory in PATH search
Confirms #836
2015-12-14 11:59:01 +01:00
Mislav Marohnić
dc23ef10b6 Merge pull request #836 from eagletmt/fix-path
Remove leading `:`
2015-12-12 15:22:36 +01:00
Kohei Suzuki
3c7a13d81f Remove leading : 2015-12-12 15:28:34 +09:00
Yamashita, Yuu
e66dcf258c curl bundled with Anaconda does not work on Debian 2015-12-11 08:28:51 +00:00
Yamashita, Yuu
fab6a0fcd1 v20151210 2015-12-10 08:27:05 +00:00
Josh Friend
c4968f7a48 Add CPython 3.4.4rc1 2015-12-09 16:09:18 -05:00
Josh Friend
d0e9cd7d7e Remove old 2.7.11 release candidate 2015-12-09 16:09:18 -05:00
Yamashita, Yuu
3185dee8a2 Copied OPENSSL_NO_SSL3 patch to 2.7 series (#495) 2015-12-09 01:18:41 +00:00
Yamashita, Yuu
05615587d0 Merge pull request #495 from catlee/master
Adding SSL patch to build 2.7.3 on Debian
2015-12-09 08:58:23 +09:00
Mislav Marohnić
20755cfc15 Merge pull request #833 from chulkilee/fix-url
update urls to rbenv
2015-12-07 20:47:06 +01:00
Chulki Lee
df4c16ecb4 update urls to rbenv 2015-12-07 11:03:07 -08:00
Yamashita, Yuu
132179d0ca Merge pull request #498 from ipfans/master
Add CPython 3.5.1
2015-12-07 16:14:31 +09:00
ipfans
b6cdfcf5dc Upgrade OpenSSL to 1.0.1q 2015-12-07 15:13:04 +08:00
ipfans
c78f079078 Add CPython 3.5.1 2015-12-07 14:59:48 +08:00
Yamashita, Yuu
2767461235 Use PYENV_BOOTSTRAP_VERSION during python-build if declared 2015-12-07 05:10:11 +00:00
Yamashita, Yuu
20432dda88 Add a workaround for Anaconda's curl issue
Anaconda's `curl` doesn't work with HTTPS on platfroms where
`/etc/pki/tls/certs/ca-bundle.crt` isn't available.
2015-12-07 04:22:41 +00:00
Yamashita, Yuu
f27e3ebb94 Update OpenSSL version for 2.7.11 (#496) 2015-12-07 01:38:50 +00:00
Yamashita, Yuu
7718afbca2 Merge branch 'issue496' 2015-12-07 10:35:11 +09:00
Yamashita, Yuu
28766056b2 Update OpenSSL to 1.0.1q (fixes #496) 2015-12-07 01:23:14 +00:00
Chris AtLee
dbf8b2fb65 Adding SSL patch to build 2.7.3 on Debian 2015-12-06 09:53:05 -05:00
Yamashita, Yuu
aaec35859d Merge pull request #494 from zmwangx/cpython-2.7.11
Add CPython 2.7.11
2015-12-06 10:10:59 +09:00
Zhiming Wang
54f7944ae2 Add CPython 2.7.11 2015-12-05 17:08:29 -08:00
Yamashita, Yuu
96bfa1532d Skip virtualenv aliases as well (yyuu/pyenv-virtualenv#126) 2015-12-02 09:52:33 +00:00
Yamashita, Yuu
ebd6c1aee3 Add comments to Anaconda executables (#491) 2015-11-29 23:50:30 +00:00
Yamashita, Yuu
a8f8f0ae0c Merge pull request #491 from yyuu/anaconda-which-ext
Add a default hook for Anaconda to look for original `$PATH`
2015-11-28 12:51:00 +09:00
Yamashita, Yuu
a50d0492b3 Merge pull request #490 from ReadmeCritic/master
Update README URLs based on HTTP redirects
2015-11-28 12:50:31 +09:00
Yamashita, Yuu
a6dbb11dca Add a default hook for Anaconda to look for original $PATH 2015-11-28 03:47:00 +00:00
ReadmeCritic
43abe13db9 Update README URLs based on HTTP redirects 2015-11-27 19:12:54 -08:00
Mislav Marohnić
f0e8bdcdaf Merge pull request #830 from ReadmeCritic/master
Update README URLs based on HTTP redirects
2015-11-25 19:49:54 +01:00
ReadmeCritic
f85c41b14f Update README URLs based on HTTP redirects 2015-11-25 10:08:28 -08:00
Mislav Marohnić
75a1dd25cd Merge pull request #828 from jasonkarns/formatting
indentation
2015-11-24 17:22:33 +01:00
Yamashita, Yuu
465bd1f3e8 v20151124 2015-11-24 01:08:46 +00:00
Yamashita, Yuu
96be89835e Add PyPy 4.0.1 (fixes #489) 2015-11-24 01:01:33 +00:00
Jason Karns
a1ef9efc80 use PWD var over pwd command 2015-11-23 09:13:31 -05:00
Jason Karns
87dd5fe2c0 indentation 2015-11-23 09:13:31 -05:00
Josh Friend
3428431aef Add CPython 2.7.11 RC1 2015-11-22 11:50:21 -05:00
Yamashita, Yuu
8841f7788d Merge pull request #487 from yyuu/rbenv-20151121
rbenv 20151121
2015-11-21 13:28:26 +09:00
Yamashita, Yuu
8da3749648 Merge remote-tracking branch 'rbenv/master' into rbenv-20151121 2015-11-21 04:21:14 +00:00
Yamashita, Yuu
94bce8abf8 Merge pull request #486 from yyuu/ruby-build-20151028
Import changes from ruby-build v20151028
2015-11-21 12:12:26 +09:00
Yamashita, Yuu
f62ee1a4db Import changes from ruby-build v20151028 2015-11-21 02:59:36 +00:00
Yamashita, Yuu
e7b0d99601 Merge pull request #485 from brittag/readme-improvements
Readme improvements: correcting errors and clarifying Homebrew instructions
2015-11-21 10:44:41 +09:00
Mislav Marohnić
5fb9c84e14 Merge pull request #822 from jasonkarns/completion
Add --help and tab completion to rbenv-versions
2015-11-20 18:37:54 +01:00
Mislav Marohnić
d138f5f5e4 Merge pull request #826 from jasonkarns/fail-helper
Extract `fail` helper function
2015-11-20 18:29:34 +01:00
Jason Karns
3ddedc021a Extract abort helper function
fail helper prints message to stderr and exits 1
(prefixes 'rbenv: ' if given a string arg)
2015-11-20 10:25:46 -05:00
Mislav Marohnić
a22adc77eb Merge pull request #827 from jasonkarns/fix-exec-test
Fix leftover .ruby-version file from exec.bats
2015-11-20 16:00:49 +01:00
Jason Karns
a3ff3adc39 create local .ruby-version file in test dir
This new test was creating an (intentionally invalid) .ruby-version file
in current working directory; typically the rbenv project dir.
Immediately after test runs, I had a leftover .ruby-version file.

The version-file tests create and cd into the RBENV_TEST_DIR as part of
setup(). I'm using the same directory for this test fix, but am only
using it for this particular test. None of the other exec tests seem to
need to be in a temp test dir, so no use putting it in setup().
2015-11-20 09:51:44 -05:00
Jason Karns
2dcb9d0611 completions for rbenv-init 2015-11-20 09:20:01 -05:00
Jason Karns
a6cb4b6317 consistent completions for rbenv-help 2015-11-20 09:15:06 -05:00
Jason Karns
2f917312f1 completions for rbenv-completions 2015-11-20 09:12:53 -05:00
Jason Karns
d1f8081d1c completions for rbenv-versions 2015-11-20 09:12:47 -05:00
Mislav Marohnić
63671a1479 Merge pull request #824 from jasonkarns/help-completion
Handle --help flag for subcommands
2015-11-20 14:28:39 +01:00
Jason Karns
d7ca2aba2a add --help to subcommand completions
ensure subcommand exists, then include --help in its completion output
2015-11-19 12:05:19 -05:00
Jason Karns
2c4dd63f77 handle --help for subcommands
If subcommand is provided (and exists) and its first arg is -h/--help,
go ahead and intercept the call; redirecting to rbenv-help <subcommand>

This means subcommands and plugins need not handle --help flag
themselves
2015-11-19 12:05:18 -05:00
Jason Karns
06e4f1b682 explicit --version flag
Without it, it falls back to `--version` being executed as a subcommand,
which works but isn't obvious
2015-11-19 11:14:59 -05:00
Mislav Marohnić
825de5d2e3 Fix argument handling in main rbenv command
- Explicitly asking for help with `-h` or `--help` exits with 0 status
  and displays help on stdout.

- Not providing any arguments to rbenv results in failure status and
  displays version and help on stderr.
2015-11-19 01:52:48 +01:00
Britta
6e3dd80f15 Readme fixes: tiny copyedits
Removing an extra comma in "There are some systems, where the", and adding another "the" to "toward the end of shell configuration file".
2015-11-18 16:50:03 -08:00
Britta
d5a5cd1aae Readme fixes: clarifying Homebrew instructions
Adding a tip for how to view the Homebrew package caveats again if you skipped reading them.

Directing readers to additional next steps after installing pyenv via Homebrew.
2015-11-18 16:48:57 -08:00
Britta
195942f22e Changing "neckbeard" to "advanced"
Many advanced users who enjoy reading detailed documentation may not really think of themselves as "neckbeards", even in a jokey way, so naming this section with a simple, familiar (and easy-to-translate!) name may encourage more people to read it. :)
2015-11-17 16:51:03 -08:00
Britta
daaa1aab6d Readme fixes: correcting errors
Correcting instructions for installing Python versions (removing "download and unpack the source").

Fixing links to #pyenv-shell, #pyenv-local, and #pyenv-global - linking them to the appropriate sections of the COMMANDS.md page.
2015-11-17 16:35:35 -08:00
Mislav Marohnić
8f87f43e22 Fix broken version-dependent test
Broken in dcca61c0bc
2015-11-14 12:21:16 +00:00
Mislav Marohnić
c30e096a54 Merge branch 'which-fixes' 2015-11-14 10:42:41 +00:00
Mislav Marohnić
3405c4d03c Fix error message when command is not found for "system" version
If `foo` didn't exist and `RBENV_VERSION=system rbenv which foo` was
called, the error message used to be misleading:

    rbenv: version `system' is not installed

Instead, have the error message simply say that the command was not found.

Fixes #770
2015-11-13 23:10:09 -05:00
Mislav Marohnić
09b18cf6f5 Add test for version-origin when version not found in rbenv-exec 2015-11-13 23:09:12 -05:00
Mislav Marohnić
fcedf169fb Merge pull request #819 from blueyed/fix-path_without
tests: fix path_without to handle /bin properly
2015-11-13 18:01:53 -05:00
Mislav Marohnić
14655a43c8 Merge pull request #821 from jasonkarns/help-completion
add completion block for rbenv-help
2015-11-13 17:37:09 -05:00
Jason Karns
8c3cab61c7 add completion block for rbenv-help 2015-11-13 15:06:29 -05:00
Daniel Hahler
6296bf3f8b tests: fix path_without to handle /bin properly
I was seeing /bin being left.  This patch fixes it by anchoring the search
pattern with ':' on both sides.
2015-11-12 21:20:00 +01:00
Yamashita, Yuu
9ca7de5b6c Merge pull request #477 from jimmywan/miniconda-3.18.3
Add miniconda*-3.18.3.
2015-11-11 07:30:01 +09:00
jimmywan
3d1c38f1a8 Add miniconda*-3.18.3. 2015-11-10 22:26:28 +00:00
Yamashita, Yuu
12ad6f670b Merge pull request #471 from yyuu/activate-ng
List Anaconda-style virtual environments as a version in pyenv
2015-11-05 18:42:03 +09:00
Yamashita, Yuu
9163c46568 v20151105 2015-11-05 09:21:08 +00:00
Yamashita, Yuu
204ded5a55 Add Portable PyPy 4.0 (fixes #472) 2015-11-05 09:19:23 +00:00
Yamashita, Yuu
3937dc3618 list virtual environments created by anaconda/miniconda as a version in pyenv 2015-11-04 15:00:48 +00:00
Josh Friend
8f25eabbbc Add anaconda2-2.4.0 and anacondaa3-2.4.0 2015-11-04 08:43:32 -05:00
Yamashita, Yuu
cb65df8bec Specify branch for build status 2015-11-04 12:14:10 +00:00
Yamashita, Yuu
0daf04a71b v20151103 2015-11-03 13:31:28 +00:00
Yamashita, Yuu
52544e6956 Remove useless if since portable-pypy 4.0.0 binary is still not available (#463) 2015-11-03 13:24:45 +00:00
Yamashita, Yuu
39a6b097f7 Add PyPy 2.6.1 freebsd64 binary 2015-11-01 02:12:47 +00:00
Yamashita, Yuu
f19ab5fea2 Remove PyPy 4.0.0 freebsd64 binary since it's not available for now (#463)
https://bitbucket.org/pypy/pypy/issues/2178/
2015-11-01 02:10:00 +00:00
Yamashita, Yuu
6c3dd0a24f Add PyPy 4.0.0 (fixes #463)
The binaries of portable-pypy are not yet available, though.
2015-10-30 02:54:08 +00:00
Mislav Marohnić
c18a3f9042 Merge pull request #814 from m-o-e/never-use-hardlinks
Never use hardlinks. Never.
2015-10-29 17:25:26 +01:00
moe
f6c1e5220a Never use hardlinks. Never. 2015-10-28 21:35:39 +01:00
Mislav Marohnić
d740406daf Merge pull request #812 from sstephenson/skip-aliases
Add `rbenv versions --skip-aliases` option
2015-10-27 21:11:24 +01:00
Mislav Marohnić
7026e529c7 Fix realpath fallback in rbenv hooks
The symlinks weren't correctly resolved if they were pointing to a
single path component, such as `ln -s foo bar`.
2015-10-27 21:05:10 +01:00
Mislav Marohnić
e80886e9be Add rbenv versions --skip-aliases option
Useful in combination with `--bare` to list just the unique version
numbers without the extra directory entries that are symlinks to other
version numbers in the same directory.
2015-10-27 21:05:10 +01:00
Mislav Marohnić
6e02b944f7 Use $BASH_SOURCE instead of $0
BASH_SOURCE might be more reliable.
2015-10-27 20:55:23 +01:00
Mislav Marohnić
bb129a782b Merge branch 'bundler-hook-recursion'
Closes #809, references #806
2015-10-27 10:54:13 +01:00
Roman Sandler
d508822f9a Make sure the alias statement only executes if there is not already an alias in place 2015-10-27 10:53:51 +01:00
Mislav Marohnić
6913fee89a If there is .bashrc but no .bash_profile, recommend the former
This is for Linux desktop platforms that have Terminal application
configured to start shells in interactive but not login mode. Creating a
`~/.bash_profile` would also cause `~/.profile` to not run, which might
be a problem on Ubuntu which ships with a default `~/.profile`.
2015-10-26 15:45:52 +01:00
Mislav Marohnić
074161f9c1 Merge pull request #806 from sstephenson/bundle-rehash
Avoid running `rbenv rehash` multiple times during `bundle install`
2015-10-25 18:36:20 +01:00
Mislav Marohnić
2b0f16757a Only rehash if bundle install actually created new executables
This avoids running `rbenv rehash` after installing libraries that don't
have executables, or after a no-op `bundle install` that didn't install
anything.
2015-10-25 18:31:50 +01:00
Mislav Marohnić
7b289bcee6 Avoid running rbenv rehash multiple times during bundle install
This is an attempt to work around the fact that Rubygems post_install
hooks may happen multiple times per single `bundle install` and ideally
we want `rbenv rehash` to run only once if new gems have been installed.
However, due to Bundler parallelism using `fork` on platforms that
support it, it's impossible for the child processes to communicate with
the master process to signal it to run `rbenv rehash` in the end.

This hooks into Bundler `install` command and runs `rbenv rehash` after
all gems have finished installing, but only if the install location was
system gems location and not a custom path (such as per-project
`vendor/bundle`).

This is limited because we can't tell whether any gems have been
installed at all, let alone do those gems have executables. However it's
better than having multiple `rbenv rehash` being run in parallel and
outputting confusing error messages as a result.
2015-10-25 17:47:01 +01:00
Mislav Marohnić
8dcd715ede Merge branch 'edge-version' 2015-10-25 17:01:04 +01:00
Mislav Marohnić
dcca61c0bc Improve rbenv --version git checkout discovery
When `rbenv --version` is called, this now happens:

1. It changes into the directory where `libexec/rbenv--version` resides
   and checks if it's a checkout of the rbenv repo (as opposed to
   Homebrew checkout or something else). Then it reads the git revision.

2. If that failed, change to `$RBENV_ROOT` directory and repeat step 1.
2015-10-25 16:54:38 +01:00
Josh Friend
155012911c Add Jython 2.7.1 beta2
http://fwierzbicki.blogspot.co.uk/2015/10/jython-271-beta2-released.html
2015-10-20 19:47:52 -04:00
Yamashita, Yuu
bdfe6d383f Add shebang workaround for Jython 2.7.x (fixes #458) 2015-10-18 11:47:12 +09:00
Yamashita, Yuu
efdba2d76b Show message about pip/setuptools for 3.0.1 on OS X (fixes #456) 2015-10-17 10:42:52 +00:00
Mislav Marohnić
0f44c57d08 Fix eval'ing multiline sh-* command output with bash 2015-10-12 01:33:17 +02:00
Mislav Marohnić
efb187f26f Merge pull request #663 from kevinburke/use-command
Use `command` to run rbenv rehash
2015-10-11 04:04:46 +02:00
Mislav Marohnić
c101052a7f Fix eval'ing multiline sh-* command output with fish 2015-10-10 21:48:40 +02:00
Mislav Marohnić
51a1ee06e4 Merge commit '5c1094a' from #529
Closes #529
2015-10-10 19:17:18 +02:00
Mislav Marohnić
8a0555f8ef Init RBENV_TEST_DIR properly and only once during test setup 2015-10-10 19:02:11 +02:00
Mislav Marohnić
55f692ba9c Merge commit 'refs/pull/562/head' of https://github.com/sstephenson/rbenv 2015-10-10 18:42:36 +02:00
Mislav Marohnić
3a265c1af9 Unset XDG_CONFIG_HOME and related variables during tests
If set by the user's environment, `git config --global` writes will go
to that destination instead of temporary $HOME. We definitely don't want
that.

Fixes #742
2015-10-10 18:39:23 +02:00
Mislav Marohnić
c43928a8e4 Merge pull request #731 from blueyed/init-no-basename-for-shell
rbenv-init: do not use basename for $shell
2015-10-10 18:33:52 +02:00
Mislav Marohnić
c6cf4e18b8 Merge pull request #682 from evaryont/patch-1
Include gems dir in .gitignore
2015-10-10 17:22:55 +02:00
Yamashita, Yuu
19c02bf39c v20151006 2015-10-06 14:12:04 +00:00
Josh Friend
d462e158e2 Add Jython 2.7.1b1 2015-09-30 10:17:35 -04:00
Yamashita, Yuu
3ecc94fa38 Merge pull request #447 from chenfengyuan/master
add proxy usage note
2015-09-24 22:49:26 +09:00
Fengyuan Chen
53bc95314c add proxy usage note 2015-09-24 21:46:34 +08:00
Yamashita, Yuu
db325cc66d Merge branch 'use-homebrew-openssl' 2015-09-23 14:33:41 +09:00
Yamashita, Yuu
28c40ece8d Fix broken tests 2015-09-23 14:23:31 +09:00
Yamashita, Yuu
34f938fdb9 --libdir doesn't work nicely when building OpenSSL (#429) 2015-09-23 14:17:47 +09:00
Yamashita, Yuu
e034c80388 Update Python versions in sample image 2015-09-23 00:29:49 +09:00
Yamashita, Yuu
948d1f4ca7 Merge branch 'blueyed-pyenv-rehash-python-glub' (fixes #379, #404) 2015-09-22 15:28:15 +09:00
Yamashita, Yuu
438e828eb5 add tests for PYENV_FILE_ARG 2015-09-22 15:28:00 +09:00
Yamashita, Yuu
e52ed97fff install OpenSSL on OS X if no proper versionn is available (#429) 2015-09-21 06:26:03 +00:00
Yamashita, Yuu
43eb33e929 Merge pull request #444 from gitter-badger/gitter-badge
Add a Gitter chat badge to README.md
2015-09-21 11:48:39 +09:00
The Gitter Badger
10ab381fb6 Add Gitter badge 2015-09-21 02:43:40 +00:00
Josh Friend
c452da8084 v20150913 2015-09-13 11:03:52 -04:00
Josh Friend
e6090f00f3 Add CPython 3.5.0
Closes #440
2015-09-13 10:55:55 -04:00
Mislav Marohnić
9e664b5d27 Suggest that rbenv should be loaded at end of shell rc file
Closes #725
2015-09-12 15:27:32 -07:00
Yamashita, Yuu
6868d3053a Merge pull request #439 from recruit-mtl/master
Fixed anaconda3 repo's paths. #438
2015-09-11 15:42:09 +09:00
kasajei
10d3123caa Fixed anaconda3 repo's paths. 2015-09-11 15:37:53 +09:00
Yamashita, Yuu
2d16c638e9 Merge pull request #437 from zmwangx/cpython-3.5.0rc4
Add CPython 3.5.0rc4
2015-09-09 23:30:39 +09:00
Josh Friend
3ae068b492 Add CPython 3.5.0rc4 2015-09-09 10:19:24 -04:00
Zhiming Wang
824f7e6b21 Add CPython 3.5.0rc4 2015-09-09 22:15:00 +08:00
Josh Friend
5d247793e6 Add CPython 3.5.0rc3 2015-09-07 22:27:36 -04:00
Josh Friend
ed700c0185 Merge pull request #435 from jimmywan/miniconda-3.16.0
Add miniconda-3.16.0 and miniconda3-3.16.0
2015-09-01 15:18:49 -04:00
Josh Friend
193e64b6b2 v20150901 2015-09-01 13:59:13 -04:00
Josh Friend
5ba585769b Add pypy2.6.1 portable 2015-09-01 13:57:15 -04:00
Jimmy Wan
5540e235ab Add scripts for miniconda*-3.16.0. 2015-09-01 16:35:19 +00:00
Josh Friend
c9268bb0dc Add PyPy 2.6.1
Will add portable when squeaky-pl/portable-pypy#17 is closed.
2015-08-31 14:32:22 -04:00
Josh Friend
5ddc14704c Add 3.5.0rc2 2015-08-25 18:53:13 -04:00
Josh Friend
5fcb4cf0bf Remove 3.5.0 betas 2015-08-25 18:52:59 -04:00
Yamashita, Yuu
0f288f2462 Import changes from ruby-build v20150818 2015-08-25 15:37:31 +09:00
Yamashita, Yuu
0c81c97926 remove patch that cannot be applied to CPython 3.1.1 and 3.1.2 (#421) 2015-08-18 10:57:26 +09:00
Yamashita, Yuu
5ff089de9c add PyPy-STM 2.3 and 2.5.1 (fixes #428) 2015-08-16 23:12:30 +09:00
Yamashita, Yuu
459725df3c Merge branch 'disable-fortify-source' (fixes #422) 2015-08-16 13:37:19 +09:00
Yamashita, Yuu
ec3b7d815d add fortify_crash_workaround patch for CPython (>= 2.4, <= 2.4.3) (#422) 2015-08-16 13:29:44 +09:00
Yamashita, Yuu
afe86aef52 disable _FORTITY_SOURCE to fix build of CPython (>= 2.4, <= 2.4.3) (#422) 2015-08-16 13:17:38 +09:00
Yamashita, Yuu
461ae27a19 add patches for 3.1, 3.1.1, 3.1.2 to fix build with recent version of openssl (fixes #421) 2015-08-15 13:34:34 +09:00
Yamashita, Yuu
c0f691fc57 Merge pull request #424 from zmwangx/python-3.5.0rc1
Add Python 3.5.0rc1
2015-08-11 10:18:43 +09:00
Zhiming Wang
ffc899475a Add Python 3.5.0rc1
https://www.python.org/downloads/release/python-350rc1/
2015-08-10 18:14:25 -07:00
Yamashita, Yuu
57d1c9d6be Merge pull request #419 from takluyver/35b4
Add Python 3.5.0b4
2015-07-31 07:02:57 +09:00
Thomas Kluyver
9d488c9760 Add Python 3.5.0b4
I copied and modified the file for beta 3.
2015-07-30 13:30:52 -07:00
Yamashita, Yuu
3db1ac13d2 Merge pull request #414 from jimmywan/master
Add miniconda-3.10.1 and miniconda3-3.10.1.
2015-07-23 08:03:13 +09:00
Jimmy Wan
880fa46156 Add miniconda-3.10.1 and miniconda3-3.10.1. 2015-07-22 20:36:04 +00:00
Yamashita, Yuu
24ad375a35 Merge branch 'issue411' 2015-07-22 10:49:49 +09:00
Yamashita, Yuu
7f32e96c28 v20150719 2015-07-19 13:07:24 +09:00
Yamashita, Yuu
294738842c pin pip version to 1.5.6 for python 3.1.5 (fixes #351) 2015-07-19 12:33:56 +09:00
Yamashita, Yuu
ce671398f8 Ignore user's site-packages on ensurepip/get-pip (#411)
https://www.python.org/dev/peps/pep-0370/
2015-07-18 14:22:58 +09:00
Yamashita, Yuu
a3bea25ddc Use original CPython repository as the source of CPython *-dev versions (#409) 2015-07-18 13:23:13 +09:00
Yamashita, Yuu
1a66a9141b Build 3.5-dev from "3.5" branch (#409) 2015-07-18 13:22:36 +09:00
Yamashita, Yuu
78c1d7186d CPython 3.1 branch is no longer maintained (#409) 2015-07-18 13:21:20 +09:00
Yamashita, Yuu
9b60d73ec8 Merge pull request #413 from BanzaiMan/ha-feature-py36
Add `3.6-dev`
2015-07-18 11:48:53 +09:00
Hiro Asari
8a9d2557a0 Add 3.6-dev 2015-07-17 22:14:18 -04:00
Yamashita, Yuu
2a79db00b0 Merge pull request #412 from BanzaiMan/patch-1
Point to the canonical Python repository
2015-07-18 09:47:46 +09:00
Hiro Asari
3e7839c5b7 Point to the canonical Python repository
BitBucket mirror is no longer up to date with the canonical repository.

Fixes https://github.com/yyuu/pyenv/issues/409.
2015-07-17 20:46:59 -04:00
Mislav Marohnić
3b6faa8531 Merge pull request #756 from blueyed/version-origin-with-non-installed
Display version origin with non-installed versions
2015-07-17 11:33:56 -07:00
Daniel Hahler
e3982fae38 Display version origin with non-installed versions
This is useful as an indicator where it is coming from.
2015-07-17 17:10:33 +02:00
Daniel Hahler
493f036928 shims: handle symlinked scripts, via new PYENV_FILE_ARG
`PYENV_FILE_ARG` is used here to make use of `abs_dirname` later in
`libexec/pyenv`.

Fixes https://github.com/yyuu/pyenv/issues/404
2015-07-08 18:59:22 +02:00
Daniel Hahler
af438abeae shims: look for python*
This is required for the shims to handle `#!/usr/bin/env python3` in a
shebang, just like `python` is handled currently: it will set
`PYENV_DIR` to the root of the invoked script, which is required for a
`.python-version` script to get picked up from there.

This was rejected for rbenv, where it does not make much sense
(https://github.com/sstephenson/rbenv/pull/735).

Ref: https://github.com/yyuu/pyenv/pull/368#issuecomment-102806837
2015-07-08 18:59:22 +02:00
Yamashita, Yuu
36c5cbf74f Add Anaconda/Anaconda3 2.3.0 2015-07-08 15:49:58 +09:00
Yamashita, Yuu
608ad6f9d0 Merge pull request #402 from mrjefftang/master
2.7.10 - Stop '/Library/Python/X.X/site-packages' from being added to sys.path
2015-07-08 00:17:54 +09:00
Jeff Tang
7a6eb38a36 add patches to stop '/Library/Python/X.X/site-packages' from being added
to sys.path
2015-07-07 11:14:14 -04:00
Yamashita, Yuu
cd40335ba4 Merge pull request #400 from transcranial/master
Add python 3.5.0b3
2015-07-06 07:29:42 +09:00
Leon Chen
26450fd0ab Add python 3.5.0b3 2015-07-05 17:21:31 -04:00
Yamashita Yuu
22ecefd572 Use custom MACOSX_DEPLOYMENT_TARGET if defined (fixes #312) 2015-06-28 13:50:45 +09:00
Yamashita Yuu
abae52ae20 Add tests for some of python-build specific features 2015-06-28 13:34:59 +09:00
Yamashita Yuu
114063495f pyenv-prefix should return proper prefix of system version (fixes #391) 2015-06-27 01:07:18 +09:00
Yamashita, Yuu
7b797c3797 Merge pull request #393 from nikolas/patch-1
fix typo in readme
2015-06-23 08:19:50 +09:00
Nik Nyby
8e276a009e fix typo in readme 2015-06-22 18:54:03 -04:00
Yamashita Yuu
4198280142 Fix download URL of portable PyPy 2.6 (fixes #389) 2015-06-10 21:41:20 +09:00
Mislav Marohnić
83ac0fbd94 Merge pull request #747 from sstephenson/uninstall-instructions
Provide uninstall instructions in the README
2015-06-10 00:22:47 +02:00
Mislav Marohnić
46fbc5414a Provide uninstall instructions in the README 2015-06-09 23:31:01 +02:00
Mislav Marohnić
43b28caa94 Fix discovering .ruby-version files in root directory
It's not that this is a preferred way to set a global version (one
should use `rbenv global <version>` instead), but this fixes the
function purely for correctness: all parent directories should be
scanned, even the root directory.

Fixes #745
2015-06-09 17:24:15 +02:00
Josh Friend
5cb9c9af2e v20150601 2015-06-01 21:48:44 -04:00
Josh Friend
d6230578ec Merge pull request #384 from yyuu/pypy-260
Add PyPy 2.6.0
2015-06-01 21:32:48 -04:00
Josh Friend
62bf3d9b61 Add PyPy 2.5.1 portable
related: #346
2015-06-01 21:25:14 -04:00
Josh Friend
55e6e7143a Add PyPy 2.6.0
fixes #383
2015-06-01 21:24:58 -04:00
Josh Friend
1e78acb701 Add python 3.5.0b2 2015-06-01 07:18:36 -04:00
Yamashita Yuu
648afe05a9 Import changes from ruby-build v20150519 2015-05-27 01:08:12 +09:00
Yamashita Yuu
9aee57d965 Fix test for adding shims in fish 2015-05-27 00:54:19 +09:00
Yamashita Yuu
ed684c239c Fix inverted condition for --altinstall of ensurepip (#255) 2015-05-27 00:49:23 +09:00
Yamashita Yuu
fe934642c5 Skip installint setuptools by ez_setup.py explicitly (fixes #381)
`pip` will install `setuptools` automatically.
2015-05-26 23:49:46 +09:00
Josh Friend
7c4c1757f7 add 3.5.0 beta1, remove alpha versions 2015-05-25 23:59:48 -04:00
Yamashita Yuu
1b066598ce v20150524 2015-05-24 10:53:17 +09:00
Yamashita Yuu
cc94ad39f1 Add 2.7.10 (fixes #380) 2015-05-24 10:40:47 +09:00
Daniel Hahler
c754efc44b Merge pull request #378 from blueyed/version-file-read-without-type
pyenv-version-file-read: use sed instead of type/head/awk
2015-05-18 16:37:09 +02:00
Yamashita, Yuu
46ffb0c8df Merge pull request #290 from blueyed/version-handle-missing-better
Improve `pyenv version`, if there is one missing
2015-05-17 12:05:03 +09:00
Yamashita, Yuu
70cce28ba3 Merge pull request #368 from blueyed/pip-rehash-for-versions
pip-rehash: handle versions in commands, like "pip2" and "pip3.4"
2015-05-17 11:35:31 +09:00
Daniel Hahler
9156191168 pyenv-version-file-read: use sed/cut instead of type/head/awk
I was seeing the following occasionally in scripts:

> …/.pyenv/libexec/pyenv-version-file-read: line 12: type: write error: Broken pipe

This patch hopefully improves/fixes this, and it seems better anyway to
just use sed here.
2015-05-16 23:02:00 +02:00
Yamashita, Yuu
5402ce423b Merge pull request #376 from thomasjo/tj-fix-bad-anaconda-urls
Fix broken Anaconda3 2.2.0 URLs
2015-05-12 20:06:11 +09:00
Thomas Johansen
2ea2e7558d Fix broken Anaconda3-2.2.0 URLs 2015-05-12 12:52:41 +02:00
Yamashita, Yuu
9d8da866f1 Merge pull request #375 from kuanyili/anaconda
Add Anaconda/Anaconda3 2.2.0 and Miniconda/Miniconda3 3.9.1 definitions
2015-05-12 07:30:51 +09:00
Kuan-Yi Li
70fa356585 Add Miniconda/Miniconda3 3.9.1 definitions 2015-05-12 01:50:29 +08:00
Kuan-Yi Li
31fb290de2 Add Anaconda/Anaconda3 2.2.0 definitions 2015-05-12 01:19:04 +08:00
Daniel Hahler
4ea7d0849b rbenv-init: do not use basename for $shell
This can be done using bash directly.
2015-05-10 16:17:35 +02:00
Josh Friend
e285f2e5b1 use full path when installing a jar 2015-05-04 10:35:34 -04:00
Josh Friend
1d31529b46 v20150404 2015-05-04 08:25:25 -04:00
Josh Friend
6f40dae3d7 Merge pull request #371 from yyuu/fix-py3.1-pip
Fix Pip install on python 3.1.x
2015-05-04 08:18:22 -04:00
Josh Friend
d2794f54e5 add a few missing python 3.1.x releases 2015-05-04 08:13:07 -04:00
Josh Friend
bc03106cee pin pip version to 1.5.6 for python 3.1 (fixes #351) 2015-05-04 08:12:38 -04:00
Yamashita, Yuu
bf93b90282 Merge pull request #370 from joshfriend/jython-2-7-0
Add jython 2.7.0
2015-05-04 13:46:29 +09:00
Josh Friend
7b8bd11416 fix jython pip and add warning about JAVA_HOME for osx/windows users 2015-05-04 00:37:41 -04:00
Josh Friend
f623231734 Add jython 2.7.0 2015-05-03 22:24:36 -04:00
Daniel Hahler
481198d255 pip-rehash: handle versions in commands, like "pip2" and "pip3.4"
Fixes https://github.com/yyuu/pyenv/issues/367
2015-04-30 00:49:53 +02:00
Yamashita, Yuu
50d5de4731 Merge pull request #364 from joshfriend/python-3-5-0-a4
Add Python-3.5.0a4
2015-04-21 08:31:21 +09:00
Josh Friend
15977c852d add python3.5.0a4 2015-04-20 18:42:17 -04:00
Mislav Marohnić
5b9e4f0584 Merge pull request #722 from blueyed/fix-test-for-fish-issue-369
Fix test for adding shims in fish
2015-04-20 11:51:51 +02:00
Daniel Hahler
10d5d9a24f tests: fix desc for "can add shims to PATH more than once"
This seems to have not been merged properly.

A similar issue is with the test for fish, which has been submitted as a
PR for rbenv: https://github.com/sstephenson/rbenv/pull/722.
2015-04-20 00:00:04 +02:00
Daniel Hahler
06c1959e78 Fix test for adding shims in fish
Commit e2173df4 (for issue #369) did not handle the fish test properly.

This renames it and fixes the assertion.
2015-04-19 23:53:19 +02:00
Yamashita, Yuu
be037932ca Merge pull request #360 from yyuu/merge-rbenv
Merge rbenv to have a common ancestor for future merges
2015-04-19 18:00:19 +09:00
Yamashita, Yuu
af95960960 Merge pull request #362 from n8henrie/master
Details on multiple Python2 and Python3 versions.
2015-04-19 08:36:33 +09:00
Nathan Henrie
17c153b1c1 Details on multiple Python2 and Python3 versions.
Add detail regarding activating multiple Python2 and Python3 versions simultaneously.
2015-04-17 16:59:04 -06:00
Daniel Hahler
065f5578b1 Merge rbenv parent repository
This merges
4d72eefffc
to build a common ancestor for future merges.

This is branched off f48a5b11d7, which was
the last manual merge.

Discussion / initial idea: https://github.com/yyuu/pyenv/pull/286#issuecomment-66565475

This was done using:

    # Keep our changes for "unmerged, both added"
    for i in $(git status --porcelain | grep '^AA ' | cut -d\  -f2); do
      git checkout --ours $i
      git add $i
    done

    # "git mv" rbenv files to our name, keeping the current contents.
    for i in $(git status --porcelain | grep '^A ' | sed 's/^A  //'); do
      ours=${i//rbenv/pyenv}
      test -f $ours || { echo "Skipping: $i"; continue; }
      git mv -f $i $ours
      git reset HEAD $ours
    done

I've handled the following then manually:

    - rbenv.d/exec/gem-rehash.bash
    - rbenv.d/exec/gem-rehash/rubygems_plugin.rb

This should allow to merge rbenv in the future using:

    git merge rbenv/master -s recursive -X rename-threshold=5%

I am not sure about the rename-threshold, 25% also worked for one file
I've tested.

Conflicts:
	.gitignore
	.travis.yml
	LICENSE
	README.md
	src/Makefile.in
	test/--version.bats
	test/commands.bats
	test/completions.bats
	test/exec.bats
	test/global.bats
	test/help.bats
	test/hooks.bats
	test/init.bats
	test/local.bats
	test/prefix.bats
	test/rehash.bats
	test/run
	test/shell.bats
	test/shims.bats
	test/test_helper.bash
	test/version-file-read.bats
	test/version-file-write.bats
	test/version-file.bats
	test/version-name.bats
	test/version-origin.bats
	test/version.bats
	test/versions.bats
	test/whence.bats
	test/which.bats
2015-04-15 16:23:26 +02:00
Yamashita Yuu
71c9ff565b Added note about where to place pyenv init - in shell configuration file (#313) 2015-04-15 22:41:09 +09:00
Yamashita, Yuu
88270e83e8 Merge pull request #355 from mrjefftang/master
2.7.9 - Stop '/Library/Python/X.X/site-packages' from being added to sys.path
2015-04-15 22:21:08 +09:00
Yamashita, Yuu
b09681c9fb Merge pull request #358 from blueyed/fix-src-configure-sed
src/configure: fix sed expression
2015-04-15 22:02:12 +09:00
Daniel Hahler
80eef69c9a src/configure: fix sed expression
This has been fixed for rbenv in
https://github.com/sstephenson/rbenv/commit/050f750.
2015-04-15 05:35:15 +02:00
Jeff Tang
bc025641c2 add patches to stop '/Library/Python/X.X/site-packages' from being added to sys.path 2015-04-14 15:33:37 -04:00
Kevin Burke
0cd078bae6 Merge branch 'master' into use-command 2015-03-31 18:57:44 -07:00
Yamashita Yuu
5dc3ee95fd Add Jython 2.7 beta4
http://fwierzbicki.blogspot.fi/2015/02/jython-27-beta4-released.html
2015-03-31 11:38:50 +09:00
Yamashita, Yuu
4903223f23 Merge pull request #346 from joshfriend/pypy-251-portable
add pypy-2.5.1 portable version
2015-03-31 11:37:52 +09:00
Josh Friend
1aea75055a fix pypy2.5.1 build folder for i686 2015-03-30 22:07:33 -04:00
Yamashita, Yuu
f30085eaf4 Merge pull request #347 from joshfriend/pypy-251-src-fix
fix url and checksum for pypy-2.5.1-src
2015-03-31 10:06:12 +09:00
Yamashita, Yuu
43d311ef58 Merge pull request #345 from joshfriend/fix-require-distro
Fix require_distro
2015-03-31 09:57:24 +09:00
Yamashita, Yuu
239f4a6b51 Merge pull request #344 from joshfriend/python-3-5-0-a3
add python 3.5.0a3
2015-03-31 09:54:30 +09:00
Josh Friend
1463968a3f fix url and checksum for pypy-2.5.1-src 2015-03-30 16:48:17 -04:00
Josh Friend
97c6a4c932 add pypy-2.5.1 portable version 2015-03-30 15:31:03 -04:00
Josh Friend
5131ef521b fix required distros for pypy-2.5.x 2015-03-30 13:31:05 -04:00
Josh Friend
1d7ce651b0 fix distro version check 2015-03-30 13:29:09 -04:00
Josh Friend
c335f96eac add python 3.5.0a3 2015-03-30 11:53:52 -04:00
Yamashita, Yuu
f0eeac63a3 Merge pull request #341 from joshfriend/fix-pypy-2-5-0
fix pypy-2.5.0-src build directory
2015-03-26 23:20:04 +09:00
Josh Friend
4ebe18a273 fix pypy-2.5.0-src build directory 2015-03-26 10:14:35 -04:00
Yamashita Yuu
ab2aa6d13b v20150326 2015-03-26 23:13:55 +09:00
Yamashita, Yuu
431761d125 Merge pull request #340 from joshfriend/pypy-2-5-1
Add pypy-2.5.1
2015-03-26 23:05:50 +09:00
Josh Friend
e6e858c33b Add pypy-2.5.1 (fixes #338) 2015-03-26 09:25:04 -04:00
derwolfe
e9aa6cf649 doc: make location to add code to more clear 2015-03-18 21:33:15 +01:00
Mislav Marohnić
7ad01b2b48 Document rbenv environment variables
Closes #699, fixes #666 [ci skip]
2015-03-13 01:14:24 -07:00
Mislav Marohnić
8c6b764a4c Merge pull request #706 from mhw/realpath-configure-fix
Fix pattern replacement to allow flags with commas.
2015-03-12 22:18:23 -07:00
Yamashita Yuu
4e30b1a5e1 Merge branch 'portable-pypy' (fixes #326, #329) 2015-03-12 01:31:05 +09:00
Yamashita Yuu
2beef3c455 Add pypy-portable binary to some pypy/pypy3 versions 2015-03-12 01:28:21 +09:00
Yamashita Yuu
797975b742 Add sha256sum to pypy-portable archives (#329) 2015-03-12 01:22:12 +09:00
Yamashita Yuu
527334b401 Add pypy-portable-2.5 (#329) 2015-03-12 01:12:47 +09:00
Mark H. Wilkinson
050f750563 Fix pattern replacement to allow flags with commas. 2015-03-11 13:14:52 +00:00
Yamashita Yuu
292813eca3 Install pypy-portable binaries on unsupported platforms (#329) 2015-03-11 21:01:32 +09:00
Yamashita Yuu
d935a2a994 Merge branch 'portable-pypy' of github.com:olliewalsh/pyenv into portable-pypy 2015-03-11 20:42:56 +09:00
Yamashita, Yuu
d9a7117c3b Merge pull request #328 from joshfriend/python-3-5-0-a2
add python 3.5.0a2
2015-03-10 00:47:31 +09:00
Josh Friend
6596657004 add python 3.5.0a2 2015-03-09 11:46:01 -04:00
Yamashita Yuu
f48a5b11d7 Import recent changes from rbenv 4d72eefffc 2015-03-07 01:01:32 +09:00
Mislav Marohnić
4d72eefffc Merge branch 'fast-travis' 2015-02-28 12:56:49 +13:00
Mislav Marohnić
b6ac87c220 Faster bats clone 2015-02-27 02:17:31 +13:00
Mislav Marohnić
6b908bf39f Opt into fast Travis CI builds 2015-02-27 02:08:38 +13:00
Mislav Marohnić
f87d8762eb Merge pull request #698 from asymmetric/dead-readme-links
Remove dead links to History and License from README
2015-02-27 02:06:16 +13:00
Lorenzo Manacorda
c54fa3731f Remove dead links to Version history and License
Cfr. #688
2015-02-26 11:39:31 +01:00
Yamashita Yuu
efe461d2b4 v20150226 (#323) 2015-02-26 11:35:10 +09:00
Yamashita, Yuu
4540967250 Merge pull request #324 from joshfriend/python-3-5-0-a1
Add python3.5.0a1
2015-02-26 11:15:22 +09:00
Yamashita, Yuu
d14357f64c Merge pull request #323 from joshfriend/python-3-4-3
Add python3.4.3
2015-02-26 11:13:48 +09:00
Josh Friend
d6e1de3e2f add python3.5.0a1 2015-02-25 21:11:02 -05:00
Josh Friend
063717e6b5 Add python3.4.3 🍪 2015-02-25 21:02:44 -05:00
Mislav Marohnić
4d0c289287 Merge pull request #688 from sstephenson/readme-no-history
Remove history, license information from README
2015-02-25 11:50:39 +13:00
Mislav Marohnić
52bb0dcfcf Merge pull request #687 from sstephenson/remove-prefix-warning
Remove warning about extraneous "ruby-" prefix in `.ruby-version`
2015-02-25 11:49:52 +13:00
Yamashita, Yuu
5a05788e61 Merge pull request #318 from ccwang002/conda_new_ver
Add Miniconda / Miniconda3 3.8.3 release
2015-02-21 21:59:02 +09:00
Liang Bo Wang
48335302d9 Add Miniconda[3] 3.8.3 release 2015-02-21 20:33:54 +08:00
Mislav Marohnić
98953c2e14 Merge pull request #696 from aprescott/patch-1
Update README to make rbenv version consistent with previous `versions` output
2015-02-18 11:36:34 +13:00
Adam Prescott
9ae8ba8a29 Update README to make rbenv version consistent with previous versions output
The `rbenv versions` info highlights 1.9.3-p327 as the current version, and
making `rbenv version` sample output match that helps make it clearer.
2015-02-16 10:56:38 -05:00
Mislav Marohnić
1a7f49d2f0 Merge pull request #695 from lyrixx/patch-1
[README] Updated link to bundler.io
2015-02-15 19:05:52 -08:00
Grégoire Pineau
70c6d3f67e [README] Updated link to bundler.io 2015-02-16 04:03:08 +01:00
Yamashita Yuu
9146f44db1 v20150204 2015-02-04 10:33:21 +09:00
Yamashita Yuu
b9ae43a9df Add PyPy 2.5.0 release (fixes #311) 2015-02-04 09:33:37 +09:00
Yamashita Yuu
f6a77549eb Latest pip can't be installed into 3.0.1 (fixes #309) 2015-01-31 16:19:39 +09:00
Yamashita Yuu
cbd246acff Symlink pythonX.Y-config to python-config if python-config is missing (fixes #296) 2015-01-31 16:13:26 +09:00
Yamashita Yuu
9d21169ee0 Fix regression of #255 and add test 2015-01-31 15:35:40 +09:00
Yamashita Yuu
7bceb85067 Update README 2015-01-31 15:24:05 +09:00
Yamashita Yuu
eeb69b1b79 Add note about --enable-shared and RPATH (fixes #217) 2015-01-31 15:14:58 +09:00
Mislav Marohnić
b155380a06 Remove license information from README
The license information is already present in the LICENSE file.
2015-01-29 02:10:28 -08:00
Mislav Marohnić
cd60df52af Remove rbenv version history from README
We won't maintain it anymore. Instead, the changelogs can be obtained
from the project's Releases page: https://github.com/sstephenson/rbenv/releases
2015-01-29 02:09:05 -08:00
Mislav Marohnić
6820704c91 Remove warning about extraneous "ruby-" prefix in .ruby-version
When we started to support reading `.ruby-version` files, we made a
commitment to not support fuzzy version matching. Treating "ruby-2.1.5"
as "2.1.5" is a sort of fuzzy matching, so we put in place a warning
telling you to remove the extraneous "ruby-" prefix popularly used by
other Ruby version managers to denote MRI. (Their logic is that MRI is
"ruby" and other rubies are not "ruby", apparently.)

However, people are often not able to remove the prefix in their
projects because they want to support other coworkers and tools that
sadly still require the prefix, like RubyMine.

So to restore sanity for a big portion of our users, the warning is gone.
2015-01-29 01:55:58 -08:00
Yamashita Yuu
8abefe1fcb v20150124 2015-01-24 00:45:03 +09:00
Yamashita Yuu
b22fcd9759 Add missing changelog of v20141211 2015-01-24 00:43:12 +09:00
No GUI
55341f4436 Include gems dir in .gitignore
Since communal-gems is maintainer-approved, thought it would be useful to include the directory it uses in the ignore list.

(This also helps me, since I install rbenv as submodule and without this entry, the submodule is perpetually marked dirty.)
2015-01-20 13:21:22 -07:00
Yamashita, Yuu
45df273592 Merge pull request #307 from cloudlite/patch-1
Update README.md - clone through https instead of git
2015-01-20 11:23:45 +09:00
cloudlite
dbd50e7bd9 Update README.md - clone through https instead of git
git:// protocol is blocked by a lot of servers, https works fine.
2015-01-19 20:51:18 -05:00
Yamashita Yuu
1c0a5d8264 Add IronPython 2.7.5 2015-01-18 20:24:47 +09:00
Yamashita Yuu
7c7cca8a26 Merge branch 'ruby-build-v20150112' 2015-01-15 23:40:23 +09:00
Yamashita Yuu
123b3af1a0 Import changes from ruby-build v20150112 2015-01-15 23:33:39 +09:00
Yamashita, Yuu
ba9c01ce77 Merge pull request #304 from jbrudvik/patch-1
Use better image for Travis build status
2015-01-14 13:44:51 +09:00
Jeremy Brudvik
7535efe031 Use better image for Travis build status 2015-01-13 19:53:29 -08:00
Yamashita, Yuu
995da2df89 Merge pull request #295 from radzinzki/master
Update README.md
2014-12-18 12:43:16 +09:00
Arnav Kumar
f28b3ee123 Update README.md
Made it consistent with the rbenv documentation by having the cloning step in the installation clone it directly into the home directory.
2014-12-18 11:41:25 +08:00
Yamashita, Yuu
97b957d5d5 Merge pull request #292 from s1341/master
add patches to stop '/Library/Python/X.X/site-packages' from being added to sys.path
2014-12-14 21:30:54 +09:00
srubenst
fe2412c95d add patches to stop '/Library/Python/X.X/site-packages' from being added to sys.path 2014-12-12 11:49:01 +02:00
Yamashita, Yuu
5114600c4d Merge pull request #289 from blueyed/unset-PYTHON_CFLAGS-in-tests
Unset PYTHON_CFLAGS for build tests
2014-12-12 10:02:10 +09:00
Daniel Hahler
96d3bd6379 Unset PYTHON_CFLAGS and PYTHON_CONFIGURE_OPTS for build tests 2014-12-12 01:36:37 +01:00
Daniel Hahler
e8433cfeb3 Use exitcode from pyenv-version-name in pyenv-version, do not halt 2014-12-11 20:37:03 +01:00
Daniel Hahler
7f88eabd0b Improve pyenv version, if there is one missing
Display the other available ones still.

Fixes https://github.com/yyuu/pyenv/issues/291
2014-12-11 18:49:38 +01:00
Yamashita Yuu
d320d74a07 v20141211 (fixes #288) 2014-12-11 22:39:38 +09:00
Yamashita Yuu
fc49f7e21e Fix building _dev_ versions 2014-12-11 22:35:12 +09:00
Yamashita Yuu
be4f5992d6 Add 3.5-dev (#287) 2014-12-11 21:46:22 +09:00
Yamashita Yuu
25a48694be Use 3.4 branch for 3.4-dev (fixes #287) 2014-12-11 21:45:37 +09:00
Yamashita, Yuu
9b7b2a6b40 Merge pull request #286 from joshfriend/ignore-bats
Ignore the bats/ directory cloned by tests
2014-12-11 12:50:24 +09:00
Yamashita, Yuu
f59729359a Merge pull request #285 from joshfriend/python-279
Add Python 2.7.9
2014-12-11 12:48:31 +09:00
Josh Friend
93ac0632c7 ignore bats/ directory cloned by tests 2014-12-10 22:20:56 -05:00
Josh Friend
7a21cf9c10 Add release version of 2.7.9 (fixes #284) 2014-12-10 21:51:52 -05:00
Josh Friend
720dee76af remove 2.7.9 release candidate 2014-12-10 18:16:54 -05:00
Yamashita, Yuu
db6a41c90f Merge pull request #280 from yyuu/rbenv-7e0e85bd
Import recent changes from rbenv
2014-12-01 22:53:51 +09:00
Yamashita Yuu
bfddc69120 Update Makefile. Use same path configuration as travis-ci. 2014-12-01 22:50:04 +09:00
Yamashita Yuu
acce3744e7 Add pip-rehash 2014-12-01 22:36:10 +09:00
Yamashita Yuu
5ca423c9f3 Revert a fix for #101 to fix broken tests relating to PYENV_NATIVE_EXT 2014-12-01 20:34:12 +09:00
Yamashita Yuu
f0e852553a Import rbenv changes at 7e0e85bdda 2014-12-01 00:29:26 +09:00
Yamashita Yuu
fc8597ca38 Rename build definitions of pypy nightly build 2014-11-29 17:22:39 +09:00
Kevin Burke
c9a96c9f79 Use command to run rbenv rehash
In the event that `eval "$(rbenv init -)"` is called from a function named
rbenv (which I do to get rbenv to load lazily in my shell), evaluating the
phrase `rbenv rehash` will cause the outer function to run again (causing an
infinite loop).

This change makes it clear you want the command named rbenv and not a function
which may exist in the environment.
2014-11-28 21:16:14 -08:00
Yamashita Yuu
e7a68ad467 Update require_distro of pypy-2.4.0 on Linux x86/amd64 2014-11-29 11:21:08 +09:00
Yamashita Yuu
0fd1eaaeb5 Add pypy3-2.4.0-src (#277) 2014-11-29 11:16:44 +09:00
Yamashita Yuu
b986f8f93f Add PyPy nightly builds 2014-11-29 10:55:26 +09:00
Yamashita Yuu
60e1abe7fa Add PyPy3 2.4.0 (fixes #277) 2014-11-29 09:48:04 +09:00
Yamashita Yuu
afcf4f0c7c Move require_distro out from PyPy build definitions 2014-11-29 09:11:36 +09:00
Makoto Sasaki
c0aff27842 v20141127 2014-11-27 14:58:31 +09:00
Makoto Sasaki
e172eb2818 Add CPython 2.7.9rc1 (fixes #276) 2014-11-27 14:13:44 +09:00
Ollie Walsh
3a5c2cabb1 Fix portable python url for 2.4.0 2014-11-19 21:01:56 +00:00
Ollie Walsh
871ec77795 Add Portable PyPy binaries from https://github.com/squeaky-pl/portable-pypy 2014-11-19 20:50:34 +00:00
Yamashita Yuu
8761ae8f7c v20141118 2014-11-18 20:05:01 +09:00
Yamashita, Yuu
3d401ebcd2 Merge pull request #271 from s1341/master
add a patch to allow building 2.6.9 on osx 10.9
2014-11-18 19:56:52 +09:00
srubenst
268f965421 add a patch to allow building 2.6.9 on osx 10.9 2014-11-14 11:51:02 +02:00
Yamashita Yuu
ff0f8a140b Merge branch 'test-builtin-patches' 2014-11-13 21:56:27 -08:00
Yamashita Yuu
6c2d234e55 Split test files 2014-11-13 21:56:14 -08:00
Yamashita Yuu
c6dd3b9468 Add test for built-in python-build's patching feature 2014-11-13 21:53:52 -08:00
Yamashita Yuu
8fee82e456 Fix broken setup_builtin_patches 2014-11-12 11:03:49 -08:00
Yamashita Yuu
7220044b49 v20141106 2014-11-06 09:41:22 -08:00
Daniel Hahler
a797bb6d88 Fix "pyenv: version 'system' is not installed" with pyenv which
This is a follow-up to de5c61c.
2014-11-06 17:57:17 +01:00
Yamashita Yuu
665f9d9466 Merge branch 'use-https' (fixes #262) 2014-11-05 09:25:36 -08:00
Eric Mill
cb260fb9d0 fix another failing test with https URL 2014-11-05 09:23:06 -08:00
Eric Mill
4f0439cd12 fix one failing test, around mirror URL 2014-11-05 09:22:59 -08:00
Eric Mill
2e387816f1 use https for download URLs
Conflicts:
	plugins/python-build/bin/python-build
2014-11-05 09:22:52 -08:00
Yamashita Yuu
ee4182321e Update python versions in README 2014-11-05 09:17:05 -08:00
Yamashita, Yuu
661a2b29d3 Merge pull request #236 from blueyed/doc-mention-pyenv-pip-rehash
README: mention https://github.com/yyuu/pyenv-pip-rehash
2014-11-05 09:14:35 -08:00
Yamashita, Yuu
8c503c6e75 Merge pull request #237 from blueyed/doc-recent-python-versions
doc: use recommended python versions
2014-11-05 09:13:55 -08:00
Yamashita, Yuu
743a637b59 Merge pull request #265 from yyuu/ruby-build-v20141028
Import changes from ruby-build v20141028
2014-11-04 21:15:26 -08:00
Yamashita, Yuu
7fe78245d8 Merge pull request #266 from konstantint/patch-1
Warn about #264 in the README
2014-11-04 09:28:20 -08:00
Konstantin Tretyakov
96c0362b53 Warn about #264 in the README 2014-11-04 18:54:19 +02:00
Yamashita Yuu
2dae281201 Need to chdir before running tests of python-build 2014-11-04 00:14:57 -08:00
Yamashita Yuu
4a52bfaff9 Fix broken tests 2014-11-04 00:04:25 -08:00
Yamashita Yuu
b26b83a11f Import changes from ruby-build v20141028 2014-10-29 04:04:10 -07:00
Yamashita, Yuu
35aed218cf Merge pull request #260 from jensraaby/anaconda210
Add Miniconda/Miniconda3 3.7.0 and Anaconda/Anaconda3 2.1.0
2014-10-24 08:16:37 +09:00
Jens Raaby
38ab616344 Add Miniconda/Miniconda3 3.7.0 and Anaconda/Anaconda3 2.1.0
SHA256 values generated with direct downloads from repo.continuum.io
2014-10-23 19:25:41 +01:00
Mislav Marohnić
7e0e85bdda Avoid JRuby warning during rehash Rubygems plugin
As it seems, JRuby 1.7 complains on stderr every time you invoke `system`:

    warning: executable? does not in this environment and will return a dummy value

It doesn't seem to complain when backtics are used. It's safe to use
backticks here because `rbenv rehash` doesn't output anything on stdout,
and the exit status of the command is irrelevant.
2014-10-19 18:06:09 +02:00
Mislav Marohnić
d1a0398fdb Merge pull request #638 from sstephenson/gem-rehash
Bring rbenv-gem-rehash functionality to core
2014-10-19 14:51:45 +02:00
Mislav Marohnić
67f429c41d Bring automatic gem-rehash functionality to rbenv core
This bakes in the functionality of rbenv-gem-rehash plugin.

The Rubygems hook is improved:

- It will not rehash for gems installed in locations that rbenv otherwise
  doesn't search for binstubs; for instance in case of
  `bundle --path vendor/bundle`.
- It rescues exceptions and makes them non-lethal by warning on stderr.
2014-10-19 14:35:43 +02:00
Mislav Marohnić
632263568e Add rbenv's own rbenv.d directory to hook paths
This allows rbenv source code to ship with built-in hooks.
2014-10-19 14:35:36 +02:00
Mislav Marohnić
bf39d88d11 Add tests for rbenv PATH and RBENV_HOOK_PATH handling 2014-10-19 14:35:36 +02:00
Yamashita Yuu
720870011b Merge branch 'altinstall' (fixes #255)
Allow installing CPython with `make altinstall` instead of
`make install` with following command-line.

```sh
$ env PYTHON_MAKE_INSTALL_PACKAGE="altinstall" pyenv install -v 3.4.2
```
2014-10-19 11:19:17 +09:00
Yamashita Yuu
b2ac5df98d Calling create_symlinks after ensurepip is unnecessary (#182, #255)
Install script of setuptools-6.1/pip-1.5.6 will create those links if needed
2014-10-19 10:59:35 +09:00
Yamashita Yuu
d9e772eb6e Stop creating symlinks w/ version suffix if altinstall has specified (#182, #255) 2014-10-19 00:34:20 +09:00
Yamashita Yuu
eef8ac2701 Use version suffixed executable (e.g. python3.4) for internal use of python (#255) 2014-10-19 00:28:33 +09:00
Yamashita Yuu
45b45bcf25 Pass --altinstall to ensurepip (#255) 2014-10-18 23:56:51 +09:00
Yamashita Yuu
ded98e11de Allow users to change the name of install target (#255) 2014-10-18 23:06:19 +09:00
Yamashita, Yuu
dc1b5a197f Merge pull request #254 from blueyed/add-Makefile
Add Makefile for 'make test'
2014-10-18 09:30:22 +09:00
Mislav Marohnić
07d675350f Merge pull request #636 from sstephenson/speedup-rehash
Speed up `rbenv rehash`
2014-10-16 12:29:51 +02:00
Daniel Hahler
79507fbadf Add Makefile for 'make test' 2014-10-16 03:13:39 +02:00
Daniel Hahler
de5c61cd59 Fix "version X is not installed" with multiple PYENV_VERSIONs
This was introduced when merging the rbenv upstream change
(https://github.com/sstephenson/rbenv/commit/6bb7f07d2d).
2014-10-16 02:51:07 +02:00
Mislav Marohnić
39cde6fc95 Merge pull request #528 from sstephenson/dylib
Speed up rbenv by dynamically loading compiled command
2014-10-15 18:19:54 +02:00
Mislav Marohnić
1381c2ca79 Simplify the shims registration implementation in rbenv-rehash
It doesn't need to be a bash array and we don't need a separate index of
shims registered. Simply keep everything in a space-separated string and
use that as an index as well.

This assumes that executable names *never* have spaces in them.
2014-10-15 05:46:18 +02:00
Mislav Marohnić
89d4e8a0e0 Speed up rehash process when there are many Ruby versions
On my system that has 25 versions under rbenv, this speeds up rehash
almost 3-fold:

- before: 391 ms
- after:  134 ms

This is achieved by removing duplicate names of executables before
registering them as shims. Since most Rubies will share a lot of the
same executable names ("ruby", "rake", "bundle", ...), this is a
considerable reduction in number of shims registered.
2014-10-15 05:46:18 +02:00
Mislav Marohnić
a8df5d587c Avoid changing directories during rehash process 2014-10-15 05:46:18 +02:00
Mislav Marohnić
e2173df4aa Revert "Don't duplicate shims in PATH"
Too many of our users have a shell initialization set up that
inadvertently duplicates some or most of the entries in their PATH,
bringing the system paths again in front of rbenv's shims. If this was a
nested shell (a typical scenario when starting up tmux), `rbenv init`
would get eval'd again but this time, shims won't get added to the front
of the PATH and would only stay and the end of the path, effectively
rendering them useless.

I tried to argue that this is a user problem rather than rbenv's, but I
can't fix everybody shell init when they report bugs. Instead, let's
revert to simpler times in rbenv where we just roll along with the
duplication and don't ask any questions.

This reverts commit 03fa148e81.

Fixes #369
2014-10-15 01:43:24 +02:00
Mislav Marohnić
e851250da6 Speed up obtaining exec/which/whence completions
Delegate to `rbenv-shims` instead of `rbenv shims` and therefore skip
going through the main `rbenv` executable again that would set up a lot
of the environment that was already set.
2014-10-15 01:24:45 +02:00
Yamashita Yuu
8e657374a1 Import recent changes from rbenv-versions 2014-10-15 00:46:11 +09:00
Yamashita, Yuu
77bd5bc6c9 Merge pull request #129 from blueyed/optimize-pyenv-which
Optimize pyenv-which: implement remove_from_path in Bash
2014-10-15 00:19:28 +09:00
Daniel Hahler
e82f943174 Merge rbenv's "Isolate rbenv-which tests …" (c69d9a11)
This is the remaining part of
c69d9a1128.

    commit c69d9a1128
    Author: Mislav Marohnić <mislav.marohnic@gmail.com>
    Date:   Mon Oct 13 12:39:47 2014 +0200

        Isolate rbenv-which tests from any `.ruby-version` file on the system

        Having a `.ruby-version` file in any of the parent directories of the
        local clone of rbenv could cause the test suite to fail because it
        wasn't expecting a local version to be set.
2014-10-13 21:20:57 +02:00
Daniel Hahler
bbf8cb4a95 Add test for PYENV_VERSION=3.4:2.7 2014-10-13 21:15:22 +02:00
Daniel Hahler
a1df551bcf Merge tests and remove_from_path from rbenv
This adds the missing parts from the upstream rbenv merge:
f4652fbbf0

- e4cbf04592
- 3ee395f9b5
2014-10-13 21:14:57 +02:00
Mislav Marohnić
c69d9a1128 Isolate rbenv-which tests from any .ruby-version file on the system
Having a `.ruby-version` file in any of the parent directories of the
local clone of rbenv could cause the test suite to fail because it
wasn't expecting a local version to be set.

Fixes #533
2014-10-13 12:39:47 +02:00
Mislav Marohnić
f4652fbbf0 Merge branch 'speedup-which'
Closes #560
2014-10-13 12:30:34 +02:00
Mislav Marohnić
3ee395f9b5 Clean up PATH sanitization in rbenv-which 2014-10-13 12:27:19 +02:00
Daniel Hahler
e4cbf04592 Improve performance of rbenv-which when RBENV_VERSION=system
This implements removing of the shims path element via bash
substitution, instead of jumping around in all the `$PATH` elements.
2014-10-13 12:26:43 +02:00
Mislav Marohnić
6bb7f07d2d Avoid rbenv-exec calling out to rbenv-version-name twice
Running any shim (and thus `rbenv-exec`) would always execute
`rbenv-version-name` twice: once in `rbenv-exec` and another time in
`rbenv-which`, even though RBENV_VERSION variable would have already
been populated at this point.

Now RBENV_VERSION is respected within `rbenv-which`.
2014-10-13 12:26:43 +02:00
Mislav Marohnić
51bd975820 Merge branch 'blank-versions'
Fixes #626
2014-10-13 11:51:46 +02:00
Mislav Marohnić
294cff3fd4 Fall back to cc as default compiler when gcc is not available 2014-10-13 04:12:35 +02:00
Mislav Marohnić
a6e0785b84 Create configure script to generate a cross-platform Makefile
The previous Makefile only worked on OS X. The dynamically generated
Makefile (from `Makefile.in`) should now work on multiple platforms
(tested on OS X and Ubuntu).
2014-10-13 04:12:35 +02:00
Mislav Marohnić
302b317b89 Fix shobj-conf on Darwin
The `shobj-conf` script imported from bash seems to not support the
latest OS X. This makes sure that `SHOBJ_LDFLAG=-dynamiclib` is output
for Darwin10+ (latest version is Darwin 13.0).
2014-10-13 04:12:35 +02:00
Mislav Marohnić
8facb3b3a7 Import shobj-conf script from bash
Given the `-o <HOST-OS>` parameter, the script generates environment
variables with information how to compile dynamically loadable libraries
for that system.

Imported from bash-3.2.48
2014-10-13 04:12:35 +02:00
Mislav Marohnić
b5622bee3a Try without -current_version
Seems to only work on OS X; fails on Travis
https://travis-ci.org/sstephenson/rbenv/jobs/16384866
2014-10-13 04:12:35 +02:00
Mislav Marohnić
3f74da0e73 Fail hard if RBENV_NATIVE_EXT is set but extensions failed to load 2014-10-13 04:12:35 +02:00
Mislav Marohnić
68b92a7f5d Test compiled native extensions on Travis CI 2014-10-13 04:12:35 +02:00
Mislav Marohnić
8bac958994 Stop using abs_dirname() in rbenv-init
It's slow and not necessary since we expect `$0` to already be expanded.

In tests this change forces us to deal with some relative paths, but
it's not a big deal. The `rbenv init -` output in the most common case
will be the same as before:

    source '/home/myuser/.rbenv/libexec/../completions/rbenv.bash'
2014-10-13 04:12:34 +02:00
Mislav Marohnić
5287e2ebf4 Avoid slow abs_dirname() by loading realpath extension
This speeds up every `rbenv` invocation significantly.
2014-10-13 04:12:34 +02:00
Mislav Marohnić
284588f9b4 Fix hooks tests on OS X by expanding BATS_TMPDIR
With `realpath` extension, hooks tests on OS X will output
`/private/tmp` instead of `/tmp` because the latter is an actual symlink
to the former.

Avoid this mistmach in output assertions by expanding BATS_TMPDIR if
`realpath` extension is compiled.
2014-10-13 04:12:34 +02:00
Mislav Marohnić
16c7eb4135 Speed up realpath() with dynamically loaded C extension
On systems that support both C compiling and dynamic loading, we can
speed up `realpath()` (where most time in rbenv is spent) by replacing
it with a dynamically loaded bash builtin.

When `make -C src` is called in the project's root,
`libexec/rbenv-realpath.dylib` will be created. If it exists, rbenv will
attempt to load it as a builtin command. If it fails, execution will
fall back to the old `realpath()` shell function.
2014-10-13 04:12:34 +02:00
Mislav Marohnić
9bcef4b875 Add tests for non-directory types under RBENV_ROOT/versions/ 2014-10-13 04:02:46 +02:00
Mislav Marohnić
f237a11f4f Have versions emit a warning when no Ruby version was found 2014-10-13 04:02:04 +02:00
Yamashita Yuu
fc41c87395 Check existence of curses module before start building PyPy (#244) 2014-10-13 02:29:55 +09:00
Yamashita Yuu
6e02ad2fe4 Merge branch 'pypy-shared' 2014-10-12 21:58:08 +09:00
Yamashita Yuu
58e24a64a2 Set PYENV_VERSION on building pypy from source 2014-10-12 21:57:21 +09:00
Makoto Sasaki
77d9e34a49 v20141012 2014-10-12 21:48:56 +09:00
Makoto Sasaki
d7f4aa02ed Add CPython 3.2.6 and CPython 3.3.6 (fixes #253) 2014-10-12 20:41:49 +09:00
Yamashita Yuu
42bb40a5d8 Try to set rpath for --shared build of PyPy (#244) 2014-10-12 20:19:37 +09:00
Makoto Sasaki
d38f00cd4a v20141011 2014-10-11 20:00:54 +09:00
Makoto Sasaki
e9a6a2909c Add Stackless 2.7.7, Stackless 2.7.8, and Stackless 3.4.1 (fixes #252) 2014-10-11 18:06:23 +09:00
Makoto Sasaki
5f95ce1835 Fix build problem of Stackless 3.3.5 (refs #250) 2014-10-10 04:22:47 +09:00
Makoto Sasaki
ff995b6654 v20141008 2014-10-08 19:29:20 +09:00
Makoto Sasaki
4d15d21f0f Add CPython 3.4.2 (fixes #251) 2014-10-08 18:47:18 +09:00
Makoto Sasaki
6790e3e18a Add CPython 3.2.6rc1 and CPython 3.3.6rc1 (fixes #248) 2014-10-05 02:07:12 +09:00
Makoto Sasaki
737e0f1b3f Add CPython 3.4.2rc1 (fixes #245) 2014-09-26 00:36:17 +09:00
Yamashita Yuu
ab9ee414ad v20140924 2014-09-24 13:57:53 +09:00
Yamashita Yuu
c3a755c853 Add PyPy-2.4.0 (fixes #241) 2014-09-23 05:00:27 +09:00
Daniel Hahler
9901c4b84d Use consistent quoting for versions=("$@") across bins 2014-09-11 12:59:40 +02:00
Daniel Hahler
04ce9bcd5c doc: use recommended python versions 2014-09-11 12:56:56 +02:00
Daniel Hahler
4cf93df059 README: mention https://github.com/yyuu/pyenv-pip-rehash 2014-09-11 12:55:39 +02:00
Yamashita, Yuu
a43f7f5341 Merge pull request #231 from blueyed/fix-zsh-completion-for-none
Do not quote completions in $reply
2014-09-11 01:31:14 +09:00
Makoto Sasaki
af2cb3f943 Add PyPy 2.4-beta1 (fixes #232) 2014-09-10 16:50:19 +09:00
Yamashita, Yuu
9b8b9c5205 Merge pull request #230 from blueyed/version-file-write-no-rm
pyenv-version-file-write: do not use rm, but clobber the file
2014-09-08 13:16:05 +09:00
Daniel Hahler
b6aef96cea pyenv-version-file-write: do not use rm, but clobber the file
With e.g. /usr/local/bin/.python-version owned by some user, `pyenv
local foo` would fail, if the user has no permissions for
`/usr/local/bin`, but only the `.python-version` file.
2014-09-07 16:56:40 +02:00
Daniel Hahler
bc6be9ed9f Do not quote completions in $reply
With an empty list of completions, zsh would complete a space / advance
the cursor by a space when completing.
2014-09-03 21:01:38 +02:00
Yamashita, Yuu
2297bd3741 Merge pull request #227 from blueyed/doc-multiple-versions
doc: note about using multiple versions
2014-09-03 10:17:30 +09:00
Daniel Hahler
8595df4e18 minor: remove trailing whitespace 2014-09-03 02:51:22 +02:00
Daniel Hahler
200adac02f doc: note about using multiple versions
Add a note about how to activate/use multiple versions to the main
README, to the "Choosing the Python Version" section.
2014-09-03 02:47:57 +02:00
Yamashita Yuu
6509d318f4 v20140825 2014-08-25 10:21:26 +09:00
Makoto Sasaki
474767618d Add Jython 2.7 Beta 3 (fixes #223)
This release of Jython requires JDK 7 or above
2014-08-24 04:19:54 +09:00
Yamashita, Yuu
82aaef7842 Merge pull request #222 from yyuu/macosx-deployment-target
Setting MACOSX_DEPLOYMENT_TARGET on Darwin
2014-08-21 19:21:59 +09:00
Yamashita Yuu
9df0a2916d Setup configure options to build against universal SDK on Darwin 2014-08-21 15:24:36 +09:00
Yamashita Yuu
f76309d419 Add tests for MACOSX_DEPLOYMENT_TARGET (#219, #220) 2014-08-21 13:59:04 +09:00
Yamashita Yuu
29d3df661e Fix broken tests 2014-08-21 13:59:04 +09:00
Yamashita Yuu
96b4c0f7e7 Set MACOSX_DEPLOYMENT_TARGET from the product version of OS X (#219, #220) 2014-08-21 13:59:04 +09:00
Yamashita, Yuu
f9053406c2 Merge pull request #215 from blueyed/fix-zsh-completion
Fix zsh completion with multiple words
2014-08-11 10:56:26 +09:00
Yamashita Yuu
ae4659538d Unset PIP_REQUIRE_VENV during build (fixes #216) 2014-08-11 10:40:56 +09:00
Daniel Hahler
4159055117 Fix zsh completion with multiple words
`${words[2,-2]}` must not be quoted, otherwise completion for multiple
words (e.g. `shell 3.4.1`) fails.
2014-08-10 17:04:26 +02:00
Yamashita Yuu
aa62882347 Display the package name of hg as mercurial in message (#212) 2014-08-09 01:06:55 +09:00
Yamashita Yuu
b8a7de8a3c v20140705 (fixes #204) 2014-07-06 00:35:50 +09:00
Yamashita Yuu
a661e14580 Support SETUPTOOLS_VERSION and PIP_VERSION to allow installing specific version of setuptools/pip (#202) 2014-07-03 10:18:27 +09:00
Makoto Sasaki
22f4218522 Add CPython 2.7.8 (refs #201) 2014-07-02 17:38:33 +09:00
Yamashita Yuu
6f761f8159 Remove exit 0 from initialization code of fish 2014-06-30 23:00:09 +09:00
Yamashita Yuu
0468ffdd49 v20140628 2014-06-28 18:04:17 +09:00
Yamashita Yuu
352c8f49bd Merge branch 'ez_setup_opts' 2014-06-26 23:23:37 +09:00
Yamashita Yuu
72eb7f5c32 Add support for options to ez_setup.py/get-pip.py (#200) 2014-06-26 23:13:27 +09:00
Yamashita, Yuu
59c796c138 Merge pull request #199 from dlitz/pycrypto
Add support for 2.1.3, 2.2.3, 2.3.7
2014-06-22 21:34:05 +09:00
Dwayne Litzenberger
a465cb808c Add 2.1.3, 2.2.3, 2.3.7
Just enough to run PyCrypto's test suite.
2014-06-22 02:05:30 -07:00
Makoto Sasaki
ade2bf2a0d Add PyPy3 2.3.1 (refs #198) 2014-06-21 08:54:12 +09:00
Makoto Sasaki
ed133866d7 Merge pull request #194 from yyuu/pseudo-ensurepip
Use `ez_setup.py` and `get-pip.py` to setup pip
2014-06-16 20:09:40 +09:00
Yamashita Yuu
f6a5eb90a1 s/getpip/get_pip/g 2014-06-16 11:13:25 +09:00
Yamashita Yuu
d805ec19ca Pass ez_setup.py and get-pip.py via argument instead of STDIN
AFAIK, Jython 2.7b2 could not handle ez_setup.py via STDIN
2014-06-16 11:13:25 +09:00
Yamashita Yuu
3ba7702602 Rename functions
* `build_package_setuptools` -> `build_package_ez_setup`
  * `build_package_pip` -> `build_package_getpip`
2014-06-16 11:13:25 +09:00
Yamashita Yuu
887f2263f0 Enable pseudo _ensurepip_ for existing definitions 2014-06-16 11:13:25 +09:00
Yamashita Yuu
d215804fbe Add pseudo ensurepip 2014-06-16 11:06:21 +09:00
Makoto Sasaki
6697437d1a Update setuptools (5.0.1 -> 5.1) (refs #196) 2014-06-16 04:13:51 +09:00
Yamashita, Yuu
e9e151c89e Merge pull request #195 from thomasjo/anaconda-2.0.1
Add Anaconda v2.0.1 definitions
2014-06-15 13:52:36 +09:00
Thomas Johansen
0880a92a7f Add Anaconda v2.0.1 definitions 2014-06-15 06:39:02 +02:00
Makoto Sasaki
3169a4894b Update setuptools (5.0 -> 5.0.1) (refs #193) 2014-06-15 08:47:40 +09:00
Makoto Sasaki
21c0d930e9 v20140615 2014-06-15 05:37:34 +09:00
Makoto Sasaki
f470c80e5a Update setuptools (4.0.1 -> 5.0) (refs #190) 2014-06-15 03:00:55 +09:00
Yamashita Yuu
2b5ee0c425 v20140614 2014-06-14 14:38:13 +09:00
Yamashita Yuu
5931001cab Iterate over just for actual files 2014-06-12 20:37:40 +09:00
Yamashita Yuu
5c91bc981c Create symlinks for executables with version suffix (#182) 2014-06-11 22:25:34 +09:00
Yamashita Yuu
d496c03497 Remove diff --git a/ from patches (#189)
The `diff --git a/` indicates that the patch is generated from `git diff`
and it should be applied with `patch -p1`. Because the patches bundled
with python-build have already re-formated for `patch -p0`, this is not
the desired behaviour.

Just removing `diff --git` from patches will force python-build to apply
those patches with `patch -p0`.
2014-06-11 12:17:20 +09:00
Yamashita Yuu
2ec8f0f0a4 Fix fetch_git with --keep (sstephenson/ruby-build#549) 2014-06-09 22:41:43 +09:00
Makoto Sasaki
00596b4b46 Add PyPy 2.3.1 2014-06-08 09:31:18 +09:00
Makoto Sasaki
e9a8adb37f Update Readme(md5sum -> sha256sum) 2014-06-06 01:00:18 +09:00
Yamashita Yuu
6efe6dafe7 Changed versioning scheme; 0.4.0-20140602 -> 20140602 2014-06-04 13:40:16 +09:00
Yamashita, Yuu
a01a08c551 Merge pull request #184 from yyuu/ruby-build-v20140524
Import changes from ruby-build v20140524
2014-06-03 23:14:20 +09:00
Yamashita Yuu
c2cc649cfa md5sum -> sha256sum 2014-06-03 23:07:29 +09:00
Yamashita Yuu
9dac275567 Import changes from ruby-build v20140524 2014-06-03 11:41:47 +09:00
Makoto Sasaki
3290973990 Update setuptools (4.0 -> 4.0.1) (refs #183) 2014-06-03 08:01:31 +09:00
Mislav Marohnić
13a474c4e9 Get rid of explicit exit in fish branch of rbenv-init
Allows for code to be added to the end of the script which will not
mysteriously fail to run for fish shell.
2014-06-03 00:39:34 +07:00
Yamashita Yuu
d378b274d9 v20140602 2014-06-02 11:27:24 +09:00
Makoto Sasaki
08b0d162b4 Update setuptools (3.6 -> 4.0) (refs #181) 2014-06-02 10:32:32 +09:00
Makoto Sasaki
b9e698305e Add CPython 2.7.7 (refs #180) 2014-06-02 06:59:24 +09:00
Yamashita, Yuu
01f2a1d2ca Merge pull request #179 from thomasjo/anaconda-2.0
Add Anaconda and Anaconda3 definitions for v2.0.0
2014-05-30 12:30:53 +09:00
Thomas Johansen
4b8146f516 Add Anaconda and Anaconda3 definitions for v2.0.0 2014-05-29 22:24:59 +02:00
Makoto Sasaki
5a69204978 Add CPython 2.7.7rc1 (refs #178) 2014-05-30 04:32:06 +09:00
Yamashita Yuu
801b093b67 Support for xz-compressed Python tarballs (fixes #177) 2014-05-29 21:08:05 +09:00
Makoto Sasaki
2cca695bed Can't install Jython 2.7 Beta 2 2014-05-28 11:25:12 +09:00
Yamashita Yuu
67324465fa Merge branch 'dont_clober_ldflags_cppflags' (fixes #168) 2014-05-23 18:39:43 +09:00
Yamashita Yuu
7612f0391d Don't clober the environment CPPFLAGS and LDFLAGS (refs #168)
Because the variables specified via command-line arguments for the
`./configure` will be favored than one in environment variables,
setting those variables in `PACKAGE_CONFIGURE_OPTS_ARRAY` will hide
existing environment variables.

To avoid the problem, stop using `package_option()` to setup those
variables.
2014-05-21 22:48:11 +09:00
Yamashita Yuu
21f44a130a Check envvars of CPPFLAGS and LDFLAGS during tests 2014-05-21 22:41:28 +09:00
Yamashita Yuu
033529915e v20140520 2014-05-20 12:28:04 +09:00
Yamashita, Yuu
e77e60206d Merge pull request #171 from makotosasaki/2
Add CPython 3.4.1
2014-05-20 12:21:23 +09:00
Makoto Sasaki
d5506e1404 Add CPython 3.4.1 2014-05-20 09:47:41 +09:00
Yamashita, Yuu
f512496588 Merge pull request #169 from makotosasaki/2
Update pip (1.5.5 -> 1.5.6)
2014-05-19 16:49:15 +09:00
Makoto Sasaki
27d4b9b6d2 Update pip (1.5.5 -> 1.5.6) 2014-05-19 16:01:44 +09:00
Yamashita Yuu
ef8c8b8ef2 v20140516 2014-05-16 21:07:19 +09:00
Yamashita Yuu
5998c4596b Add miniconda/miniconda3 3.4.2 2014-05-16 20:28:33 +09:00
Yamashita Yuu
8851acda13 Add Jython 2.7 beta2 2014-05-15 13:51:40 +09:00
Yamashita Yuu
1ceb678e86 style 2014-05-15 13:50:58 +09:00
Yamashita Yuu
79e2c96a7e Update setuptools (3.5.1 -> 3.6) 2014-05-12 20:25:05 +09:00
Yamashita Yuu
fa0442688a Update GNU Readline (6.2 -> 6.3) 2014-05-12 00:35:09 +09:00
Yamashita Yuu
9e596d641d Add Stackless 2.7.{3,4,5,6} 2014-05-12 00:27:13 +09:00
Yamashita, Yuu
3ab6836c38 Merge pull request #164 from Enucatl/master
Added stackless-3.2.5 and stackless-3.3.5
2014-05-12 00:10:19 +09:00
Matteo Abis
082c19f5a1 Merge branch 'master' of github.com:Enucatl/pyenv 2014-05-11 17:00:53 +02:00
Matteo Abis
3f1a4d0ff9 added stackless 3.2.5 and stackless 3.3.5 2014-05-11 16:54:35 +02:00
Matteo
0df94b1097 Merge pull request #2 from Enucatl/stackless_update
Merge pull request #1 from yyuu/master
2014-05-11 16:51:11 +02:00
Matteo
1e2979d101 Merge pull request #1 from yyuu/master
Updated stable stackless python versions
2014-05-11 16:45:14 +02:00
Yamashita Yuu
72a480f298 Add pypy-2.3-src (refs #162) 2014-05-09 20:13:23 +09:00
Yamashita, Yuu
9d74383461 Merge pull request #162 from fgimian/pypy-2.3
Add PyPy-2.3
2014-05-09 20:07:47 +09:00
Fotis Gimian
2e737a80c0 Add PyPy-2.3 2014-05-09 20:56:34 +10:00
Yamashita Yuu
d707546912 Update pip (1.5.4 -> 1.5.5) 2014-05-07 23:08:28 +09:00
Yamashita Yuu
4501d90896 Update setuptools (3.4.4 -> 3.5.1) 2014-05-07 23:07:12 +09:00
Yamashita Yuu
149a915770 Import recent changes from ruby-build 20140420 2014-05-01 13:14:41 +09:00
Yamashita Yuu
0c81002220 Prefer gawk over awk if both are available. 2014-05-01 13:09:55 +09:00
Yamashita Yuu
fe87e44870 Fix error messages of Anaconda/Miniconda 2014-04-29 12:56:31 +09:00
Mislav Marohnić
fe0b2436b8 Merge pull request #581 from LawnGnome/solaris-gawk
Prefer gawk over awk if both are available.

Fixes rbenv-help on Solaris 11.1
2014-04-19 15:29:31 +02:00
Adam Harvey
808527b5d0 Prefer gawk over awk if both are available. 2014-04-18 10:40:56 +10:00
Yamashita Yuu
601ac4b3f3 Update setuptools (3.4.3 -> 3.4.4) 2014-04-16 19:00:45 +09:00
Yamashita Yuu
60950d0082 Add IronPython 2.7.4, without setuptools and pip.
The setuptools installation seems broken for IronPython.
2014-04-13 01:07:12 +09:00
Yamashita, Yuu
cff2c4527d Merge pull request #155 from uhpnou/master
added anaconda-1.9.2
2014-04-12 12:14:36 +09:00
Giuseppe Lucio Sorrentino
10e6dd8c2d added anaconda-1.9.2 2014-04-11 19:07:24 +02:00
Yamashita Yuu
18ecb4ffbb Merge branch 'ruby-build-20140408' 2014-04-09 21:28:53 +09:00
Yamashita Yuu
986db22da8 Import recent changess from ruby-build v20140408 2014-04-09 21:25:29 +09:00
Yamashita Yuu
07037d9a5d Merge branch 'ironpython' 2014-04-08 23:43:47 +09:00
Yamashita Yuu
8914be846f Add ironpython-dev.
I have not yet confirmed the `setuptools` can work together on GNU/Linux though.
2014-04-08 23:42:58 +09:00
Yamashita Yuu
d1f1c4c61c Update setuptool (3.4.1 -> 3.4.3) 2014-04-08 23:08:33 +09:00
Yamashita Yuu
6c70e2a997 Add miniconda/miniconda3 3.3.0 2014-04-06 17:31:09 +09:00
Yamashita Yuu
3cde540ca0 v20140404 2014-04-04 13:16:27 +09:00
Yamashita Yuu
83e820d869 Merge branch 'fix-py26-tk86' 2014-04-03 22:38:34 +09:00
Yamashita Yuu
8e60ad8c6d Fix build of Tkinter with Tcl/Tk 8.6 (fixes #131) 2014-04-03 22:35:35 +09:00
Yamashita, Yuu
a841f42d53 Merge pull request #152 from yyuu/readline63
Fix CPython build problem with Readline 6.3 (fixes #126, fixes #149)
2014-04-03 22:18:36 +09:00
Yamashita Yuu
08367dbb83 Update setuptools (3.3 -> 3.4.1) 2014-04-01 17:15:31 +09:00
Yamashita Yuu
6222bb743d Just display warning if .pydistutils.cfg exists. 2014-04-01 00:01:51 +09:00
Yamashita Yuu
bce58e9d9a Merge branch 'osx-clang-gcc' (fixes #148)
Conflicts:
	plugins/python-build/share/python-build/2.6-dev
2014-03-30 05:07:41 +09:00
Yamashita Yuu
d4e6a4c3d3 Merge branch 'remove-2.6-dev' 2014-03-29 19:16:23 +09:00
Yamashita Yuu
9eef6c536b The 2.6 branch no longer exists in CPython repo 2014-03-29 17:37:53 +09:00
Yamashita Yuu
d737ae9f03 Fix build problem of CPython 3.1 with Readline 6.3 (#126, #131, #149) 2014-03-29 16:41:26 +09:00
Yamashita Yuu
2da9bfd1f8 Fix build problem of CPython 3.2 with Readline 6.3 (#126, #131, #149) 2014-03-29 16:37:06 +09:00
Yamashita Yuu
3136fce0c0 Fix build problem of CPython 3.3 with Readline 6.3 (#126, #131, #149)
The patch was taken from CPython 3.3.5
2014-03-29 16:36:56 +09:00
Yamashita Yuu
cce1960de0 Fix build problem of CPython 2.6 with Readline 6.3 (#126, #131, #149) 2014-03-29 16:36:36 +09:00
Yamashita Yuu
6641e291ee Fix build problem of CPython 2.7 with Readline 6.3 (#126, #131, #149)
The patch was taken from latest changes in CPython 2.7

* http://hg.python.org/cpython/rev/79b82ebc4fd1
* http://hg.python.org/cpython/rev/5e42e5764ac6
* http://hg.python.org/cpython/rev/0b5b0bfcc7b1
2014-03-29 16:29:21 +09:00
Yamashita Yuu
f5fded3b9d Use cc as $CC if require_cc has called (#148) 2014-03-29 13:09:06 +09:00
Yamashita Yuu
cac8fd7f60 Use colorize in require_clang and require_java 2014-03-29 13:03:01 +09:00
Yamashita Yuu
b55830fb01 Display anaconda_architecture on errors (yyuu/pyenv-virtualenv#18) 2014-03-25 11:44:42 +09:00
Yamashita Yuu
5b9b3f742b Display pypy_architecture on errors 2014-03-25 11:44:35 +09:00
Yamashita Yuu
34065dddbb reads only the first word from file 2014-03-24 19:42:52 +09:00
Yamashita Yuu
ea9214bb2e ignores carriage returns 2014-03-24 18:15:40 +09:00
Mislav Marohnić
f71e22768c Merge pull request #567 from genezys/patch-1
Remove carriage return characters in version file

Fixes #566
2014-03-21 17:22:03 +01:00
Vincent Robert
b025dfcf58 Add \r to IFS instead of removing it manually 2014-03-21 01:36:39 +01:00
Vincent Robert
f205ec8359 Move carriage return test to version-file-read 2014-03-21 01:32:29 +01:00
Vincent Robert
f50cee2ac7 Simplify bash expression 2014-03-20 16:52:45 +01:00
Vincent Robert
3be9773c4f Add test for carriage return in ruby-version file 2014-03-20 16:27:13 +01:00
Vincent Robert
2fd3b18d39 Remove carriage return characters in version file
When created on Windows, .rbenv-version or .ruby-version files may have CR characters that will prevent rbenv from correctly parsing the Ruby version. Discard those characters when reading the file.
2014-03-20 11:30:27 +01:00
Yamashita Yuu
d90cb0ec85 Merge branch 'try-python-module' 2014-03-14 23:03:53 +09:00
Yamashita, Yuu
d75e12298a Merge pull request #141 from Zearin/docs
Updated README.md; Commands moved to COMMANDS.md.
2014-03-22 15:58:31 +09:00
Zearin
addec6339f COMMANDS.md: Match order of commands from pyenv --help
Also added `help` output for `pyenv {,un}install`, since those sections didn’t exist before.

They should probably be revised at some point.  In the meantime, I think something is better than nothing (in this case).
2014-03-20 09:33:32 -04:00
Zearin
abab44df80 COMMANDS.md: Add commands from pyenv --help 2014-03-20 09:24:31 -04:00
Zearin
4afa280066 COMMANDS.md: Minor formatting 2014-03-20 09:20:20 -04:00
Zearin
5c6a812b86 README.md: Add dividers between major sections 2014-03-20 09:19:11 -04:00
Zearin
650c9a3d6e README.md: Minor formatting 2014-03-20 09:17:53 -04:00
Zearin
0933c40179 Move command reference to COMMANDS.md 2014-03-20 09:13:15 -04:00
Yamashita, Yuu
2613e84447 Merge pull request #140 from Zearin/patch-1
README.md: Minor edits and formatting
2014-03-20 12:36:07 +09:00
Tony
d1f78c2716 README.md: Minor edits and formatting 2014-03-19 15:00:54 -04:00
Yamashita, Yuu
cf89abaacf Merge pull request #136 from chronoslynx/master
fix: anaconda_architecture mispelled MacOSX as MaxOSX
2014-03-18 01:16:03 +09:00
Tim Swihart
545052d5ca MacOSX was mispelled as MaxOSX 2014-03-17 09:06:24 -07:00
Yamashita Yuu
0d51899e9b v0.4.0-20140317 2014-03-17 21:51:40 +09:00
Yamashita Yuu
fa32d81579 Update changelog 2014-03-17 21:50:23 +09:00
Yamashita Yuu
164f7bf4a6 Removed beta releases of 3.4.0 (#133) 2014-03-17 18:42:19 +09:00
Yamashita Yuu
7bdd097254 Update setuptools (3.1 -> 3.3) 2014-03-17 17:08:06 +09:00
Yamashita, Yuu
5ae1c803cb Merge pull request #133 from makotosasaki/3.4.0
Add CPython 3.4.0
2014-03-17 16:24:26 +09:00
Makoto Sasaki
f536dca41f Add CPython 3.4.0 2014-03-17 16:06:09 +09:00
Yamashita Yuu
8d951d5025 Remove unused functions. 2014-03-14 22:51:34 +09:00
Yamashita Yuu
5c31c45d05 Do not exit with errors even if some of modules are absent 2014-03-14 22:51:32 +09:00
Yamashita Yuu
0851436caa Add /anaconda-(1.9.0|1.9.1)/ and /miniconda3?-(3.0.4|3.0.5)/ 2014-03-14 21:27:31 +09:00
Daniel Hahler
024bee1a6f Use mktemp -d for RBENV_TEST_DIR
This prevents the tests from removing an existing directory.

Fixes #561 (https://github.com/sstephenson/rbenv/issues/561)
2014-03-13 20:42:34 +01:00
Daniel Hahler
44c20af80e Optimize pyenv-which: implement remove_from_path in Bash
This greatly improves the performance of `pyenv virtualenvwrapper_lazy`,
which happens to call pyenv-which a lot.

For profiling I've initially used:

    % zmodload zsh/zprof
    % eval "$(pyenv init -)"
    % pyenv virtualenvwrapper_lazy

    Before:
    % zprof|grep -E '(pyenv|virtualenv)'
     1)    1         754,07   754,07   58,95%    751,50   751,50   58,75%  pyenv
    21)    1           2,57     2,57    0,20%      2,57     2,57    0,20%  virtualenvwrapper_setup_lazy_loader
     1)    1         754,07   754,07   58,95%    751,50   751,50   58,75%  pyenv
           1/1         2,57     2,57    0,20%      2,57     2,57             virtualenvwrapper_setup_lazy_loader [21]
           1/1         2,57     2,57    0,20%      2,57     2,57             pyenv [1]
    21)    1           2,57     2,57    0,20%      2,57     2,57    0,20%  virtualenvwrapper_setup_lazy_loader

    After:
    % zprof|grep -E '(pyenv|virtualenv)'
     1)    1         383,30   383,30   27,97%    380,88   380,88   27,79%  pyenv
    31)    1           2,42     2,42    0,18%      2,42     2,42    0,18%  virtualenvwrapper_setup_lazy_loader
     1)    1         383,30   383,30   27,97%    380,88   380,88   27,79%  pyenv
           1/1         2,42     2,42    0,18%      2,42     2,42             virtualenvwrapper_setup_lazy_loader [31]
           1/1         2,42     2,42    0,18%      2,42     2,42             pyenv [1]
    31)    1           2,42     2,42    0,18%      2,42     2,42    0,18%  virtualenvwrapper_setup_lazy_loader

Fixes https://github.com/yyuu/pyenv-virtualenvwrapper/issues/13
2014-03-13 19:21:32 +01:00
Yamashita Yuu
65ae0a3261 v0.4.0-20140311 2014-03-11 11:55:44 +09:00
Yamashita Yuu
24df447e44 Update changelog 2014-03-11 11:54:16 +09:00
Yamashita Yuu
a380250881 Update setuptools (2.2 -> 3.1) 2014-03-11 11:53:13 +09:00
Yamashita Yuu
ff38d6935d Add CPython 3.4.0rc3 2014-03-11 11:44:06 +09:00
Yamashita Yuu
27e1c25cf7 Remove release candidates of CPython 3.3.5 2014-03-11 11:41:01 +09:00
Yamashita Yuu
a5c34a6c00 Add CPython 3.3.5 (closes #127) 2014-03-11 11:39:49 +09:00
Yamashita Yuu
6e01f83742 Simplify anaconda/miniconda definitions 2014-03-10 21:16:52 +09:00
Yamashita Yuu
47ce2155b4 Merge branch 'pypy-binary-compatibility' 2014-03-05 20:47:40 +09:00
Yamashita Yuu
0c6b28c9aa Display warning if the PyPy is not built for the distro (#122) 2014-03-05 20:44:20 +09:00
Yamashita, Yuu
4d22259ac3 Merge pull request #125 from shurane/patch-1
Addendum for `pyenv install` usage
2014-03-04 18:46:49 +09:00
Ehtesh Choudhury
7ed908bad1 Addendum for pyenv install usage
This gives users an idea of which versions of python are available. Other version managers ([nvm](https://github.com/creationix/nvm), [rvm](https://rvm.io/rubies/list), etc) tell users how to list available versions as well.
2014-03-03 17:11:23 -05:00
Yamashita, Yuu
dcc7185ae1 Merge pull request #123 from makotosasaki/1
Added python 3.3.5rc2
2014-03-03 21:31:40 +09:00
Makoto Sasaki
cc423566a8 Added python 3.3.5rc2 2014-03-03 19:52:49 +09:00
Yamashita Yuu
e488b31597 Import recent changes from ruby-build 20140225 2014-03-03 11:22:39 +09:00
Yamashita, Yuu
5bbfcf75f6 Merge pull request #121 from makotosasaki/01
Added python 3.3.5rc1 and 3.4.0rc2
2014-02-28 11:26:13 +09:00
Makoto Sasaki
8164af44b4 Added python 3.3.5rc1 and 3.4.0rc2 2014-02-28 08:00:33 +09:00
Yamashita Yuu
a1ffc93372 Update pip (1.5.2 -> 1.5.4) 2014-02-25 17:11:40 +09:00
Yamashita, Yuu
9e1bbff8a1 Merge pull request #118 from ebertti/master
Change readme for issue #117
2014-02-21 13:17:37 +09:00
Ezequiel Bertti
6ee219b9c7 add automatic install by pyenv-installer 2014-02-21 00:57:42 -03:00
Yamashita Yuu
5f23e3d7b2 Refactoring.
Remove leading `build_package_` from `build_package_verify_python` and
`build_package_verify_import` since they are not `build_package`
functions.
2014-02-13 23:44:42 +09:00
Yamashita Yuu
854f6f3a46 Exits with error if there is ~/.pydistutils.cfg (#35, #111) 2014-02-13 21:06:13 +09:00
Yamashita Yuu
63ac2b717f Add comments 2014-02-13 21:02:38 +09:00
Yamashita, Yuu
81726b16be Merge pull request #114 from kpot/master
Added python 3.4.0rc1
2014-02-13 19:11:03 +09:00
kpot
4acab71e1e Added python 3.4.0rc1 2014-02-13 16:05:07 +06:00
Yamashita Yuu
8b8128e33b Merge branch 'release-0.4.0-20140211' 2014-02-11 12:13:57 +09:00
Yamashita Yuu
e835d447ed v0.4.0-20140211 2014-02-11 12:11:38 +09:00
Yamashita Yuu
7f44afc1c0 Remove 3.3.4rc1 (fixes #112) 2014-02-11 12:06:09 +09:00
Yamashita, Yuu
f380967e8d Merge pull request #113 from AustinMatherne/master
Add support for Python 3.3.4
2014-02-11 12:04:34 +09:00
Austin Matherne
d640941976 Add support for Python 3.3.4 2014-02-10 20:14:29 -06:00
Yamashita Yuu
e58ac666c4 Fix permission of installed definitinos 2014-02-09 11:20:59 +09:00
Yamashita Yuu
ce99decad5 Update changelog 2014-02-08 19:33:57 +09:00
Yamashita Yuu
719e6db358 Import recent changes from ruby-build 20140204 2014-02-08 19:31:35 +09:00
Yamashita Yuu
e0547de922 Update changelog 2014-02-08 18:51:59 +09:00
Yamashita Yuu
4b9907af1c Update setuptools (2.1.2 -> 2.2) 2014-02-08 18:37:06 +09:00
Yamashita Yuu
1d09851b2b Merge branch 'raspbian' 2014-02-08 01:06:35 +09:00
Yamashita Yuu
800ccaa5e3 Add armv6l and armv7l 2014-02-08 01:02:59 +09:00
Yamashita Yuu
00da261211 Install Raspbian binaries of pypy 2014-02-06 22:26:35 +09:00
Yamashita Yuu
b81d0ff0cd Update setuptools (2.1 -> 2.1.2) 2014-02-06 21:20:57 +09:00
Yamashita Yuu
715a7789ba Run python-build tests as script on travis-ci 2014-02-06 12:26:48 +09:00
Yamashita Yuu
6aa6d6b026 Fix broken test 2014-02-06 12:24:17 +09:00
Yamashita Yuu
62f9b7a731 Display error if wget doesn't support SNI (#60) 2014-02-06 12:18:41 +09:00
Yamashita Yuu
cc967fddb7 Refactor definitions of pypy 2014-02-04 21:03:51 +09:00
Yamashita Yuu
27ebc8bab7 Merge branch 'anaconda' 2014-02-04 18:33:37 +09:00
Yamashita Yuu
71db79eded Add old Anaconda/Miniconda releases 2014-02-04 13:46:07 +09:00
Yamashita Yuu
3aa263b51f Add Miniconda 3.0.0 2014-02-04 13:04:33 +09:00
Yamashita Yuu
59fbf8d103 Add Anaconda 1.8.0 2014-02-04 12:44:45 +09:00
Yamashita Yuu
b21d2c7dea Merge branch 'update-readme' 2014-01-29 18:01:29 +09:00
Yamashita Yuu
20e5404248 Update README about usage with multiple versions (#92) 2014-01-29 18:00:56 +09:00
Yamashita Yuu
56c58e2778 Modernize python versions in README 2014-01-29 17:54:01 +09:00
Yamashita Yuu
3c6ecaf66a Update pip (1.5.1 -> 1.5.2) 2014-01-27 21:55:58 +09:00
Yamashita Yuu
87ca55100b Add 3.3.4rc1 and 3.4.0b3 2014-01-27 21:52:23 +09:00
Yamashita Yuu
589872affb Set proper PYENV_VERSION during pyenv install 2014-01-27 15:04:51 +09:00
Yamashita Yuu
73d5ea7426 v0.4.0-20140123 2014-01-23 19:14:26 +09:00
Yamashita Yuu
b992ffca1d Merge branch 'rbenv-pr531' 2014-01-23 11:16:51 +09:00
Yamashita Yuu
9c82314570 Unset GREP_OPTIONS to avoid unexpected grep behavior (fixes #101) 2014-01-23 11:11:56 +09:00
Yamashita Yuu
403154e09e Update pip (1.5 -> 1.5.1) 2014-01-21 16:18:19 +09:00
Yamashita Yuu
b44398e954 Add .gitignore 2014-01-21 00:04:02 +09:00
Yamashita Yuu
46a01b1643 Merge branch 'enable-framework' 2014-01-18 10:08:37 +09:00
Yamashita Yuu
bf94eb8cbe Add workaround for --enable-framework to work with CPython 2.7.6 2014-01-18 09:59:17 +09:00
Yamashita Yuu
b225f2030d Add support for --enable-framework (#55, #99)
```
$ env PYTHON_CONFIGURE_OPTS="--enable-framework" pyenv install 3.3.2
```
2014-01-18 01:52:50 +09:00
Yamashita Yuu
cbe7d0241b Merge branch 'python-build-test' 2014-01-17 21:28:03 +09:00
Yamashita Yuu
e65a10be51 Add bats test for python-build 2014-01-17 21:18:22 +09:00
Yamashita Yuu
badc8255ab Do not invoke use_homebrew_readline twice 2014-01-17 21:09:52 +09:00
Yamashita Yuu
385d3337ef Merge branch 'ensurepip' 2014-01-16 18:33:26 +09:00
Yamashita Yuu
558200285b Use ensurepip to install pip if available 2014-01-16 18:10:52 +09:00
Yamashita Yuu
2c26b0870a Setup built-in patches out from stub functions of `{before,after}_install_package}. 2014-01-15 17:20:41 +09:00
Yamashita Yuu
2cea06b88a Sort built-in patches by its name 2014-01-15 17:09:58 +09:00
Yamashita Yuu
c977774977 Merge branch 'issue98' 2014-01-15 16:42:14 +09:00
Yamashita Yuu
314937d599 Set PYENV_BIN_PATH in PATH even if the version is system (fixes #98) 2014-01-15 16:41:06 +09:00
Yamashita Yuu
07ae0d8e42 Import changes from ruby-build 20140110.1 2014-01-10 20:05:01 +09:00
Yamashita Yuu
461c5bbc2d Merge branch 'release-0.4.0-20140110.1' 2014-01-10 15:04:36 +09:00
Yamashita Yuu
a7f5a19a24 v0.4.0-20140110.1 2014-01-10 15:04:16 +09:00
Yamashita Yuu
f344731cf9 Merge branch 'osx-llvm-gcc' 2014-01-10 13:17:16 +09:00
Yamashita Yuu
a3f35b7e0d Fallback to use clang if there is gcc not installed 2014-01-10 13:16:37 +09:00
Yamashita Yuu
b025dbfdab Add require_cc again 2014-01-10 13:15:56 +09:00
Yamashita Yuu
efd9c1cd48 Merge branch 'release-0.4.0-20140110' 2014-01-10 11:28:17 +09:00
Yamashita Yuu
38eb9fe948 v0.4.0-20140110 2014-01-10 11:27:43 +09:00
Yamashita Yuu
6ee7aaf611 Should not recognize cc as clang 2014-01-09 18:18:50 +09:00
kou1okada
5c1094adb9 Response enhancement for in the case of the working directory under the UNC path.
finding_local_version_file is extremely slow, when working directory is under the UNC path.
Because //host/.rbenv-version and //.rbenv-version do not exist, but testing them is so slow.
It's the reason to make a serious delay of the response, when the Ruby runs with a current working directory under the UNC path under Cygwin environment.

A response of before applying this patch.
//somehost/somedir $ time ruby -e "exit"

real    0m13.922s
user    0m0.168s
sys     0m0.287s

A response of after applying this patch.
//somehost/somedir $ time ruby -e "exit"

real    0m0.721s
user    0m0.153s
sys     0m0.319s
2014-01-09 15:31:29 +09:00
Yamashita Yuu
93ba3a4c51 Use same require_gcc as ruby-build 2014-01-08 22:34:10 +09:00
Yamashita Yuu
34087d03ec Add build status badge 2014-01-08 21:47:36 +09:00
Yamashita Yuu
f136b219db Update pip (1.4.1 -> 1.5) 2014-01-08 21:44:19 +09:00
Yamashita Yuu
84705cfe61 Update setuptools (2.0.2 -> 2.1) 2014-01-08 21:42:59 +09:00
Yamashita Yuu
2a9f6038e0 Use package_option() to setup configure options 2014-01-08 11:49:48 +09:00
Yamashita Yuu
0e3e603429 Don't check $(uname -s) twice 2014-01-08 10:56:43 +09:00
Yamashita Yuu
71a916faf2 simplicy the check for infinite loop 2014-01-08 10:54:11 +09:00
Yamashita Yuu
8e02b93e39 Call build_package_ldflags_dirs to suppress linker warnings 2014-01-07 12:46:40 +09:00
Yamashita Yuu
a7a99c75eb Apply patch only if there are patches exist for the package 2014-01-07 11:52:22 +09:00
Yamashita Yuu
bb3b5de179 Add CPython 3.4.0b2 2014-01-06 13:03:40 +09:00
Yamashita Yuu
f956502fd8 Merge branch 'avoid-infinite-loop-even-if-pwd-returns-relative-path' 2014-01-03 08:36:05 +09:00
Yamashita Yuu
4c5ffc8d99 Avoid infinite loop in case where pwd returns relative path
The `pwd` may return relative path if the `$PWD` is badly declared
in bash/zsh (e.g. `PWD="." bash`). To avoid the infinite loop in
`find_local_version_file()`, stop finding the version file if the
target paths are same consecutively.
2014-01-03 08:35:39 +09:00
Yamashita Yuu
8dc4e8d6f8 Revert "Merge branch 'golang-workaround'"
This reverts commit 7edceff71c, reversing
changes made to 5dea3c9e63.
2014-01-03 07:39:52 +09:00
Mislav Marohnić
14bc162ca6 Merge branch 'openbsd'
Closes #524
2014-01-02 22:44:19 +01:00
Mislav Marohnić
1a6bada94c Fix detecting parent shell on OpenBSD and Cygwin
It seems that "comm" header can't be relied on cross-platform, but that
"ucomm" is more portable. I have no idea whether it's the right value to
use here, but it seems to be doing the job.

Also strip trailing whitespace because OpenBSD 5.4 `ps` output is padded
with spaces for some reason.

Fixes #489
2014-01-02 22:36:03 +01:00
Mislav Marohnić
eda535a942 Fix detecting completions support on OpenBSD
The non-extended regex pattern didn't work on OpenBSD so this switches
grep to extended pattern mode that seems to work consistenty on all
systems.
2014-01-02 22:33:54 +01:00
Mislav Marohnić
1e1c9cb0dc Fix emulating the scenario where system Ruby is missing on OpenBSD
On other systems, we expected to find system Ruby in `/usr/bin`, but in
OpenBSD 5.4 it will be found in `/usr/local/bin`.

This replaces the limited USRBIN_ALT hack with a more generic
`path_without` function that will ensure that the given executable is
not present in the resulting PATH even if it's found in multiple
system paths.
2014-01-02 22:30:21 +01:00
Yamashita Yuu
7edceff71c Merge branch 'golang-workaround' 2014-01-03 06:23:03 +09:00
Mislav Marohnić
3dc0005032 Fix test suite running on OpenBSD
The error was "bash: no such file or directory" and it was due to bash
being located in `/usr/local/bin` on OpenBSD 5.4 instead of `/bin` like
on other systems.

Fixed by keeping `/usr/local/bin` in PATH during the test run.
2014-01-02 22:17:38 +01:00
Yamashita Yuu
1587d8a03c Apply readlink to output from pwd may returns "." to get actual path 2014-01-03 05:07:21 +09:00
Yamashita Yuu
5dea3c9e63 Import changes from recent rbenv 2014-01-03 04:58:44 +09:00
Yamashita Yuu
12d4fdb307 Merge branch 'unittest' (#21) 2014-01-03 04:43:44 +09:00
Yamashita Yuu
319721b380 Modify applications and versions for Python 2014-01-03 04:41:23 +09:00
Yamashita Yuu
3dd9332eee Fix broken tests 2014-01-03 04:33:30 +09:00
Yamashita Yuu
88922e2bc0 Remove version-ext-compat plugin to make test success 2014-01-03 02:07:20 +09:00
Yamashita Yuu
0965577b93 Import tests from rbenv with sed -e s/rbenv/pyenv/g 2014-01-03 02:06:36 +09:00
Yamashita Yuu
f538169992 Restore OLDIFS expectedly 2014-01-03 01:47:10 +09:00
Yamashita Yuu
d03f290b5d s/rbenv/pyenv/ 2014-01-02 22:49:23 +09:00
Yamashita Yuu
8ddf8760d5 Import recent changes from rbenv 0.4.0 2014-01-02 22:45:02 +09:00
Mislav Marohnić
6d0bf9b39f Merge pull request #521 from wmoxam/master
Fix rbenv on OpenBSD

Fixes #519
2014-01-01 15:31:08 -08:00
wmoxam
2f5d9a6f90 Fixes rbenv on OpenBSD and any other systems that don't support head -c 2013-12-31 01:44:36 -05:00
Mislav Marohnić
783618b89c Force TAP output from Bats on CI
In Travis CI environment, Bats thinks it's outputting to an interactive
terminal, so it switches to "pretty" format and ANSI escape codes which
don't look well in the final output.
2013-12-25 18:14:10 +01:00
Jeffrey 'jf' Lim
4f2f6f8575 Fix test suite when no system Ruby exists
Some tests assumed that the `ruby` executable will be found in system PATH.

Fixes #512, closes #514
2013-12-25 18:14:10 +01:00
Mislav Marohnić
59aca30267 Merge pull request #491 from peterhoeg/master
ignore cache directory used by ruby-build
2013-12-17 10:15:09 -08:00
Sam Stephenson
605e691bff Merge pull request #504 from jonathandean/master
Remove Neckbeard reference in favor of Advanced
2013-12-14 13:57:54 -08:00
Jonathan Dean
09ec276a85 Change 'Advanced Configuration' reference to 'How rbenv hooks into your shell' 2013-12-14 16:38:25 -05:00
Jonathan Dean
590b19a1b1 Remove Neckbeard reference in favor of Advanced 2013-12-13 14:06:44 -05:00
Mislav Marohnić
be5e1a4ded Improve rbenv init instructions for fish
Fish user config file `~/.config/fish/config.fish` loads for every
instance of fish shell, not just interactive ones. Since it's
unnecessary and dangerous to eval `rbenv init -` output in
non-interactive shells, wrap the invocation in a conditional that checks
if the current shell is interactive.

Fixes #501
2013-12-06 16:45:22 +01:00
Peter Hoeg
8650de0c0c ignore cache directory used by ruby-build 2013-11-25 11:59:23 +08:00
Yamashita Yuu
8fa6b4a184 CPython installer requires existing Pyhthon of similar version. 2013-11-19 18:02:59 +09:00
Yamashita Yuu
e1a5b326e4 Merge branch 'ruby-build-style-patching' 2014-01-01 13:01:34 +09:00
Yamashita Yuu
8892f3735d Use -p0 for all patches to keep things simple (sstephenson/ruby-build#484)
There is filterdiff(1) available to transform strip level of a patch if
optional level is required.

```
git diff HEAD^ | filterdiff --strip=1 | pyenv install -p 3.3.3
```
2014-01-01 12:25:17 +09:00
Yamashita Yuu
9eedd4ef84 Update setuptools (2.0.1 -> 2.0.2) 2013-12-31 22:19:22 +09:00
Yamashita Yuu
b70dcb9f2d Add list_patches() to sort patches by their names 2013-12-26 16:31:43 +09:00
Yamashita Yuu
008a5a1ff9 Force PYTHON_BUILD_PATCH_PATH to be absolute path 2013-12-26 16:30:16 +09:00
Yamashita Yuu
5b7eb42a9f Add -p0 as an option for patch if both PATCH_OPTS and PACKAGE_PATCH_OPTS aren't defined 2013-12-26 15:44:56 +09:00
Yamashita Yuu
35d4cd2259 Remove PACKAGE_PATCH_STRIP. Use PACKAGE_PATCH_OPTS instead. 2013-12-26 14:01:46 +09:00
Yamashita Yuu
5bff9c773a Reliably detect parent shell in pyenv init (fixes #93)
Imported changes from sstephenson/rbenv#453.
2013-12-26 13:48:43 +09:00
Yamashita Yuu
6efb3c327f Revert setuptools version for jython-2.7-beta1 (2.0.1 -> 2.0)
Could not install setuptools 2.0.1 for jython-2.7-beta1 by the
lack of `parser` module.
2013-12-25 20:42:11 +09:00
Yamashita Yuu
1a05d9a8cd Merge branch 'apply-extra-patches' 2013-12-21 01:06:13 +09:00
Yamashita Yuu
df51c13323 Use cp -RPp to copy share directories recursively.
We have some patches for CPython in `share/python-build/patches`.
2013-12-21 01:04:19 +09:00
Yamashita Yuu
a025866bac Update setuptools (2.0 -> 2.0.1) 2013-12-21 00:50:28 +09:00
Yamashita Yuu
2797f3d80e Update README about PYTHON_PATCH_PATH. 2013-12-21 00:36:32 +09:00
Yamashita Yuu
0d85193f39 Remove -Wl,-rpath=... from LDFLAGS on Darwin to fix build.
We don't need to set `rpath` explicitly because the ld on Darwin
embeds the full paths to each dylib by default
2013-12-20 20:37:47 +09:00
Yamashita Yuu
4d534fed31 Merge branch 'enable-shared' 2013-12-20 18:36:42 +09:00
Yamashita Yuu
43212f64ed Pass rpath to linker if --enable-shared was given (#65, #66, #82) 2013-12-20 18:22:43 +09:00
Yamashita Yuu
75559df89d Search extra patches from given directory then apply it during build (#91)
```
$ env PYTHON_PATCH_PATH="./patches" PYTHON_PATCH_OPTS="-p1" pyenv install 2.7.6
```
2013-12-20 17:17:17 +09:00
Yamashita Yuu
3d5156ed1d v0.4.0-20131217 2013-12-17 11:46:44 +09:00
Yamashita Yuu
aa76fd2f9c On Darwin, should not build readline if there is brewed readline 2013-12-16 16:27:45 +09:00
Yamashita Yuu
db141f66a4 Restored has_broken_mac_llvm_gcc which is required to build 3.3+ on Darwin 2013-12-16 16:24:25 +09:00
Yamashita Yuu
fe07deb193 v0.4.0-20131216 2013-12-16 13:51:48 +09:00
Yamashita Yuu
7159e24aa8 Update ChangeLog 2013-12-16 13:50:52 +09:00
Yamashita Yuu
1cc90d31ae Import changes from ruby-build v20131211 2013-12-16 13:44:03 +09:00
Yamashita, Yuu
76bf3ee0d6 Merge pull request #88 from pwdtnx/fix-prefix-system
Fix pyenv-prefix to trim "/bin" in `pyenv prefix system`
2013-12-12 07:38:10 -08:00
Tanix
fd3dd225ba rewrite strip of PYENV_PREFIX_PATH in a single line 2013-12-12 23:05:31 +09:00
Tanix
140808e3d4 Fix pyenv-prefix to trim "/bin" in pyenv prefix system 2013-12-12 22:16:43 +09:00
Yamashita Yuu
edb5a32620 Update setuptools (1.4.2 -> 2.0) for Python 2.6+ 2013-12-12 18:20:57 +09:00
Yamashita Yuu
88e2d73d52 Update setuptools (1.4.1 -> 1.4.2) 2013-12-02 15:35:35 +09:00
Yamashita Yuu
7b95fea77e Add PyPy 2.2.1 2013-11-29 12:58:31 +09:00
Yamashita Yuu
20eb5c4913 Update setuptools (1.4 -> 1.4.1) 2013-11-27 20:48:06 +09:00
Yamashita Yuu
bc2d2456ae Add CPython 3.4.0b1 2013-11-25 16:07:27 +09:00
Yamashita, Yuu
064531ea1f Merge pull request #83 from thedrow/patch-1
Added a link about the common build problems.
2013-11-20 18:41:33 -08:00
Omer Katz
80b8508dbc Added a link about the common build problems. 2013-11-20 18:16:03 +02:00
Yamashita Yuu
02e073a503 remove useless patch from 2.6-dev 2013-11-20 19:06:40 +09:00
Yamashita Yuu
e094d683ed Update setuptools (1.3.2 -> 1.4) 2013-11-19 19:41:44 +09:00
Yamashita Yuu
bd1454c69f Remove 3.3.3-rc[12] because 3.3.3 has been released 2013-11-19 19:06:48 +09:00
Yamashita Yuu
b726d645c3 http://www.python.org/ -> http://python.org/ 2013-11-19 19:03:19 +09:00
Anthon van der Neut
78441ce084 Released Python 3.3.3 2013-11-19 18:56:02 +09:00
Yamashita Yuu
4953fa4034 Apply built-in patches only if patch is not given via STDIN 2013-11-19 05:58:21 +09:00
Yamashita Yuu
1f76effbfb Import changes from ruby-build v20131225.1 2013-12-27 18:44:54 +09:00
Yamashita Yuu
5e20237f5b v0.4.0-20131116 2013-11-16 19:29:30 +09:00
Yamashita Yuu
dd44d0a713 Add CPython 3.3.3 RC1/RC2 2013-11-16 19:04:42 +09:00
Yamashita Yuu
a28c040eb9 Add PyPy 2.2 (closes #77) 2013-11-15 12:32:57 +09:00
Yamashita Yuu
6a787dd951 Update setuptools (1.1.7 -> 1.3.2) 2013-11-11 20:44:24 +09:00
Yamashita Yuu
5d9132623f Add CPython 2.7.6 2013-11-11 20:41:53 +09:00
Mislav Marohnić
95a039aaaa Revert "rbenv exec: avoid mutating PATH"
It was supposed to fix shelling out to Ruby but it in fact broke another
kind of shelling out to Ruby: invoking the `ruby` binary directly with
the `-S` flag.

Fixes #480

This reverts commit db143bb654.
2013-11-03 12:18:28 +02:00
Yamashita Yuu
f7193b09fd Merge branch 'ruby-build-v20131030' 2013-11-01 18:30:24 +09:00
Yamashita Yuu
498d226b2f Import changes from ruby-build v20131030 2013-11-01 18:30:00 +09:00
Yamashita Yuu
ccc51244e3 Add CPython 2.6.9 2013-11-01 17:13:29 +09:00
Yamashita Yuu
516f49e913 Update setuptoos (1.1.6 -> 1.1.7) 2013-11-01 17:00:16 +09:00
Mislav Marohnić
f1fdb9bbc8 Avoid invoking hash -r in fish
It doesn't exist as a builtin, and it doesn't seem there is a way to
detect support for a shell builtin that is portable. So, just detect
fish and don't the rehash command at all.

Fixes #478
2013-10-31 20:18:14 +02:00
Mislav Marohnić
44e76bea23 Merge pull request #372 from sstephenson/exec-next
Change `exec` semantics to allow using rbenv from a ruby process
2013-10-29 18:53:33 -07:00
Mislav Marohnić
a898e2a534 Merge branch 'no-process-substitution' 2013-10-30 02:50:31 +01:00
Mislav Marohnić
681435e0b4 Simplify version-file-read to avoid process substitution
Process substitution seems to be causing problems with some versions of
bash on specific systems.

Fixes #401
2013-10-30 02:33:49 +01:00
Mislav Marohnić
d2eace00c9 Add more tests for version-file-read 2013-10-30 02:33:23 +01:00
Yamashita Yuu
a2ab3bc32c v0.4.0-20131023 2013-10-23 15:19:33 +09:00
Yamashita Yuu
ab4a8396e1 Add 3.4.0a4 2013-10-23 15:18:14 +09:00
Yamashita Yuu
733cb397b2 improve messages on failed import 2013-10-15 14:04:38 +09:00
Mislav Marohnić
3300587c6b strip initial - from the name of shell process
Avoids the case where shell detection would result in
`basename "-bash"` invocation, triggering the error:

    basename: illegal option -- b

fixes #462
2013-10-07 14:19:37 +02:00
Mislav Marohnić
878bd87328 reliably detect parent shell in rbenv init
`$SHELL` variable is a terrible way of detecting the current shell
because it's not even supposed to reflect the current shell; it's meant
for keeping the value of the default shell for programs to start.

If an explicit `<shell>` argument wasn't passed to `rbenv init`, it
tries to detect the shell by getting the name of its parent process. If
this fails, it falls back on the value of `$SHELL` as before.

Furthermore, `rbenv init` will set the RBENV_SHELL variable in the
current shell to the value of the detected shell so that `sh-shell` and
`sh-rehash` commands don't have to repeat the detection.
2013-10-07 03:24:45 +02:00
Yamashita Yuu
7f9a2325e5 Add 3.4.0a3 2013-10-04 12:52:05 +09:00
Yamashita Yuu
625b3b7ec1 Update setuptools (1.1.4 -> 1.1.6) 2013-10-04 12:49:41 +09:00
Gunes
ff23666d56 typo: remove "v" (version prefix) 2013-10-03 22:18:43 +02:00
Mislav Marohnić
f4fade3d26 better error message for rbenv prefix system
Have `rbenv prefix` handle the case where system Ruby is not installed,
i.e. `rbenv which ruby` doesn't find ruby in PATH.

Fixes #362
2013-10-03 21:42:52 +02:00
Mislav Marohnić
16c3e0ddac tweak installation instructions
Provide an `rbenv install` example and explanation lower down, so that
both folk that are following git install and Homebrew install will
finish at the same section and learn how to use ruby-build.

Also remove step 6 of manual install process: `rbenv rehash`. It's
unnecessary at that point, even if they already did `rbenv install`
(which rehashes automatically).

Fixes #455, closes #456
2013-10-03 20:52:13 +02:00
Mislav Marohnić
0d216c2d82 remove rbenv install example; clarify manual compile
It can be confusing if people mistake the example as instructions to
install ruby-build with.
2013-10-03 20:17:10 +02:00
Mislav Marohnić
a1fb5b1153 better Ubuntu Desktop installation instructions
Don't suggest that they add to their `.profile` anymore because:

1. They would have to restart the desktop session for their change to be
   reflected, or source the file manually;
2. An error in `.profile` may prevent logging in;
3. The `rbenv()` shell function and shell completions won't be available
   in Terminal since it doesn't start bash in login mode by default.

Therefore, suggest that they use `.bashrc` instead. This will be
immediately reflected in a new Terminal tab. If bash is started in login
mode somehow, the default `.profile` is set up to source `.bashrc` anyway.

Also, don't suggest restarting the shell environment with
`exec $SHELL -l`, since we don't know what was the original mode that
their shell was started in. (OS X Terminal.app will be login mode,
Ubuntu Terminal has non-login mode by default.) Mode can be checked with:

* bash: `shopt -q login_shell`
* zsh: `[[ $options[login] = "on" ]]`

But since this is gnarly, let's just avoid it altogether and go the
easy route.

Closes #305, fixes #373, reverts #286
2013-10-03 20:07:22 +02:00
Mislav Marohnić
e97326845c Ubuntu fix: don't use . in place of source
If `rbenv init -` outputs `.` in place of `source` and that gets eval'd
by the desktop manager via `~/.profile`, it chokes and prevents the user
from logging in.

Fixes #457
2013-10-03 16:12:24 +02:00
Yamashita Yuu
c95d446c53 Merge branch 'improved-fish-support' 2013-09-30 18:02:54 +09:00
Yamashita Yuu
6e749ef12f Import recent changes relating to fish from rbenv 2013-09-30 18:02:12 +09:00
Mislav Marohnić
71a6d791c2 Merge branch 'shell-fixes' 2013-09-28 16:15:13 +02:00
Mislav Marohnić
5ae2cac088 fix rbenv() function in ksh and dash
ksh syntax becomes:

    function rbenv {
      typeset command

`typeset` only declares a local variable if there's an explicit
`function` declaration; otherwise the variable leaks.

Other shells use this syntax:

    rbenv() {
      local command

This is for dash compatibility, which supports neither `function` nor
`typeset`.

references #205, fixes #408
2013-09-28 16:12:53 +02:00
Mislav Marohnić
31fab8cdae cleanup in fish
Use process subtitution syntax:

    . (rbenv init -|psub)

instead of:

    eval (rbenv init -)

because the latter doesn't work well with newlines.
2013-09-28 16:12:43 +02:00
Yamashita Yuu
5bfec84432 add fish shell support 2013-09-28 16:11:02 +02:00
Jeffrey 'jf' Lim
caa4a8e228 fix rehash when paths have spaces in them
fixes #450
2013-09-26 01:42:34 +02:00
Yamashita Yuu
850dd87332 Merge branch 'appropriate-tar-options' 2013-09-14 17:00:32 +09:00
Yamashita Yuu
fb3e9b020e Use appropriciate tar option per compression types (#58) 2013-09-14 16:50:52 +09:00
Yamashita, Yuu
02a348b657 Merge pull request #57 from rluders/patch-1
Ubuntu environment configuration
2013-09-13 03:10:29 -07:00
Ricardo Lüders
5c41dc3901 Ubuntu environment configuration 2013-09-12 21:07:40 -03:00
Yamashita Yuu
74a3c55623 Add CPython 3.4.0a2 2013-09-10 21:32:01 +09:00
Yamashita Yuu
bc8c8a6cd9 Update setuptools (1.1 -> 1.1.4) 2013-09-10 21:31:55 +09:00
Mislav Marohnić
bdcc2e1790 check if completion script is readable
fixes #444
2013-09-09 09:53:50 +02:00
Ryan Bigg
749f21e482 Install a more recent version of Ruby in README instructions 2013-09-09 10:41:04 +10:00
Yamashita Yuu
99bc72a908 Wipe out CPython-specific scripts from build_package_standard() 2013-09-02 17:13:17 +09:00
Yamashita Yuu
aab8bb262d Update setuptools (1.0 -> 1.1) 2013-08-29 12:14:36 +09:00
Yamashita, Yuu
f14a4ef8e5 Merge pull request #54 from apbarrero/alternative_install
Installation instructions for any installation directory.
2013-08-28 00:18:45 -07:00
Antonio Perez Barrero
3bf50856ce Installation instructions for any installation directory.
Updated README.md contents so that installation instructions cover
not only the common case for installation directory, i.e. `~/.pyenv`
but any other at the user's choice.
2013-08-28 08:33:18 +02:00
Yamashita, Yuu
c3e55aa5ae Merge pull request #53 from stephendavis89/master
Fix spelling error in README
2013-08-27 20:05:12 -07:00
Stephen Davis
704548336a Fix spelling error 2013-08-27 15:27:57 -04:00
Yamashita Yuu
0ea5e12b4a Update changelog 2013-08-23 18:40:12 +09:00
Yamashita Yuu
28fd240de2 Update setuptools (0.9.7 -> 1.0) 2013-08-23 18:36:21 +09:00
Yamashita Yuu
586c0e6d62 Update pip (1.4 -> 1.4.1) 2013-08-23 18:31:22 +09:00
Yamashita, Yuu
c920eaa9be Merge pull request #49 from yyuu/fish-support
Fish support (#32)
2013-08-15 20:44:10 -07:00
Yamashita Yuu
d2f210d70d Implement sub-command completion for fish shell 2013-08-16 12:24:53 +09:00
Yamashita Yuu
683036298e fish doesn't have builtin command equivalent to bash's hash -r. 2013-08-15 22:56:57 +09:00
Yamashita Yuu
93b536863f Support fish shell 2013-08-15 22:56:53 +09:00
Yamashita Yuu
403f4eb7a7 Preserve original IFSs 2013-08-15 22:29:47 +09:00
Yamashita Yuu
4c71f3c5cd Apply --with-pydebug configure option only for Python 2013-08-08 11:58:01 +09:00
Aaron Stone
1cc75362d6 Clarify the search precedence for .ruby-version files.
Closes #432 [ci skip]
2013-08-07 22:37:21 +02:00
Yamashita Yuu
106e4cae90 Homebrew homepage location changed 2013-08-06 22:57:45 +09:00
Yamashita Yuu
10221d51f1 Add 2.4, 2.4.1, 2.4.3, 2.4.4 and 2.4.5 2013-08-02 00:32:09 +09:00
Yamashita Yuu
aff87c3cb3 Rename; pypy-py3k-dev -> pypy3-dev 2013-08-02 00:13:50 +09:00
Yamashita Yuu
b0f640db61 Add pypy3-2.1-beta1 2013-08-02 00:13:50 +09:00
Yamashita Yuu
af0fed2e34 Add pypy-2.1 2013-08-01 23:58:33 +09:00
Yamashita Yuu
e996f2f51a Merge branch 'py24-multiarch-patch' 2013-08-01 23:23:30 +09:00
Yamashita, Yuu
0fe18d0dc1 Merge pull request #45 from Domon/fix-formatting-in-readme
Fix formatting in the Homebrew section of README
2013-08-01 03:16:48 -07:00
Chun-wei Kuo
cc6c45d7fb Fix formatting in the Homebrew section of README 2013-08-01 18:01:38 +08:00
Yamashita Yuu
2646c6c159 Add _multiarch_ patch to fix build of CPython 2.4.x 2013-08-01 17:26:37 +09:00
Yamashita Yuu
ce66352f6d v0.4.0-20130726 2013-07-26 16:59:51 +09:00
Yamashita Yuu
9e133adf99 Merge branch 'ruby-build-20130628' 2013-07-26 00:05:19 +09:00
Yamashita Yuu
b1851f2aff Update README 2013-07-25 17:19:59 +09:00
Yamashita Yuu
b943e0abff Import changes from ruby-build v20130628 2013-07-25 17:19:55 +09:00
Ryan Bigg
a2adc61c6f Merge pull request #428 from almog/master
Homebrew homepage moved to a new location
2013-07-24 15:33:14 -07:00
Almog Kurtser
c7208bf1ff Homebrew homepage location changed 2013-07-25 00:02:05 +03:00
Yamashita Yuu
d6d556911b Merge branch 'fix-build-on-suse' (fixes #36) 2013-07-24 22:57:59 +09:00
Yamashita Yuu
b8ecd2d6dd Specify --libdir on configure to fix build on openSUSE (#36) 2013-07-24 18:43:20 +09:00
Yamashita Yuu
1e5ef005fb Update setuptools (0.9.5 -> 0.9.7) 2013-07-24 17:17:48 +09:00
Yamashita Yuu
d11db0f0f2 Update pip for Python 2.6+ (1.3 -> 1.4) 2013-07-24 17:09:40 +09:00
Yamashita, Yuu
8e43e72082 Merge pull request #37 from flavio/build_python_2_4
Allow installation of python 2.4.2
2013-07-23 23:37:31 -07:00
Flavio Castelli
ae86a253e2 Allow installation of python 2.4 series
Make possible to install python 2.4.2 and 2.4.6.
2013-07-22 14:53:09 +02:00
Yamashita Yuu
0c38147fcb Fix build of native modules of Carbon/ncurses on OS X 10.7 2013-07-20 20:53:38 +09:00
Yamashita Yuu
e1ea64b0b9 Merge branch 'issue33' 2013-07-19 22:02:16 +09:00
Yamashita Yuu
fa35e792c1 Backport libffi-osx from 2.7.5 to build ctypes on OS X (#33) 2013-07-19 21:47:51 +09:00
Yamashita Yuu
f5807424c2 Add patches for 2.5 to fix biuld on OS X 10.7/10.8 (#33) 2013-07-19 18:08:02 +09:00
Yamashita Yuu
4c006959fa fix broken string match in has_broken_mac_llvm_gcc() 2013-07-17 17:02:23 +09:00
Yamashita Yuu
f9a19e3f24 s/gcc_llvm/llvm_gcc/g 2013-07-17 16:38:57 +09:00
Yamashita Yuu
d5c24f5122 Update setuptools (0.8 -> 0.9.5) 2013-07-17 15:51:19 +09:00
Yamashita Yuu
392e404cc6 Use https instead of http when downloading from pypi 2013-07-08 16:27:01 +09:00
Yamashita Yuu
b04e067c83 update setuptools (0.7.7 -> 0.8) 2013-07-08 16:25:24 +09:00
Yamashita Yuu
ed2937f4d1 update setuptools (0.7.4 -> 0.7.7) 2013-07-04 17:23:38 +09:00
Yamashita Yuu
8848006540 remove meaningless break (fixes #26) 2013-07-03 11:15:58 +09:00
Yamashita Yuu
7a4fe458b8 Merge branch 'llvm-gcc-4.2-on-osx' 2013-06-29 12:32:35 +09:00
Yamashita Yuu
f76faa88b8 add has_broken_mac_gcc_llvm and use clang if true 2013-06-29 12:27:33 +09:00
Yamashita Yuu
9ce760c798 add require_cc() to test existence of CC other than GCC 2013-06-28 12:18:45 +09:00
Yamashita Yuu
152ebe6e61 Download GNU Readline from mirror site of GNU 2013-06-27 12:28:34 +09:00
Yamashita Yuu
1a6eb80bcd should not declare IFS in toplevel 2013-06-21 19:37:58 +09:00
Mislav Marohnić
db143bb654 rbenv exec: avoid mutating PATH
Enables shelling out from a ruby process started with rbenv to a ruby
process with a different RBENV_VERSION. Fixes #121

This removes the workaround created for #15 and solves `ruby -S` support
by setting RUBYPATH. PATH is never changed.

To illustrate how RUBYPATH changes in various configurations:

    PATH=~/bin:~/.rbenv/shims:/usr/bin:/bin
    RBENV_VERSION=1.8 ruby -S rake
    #=> executes ~/.rbenv/versions/1.8/bin/rake
    #=> RUBYPATH=~/bin:~/.rbenv/versions/1.8/bin:/usr/bin:/bin

    RBENV_VERSION=2.0 ruby -S rake
    #=> executes ~/.rbenv/versions/2.0/bin/rake
    #=> RUBYPATH=~/bin:~/.rbenv/versions/2.0/bin:/usr/bin:/bin

    RBENV_VERSION=system ruby -S rake
    #=> executes /usr/bin/rake
    #=> RUBYPATH=~/bin:/rbenv_shims_were_here:/usr/bin:/bin

    RBENV_VERSION=1.8 ruby -S rake
    #=> executes ~/.rbenv/versions/1.8/bin/rake
    #=> RUBYPATH=~/bin:~/.rbenv/versions/1.8/bin:/usr/bin:/bin
2013-06-20 20:41:22 +02:00
Mislav Marohnić
8b043038b8 ensure cleaner PATH in test environment 2013-06-20 20:41:22 +02:00
Yamashita Yuu
745bceac22 update setuptools (0.7.2 -> 0.7.4) 2013-06-20 12:31:18 +09:00
Yamashita Yuu
583f3b0e21 fix build of 3.4-dev. append existing 3.4 at the last.
this is because `hg` (which is a dependency of *-dev build) might be
installed in existing pyenv versions.
2013-06-19 18:48:58 +09:00
Yamashita Yuu
cc9c72747a v0.4.0-20130613 2013-06-13 20:52:10 +09:00
Yamashita Yuu
b473f7a271 add CHANGELOG.md 2013-06-13 20:51:17 +09:00
Yamashita Yuu
b726ace943 update README about Homebrew 2013-06-13 20:04:37 +09:00
Yamashita Yuu
499edda1d7 Merge branch 'preparing-removal-of-pyenv-version-ext' 2013-06-13 12:40:13 +09:00
Yamashita Yuu
3bfd91de51 rename to version-ext-compat because pyenv-version-ext must precede
than compatibility plugin.
2013-06-13 12:37:35 +09:00
Yamashita Yuu
c7e139186b update README 2013-06-13 12:20:31 +09:00
Yamashita Yuu
7c84490649 ignore pyenv-version-ext-compat plugin 2013-06-13 12:14:17 +09:00
Yamashita Yuu
b75ef17db7 add deprecation warning for push/pop commands 2013-06-13 12:13:41 +09:00
Yamashita Yuu
daa12e97c6 rename plugin 2013-06-13 12:04:09 +09:00
Yamashita Yuu
1c5eb82e93 Merge branch 'has_broken_mac_readline' (fixes #23) 2013-06-13 11:32:12 +09:00
Yamashita Yuu
ff387010b3 use environment variable "${CPP}" if defined 2013-06-12 20:43:19 +09:00
Yamashita Yuu
27dd805acb enable require_gcc to confirm if there is $CC 2013-06-12 16:11:07 +09:00
Yamashita Yuu
5f1761645f fix has_broken_mac_openssl for building Python.
`--with-*-dir` is only effective for Ruby's mkmf.rb.
2013-06-12 16:09:41 +09:00
Yamashita Yuu
f8c9282e8c Install GNU Readline on Darwin if the readline is broken (refs #23)
The `has_broken_mac_readline` checks the existence of
`readline/rhconf.h`. This is the same mechanism as setup.py of CPython.
2013-06-12 16:04:20 +09:00
Yamashita Yuu
37f46df390 Merge branch 'setuptools-0.7.2' 2013-06-10 12:50:25 +09:00
Yamashita Yuu
4f8138c70a update setuptools for jython versions (distribute 0.6.45 -> setuptools 0.7.2)
https://bitbucket.org/pypa/setuptools/issue/14/installation-failed-on-jython
2013-06-10 12:48:05 +09:00
Yamashita Yuu
db3b4773bc update setuptools (0.7.1 -> 0.7.2) 2013-06-10 12:38:38 +09:00
Marc Huffnagle
5130b41f5b suggest cloning rbenv via https instead of git:// 2013-06-07 19:25:29 +02:00
James FitzGibbon
81bb14e181 bail out early if readlink is not available
readlink comes from GNU coreutils.  On systems without it, rbenv used to
spin out of control when it didn't have readlink or greadlink available
because it would re-exec the frontend script over and over instead of the
worker script in libexec.

Fixes #389
2013-06-07 19:16:38 +02:00
Mislav Marohnić
e93ab45dc3 work around bug in git 1.8.2.1 in tests
Making empty commits in tests blocked by opening the default text
editor, waiting for a message which we specified to be empty.

http://thread.gmane.org/gmane.comp.version-control.git/225529
2013-06-07 19:13:54 +02:00
Yamashita Yuu
fe04103e24 update comment about new setuptools and Jython 2013-06-05 14:58:51 +09:00
Yamashita Yuu
7777bb6d58 Merge branch 'new-setuptools' 2013-06-04 20:39:04 +09:00
Yamashita Yuu
e9bcd9e0bd replace distribute by new setuptools 2013-06-04 20:31:08 +09:00
Yamashita Yuu
2cc2c22094 add SSLv2 patch for 2.7 and 2.7.1 2013-06-04 20:18:16 +09:00
Yamashita Yuu
319000b448 pyenv-prefix returns wrong prefix if system is given in the middle of arguments. 2013-06-04 17:35:23 +09:00
Yamashita Yuu
b4ba76a15a Merge branch 'version-ext-plugin' 2013-06-01 15:27:04 +09:00
Yamashita Yuu
3ff0785fe7 prepare README and install.sh for pyenv-version-ext 2013-06-01 15:26:41 +09:00
Yamashita Yuu
1b7d3b0502 move pyenv-sh-{push,pop} into plugins since they aren't from rbenv 2013-06-01 15:14:18 +09:00
Yamashita Yuu
c43711a216 update distribute (0.6.43 -> 0.6.35) 2013-05-31 18:48:42 +09:00
Yamashita Yuu
3c86d811c8 Merge branch 'add-dev-versions' 2013-05-31 17:38:37 +09:00
Yamashita Yuu
d94c1d2143 add jython-*-dev 2013-05-31 17:38:18 +09:00
Yamashita Yuu
3fd475e1d5 add stackless-*-dev 2013-05-31 17:16:35 +09:00
Yamashita Yuu
309a6cd65e *EXPERIMENTAL* add pypy-py3k-dev 2013-05-31 14:33:22 +09:00
Yamashita Yuu
924f6dc76d add ${PYPY_OPTS} to specify pypy build options 2013-05-31 14:28:32 +09:00
Yamashita Yuu
56a9a7cebf improve error message of pypy 2013-05-31 14:28:08 +09:00
Yamashita Yuu
b8cbb18f7b add pypy-1.[789]-dev 2013-05-31 13:45:37 +09:00
Yamashita Yuu
27caf0ef3d add pypy-1.[567] 2013-05-31 13:39:58 +09:00
Yamashita Yuu
b203ccbe74 verify pypy binary after installation 2013-05-31 13:00:48 +09:00
Yamashita Yuu
cb962d5a74 Merge branch 'pypy_builder' 2013-05-29 23:32:13 +09:00
Yamashita Yuu
539800cc3b add pypy-*-src to build and install pypy from source 2013-05-29 23:30:22 +09:00
Yamashita Yuu
b77ae3e0b5 build and install pypy from source 2013-05-29 23:26:50 +09:00
Yamashita Yuu
dfc3f9e13c Set $PYENV_VERSION for existing installation of 3.4
CPython 3.4.x requires "python3.4" to be executable during build
if it is in "$PATH".
2013-05-29 19:36:49 +09:00
Yamashita Yuu
f120551ef3 add pypy-2.0.1 and pypy-2.0.2 2013-05-29 15:05:43 +09:00
Yamashita Yuu
b03a4cde78 add build_package_verify_py3{0,1,2,3,4} 2013-05-27 19:37:24 +09:00
Yamashita Yuu
71b2081a75 update distribute version (0.6.40 -> 0.6.43) 2013-05-27 16:58:19 +09:00
Yamashita Yuu
5fbc3ae3d5 add ssl patch for 3.1.3 and 3.2 (#22) 2013-05-23 12:07:19 +09:00
Yamashita Yuu
1ce37e53c7 Merge branch 'ruby-build-v20130518' 2013-05-21 16:40:21 +09:00
Yamashita Yuu
9ae12a7c22 add CPython development versions (2.[67]-dev, 3.[1234]-dev) 2013-05-21 16:38:11 +09:00
Yamashita Yuu
b3deef5e80 update base version of ruby-build (v20130518) 2013-05-21 11:43:01 +09:00
Yamashita Yuu
28317ecb34 update readme 2013-05-19 02:34:57 +09:00
Yamashita Yuu
78efa7613d setup verification for 2.7.5, 3.2.5 and 3.3.2 2013-05-18 20:52:37 +09:00
Yamashita Yuu
0bf26d8f1d setup download mirror site (#18, #20) 2013-05-17 23:14:57 +09:00
Yamashita Yuu
ac70eb701c fix error messages 2013-05-17 19:36:23 +09:00
Yamashita Yuu
c834f241a8 check native modules (e.g. ssl, bz2) if they were built 2013-05-17 16:49:27 +09:00
Yamashita, Yuu
aa39b392a9 Merge pull request #17 from keitaoouchi/support_2.7.5_3.2.5_3.3.2
Support new versions(2.7.5, 3.2.5, 3.3.2).
2013-05-16 07:36:07 -07:00
keitaoouchi
907ddb614d Support new versions(2.7.4, 3.2.5, 3.3.2). 2013-05-16 23:24:21 +09:00
Yamashita Yuu
dd0e3feae3 add install_zip 2013-05-16 22:39:15 +09:00
Yamashita Yuu
c24207428c remove useless definition of PYENV_VERSION_PATH 2013-05-16 18:21:37 +09:00
Yamashita Yuu
8b23026d6c add PACKAGE_PATCH_STRIP to support optional strip number of patch 2013-05-16 18:19:10 +09:00
Yamashita Yuu
cc9b7aa7dd update distribute version (0.6.38 -> 0.6.40) 2013-05-15 19:47:44 +09:00
Yamashita Yuu
318a41d723 add i786 2013-05-10 21:26:55 +09:00
Yamashita Yuu
5a52177d15 add pypy-2.0 and remove beta versions 2013-05-10 21:15:40 +09:00
Yamashita Yuu
2e8c43215d preserve original file suffix in place of hardcoded ".tar" 2013-05-10 20:26:42 +09:00
Yamashita Yuu
45966deb49 fix pypy installation on x86_64 with glibc which is not strictly equal to 2.13 or 2.15. 2013-05-10 20:23:25 +09:00
Yamashita Yuu
7aa644da5c ignore cache directory 2013-05-10 19:08:14 +09:00
Yamashita Yuu
56379532a6 add comments for Jython about the version of distribute and pip (#15) 2013-05-10 18:31:48 +09:00
Yamashita Yuu
9bf0755c81 update default distribute version (0.6.36 -> 0.6.38) 2013-05-09 14:58:47 +09:00
Yamashita Yuu
f01d1d1064 move patches into ./share to fix the install.sh 2013-05-09 00:11:52 +09:00
Yamashita Yuu
e9b0ecf021 remove needless declaration of LDFLAGS.
removing this not breaks build on latest Debian sid.
2013-05-08 23:56:33 +09:00
Yamashita Yuu
cbc6f38774 fix build problem of ssl modulle of CPython 3.0.1 2013-05-08 20:09:54 +09:00
Yamashita Yuu
e220b76c3e fix build problem of ssl module with recent OpenSSL
http://bugs.python.org/issue12012
2013-05-08 19:52:09 +09:00
Yamashita Yuu
8d1bf96267 add workaround for incompatible behaviour of svnversion (#14) 2013-05-08 19:23:03 +09:00
Yamashita Yuu
e49922064d Merge branch 'automated-patching' 2013-05-08 18:38:53 +09:00
Yamashita Yuu
95882fce68 remove useless patches 2013-05-08 18:38:34 +09:00
Yamashita Yuu
cc20ab3392 find appropriate patch for package automatically 2013-05-08 18:35:30 +09:00
Yamashita Yuu
fe50ed29ea bundle patches into python-build repository 2013-05-08 17:49:09 +09:00
Yamashita Yuu
e9db2caace fix completion problem on zsh 2013-05-01 13:14:22 +09:00
Yamashita Yuu
2d55aea467 add pypy-2.0-beta2 2013-04-30 01:53:30 +09:00
Yamashita Yuu
521c2c3e06 add jython versions; jython-2.5.4-rc1 and jython-2.7-beta1 2013-04-30 01:46:28 +09:00
Yamashita Yuu
0bc8d8252e fix typo to verify jar's checksum 2013-04-30 01:20:12 +09:00
Yamashita Yuu
80f4022891 Merge branch 'issue15' 2013-04-29 13:08:23 +09:00
Yamashita Yuu
998af2a3ab revert pip version (1.3.1 -> 1.2.1) to avoid AttributeError on Jython. (#15)
AttributeError: 'module' object has no attribute 'O_NOFOLLOW'
2013-04-27 21:05:34 +09:00
Yamashita Yuu
3b820e8c0c revert distribute version (0.6.36 -> 0.6.32) due to the installation
problem with Jython 2.5.[01] (#15)
2013-04-27 20:54:45 +09:00
Yamashita Yuu
8bc19e28e0 update distribute version (0.6.34 -> 0.6.36) 2013-04-25 21:42:59 +09:00
Yamashita Yuu
0d0516ad05 update default pip version (1.2.1 -> 1.3.1) 2013-04-25 21:40:13 +09:00
Yamashita Yuu
6997026064 import recent changes from ruby-build 20130408 2013-04-19 19:26:11 +09:00
Yamashita Yuu
dd1b6502c6 add README for python-build.
was copied from [ruby-build](https://github.com/sstephenson/ruby-build).
2013-04-19 18:48:45 +09:00
Mislav Marohnić
060f141b21 test that IFS in hooks is correct
closes #379
2013-04-16 14:01:43 +02:00
Ian Yang
6ca591ab75 restore original IFS for hooks 2013-04-16 14:01:43 +02:00
Mislav Marohnić
bc1049f5ae improve versions tests by cd'ing into a clean slate 2013-04-16 12:52:42 +02:00
Mislav Marohnić
05568496c1 Merge branch 'test-coverage' for MAXIMUM COVERAGE 2013-04-08 23:17:03 +02:00
Mislav Marohnić
ab9ebb9d0d add tests for help and rbenv --version 2013-04-08 23:16:35 +02:00
Mislav Marohnić
ab197ef51e add tests for version commands 2013-04-08 23:16:35 +02:00
Mislav Marohnić
7fc5f46bbb undo assert_output_lines in tests
It was a dumb idea and it wasn't even implemented perfectly.
2013-04-08 23:16:35 +02:00
Mislav Marohnić
969af1567a add tests for rehash, whence, which 2013-04-08 23:02:30 +02:00
Yamashita, Yuu
d1013e82de Merge pull request #12 from f440/support_2.7.4_3.2.4_3.3.1
Support 2.7.4, 3.2.4, 3.3.1
2013-04-06 21:20:26 -07:00
f440
bb2d058167 Support 2.7.4, 3.2.4, 3.3.1 2013-04-07 12:40:12 +09:00
Mislav Marohnić
7a10b64cf7 better emulate ruby -S behavior in testing
Per https://github.com/ruby/ruby/blob/7d3db3c/ruby.c#L1383-1391
2013-04-02 02:48:27 +02:00
Mislav Marohnić
f6db678b20 un-indent shebang for test executables 2013-04-02 02:48:04 +02:00
Mislav Marohnić
97290b2442 simplify iterating through arglist 2013-04-02 02:41:28 +02:00
Mislav Marohnić
b8504ed2a9 saner assertions for multiline output 2013-04-02 00:27:27 +02:00
Alisdair Sullivan
497911d6c0 improve detection of completion support for commands
Enable JavasCript, Lua and Erlang scripts to provide completions
2013-04-01 16:39:51 +02:00
Mislav Marohnić
4d96d0a6c6 add tests for completions 2013-04-01 16:22:02 +02:00
Mislav Marohnić
9b58b6642e test completions for exec 2013-04-01 03:45:15 +02:00
Mislav Marohnić
45f651ab00 hack around the hack around bash echo 2013-04-01 03:12:15 +02:00
Mislav Marohnić
400fe31061 fix exec fails for invalid version 2013-04-01 03:01:37 +02:00
Mislav Marohnić
4b6ab0389b add tests for exec 2013-04-01 02:58:58 +02:00
Mislav Marohnić
baf7656d2f fix iterating through paths that have spaces in them
Fixes #344, #196
2013-04-01 01:04:19 +02:00
Yamashita, Yuu
6e58c43d8a Merge pull request #11 from draftcode/build-pydebug
Add an option to build a debug version of Python
2013-03-28 00:53:08 -07:00
draftcode
dce4eb636a Add a help string to describe the debug option 2013-03-28 16:41:07 +09:00
draftcode
c170255580 Preserve CONFIGURE_OPTS 2013-03-28 16:35:26 +09:00
draftcode
8bf0938e60 Add an option to build a debug version of Python 2013-03-28 12:04:58 +09:00
Sam Stephenson
382db59cd0 Merge pull request #367 from shoyan/master
replace tab with spaces
2013-03-23 08:47:10 -07:00
Shohei Yamasaki
2bbf49b2f5 replace tab with spaces 2013-03-23 22:37:25 +09:00
Mislav Marohnić
6a6ae8ae46 tests for rbenv-init 2013-03-20 13:43:57 +01:00
Tim Pope
03fa148e81 Don't duplicate shims in PATH 2013-03-20 13:16:02 +01:00
Mislav Marohnić
ea3203dbab fix resolving symlinks in rbenv-hooks 2013-03-08 14:35:46 -05:00
Yamashita, Yuu
aa831836e1 Merge pull request #10 from oza/patch-1
Update README.md
2013-03-07 22:29:10 -08:00
OZAWA Tsuyoshi
0eb1520707 Update README.md 2013-03-08 15:26:15 +09:00
Mislav Marohnić
a81ace2ccb add hook lookup tests 2013-03-07 23:55:02 -05:00
Mislav Marohnić
a7da06998e use C on Travis for even less overhead 2013-03-07 16:14:25 -05:00
Mislav Marohnić
5e5e3e0588 skip Ruby stuff on Travis 2013-03-07 16:09:02 -05:00
Mislav Marohnić
bc369fb1ab configure Travis 2013-03-07 16:05:34 -05:00
Mislav Marohnić
bb6bccb782 tests galore 2013-03-07 15:07:32 -05:00
Mislav Marohnić
1fe59e41ea error message when rehash fails on non-writable directory
Fixes #238
2013-03-07 00:13:50 -05:00
Yamashita Yuu
606346761f s/python-virtualenv/pyenv-virtualenv/g in README.md 2013-03-06 12:48:13 +09:00
Tim Pope
0d1f1d09f0 Fix multiple argument completion with zsh
This changes the zsh completion to omit the final, incomplete command
line argument when invoking rbenv completions, making it consistent with
the bash completion.  Since no built-in completion cares about the
argument list, this inconsistency only affected plugins.
2013-02-23 23:54:10 +01:00
Yamashita Yuu
48e1488bc9 remove duplicated LICENSE from python-build. 2013-02-23 19:07:45 +09:00
Yamashita Yuu
0259b6adfb update copyright year 2013-02-23 19:06:58 +09:00
YanhaoYang
13f36e0416 rbenv(): preserve multiline output of sh-* commands 2013-02-22 15:42:31 +01:00
Yamashita Yuu
dbb1fb5a06 release 0.2.0 2013-02-18 12:39:35 +09:00
Yamashita Yuu
755c00e67c fix broken installation scripts for Jython and some of CPython.
replaced deprecated method calls of `fetch_url` by `http get`.
2013-02-07 17:48:23 +09:00
Yamashita Yuu
ad900ba436 fix some differences between ruby-build (refs #8) 2013-02-07 17:32:10 +09:00
Yamashita Yuu
ea7dc5f1e1 fix inverted result of checking version existence (refs #7) 2013-02-07 16:50:20 +09:00
Yamashita Yuu
be53bb8951 update README 2013-02-06 22:08:16 +09:00
Yamashita Yuu
167ff2a198 s/Ruby/Python/g; s/RBENV/PYENV/g 2013-02-06 16:05:29 +09:00
Yamashita Yuu
ee3c9bef5e fix typo; s/vesions/versions/
also this will fix https://github.com/yyuu/python-virtualenv/issues/1
2013-02-01 12:46:57 +09:00
Yamashita Yuu
6d307c6e11 import recent changes from ruby-build:
* verify checksum of downloaded archives.
* add PYTHON_BUILD_MIRROR_URL to use mirror site.
  But we don't have CloudFront setup as of now :-(
* rbenv 0.4.x style help messages
2013-01-31 13:27:39 +09:00
Yamashita Yuu
a0705cb86e fix shell syntax error. add missing `then'. 2013-01-28 12:53:18 +09:00
Sam Stephenson
e3f72ebae2 Guard against exported CDPATH (fixes #316) 2013-01-25 12:02:11 -06:00
Sam Stephenson
98f45695db Suppress shell warnings when hashing is disabled by set +h 2013-01-25 11:50:37 -06:00
Sam Stephenson
3cb95b4d2d Add rbenv --debug <command> as a shortcut for setting RBENV_DEBUG=1 2013-01-23 19:07:37 -06:00
Sam Stephenson
892aea138e Export PS4 when RBENV_DEBUG is set for more informative debug output 2013-01-23 19:07:37 -06:00
Yamashita Yuu
fca31c4307 import trivial changes from rbenv 0.4.0 2013-01-18 19:10:35 +09:00
Yamashita Yuu
684f7b7f21 add support for .python-version file to store local python version 2013-01-18 19:10:30 +09:00
Yamashita Yuu
da06998457 import rbenv-help from rbenv 0.4.0 2013-01-18 19:09:56 +09:00
Yamashita Yuu
f466679bd1 import pyenv---version from rbenv 2013-01-17 23:17:41 +09:00
Yamashita Yuu
4a217a0cd1 update distribute to 0.6.34 2013-01-11 13:41:40 +09:00
Sam Stephenson
045f6c1bce Merge pull request #314 from jalcine/feature/ignoring-thy-sources
Ignoring Your Sources
2013-01-09 15:36:22 -08:00
Jacky Alciné
1d4261a997 Added 'sources' to the Git ignores. 2013-01-09 16:45:08 -05:00
Sam Stephenson
da80bced53 Merge pull request #310 from leocassarani/rbenv-help-mawk
Fix incorrect formatting of rbenv-help output under MAWK
2013-01-05 13:51:57 -08:00
Leo Cassarani
1d687ac734 Fix incorrect formatting of rbenv-help output under MAWK
In systems that use the MAWK interpreter (the default AWK installed with
Ubuntu), the output of `rbenv help <command>` would have no line breaks.
The issue is fixed by changing `gsub` to `sub` in the snippet of awk
commands that are used to extract documentation comments.

I suspect the bug is something to do with the way the '^' and '$'
characters are interpreted by different AWK interpreters (per-line vs
per-string anchors).

If I understand correctly, the purpose of trim() is to remove all line
breaks from the start and end of each sections of a command's
documentation, in which case `sub` should serve the same purpose.
2013-01-05 16:55:19 +00:00
Ryan Bigg
bef7a12964 Merge pull request #308 from eddorre/master
Small update to the README.
2013-01-04 15:17:13 -08:00
Carlos Rodriguez
14ff078b85 Removed double 'at' from README 2013-01-04 15:14:36 -08:00
Mislav Marohnić
cd940bd797 typo in docs 2013-01-04 23:26:01 +01:00
Mislav Marohnić
093809eac6 spellcheck 2013-01-04 23:17:52 +01:00
Sam Stephenson
c56f72794e Fix ruby-local-exec wiki page link in the changelog 2013-01-04 12:40:20 -06:00
Sam Stephenson
9375e99f92 rbenv 0.4.0 2013-01-04 12:27:26 -06:00
Sam Stephenson
b66eeaf2f7 Link up the "Why choose rbenv?" wiki page 2013-01-04 12:25:00 -06:00
Mislav Marohnić
c6855e01a9 zshenv -> zshrc. update Ubuntu/zsh installation notices 2013-01-04 17:58:38 +01:00
Sam Stephenson
7f975a37f9 Deprecate ruby-local-exec 2013-01-04 10:12:29 -06:00
Sam Stephenson
41cfa5f3d0 Link to the binstubs wiki page 2013-01-04 09:19:18 -06:00
Sam Stephenson
9c45206c28 Remove unused doc directory 2013-01-03 21:22:17 -06:00
Sam Stephenson
308aa42b67 Rewrite "How It Works" with @trevorturk 2013-01-03 21:18:05 -06:00
Sam Stephenson
5174d14d5c It's all about the apps 2013-01-03 12:49:03 -06:00
Sam Stephenson
6fe338e563 New tagline 2013-01-03 12:40:54 -06:00
Sam Stephenson
266d896871 Prioritize rbenv local over rbenv global and rbenv shell 2013-01-03 10:40:28 -06:00
Sam Stephenson
7e85ae7bd2 "Usage" -> "Command Reference" 2013-01-03 10:25:31 -06:00
Sam Stephenson
9a284a3da4 Update the uninstallation section 2013-01-03 10:20:52 -06:00
Sam Stephenson
871f0e26df Tone down the RVM incompatibility notice 2013-01-03 10:09:22 -06:00
Sam Stephenson
e56885f4c9 "binary" -> "executable" 2013-01-03 10:06:12 -06:00
Sam Stephenson
149f4b4607 "per-project" -> "application-specific" 2013-01-03 10:00:10 -06:00
Sam Stephenson
80750f730f Merge pull request #302 from sstephenson/ruby-version
Support for .ruby-version files
2013-01-03 07:32:02 -08:00
Jeremy Kemper
253f6ee1d9 -information in readme pitch 2013-01-02 19:01:47 -07:00
Jeremy Kemper
bac149e824 Riff on the readme pitch 2013-01-02 19:00:04 -07:00
Sam Stephenson
3ec34448fa Rewrite the readme pitch 2013-01-02 18:56:33 -06:00
Sam Stephenson
919c4240fc Clarify that .rbenv-version is removed when migrating 2013-01-02 12:51:47 -06:00
Sam Stephenson
44c2378f2a Shims include the full path to rbenv
This makes it possible to execute rbenv shims without rbenv's bin
directory in the path.
2013-01-01 13:27:39 -06:00
Sam Stephenson
377b176260 Document .ruby-version 2012-12-31 09:58:28 -06:00
Sam Stephenson
d2a8ca7d89 Tweak the ruby- prefix warning 2012-12-31 09:58:10 -06:00
Sam Stephenson
d4faae187a Read both .ruby-version and .rbenv-version, but write (and migrate to) .ruby-version 2012-12-30 21:20:29 -06:00
Sam Stephenson
5e52fae7c1 Accept "ruby-" version prefix but print a warning to stderr 2012-12-30 19:01:30 -06:00
Sam Stephenson
b974bf54dc Prefer .ruby-version to .rbenv-version for reading local versions 2012-12-30 18:35:20 -06:00
Sam Stephenson
4b6c91e827 Usage consistency 2012-12-30 16:00:53 -06:00
Sam Stephenson
51467dc4a3 Include install and uninstall in help if ruby-build is installed 2012-12-30 15:30:37 -06:00
Sam Stephenson
eb79a3edaa Merge pull request #292 from sstephenson/help
help system where each command holds its own docs
2012-12-29 20:05:42 -08:00
Sam Stephenson
37eca782cc Documentation tweaks 2012-12-29 22:05:04 -06:00
Sam Stephenson
19666f2598 Wrap documentation comments at 70 columns 2012-12-29 21:50:38 -06:00
Mislav Marohnić
3436bddaea new-style documentation for most commands 2012-12-29 23:34:53 +01:00
Mislav Marohnić
5cc6b0e3d3 allow indented lines in help text
Before, lines of help that were indented were stripped away.
2012-12-29 22:48:28 +01:00
Mislav Marohnić
2b21e22e97 display help for commands that have Summary but not Usage
A command doesn't have to specify Usage docs if it doesn't accept any
arguments. The default usage for a command will be printed as:

    Usage: rbenv ${command}
2012-12-29 22:14:54 +01:00
Sam Stephenson
57df945738 Don't print version before help summary (bare rbenv already does this) 2012-12-29 12:19:06 -06:00
Sam Stephenson
e2e474c59d Add rbenv help --usage 2012-12-29 12:12:47 -06:00
Sam Stephenson
4c19dc22d7 Improve syntax for inline documentation and allow for multi-line usage 2012-12-29 12:06:20 -06:00
Sam Stephenson
ef44b4ccac Merge branch 'master' into help 2012-12-29 11:23:23 -06:00
Mislav Marohnić
8ee2f2657a avoid prepending system ruby to PATH
System ruby is already on PATH (that's the definition of system ruby) and by
duplicating its path by putting it in front, we can break the user's
environment.

Fixes #275
2012-12-29 00:17:16 +01:00
Sam Stephenson
f635c8715c Add zsh support for completion of full command line 2012-12-28 13:25:24 -06:00
Sam Stephenson
3ceeb72ac6 Merge remote-tracking branch 'griff/morecompletion' 2012-12-28 12:43:30 -06:00
Sam Stephenson
e0b8938fef Merge pull request #299 from sstephenson/automatic-local-exec
Automatic local exec
2012-12-28 09:05:24 -08:00
Sam Stephenson
811ca05916 Run hash -r after rbenv rehash when shell integration is enabled
Fixes #119
2012-12-28 10:59:10 -06:00
Sam Stephenson
df9bbd7ab3 Speed up rbenv-rehash with a simpler indexing approach 2012-12-27 17:16:57 -06:00
Sam Stephenson
339e331f1d Ensure outdated shims are removed first when rehashing 2012-12-27 13:42:25 -06:00
Sam Stephenson
283e67b57e When the ruby shim is invoked with a script, set RBENV_DIR to the script's dirname 2012-12-27 13:41:55 -06:00
Sam Stephenson
6c1fb9ffd0 Fall back to $PWD if a local version file can't be found in $RBENV_DIR 2012-12-27 13:39:36 -06:00
Oscar Del Ben
c3fe192243 use ruby-build
Fixes #294
2012-12-20 16:56:56 +01:00
Yamashita Yuu
5b14236bac fix "system" handling 2012-12-19 23:58:39 +09:00
Yamashita Yuu
a16355fe33 fix wrong link to the README in the help message 2012-12-14 18:45:28 +09:00
Sam Stephenson
1ebcbd92e2 Tweak rbenv --version output 2012-12-13 11:26:39 -06:00
Mislav Marohnić
3060578e3b use typeset instead of local in rbenv() function
This is to insure portability to ksh.

Fixes #205, references #209
2012-12-13 06:01:26 +01:00
Mislav Marohnić
b8715bfee6 foundation for a help system where each command holds its own docs
Docs are comprised from "Usage", "Summary" and "Help" sections, where
"Help" can span multiple commented lines. If it is missing, "Summary" is
shown in its place.

References #204, references #206
2012-12-13 05:48:28 +01:00
Sam Stephenson
7fe9231e64 Fix rbenv prefix for system version
Should be `/usr` or `/usr/local`, not `/usr/bin` or `/usr/local/bin`
2012-12-12 21:40:57 -06:00
Sam Stephenson
9289af0132 Don't include system in rbenv versions --bare output 2012-12-12 21:40:57 -06:00
Mislav Marohnić
1f7722088d make shell return an error code in case of failure
Fixes #274
2012-12-13 02:58:41 +01:00
Mislav Marohnić
e548877ead have versions also list "system" if it exists
Closes #263
2012-12-13 01:52:52 +01:00
Mislav Marohnić
21391c8d2f put up a note why version-file-read is tricky 2012-12-13 01:45:06 +01:00
Roy Liu
99551dd1ec fix rbenv-which with system ruby
Don't have `command -v` abort the whole script prematurely.
2012-12-13 01:00:24 +01:00
Mislav Marohnić
b5a26936e8 rbenv --version 2012-12-13 00:40:29 +01:00
Ruben Verborgh
cf28136003 speed up rbenv-init
Use `rbenv-commands` instead of `rbenv commands`. The latter
unnecessarily goes through `rbenv` executable.

Fixes #254
2012-12-13 00:18:32 +01:00
Mislav Marohnić
349236c932 tweak docs & add syntax highlighting to instructions 2012-12-12 23:46:10 +01:00
Guillermo Iguaran
0ce6fad14e Merge pull request #287 from mislav/versions-fix
fix `versions` in case current version doesn't exist
2012-12-12 14:12:39 -08:00
Joe Atzberger
0a9e2baef1 fix documentation about manually compiling Ruby
./configure doesn't exist by default in repo: use autoconf to create it.
2012-12-12 23:10:18 +01:00
Mislav Marohnić
da562ad74c replace build system with generated table of contents
Gets rid of `doc/README.mdtoc` and its build script. Since GitHub.com
renders anchors for each heading, all we have to do is put a simple
table of contents into `README.md` itself, and everything will get
linked up nicely.

Pros of this approach:
* We don't have to point out to people not to edit `README.md` anymore
* We don't have to run the build script each time README gets edited

Cons of this change:
* The "chapter" numbers are lost. They were silly anyway.

`doc/mdtoc` renders a Markdown table of contents for a Markdown file.
`doc/filter-toc` filters that down to only headings after ToC.
This script can be used to easily insert ToC into the current document
when editing `README.md` with, e.g., Vim:

    :read !doc/filter-toc %
2012-12-12 23:06:44 +01:00
Guillermo Iguaran
d45dc17f25 Merge pull request #286 from candeira/ubuntu-install-instructions
fix install instructions for ubuntu & other linux
2012-12-12 07:27:21 -08:00
Javier Candeira
7f1aefa09b fix install instructions for ubuntu (using version 12.04, but should work for all versions) 2012-12-12 16:15:28 +11:00
Guillermo Iguaran
2162054659 Merge pull request #288 from mislav/usage-fix
fix obsolete usage instruction
2012-12-11 15:37:57 -08:00
Mislav Marohnić
0ff3ca8a12 fix obsolete usage instruction 2012-12-12 00:32:27 +01:00
Mislav Marohnić
47c8a0e0b8 fix versions in case current version doesn't exist
`rbenv-versions` tries to read the current version to display a marker
next to it, but if that fails the whole script aborts.

This change makes it so that the failures from `rbenv-version-name` are
tolerated. It also makes the `--bare` mode never call it in the first
place, because it doesn't need to display a marker.
2012-12-12 00:25:02 +01:00
Guillermo Iguaran
2a347226df Merge pull request #225 from dentarg/master
Fixed broken link to RVM in documentation
2012-12-11 13:19:53 -08:00
Ryan Bigg
962452d6d1 Merge pull request #188 from tundramonkey/master
Added in short note on Uninstalling Rubies under new 2.4 section in README
2012-12-11 13:13:44 -08:00
Guillermo Iguaran
2df165c49e Sync doc/README.mdtoc with the actual README
All the changes to documentation should be done in doc/README.mdtoc
2012-12-11 16:06:02 -05:00
Guillermo Iguaran
fc3a634e22 Update README: use last version of jruby in examples 2012-12-11 15:56:03 -05:00
Guillermo Iguaran
01a9141780 Merge pull request #278 from mattdbridges/master
Just trying to keep the README.md up to date with Ruby versions
2012-12-11 12:54:11 -08:00
Guillermo Iguaran
f783b9ec0d Merge pull request #258 from baer/patch-1
Installation Step 1 is a one liner
2012-12-11 12:52:36 -08:00
Yamashita Yuu
c9575d7cb0 update distribute and pip versions
* distribute (0.6.28 -> 0.6.32)
* pip (1.1 -> 1.2.1)
2012-12-11 12:19:56 +09:00
Yamashita Yuu
252003f18e add pypy-2.0-beta1 2012-12-11 12:13:18 +09:00
Matt Bridges
b745a51f30 Update README.md
Changing Ruby versions references to latest versions to keep somewhat up-to-date.
2012-11-17 01:57:23 -06:00
Yamashita Yuu
7509b9fadf update feature list in README 2012-11-06 13:17:04 +09:00
Yamashita Yuu
f878896a77 ignore non files 2012-10-23 17:55:55 +09:00
Yamashita Yuu
d09af20897 0.1.3git 2012-10-23 15:25:18 +09:00
Yamashita Yuu
b520475b22 release 0.1.2 2012-10-23 15:24:41 +09:00
Yamashita Yuu
ffa2505450 add install script 2012-10-23 15:23:48 +09:00
Yamashita Yuu
d73e945329 "rbx-1.2.4" is a variant of rubies, not a python 2012-10-19 22:14:24 +09:00
Yamashita Yuu
779aacbf07 I am not Sam. 2012-10-19 22:12:31 +09:00
Yamashita Yuu
2ed400bfc6 use default CC to build CPython and Stackless. require_gcc was
imported from ruby-build and is for rubies, not for pythons.
2012-10-16 16:07:19 +09:00
Brian Olsen
02332d78f3 Added bash support for completion of full command line 2012-10-05 04:28:25 +02:00
Yamashita Yuu
e8ad78f837 add pyenv push and pyenv pop to manage version stack 2012-10-03 12:19:42 +09:00
Yamashita Yuu
aede700619 update README 2012-10-03 11:31:10 +09:00
Yamashita Yuu
ffa5fb0ea0 add CPython 3.3.0 release 2012-10-02 16:30:59 +09:00
Yamashita Yuu
42079cf3fb fix typo in README 2012-09-28 20:17:26 +09:00
Yamashita Yuu
d14eda2c1a ignore plugins other than python-build 2012-09-27 13:00:07 +09:00
Yamashita Yuu
579d44203f add 3.3.0rc2 and 3.3.0rc3 2012-09-27 12:50:42 +09:00
Yamashita, Yuu
a7695aa5d3 Merge pull request #1 from f440/master
Fix undiscovered function problem
2012-09-09 05:55:25 -07:00
FUSE Yoshio
f3ae8fd904 fix typo in function name 2012-09-09 21:45:44 +09:00
Yamashita Yuu
4174749b24 replace tr by shell's IFS 2012-09-07 20:10:10 +09:00
Yamashita Yuu
e89ae3a4a9 show all enabled versions (maybe multiple) in pyenv versions 2012-09-07 19:56:55 +09:00
Yamashita Yuu
13122ca9bf fixed to read multiple versions from PYENV_VERSION environment variable 2012-09-07 19:16:42 +09:00
Yamashita Yuu
34a4a532b2 0.1.2git 2012-09-03 19:40:49 +09:00
Yamashita Yuu
d08fcc522e release 0.1.1 2012-09-03 19:40:30 +09:00
Yamashita Yuu
f0ff5a416e added 3.3.0rc1 2012-09-03 19:36:04 +09:00
Yamashita Yuu
e66ca60340 updated screenshot 2012-08-31 21:05:18 +09:00
Yamashita Yuu
71e5cd962e updated README 2012-08-31 20:59:24 +09:00
Yamashita Yuu
da659739d2 fixed pyenv shell. we cannot carry out bash array via envvars. 2012-08-31 20:12:26 +09:00
Yamashita Yuu
dff57ae35d s/PYENV_VERSIONS/PYENV_VERSION/ for backward compatibility. 2012-08-31 19:39:29 +09:00
Yamashita Yuu
2856f81bb9 added more pythons 2012-08-31 19:11:29 +09:00
Yamashita Yuu
5224641f1a added CPython 2.5.6 2012-08-31 17:20:31 +09:00
Yamashita Yuu
a4c02082cb pypy installation doesn't require gcc 2012-08-31 17:18:47 +09:00
Yamashita Yuu
80c0dce7b2 Merge branch 'version-stack' 2012-08-31 16:50:57 +09:00
Yamashita Yuu
de25a84dc2 fixed build error on Mac OS X 2012-08-31 16:50:24 +09:00
Yamashita Yuu
8187bc84e3 search commands from python version stack.
users can use multiple python versions at once.
2012-08-31 16:09:46 +09:00
Yamashita Yuu
880ea61dd8 0.1.1git 2012-08-31 15:59:36 +09:00
Yamashita Yuu
7953f573c6 modify ruby-build for Python and import into pyenv as default plugin. 2012-08-31 15:55:21 +09:00
Yamashita Yuu
2457419b4a created new project.
modified rbenv source for Python and renamed to pyenv.
2012-08-31 15:30:20 +09:00
Eric
183c780698 Installation Step 1 is a one liner
Not a big change, just thought it's always good to make it easier for a beginner
2012-08-28 12:37:15 -06:00
Patrik Ragnarsson
406c8e0303 Fixed broken link to RVM in documentation 2012-05-12 22:38:56 +02:00
Sam Stephenson
6778c8e905 Merge pull request #217 from alecchen/master
remove "+=" operator in rbenv-rehash to support bash-3.0
2012-04-23 07:45:44 -07:00
Alec Chen
3a94daeaf8 remove "+=" operator to support bash-3.0 2012-04-23 22:11:19 +08:00
Sam Stephenson
e5c64db280 Merge pull request #203 from cldwalker/options_help
help for versions and commands, including their options
2012-03-23 13:43:25 -07:00
Gabriel Horner
d3700dfd70 help for versions and commands, including their options 2012-03-23 16:21:53 -04:00
Sam Stephenson
975b45dbfe Merge pull request #184 from jvirtanen/fix/typos
Fix typos in documentation
2012-02-18 08:53:30 -08:00
Sam Stephenson
a49b07975c Merge pull request #189 from amarshall/master
Prevent $command from leaking outside of function
2012-02-18 08:52:12 -08:00
Daryl Manning
5e57ab95ce Changed doc/README.mdtoc and built README.md and changed nomenclature to 'ruby versions' as requested. 2012-02-09 16:20:53 +11:00
Andrew Marshall
9c43fa9161 Prevent $command from leaking outside of function 2012-02-04 18:05:43 -05:00
Daryl Manning
9b286ecbfd And better codify the rbenv command just for good measure. 2012-02-03 17:54:07 +11:00
Daryl Manning
b7e9569ccb Embrassing typo in the anchor link neme != name. 2012-02-03 17:52:09 +11:00
Daryl Manning
e922131422 Added in section 2.4 on uninstalling rubies from .rbenv/versions to the README. 2012-02-03 17:48:20 +11:00
Jussi Virtanen
34813ef32c Fix typos in documentation 2012-01-29 11:35:01 +02:00
Sam Stephenson
e899f1d31c Merge pull request #183 from terceiro/new-hooks-dir
Add /usr/lib/rbenv/hooks to hook search path
2012-01-26 16:25:24 -08:00
Antonio Terceiro
d1bfeee334 Add /usr/lib/rbenv/hooks to hook search path
This will help with the packaging of rbenv plugin that contain hooks in
Debian.
2012-01-26 20:23:31 -02:00
Sam Stephenson
9ea1f7d53e Merge pull request #179 from johnwilliams/master
rbenv-init arguments should be allowed in any order
2012-01-17 07:41:55 -08:00
John Williams
f40bc773d2 Allow init arguments to be in any order. 2012-01-17 08:50:40 -06:00
Sam Stephenson
5d0a6630b9 Account for path entries with spaces in remove_from_path 2011-12-30 13:40:22 -06:00
Sam Stephenson
114b81c9a4 Use if instead of inline && so rbenv rehash exits with a zero status 2011-12-26 20:12:16 -06:00
Sam Stephenson
b10bdb1e78 rbenv 0.3.0 2011-12-25 21:32:48 -05:00
Sam Stephenson
ee5ad02d42 Add --no-rehash option to rbenv-init (#170) 2011-12-25 20:59:24 -05:00
Sam Stephenson
cd2094ff71 Remove deprecated set-default and set-local commands 2011-12-25 20:39:11 -05:00
Sam Stephenson
5052a4161c Update readme screenshot to use global instead of set-default (fixes #165) 2011-12-25 16:53:59 -05:00
Sam Stephenson
7fbcde8af0 Properly expand RBENV_DIR and ensure it exists 2011-12-25 16:41:15 -05:00
Sam Stephenson
b670849ebd Merge remote-tracking branch 'mlafeldt/rbenv-rehash'
Conflicts:
	libexec/rbenv-rehash
2011-12-24 18:03:10 -05:00
Sam Stephenson
288c6b3f09 Go with paren-style function definition 2011-12-24 17:49:22 -05:00
Sam Stephenson
802d70568c Merge pull request #168 from mgrubb/topic/portability-fixes
Made ksh portability changes
2011-12-24 14:48:34 -08:00
Sam Stephenson
c4721169e3 Merge pull request #163 from richoH/features/completion_only_in_interactive_shells
Only run compctl if it's an interactive shell
2011-12-24 14:44:41 -08:00
Sam Stephenson
efe600f6de Ensure shims don't disappear when rehashed 2011-12-24 15:16:37 -05:00
Michael Grubb
7e83e07cf3 Made ksh portability changes
Added specific message for ksh in identifying the proper shell
initialization file.

Changed rbenv functiond definition to be more portable.
Shell functions should be defined by using the function command or
using the parenthesis grammar, but using both is not portable:

rbenv() {...  -or-
function rbenv { ...
2011-12-15 14:54:38 -06:00
richo
65f0be0c20 Bail on completion init if we're not an interactive shell
Based on the approach by @imajes
2011-12-11 01:57:56 +11:00
Joshua Peek
adf9c97616 Merge pull request #146 from pervel/patch-1
Quoting the argument to greadlink to make it work with paths containing spaces
2011-11-22 07:33:27 -08:00
Per Velschow
dfc7645609 Quoting the argument to greadlink to make it work with paths containing spaces. 2011-11-18 21:21:16 +01:00
Mathias Lafeldt
9dde161b65 rbenv-rehash: use $OLDPWD to restore previous working directory
$OLDPWD is a standard shell variable that contains the previous working
directory as set by the "cd" command. No need to save $PWD to some
custom variable.

(We could also have used "cd -" but it prints out $OLDPWD too.)
2011-11-14 22:30:47 +01:00
Mathias Lafeldt
0324b118ee rbenv-rehash: remove superfluous trap signals
A trap on the special signal EXIT is executed before the shell
terminates. EXIT actually covers SIGINT and SIGTERM as well, and
we don't need any extra traps for them.

See bash(1) and "help trap" in bash.
2011-11-14 22:30:47 +01:00
Sam Stephenson
4cc6665d0a Zsh users need to modify ~/.zshenv, not ~/.zshrc 2011-11-14 12:52:10 -06:00
Joshua Peek
be7dcc0ad8 Add rbenv root
Prints $RBENV_ROOT (defaults to ~/.rbenv)
2011-11-10 10:54:30 -06:00
1142 changed files with 96980 additions and 1633 deletions

2
.agignore Normal file
View File

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

4
.dockerignore Normal file
View File

@@ -0,0 +1,4 @@
.git/
.python-version
.vscode/
.idea/

11
.editorconfig Normal file
View File

@@ -0,0 +1,11 @@
# Editor configuration, see https://editorconfig.org
root = true
[*]
end_of_line = lf
charset = utf-8
# Makefiles always use tabs for indentation
[Makefile]
indent_style = tab
indent_size = unset # Allow user-defined tab width

12
.github/FUNDING.yml vendored Normal file
View File

@@ -0,0 +1,12 @@
# These are supported funding model platforms
github: [pyenv] # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
patreon: # Replace with a single Patreon username
open_collective: pyenv # Replace with a single Open Collective username
ko_fi: # Replace with a single Ko-fi username
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
liberapay: # Replace with a single Liberapay username
issuehunt: # Replace with a single IssueHunt username
otechie: # Replace with a single Otechie username
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']

26
.github/ISSUE_TEMPLATE.md vendored Normal file
View File

@@ -0,0 +1,26 @@
Too many issues will kill our team's development velocity, drastically.
Make sure you have checked all steps below.
### Prerequisite
* [ ] Make sure your problem is not listed in [the common build problems](https://github.com/pyenv/pyenv/wiki/Common-build-problems).
* [ ] Make sure no duplicated issue has already been reported in [the pyenv issues](https://github.com/pyenv/pyenv/issues). You should look for closed issues, too.
* [ ] Make sure you are not asking us to help solving your specific issue.
* GitHub issues is opened mainly for development purposes. If you want to ask someone to help solving your problem, go to some community site like [Gitter](https://gitter.im/yyuu/pyenv), [StackOverflow](https://stackoverflow.com/questions/tagged/pyenv), etc.
* [ ] Make sure your problem is not derived from packaging (e.g. [Homebrew](https://brew.sh)).
* Please refer to the package documentation for the installation issues, etc.
* [ ] Make sure your problem is not derived from plugins.
* This repository is maintaining `pyenv` and the default `python-build` plugin only. Please refrain from reporting issues of other plugins here.
### Description
- [ ] Platform information (e.g. Ubuntu Linux 16.04):
- [ ] OS architecture (e.g. amd64):
- [ ] pyenv version:
- [ ] Python version:
- [ ] C Compiler information (e.g. gcc 7.3):
- [ ] Please attach the debug trace of the failing command as a gist:
* Run `env PYENV_DEBUG=1 <faulty command> 2>&1 | tee trace.log` and attach `trace.log`. E.g. if you have a problem with installing Python, run `env PYENV_DEBUG=1 pyenv install -v <version> 2>&1 | tee trace.log` (note the `-v` option to `pyenv install`).
- [ ] If you have a problem with installing Python, please also attach `config.log` from the build directory
* The build directory is reported after the "BUILD FAILED" message and is usually under `/tmp`.
- [ ] If the build succeeds but the problem is still with the build process (e.g. the resulting Python is missing a feature), please attach
* the debug trace from reinstalling the faulty version with `env PYENV_DEBUG=1 pyenv install -f -k -v <version> 2>&1 | tee trace.log`
* `config.log` from the build directory. When using `pyenv install` with `-k` as per above, the build directory will be under `$PYENV_ROOT/sources`.

16
.github/PULL_REQUEST_TEMPLATE.md vendored Normal file
View File

@@ -0,0 +1,16 @@
Make sure you have checked all steps below.
### Prerequisite
* [ ] Please consider implementing the feature as a hook script or plugin as a first step.
* pyenv has some powerful support for plugins and hook scripts. Please refer to [Authoring plugins](https://github.com/pyenv/pyenv/wiki/Authoring-plugins) for details and try to implement it as a plugin if possible.
* [ ] Please consider contributing the patch upstream to [rbenv](https://github.com/rbenv/rbenv), since we have borrowed most of the code from that project.
* We occasionally import the changes from rbenv. In general, you can expect changes made in rbenv will be imported to pyenv too, eventually.
* Generally speaking, we prefer not to make changes in the core in order to keep compatibility with rbenv.
* [ ] My PR addresses the following pyenv issue (if any)
- Closes https://github.com/pyenv/pyenv/issues/XXXX
### Description
- [ ] Here are some details about my PR
### Tests
- [ ] My PR adds the following unit tests (if any)

43
.github/workflows/macos_build.yml vendored Normal file
View File

@@ -0,0 +1,43 @@
name: macos_build
on: [pull_request, push]
permissions:
contents: read # to fetch code (actions/checkout)
jobs:
macos_build:
strategy:
fail-fast: false
matrix:
python-version:
- "3.7"
- "3.8"
- "3.9"
- "3.10"
- "3.11"
runs-on: macos-11
steps:
- uses: actions/checkout@v3
# Normally, we would use the superbly maintained...
# - uses: actions/setup-python@v2
# with:
# python-version: ${{ matrix.python-version }}
# ... but in the repo, we want to test pyenv builds on macOS
- run: |
brew install openssl readline sqlite3 xz zlib
# https://github.com/pyenv/pyenv#installation
- run: pwd
- env:
PYENV_ROOT: /Users/runner/work/pyenv/pyenv
run: |
echo $PYENV_ROOT
echo "$PYENV_ROOT/shims:$PYENV_ROOT/bin" >> $GITHUB_PATH
bin/pyenv install -v ${{ matrix.python-version }}
bin/pyenv global ${{ matrix.python-version }}
bin/pyenv rehash
- run: python --version
- run: python -m pip --version
- shell: python # Prove that actual Python == expected Python
env:
EXPECTED_PYTHON: ${{ matrix.python-version }}
run: import os, sys ; assert sys.version.startswith(os.getenv("EXPECTED_PYTHON"))

View File

@@ -0,0 +1,143 @@
name: modified_scripts
on: [pull_request]
jobs:
discover_modified_scripts:
runs-on: ubuntu-latest
outputs:
versions: ${{steps.modified-versions.outputs.versions}}
steps:
- uses: actions/checkout@v3
- run: git fetch origin "$GITHUB_BASE_REF"
- shell: bash
run: >
versions=$(git diff "origin/$GITHUB_BASE_REF" --name-only -z
| perl -ne 'BEGIN {$\="\n";$/="\0";} chomp;
if (/^plugins\/python-build\/share\/python-build\/(?:([^\/]+)|patches\/([^\/]+)\/.*)$/ and -e $& )
{ print $1.$2; }' \
| sort -u);
EOF=$(dd if=/dev/urandom bs=15 count=1 status=none | base64);
echo "versions<<$EOF" >> $GITHUB_ENV;
echo "$versions" >> $GITHUB_ENV;
echo "$EOF" >> $GITHUB_ENV;
- id: modified-versions
run: |
echo -n "::set-output name=versions::"
echo "${{ env.versions }}" | jq -R . | jq -sc .
macos_build:
needs: discover_modified_scripts
if: needs.discover_modified_scripts.outputs.versions != '[""]'
strategy:
fail-fast: false
matrix:
python-version: ${{fromJson(needs.discover_modified_scripts.outputs.versions)}}
os: ["macos-11", "macos-12"]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
- run: |
#envvars
export PYENV_ROOT="$GITHUB_WORKSPACE"
echo "PYENV_ROOT=$PYENV_ROOT" >> $GITHUB_ENV
echo "$PYENV_ROOT/shims:$PYENV_ROOT/bin" >> $GITHUB_PATH
- run: |
#prerequisites
brew install openssl openssl@1.1 readline sqlite3 xz zlib
if [[ "${{ matrix.python-version }}" =~ pypy.*-(src|dev) ]]; then
export PYENV_BOOTSTRAP_VERSION=pypy2.7-7
echo "PYENV_BOOTSTRAP_VERSION=$PYENV_BOOTSTRAP_VERSION" >> $GITHUB_ENV
pyenv install $PYENV_BOOTSTRAP_VERSION
fi
- run: |
#build
pyenv install -v ${{ matrix.python-version }}
pyenv global ${{ matrix.python-version }}
# Micropython doesn't support --version
- run: |
#print version
if [[ "${{ matrix.python-version }}" == "micropython-"* ]]; then
python -c 'import sys; print(sys.version)'
else
python --version
python -m pip --version
fi
# Micropython doesn't support sys.executable, os.path, older versions even os
- env:
EXPECTED_PYTHON: ${{ matrix.python-version }}
run: |
#check
if [[ "${{ matrix.python-version }}" == "micropython-"* ]]; then
[[ $(pyenv which python) == "${{ env.PYENV_ROOT }}/versions/${{ matrix.python-version }}/bin/python" ]] || exit 1
python -c 'import sys; assert sys.implementation.name == "micropython"'
else
python -c 'if True:
import os, sys, os.path
correct_dir = os.path.join(
os.environ["PYENV_ROOT"],
"versions",
os.environ["EXPECTED_PYTHON"],
"bin")
assert os.path.dirname(sys.executable) == correct_dir'
fi
# bundled executables in some Anaconda releases cause the post-run step to hang in MacOS
- run: |
pyenv global system
rm -f "$(pyenv root)"/shims/*
ubuntu_build:
needs: discover_modified_scripts
if: needs.discover_modified_scripts.outputs.versions != '[""]'
strategy:
fail-fast: false
matrix:
python-version: ${{fromJson(needs.discover_modified_scripts.outputs.versions)}}
os: ["ubuntu-20.04", "ubuntu-22.04"]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
- run: |
#envvars
export PYENV_ROOT="$GITHUB_WORKSPACE"
echo "PYENV_ROOT=$PYENV_ROOT" >> $GITHUB_ENV
echo "$PYENV_ROOT/shims:$PYENV_ROOT/bin" >> $GITHUB_PATH
- run: |
#prerequisites
sudo apt-get update -q; sudo apt-get install -yq make build-essential \
libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev \
curl llvm libncurses5-dev libncursesw5-dev \
xz-utils tk-dev libffi-dev liblzma-dev
if [[ "${{ matrix.python-version }}" =~ pypy.*-(src|dev) ]]; then
export PYENV_BOOTSTRAP_VERSION=pypy2.7-7
echo "PYENV_BOOTSTRAP_VERSION=$PYENV_BOOTSTRAP_VERSION" >> $GITHUB_ENV
pyenv install $PYENV_BOOTSTRAP_VERSION
fi
- run: |
#build
pyenv install -v ${{ matrix.python-version }}
pyenv global ${{ matrix.python-version }}
# Micropython doesn't support --version
- run: |
#print version
if [[ "${{ matrix.python-version }}" == "micropython-"* ]]; then
python -c 'import sys; print(sys.version)'
else
python --version
python -m pip --version
fi
# Micropython doesn't support sys.executable, os.path, older versions even os
- env:
EXPECTED_PYTHON: ${{ matrix.python-version }}
run: |
#check
if [[ "${{ matrix.python-version }}" == "micropython-"* ]]; then
[[ $(pyenv which python) == "${{ env.PYENV_ROOT }}/versions/${{ matrix.python-version }}/bin/python" ]] || exit 1
python -c 'import sys; assert sys.implementation.name == "micropython"'
else
python -c 'if True:
import os, sys, os.path
correct_dir = os.path.join(
os.environ["PYENV_ROOT"],
"versions",
os.environ["EXPECTED_PYTHON"],
"bin")
assert os.path.dirname(sys.executable) == correct_dir'
fi

30
.github/workflows/no-response.yml vendored Normal file
View File

@@ -0,0 +1,30 @@
name: No Response
# Both `issue_comment` and `scheduled` event types are required for this Action
# to work properly.
on:
issue_comment:
types: [created]
schedule:
# Schedule for ten minutes after the hour, every hour
- cron: '10 * * * *'
permissions: {}
jobs:
noResponse:
permissions:
issues: write # to update issues (lee-dohm/no-response)
runs-on: ubuntu-latest
steps:
- uses: lee-dohm/no-response@v0.5.0
with:
token: ${{ github.token }}
daysUntilClose: 30
responseRequiredLabel: need-feedback
closeComment: >
This issue has been automatically closed because there has been no response
to our request for more information from the original author. With only the
information that is currently in the issue, we don't have enough information
to take action. Please reach out if you have or find the answers we need so
that we can investigate further.

49
.github/workflows/pyenv_tests.yml vendored Normal file
View File

@@ -0,0 +1,49 @@
name: pyenv_tests
on: [pull_request, push]
permissions:
contents: read # to fetch code (actions/checkout)
jobs:
pyenv_tests:
strategy:
fail-fast: false
matrix:
os:
- ubuntu-22.04
- ubuntu-20.04
- macos-12
- macos-11
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
# Normally, we would use the superbly maintained...
# - uses: actions/setup-python@v2
# with:
# python-version: ${{ matrix.python-version }}
# ... but in the repo, we want to test pyenv builds on Ubuntu
# - run: |
# sudo apt-get install -y build-essential libssl-dev zlib1g-dev libbz2-dev \
# libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev \
# xz-utils tk-dev libffi-dev liblzma-dev python-openssl git
# https://github.com/pyenv/pyenv#installation
- run: |
if test "$RUNNER_OS" == "macOS"; then
brew install coreutils fish
elif [[ $(lsb_release -sr | awk -F. '{print $1}') -ge 20 ]]; then
# Ubuntu 18 has fish 2 which lacks many features that facilitate testing
sudo apt install fish -yq
fi
- run: pwd
- env:
PYENV_ROOT: /home/runner/work/pyenv/pyenv
run: |
echo $PYENV_ROOT
echo "$PYENV_ROOT/shims:$PYENV_ROOT/bin" >> $GITHUB_PATH
- run: |
make test
- env:
PYENV_NATIVE_EXT: 1
run: |
(cd src; ./configure; make)
bats/bin/bats test/{pyenv,hooks,versions}.bats

45
.github/workflows/ubuntu_build.yml vendored Normal file
View File

@@ -0,0 +1,45 @@
name: ubuntu_build
on: [pull_request, push]
permissions:
contents: read # to fetch code (actions/checkout)
jobs:
ubuntu_build:
strategy:
fail-fast: false
matrix:
python-version:
- "3.7"
- "3.8"
- "3.9"
- "3.10"
- "3.11"
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
# Normally, we would use the superbly maintained...
# - uses: actions/setup-python@v2
# with:
# python-version: ${{ matrix.python-version }}
# ... but in the repo, we want to test pyenv builds on Ubuntu
- run: |
sudo apt-get update -q; sudo apt install -yq make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev curl \
libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev
# https://github.com/pyenv/pyenv#installation
- run: pwd
- env:
PYENV_ROOT: /home/runner/work/pyenv/pyenv
run: |
echo $PYENV_ROOT
echo "$PYENV_ROOT/shims:$PYENV_ROOT/bin" >> $GITHUB_PATH
bin/pyenv install -v ${{ matrix.python-version }}
bin/pyenv global ${{ matrix.python-version }}
bin/pyenv rehash
- run: python --version
- run: python -m pip --version
- shell: python # Prove that actual Python == expected Python
env:
EXPECTED_PYTHON: ${{ matrix.python-version }}
run: import os, sys ; assert sys.version.startswith(os.getenv("EXPECTED_PYTHON"))

10
.gitignore vendored
View File

@@ -1,4 +1,12 @@
/plugins
/shims
/version
/versions
/sources
/cache
/libexec/*.dylib
/src/Makefile
/src/*.o
/bats/
/default-packages
.idea
*.un~

1
.vimrc Normal file
View File

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

1203
CHANGELOG.md Normal file

File diff suppressed because it is too large Load Diff

401
COMMANDS.md Normal file
View File

@@ -0,0 +1,401 @@
# Command Reference
Like `git`, the `pyenv` command delegates to subcommands based on its
first argument.
The most common subcommands are:
* [`pyenv help`](#pyenv-help)
* [`pyenv commands`](#pyenv-commands)
* [`pyenv local`](#pyenv-local)
* [`pyenv global`](#pyenv-global)
* [`pyenv shell`](#pyenv-shell)
* [`pyenv install`](#pyenv-install)
* [`pyenv uninstall`](#pyenv-uninstall)
* [`pyenv rehash`](#pyenv-rehash)
* [`pyenv version`](#pyenv-version)
* [`pyenv versions`](#pyenv-versions)
* [`pyenv which`](#pyenv-which)
* [`pyenv whence`](#pyenv-whence)
* [`pyenv exec`](#pyenv-exec)
* [`pyenv root`](#pyenv-root)
* [`pyenv prefix`](#pyenv-prefix)
* [`pyenv latest`](#pyenv-latest)
* [`pyenv hooks`](#pyenv-hooks)
* [`pyenv shims`](#pyenv-shims)
* [`pyenv init`](#pyenv-init)
* [`pyenv completions`](#pyenv-completions)
## `pyenv help`
List all available pyenv commands along with a brief description of what they do. Run `pyenv help <command>` for information on a specific command. For full documentation, see: https://github.com/pyenv/pyenv#readme
## `pyenv commands`
Lists all available pyenv commands.
## `pyenv local`
Sets a local application-specific Python version by writing the version
name to a `.python-version` file in the current directory. This version
overrides the global version, and can be overridden itself by setting
the `PYENV_VERSION` environment variable or with the `pyenv shell`
command.
$ pyenv local 2.7.6
When run without a version number, `pyenv local` reports the currently
configured local version. You can also unset the local version:
$ pyenv local --unset
Previous versions of pyenv stored local version specifications in a
file named `.pyenv-version`. For backwards compatibility, pyenv will
read a local version specified in an `.pyenv-version` file, but a
`.python-version` file in the same directory will take precedence.
### `pyenv local` (advanced)
You can specify multiple versions as local Python at once.
Let's say if you have two versions of 2.7.6 and 3.3.3. If you prefer 2.7.6 over 3.3.3,
$ pyenv local 2.7.6 3.3.3
$ pyenv versions
system
* 2.7.6 (set by /Users/yyuu/path/to/project/.python-version)
* 3.3.3 (set by /Users/yyuu/path/to/project/.python-version)
$ python --version
Python 2.7.6
$ python2.7 --version
Python 2.7.6
$ python3.3 --version
Python 3.3.3
or, if you prefer 3.3.3 over 2.7.6,
$ pyenv local 3.3.3 2.7.6
$ pyenv versions
system
* 2.7.6 (set by /Users/yyuu/path/to/project/.python-version)
* 3.3.3 (set by /Users/yyuu/path/to/project/.python-version)
venv27
$ python --version
Python 3.3.3
$ python2.7 --version
Python 2.7.6
$ python3.3 --version
Python 3.3.3
## `pyenv global`
Sets the global version of Python to be used in all shells by writing
the version name to the `~/.pyenv/version` file. This version can be
overridden by an application-specific `.python-version` file, or by
setting the `PYENV_VERSION` environment variable.
$ pyenv global 2.7.6
The special version name `system` tells pyenv to use the system Python
(detected by searching your `$PATH`).
When run without a version number, `pyenv global` reports the
currently configured global version.
### `pyenv global` (advanced)
You can specify multiple versions as global Python at once.
Let's say if you have two versions of 2.7.6 and 3.3.3. If you prefer 2.7.6 over 3.3.3,
$ pyenv global 2.7.6 3.3.3
$ pyenv versions
system
* 2.7.6 (set by /Users/yyuu/.pyenv/version)
* 3.3.3 (set by /Users/yyuu/.pyenv/version)
$ python --version
Python 2.7.6
$ python2.7 --version
Python 2.7.6
$ python3.3 --version
Python 3.3.3
or, if you prefer 3.3.3 over 2.7.6,
$ pyenv global 3.3.3 2.7.6
$ pyenv versions
system
* 2.7.6 (set by /Users/yyuu/.pyenv/version)
* 3.3.3 (set by /Users/yyuu/.pyenv/version)
venv27
$ python --version
Python 3.3.3
$ python2.7 --version
Python 2.7.6
$ python3.3 --version
Python 3.3.3
## `pyenv shell`
Sets a shell-specific Python version by setting the `PYENV_VERSION`
environment variable in your shell. This version overrides
application-specific versions and the global version.
$ pyenv shell pypy-2.2.1
When run without a version number, `pyenv shell` reports the current
value of `PYENV_VERSION`. You can also unset the shell version:
$ pyenv shell --unset
Note that you'll need pyenv's shell integration enabled (step 3 of
the installation instructions) in order to use this command. If you
prefer not to use shell integration, you may simply set the
`PYENV_VERSION` variable yourself:
$ export PYENV_VERSION=pypy-2.2.1
### `pyenv shell` (advanced)
You can specify multiple versions via `PYENV_VERSION` at once.
Let's say if you have two versions of 2.7.6 and 3.3.3. If you prefer 2.7.6 over 3.3.3,
$ pyenv shell 2.7.6 3.3.3
$ pyenv versions
system
* 2.7.6 (set by PYENV_VERSION environment variable)
* 3.3.3 (set by PYENV_VERSION environment variable)
$ python --version
Python 2.7.6
$ python2.7 --version
Python 2.7.6
$ python3.3 --version
Python 3.3.3
or, if you prefer 3.3.3 over 2.7.6,
$ pyenv shell 3.3.3 2.7.6
$ pyenv versions
system
* 2.7.6 (set by PYENV_VERSION environment variable)
* 3.3.3 (set by PYENV_VERSION environment variable)
venv27
$ python --version
Python 3.3.3
$ python2.7 --version
Python 2.7.6
$ python3.3 --version
Python 3.3.3
## `pyenv install`
Install a Python version (using [`python-build`](https://github.com/pyenv/pyenv/tree/master/plugins/python-build)).
Usage: pyenv install [-f] [-kvp] <version>
pyenv install [-f] [-kvp] <definition-file>
pyenv install -l|--list
-l/--list List all available versions
-f/--force Install even if the version appears to be installed already
-s/--skip-existing Skip the installation if the version appears to be installed already
python-build options:
-k/--keep Keep source tree in $PYENV_BUILD_ROOT after installation
(defaults to $PYENV_ROOT/sources)
-v/--verbose Verbose mode: print compilation status to stdout
-p/--patch Apply a patch from stdin before building
-g/--debug Build a debug version
To list the all available versions of Python, including Anaconda, Jython, pypy, and stackless, use:
$ pyenv install --list
Then install the desired versions:
$ pyenv install 2.7.6
$ pyenv install 2.6.8
$ pyenv versions
system
2.6.8
* 2.7.6 (set by /home/yyuu/.pyenv/version)
You can also install the latest version of Python in a specific version line by supplying a prefix instead of a complete name:
$ pyenv install 3.10
See the [`pyenv latest` documentation](#pyenv-latest) for details on prefix resolution.
An older option is to use the `:latest` syntax. For example, to install the latest patch version for Python 3.8 you could do:
pyenv install 3.8:latest
To install the latest major release for Python 3 try:
pyenv install 3:latest
## `pyenv uninstall`
Uninstall Python versions.
Usage: pyenv uninstall [-f|--force] <version> ...
-f Attempt to remove the specified version without prompting
for confirmation. If the version does not exist, do not
display an error message.
## `pyenv rehash`
Installs shims for all Python binaries known to pyenv (i.e.,
`~/.pyenv/versions/*/bin/*`). Run this command after you install a new
version of Python, or install a package that provides binaries.
$ pyenv rehash
## `pyenv version`
Displays the currently active Python version, along with information on
how it was set.
$ pyenv version
2.7.6 (set by /home/yyuu/.pyenv/version)
## `pyenv versions`
Lists all Python versions known to pyenv, and shows an asterisk next to
the currently active version.
$ pyenv versions
2.5.6
2.6.8
* 2.7.6 (set by /home/yyuu/.pyenv/version)
3.3.3
jython-2.5.3
pypy-2.2.1
## `pyenv which`
Displays the full path to the executable that pyenv will invoke when
you run the given command.
$ pyenv which python3.3
/home/yyuu/.pyenv/versions/3.3.3/bin/python3.3
Use --nosystem argument in case when you don't need to search command in the
system environment.
## `pyenv whence`
Lists all Python versions with the given command installed.
$ pyenv whence 2to3
2.6.8
2.7.6
3.3.3
## `pyenv exec`
Usage: pyenv exec <command> [arg1 arg2...]
Runs an executable by first preparing PATH so that the selected Python
version's `bin` directory is at the front.
For example, if the currently selected Python version is 3.9.7:
pyenv exec pip install -r requirements.txt
is equivalent to:
PATH="$PYENV_ROOT/versions/3.9.7/bin:$PATH" pip install -r requirements.txt
## `pyenv root`
Displays the root directory where versions and shims are kept.
$ pyenv root
/home/user/.pyenv
## `pyenv prefix`
Displays the directories where the given Python versions are installed,
separated by colons. If no version is given, `pyenv prefix` displays the
locations of the currently selected versions.
$ pyenv prefix 3.9.7
/home/user/.pyenv/versions/3.9.7
## `pyenv latest`
Displays the latest installed or known version with the given prefix
Usage: pyenv latest [-k|--known] [-q|--quiet] <prefix>
-k/--known Select from all known versions instead of installed
-q/--quiet Do not print an error message on resolution failure
Only full prefixes are searched: in the actual name, the given prefix must be followed by a dot or a dash.
Prereleases and versions with specific suffixes (e.g. `-src`) are ignored.
## `pyenv hooks`
Lists installed hook scripts for a given pyenv command.
Usage: pyenv hooks <command>
## `pyenv shims`
List existing pyenv shims.
Usage: pyenv shims [--short]
$ pyenv shims
/home/user/.pyenv/shims/2to3
/home/user/.pyenv/shims/2to3-3.9
/home/user/.pyenv/shims/idle
/home/user/.pyenv/shims/idle3
/home/user/.pyenv/shims/idle3.9
/home/user/.pyenv/shims/pip
/home/user/.pyenv/shims/pip3
/home/user/.pyenv/shims/pip3.9
/home/user/.pyenv/shims/pydoc
/home/user/.pyenv/shims/pydoc3
/home/user/.pyenv/shims/pydoc3.9
/home/user/.pyenv/shims/python
/home/user/.pyenv/shims/python3
/home/user/.pyenv/shims/python3.9
/home/user/.pyenv/shims/python3.9-config
/home/user/.pyenv/shims/python3.9-gdb.py
/home/user/.pyenv/shims/python3-config
/home/user/.pyenv/shims/python-config
## `pyenv init`
Configure the shell environment for pyenv
Usage: eval "$(pyenv init [-|--path] [--no-push-path] [--no-rehash] [<shell>])"
- Initialize shims directory, print PYENV_SHELL variable, completions path
and shell function
--path Print shims path
--no-push-path Do not push shim to the start of PATH if they're already there
--no-rehash Add no rehash command to output
## `pyenv completions`
Lists available completions for a given pyenv command.
Usage: pyenv completions <command> [arg1 arg2...]

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
* Yamashita, Yuu <<peek824545201@gmail.com>>
* Daniel Hahler <<git@thequod.de>>
* Josh Friend <<josh@fueledbycaffeine.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/

109
CONTRIBUTING.md Normal file
View File

@@ -0,0 +1,109 @@
General guidance
================
* The usual principles of respecting existing conventions and making sure that your changes
are in line with the overall product design apply when contributing code to Pyenv.
* We are limited to Bash 3.2 features
That's because that's the version shipped with MacOS.
(They didn't upgrade past it and switched to Zsh because later versions
are covered by GPLv3 which has additional restrictions unacceptable for Apple.)
You can still add performance optimizations etc that take advantage of newer Bash features
as long as there is a fallback execution route for Bash 3.
* Be extra careful when submitting logic specific for the Apple Silicon platform
As of this writing, Github Actions do not support it and only one team member has the necessary hardware.
So we may be unable to test your changes and may have to take your word for it.
Formatting PRs
==============
We strive to keep commit history one-concern-per-commit to keep it meaningful and easy to follow.
If a pull request (PR) addresses a single concern (the typical case), we usually squash commits
from it together when merging so its commit history doesn't matter.
If however a PR addresses multiple separate concerns, each of them should be presented as a separate commit.
Adding multiple new Python releases of the same flavor is okay with either a single or multiple commits.
Authoring installation scripts
==============================
Adding new Python release support
---------------------------------
The easiest way to add support for a new Python release is to copy the script from the previous one
and adjust it as necessary. In many cases, just changing version numbers, URLs and hashes is enough.
Do pay attention to other "magic numbers" that may be present in a script --
e.g. the set of architectures and OS versions supported by a release -- since those change from time to time, too.
Make sure to also copy any patches for the previous release that still apply to the new one.
Typically, a patch no longer applies if it addresses a problem that's already fixed in the new release.
For prereleases, we only create an entry for the latest prerelease in a specific version line.
When submitting a newer prerelease, replace the older one.
Adding version-specific fixes/patches
-------------------------------------
We accept fixes to issues in specific Python releases that prevent users from using them with Pyenv.
In the default configuration for a Python release, we strive to provide as close to vanilla experience as practical,
to maintain [the principle of the least surprise](https://en.wikipedia.org/wiki/Principle_of_least_astonishment).
As such, any such fixes:
* Must not break or degrade (e.g. disable features) the build in any of the environments that the release officially supports
* Must not introduce incompatibilities with the vanilla release (including binary incompatibilities)
* Should not patch things unnecessarily, to minimize the risk of the aforementioned undesirable side effects.
* E.g. if the fix is for a specific environment, its logic ought to only fire in this specific environment and not touch execution paths for other environments.
* As such, it's advisable to briefly explain in the PR what each added patch does and why it is necessary to fix the declared problem
Generally, version-specific fixes belong in the scripts for the affected releases and/or patches for them -- this guarantees that their effect is limited to only those releases.
<h3>Backporting upstream patches</h3>
Usually, this is the easiest way to backport a fix for a problem that is fixed in a newer release.
* Clone Python, check out the tag for the appropriate release and create a branch
* Apply existing patches if there are any (with either `patch` or `git am`) and commit
* Cherry-pick the upstream commit that fixes the problem in a newer release
* Commit and `git format-patch`
* Commit the generated patch file into Pyenv, test your changes and submit a PR
Deprecation policy
------------------
We do not provide official support for EOL releases and environments or otherwise provide any kind of extended support for old Python releases.
We do however accept fixes from interested parties that would allow running older, including EOL, releases in environments that they do not officially support.
In addition to the above requirements for release-specific fixes,
* Such a fix must not add maintenance burden (e.g. add new logic to `python-build` that has to be kept there indefinitely)
* Unless the added logic is useful for both EOL and non-EOL releases. In this case, it will be considered as being primarily an improvement for non-EOL releases.
* Support is provided on a "best effort" basis: we do not actively maintain these fixes but won't actively break them, either, and will accept any corrections.
Since old releases never change, it's pretty safe to assume that the fixes will continue to work until a later version
of an environment introduces further incompatible changes.
Advanced changes / adding new Python flavor support
---------------------------------------------------
An installation script is sourced from `python-build`. All installation scripts are based on the same logic:
1. Select the source to download and other variable parameters as needed.
This includes showing an error if the user's environment (OS, architecture) is not supported by the release.
Binary releases that only officially support specific distro(s) typically show a warning in other distros instead.
2. Run one of the `install_*` shell functions
`install_*` shell functions defined in `python-build` install Python from different kinds of sources -- compressed package (binary or source), upstream installation script, VCS checkout. Pick one that's the most appropriate for your packaging.
Each of them accepts a couple of function-specific arguments which are followed by arguments that constitute the build sequence. Each `<argument>` in the build sequence corresponds to the `install_*_<argument>` function in `python-build`. Check what's available and add any functions with logic specific to your flavor if needed.
We strive to keep out of `python-build` parts of build logic that are release-specific and/or tend to change abruptly between releases -- e.g. sets of supported architectures and other software's versions. This results in logic duplication between installation scripts -- but since old releases never change once released, this doesn't really add to the maintenance burden. As a rule of thumb, `python-build` can host parts of logic that are expected to stay the same for an indefinite amount of time -- for an entire Python flavor or release line.

35
Dockerfile Normal file
View File

@@ -0,0 +1,35 @@
FROM ubuntu:18.04
LABEL maintainer="Chris L. Barnes <chrislloydbarnes@gmail.com>"
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update -y \
&& apt-get install -y \
make \
build-essential \
libssl-dev \
zlib1g-dev \
libbz2-dev \
libreadline-dev \
libsqlite3-dev \
wget \
curl \
llvm \
libncurses5-dev \
libncursesw5-dev \
xz-utils \
tk-dev \
libffi-dev \
liblzma-dev \
python-openssl \
git \
&& rm -rf /var/lib/apt/lists/*
ENV PYENV_ROOT "/pyenv"
ENV PATH "$PYENV_ROOT/bin:$PATH"
COPY . /pyenv
RUN eval "$(pyenv init -)"

View File

@@ -1,4 +1,5 @@
Copyright (c) 2011 Sam Stephenson
Copyright (c) 2013 Yamashita, Yuu
Copyright (c) 2013 Sam Stephenson
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the

15
MAINTENANCE.md Normal file
View File

@@ -0,0 +1,15 @@
Creating a release
==================
The release of the new version of Pyenv is done via GitHub Releases.
Release checklist:
* Start [drafting a new release on GitHub](https://github.com/pyenv/pyenv/releases) to generate a summary of changes. Save the summary locally.
* The summary may need editing. E.g. rephrase entries, delete/merge entries that are too minor or irrelevant to the users (e.g. typo fixes, CI)
* Push the version number in `libexec/pyenv---version`
* Minor version is pushed if there are significant functional changes (not e.g. bugfixes/formula adaptations/supporting niche use cases).
* Major version is pushed if there are breaking changes
* Update `CHANGELOG.md` with the new version number and the edited summary (only the changes section), reformatting it like the rest of the changelog sections
* Commit the changes locally into `master`
* Create a new tag with the new version number and push the changes including the tag
* Create a new release on GitHub based on the tag, using the saved summary

29
Makefile Normal file
View File

@@ -0,0 +1,29 @@
.PHONY: test test-build test-unit test-plugin
# Do not pass in user flags to build tests.
unexport PYTHON_CFLAGS
unexport PYTHON_CONFIGURE_OPTS
test: test-unit test-plugin
test-unit: bats
PATH="./bats/bin:$$PATH" test/run
test-plugin: bats
cd plugins/python-build && $(PWD)/bats/bin/bats $${CI:+--tap} test
PYTHON_BUILD_ROOT := $(CURDIR)/plugins/python-build
PYTHON_BUILD_OPTS ?= --verbose
PYTHON_BUILD_VERSION ?= 3.8-dev
PYTHON_BUILD_TEST_PREFIX ?= $(PYTHON_BUILD_ROOT)/test/build/tmp/dist
test-build:
$(RM) -r $(PYTHON_BUILD_TEST_PREFIX)
$(PYTHON_BUILD_ROOT)/bin/python-build $(PYTHON_BUILD_OPTS) $(PYTHON_BUILD_VERSION) $(PYTHON_BUILD_TEST_PREFIX)
[ -e $(PYTHON_BUILD_TEST_PREFIX)/bin/python ]
$(PYTHON_BUILD_TEST_PREFIX)/bin/python -V
[ -e $(PYTHON_BUILD_TEST_PREFIX)/bin/pip ]
$(PYTHON_BUILD_TEST_PREFIX)/bin/pip -V
bats:
git clone --depth 1 --branch v1.2.0 https://github.com/bats-core/bats-core.git bats

917
README.md

File diff suppressed because it is too large Load Diff

1
bin/pyenv Symbolic link
View File

@@ -0,0 +1 @@
../libexec/pyenv

View File

@@ -1 +0,0 @@
../libexec/rbenv

View File

@@ -1,16 +0,0 @@
#!/usr/bin/env bash
#
# `ruby-local-exec` is a drop-in replacement for the standard Ruby
# shebang line:
#
# #!/usr/bin/env ruby-local-exec
#
# Use it for scripts inside a project with an `.rbenv-version`
# file. When you run the scripts, they'll use the project-specified
# Ruby 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 RBENV_DIR="${1%/*}"
exec ruby "$@"

16
completions/pyenv.bash Normal file
View File

@@ -0,0 +1,16 @@
_pyenv() {
COMPREPLY=()
local word="${COMP_WORDS[COMP_CWORD]}"
if [ "$COMP_CWORD" -eq 1 ]; then
COMPREPLY=( $(compgen -W "$(pyenv commands)" -- "$word") )
else
local words=("${COMP_WORDS[@]}")
unset words[0]
unset words[$COMP_CWORD]
local completions=$(pyenv completions "${words[@]}")
COMPREPLY=( $(compgen -W "$completions" -- "$word") )
fi
}
complete -F _pyenv pyenv

23
completions/pyenv.fish Normal file
View File

@@ -0,0 +1,23 @@
function __fish_pyenv_needs_command
set cmd (commandline -opc)
if [ (count $cmd) -eq 1 -a $cmd[1] = 'pyenv' ]
return 0
end
return 1
end
function __fish_pyenv_using_command
set cmd (commandline -opc)
if [ (count $cmd) -gt 1 ]
if [ $argv[1] = $cmd[2] ]
return 0
end
end
return 1
end
complete -f -c pyenv -n '__fish_pyenv_needs_command' -a '(pyenv commands)'
for cmd in (pyenv commands)
complete -f -c pyenv -n "__fish_pyenv_using_command $cmd" -a \
"(pyenv completions (commandline -opc)[2..-1])"
end

18
completions/pyenv.zsh Normal file
View File

@@ -0,0 +1,18 @@
if [[ ! -o interactive ]]; then
return
fi
compctl -K _pyenv pyenv
_pyenv() {
local words completions
read -cA words
if [ "${#words}" -eq 2 ]; then
completions="$(pyenv commands)"
else
completions="$(pyenv completions ${words[2,-2]})"
fi
reply=(${(ps:\n:)completions})
}

View File

@@ -1,14 +0,0 @@
_rbenv() {
COMPREPLY=()
local word="${COMP_WORDS[COMP_CWORD]}"
if [ "$COMP_CWORD" -eq 1 ]; then
COMPREPLY=( $(compgen -W "$(rbenv commands)" -- "$word") )
else
local command="${COMP_WORDS[1]}"
local completions="$(rbenv completions "$command")"
COMPREPLY=( $(compgen -W "$completions" -- "$word") )
fi
}
complete -F _rbenv rbenv

View File

@@ -1,15 +0,0 @@
compctl -K _rbenv rbenv
_rbenv() {
local word words completions
read -cA words
word="${words[2]}"
if [ "${#words}" -eq 2 ]; then
completions="$(rbenv commands)"
else
completions="$(rbenv completions "${word}")"
fi
reply=("${(ps:\n:)completions}")
}

View File

@@ -1,377 +0,0 @@
# Simple Ruby Version Management: rbenv
rbenv lets you easily switch between multiple versions of Ruby. It's
simple, unobtrusive, and follows the UNIX tradition of single-purpose
tools that do one thing well.
<img src="http://i.sstephenson.us/rbenv.png" width="894" height="464">
### rbenv _does…_
* Let you **change the global Ruby version** on a per-user basis.
* Provide support for **per-project Ruby versions**.
* Allow you to **override the Ruby version** with an environment
variable.
### In contrast with rvm, rbenv _does not…_
* **Need to be loaded into your shell.** Instead, rbenv's shim
approach works by adding a directory to your `$PATH`.
* **Override shell commands like `cd`.** That's dangerous and
error-prone.
* **Have a configuration file.** There's nothing to configure except
which version of Ruby you want to use.
* **Install Ruby.** You can build and install Ruby yourself, or use
[ruby-build](https://github.com/sstephenson/ruby-build) to
automate the process.
* **Manage gemsets.** [Bundler](http://gembundler.com/) is a better
way to manage application dependencies. If you have projects that
are not yet using Bundler you can install the
[rbenv-gemset](https://github.com/jamis/rbenv-gemset) plugin.
* **Require changes to Ruby libraries for compatibility.** The
simplicity of rbenv means as long as it's in your `$PATH`,
[nothing](https://rvm.beginrescueend.com/integration/bundler/)
[else](https://rvm.beginrescueend.com/integration/capistrano/)
needs to know about it.
* **Prompt you with warnings when you switch to a project.** Instead
of executing arbitrary code, rbenv reads just the version name
from each project. There's nothing to "trust."
## Table of Contents
## How It Works ##
rbenv operates on the per-user directory `~/.rbenv`. Version names in
rbenv correspond to subdirectories of `~/.rbenv/versions`. For
example, you might have `~/.rbenv/versions/1.8.7-p354` and
`~/.rbenv/versions/1.9.3-rc1`.
Each version is a working tree with its own binaries, like
`~/.rbenv/versions/1.8.7-p354/bin/ruby` and
`~/.rbenv/versions/1.9.3-rc1/bin/irb`. rbenv makes _shim binaries_
for every such binary across all installed versions of Ruby.
These shims are simple wrapper scripts that live in `~/.rbenv/shims`
and detect which Ruby version you want to use. They insert the
directory for the selected version at the beginning of your `$PATH`
and then execute the corresponding binary.
Because of the simplicity of the shim approach, all you need to use
rbenv is `~/.rbenv/shims` in your `$PATH`.
## Installation ##
**Compatibility note**: rbenv is _incompatible_ with rvm. Things will
appear to work until you try to install a gem. The problem is that
rvm actually overrides the `gem` command with a shell function!
Please remove any references to rvm before using rbenv.
### Basic GitHub Checkout ###
This will get you going with the latest version of rbenv and make it
easy to fork and contribute any changes back upstream.
1. Check out rbenv into `~/.rbenv`.
$ cd
$ git clone git://github.com/sstephenson/rbenv.git .rbenv
2. Add `~/.rbenv/bin` to your `$PATH` for access to the `rbenv`
command-line utility.
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
**Zsh note**: Modifiy your `~/.zshrc` file instead of `~/.bash_profile`.
3. Add rbenv init to your shell to enable shims and autocompletion.
$ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
**Zsh note**: Modifiy your `~/.zshrc` file instead of `~/.bash_profile`.
4. Restart your shell so the path changes take effect. You can now
begin using rbenv.
$ exec $SHELL
5. Install Ruby versions into `~/.rbenv/versions`. For example, to
install Ruby 1.9.2-p290, download and unpack the source, then run:
$ ./configure --prefix=$HOME/.rbenv/versions/1.9.2-p290
$ make
$ make install
The [ruby-build](https://github.com/sstephenson/ruby-build) project
provides an `rbenv install` command that simplifies the process of
installing new Ruby versions to:
$ rbenv install 1.9.2-p290
6. Rebuild the shim binaries. You should do this any time you install
a new Ruby binary (for example, when installing a new Ruby version,
or when installing a gem that provides a binary).
$ rbenv rehash
#### Upgrading ####
If you've installed rbenv using the instructions above, you can
upgrade your installation at any time using git.
To upgrade to the latest development version of rbenv, use `git pull`:
$ cd ~/.rbenv
$ git pull
To upgrade to a specific release of rbenv, check out the corresponding
tag:
$ cd ~/.rbenv
$ git fetch
$ git tag
v0.1.0
v0.1.1
v0.1.2
v0.2.0
$ git checkout v0.2.0
### Homebrew on Mac OS X ###
You can also install rbenv using the
[Homebrew](http://mxcl.github.com/homebrew/) package manager on Mac OS
X.
$ brew update
$ brew install rbenv
$ brew install ruby-build
The same commands can be used for upgrading.
Afterwards you'll still need to add `eval "$(rbenv init -)"` to your
profile as stated in the caveats. You'll only ever have to do this
once.
### Neckbeard Configuration ###
Skip this section unless you must know what every line in your shell
profile is doing.
`rbenv init` is the only command that crosses the line of loading
extra commands into your shell. Coming from rvm, some of you might be
opposed to this idea. Here's what `rbenv init` actually does:
1. Sets up your shims path. This is the only requirement for rbenv to
function properly. You can do this by hand by prepending
`~/.rbenv/shims` to your `$PATH`.
2. Installs autocompletion. This is entirely optional but pretty
useful. Sourcing `~/.rbenv/completions/rbenv.bash` will set that
up. There is also a `~/.rbenv/completions/rbenv.zsh` for Zsh
users.
3. Rehashes shims. From time to time you'll need to rebuild your
shim files. Doing this on init makes sure everything is up to
date. You can always run `rbenv rehash` manually.
4. Installs the sh dispatcher. This bit is also optional, but allows
rbenv and plugins to change variables in your current shell, making
commands like `rbenv shell` possible. The sh dispatcher doesn't do
anything crazy like override `cd` or hack your shell prompt, but if
for some reason you need `rbenv` to be a real script rather than a
shell function, you can safely skip it.
Run `rbenv init -` for yourself to see exactly what happens under the
hood.
## Usage ##
Like `git`, the `rbenv` command delegates to subcommands based on its
first argument. The most common subcommands are:
### rbenv global ###
Sets the global version of Ruby to be used in all shells by writing
the version name to the `~/.rbenv/version` file. This version can be
overridden by a per-project `.rbenv-version` file, or by setting the
`RBENV_VERSION` environment variable.
$ rbenv global 1.9.2-p290
The special version name `system` tells rbenv to use the system Ruby
(detected by searching your `$PATH`).
When run without a version number, `rbenv global` reports the
currently configured global version.
### rbenv local ###
Sets a local per-project Ruby version by writing the version name to
an `.rbenv-version` file in the current directory. This version
overrides the global, and can be overridden itself by setting the
`RBENV_VERSION` environment variable or with the `rbenv shell`
command.
$ rbenv local rbx-1.2.4
When run without a version number, `rbenv local` reports the currently
configured local version. You can also unset the local version:
$ rbenv local --unset
### rbenv shell ###
Sets a shell-specific Ruby version by setting the `RBENV_VERSION`
environment variable in your shell. This version overrides both
project-specific versions and the global version.
$ rbenv shell jruby-1.6.4
When run without a version number, `rbenv shell` reports the current
value of `RBENV_VERSION`. You can also unset the shell version:
$ rbenv shell --unset
Note that you'll need rbenv's shell integration enabled (step 3 of
the installation instructions) in order to use this command. If you
prefer not to use shell integration, you may simply set the
`RBENV_VERSION` variable yourself:
$ export RBENV_VERSION=jruby-1.6.4
### rbenv versions ###
Lists all Ruby versions known to rbenv, and shows an asterisk next to
the currently active version.
$ rbenv versions
1.8.7-p352
1.9.2-p290
* 1.9.3-rc1 (set by /Users/sam/.rbenv/global)
jruby-1.6.4
rbx-1.2.4
ree-1.8.7-2011.03
### rbenv version ###
Displays the currently active Ruby version, along with information on
how it was set.
$ rbenv version
1.8.7-p352 (set by /Volumes/37signals/basecamp/.rbenv-version)
### rbenv rehash ###
Installs shims for all Ruby binaries known to rbenv (i.e.,
`~/.rbenv/versions/*/bin/*`). Run this command after you install a new
version of Ruby, or install a gem that provides binaries.
$ rbenv rehash
### rbenv which ###
Displays the full path to the binary that rbenv will execute when you
run the given command.
$ rbenv which irb
/Users/sam/.rbenv/versions/1.9.2-p290/bin/irb
### rbenv whence ###
Lists all Ruby versions with the given command installed.
$ rbenv whence rackup
1.9.3-rc1
jruby-1.6.4
ree-1.8.7-2011.03
## Development ##
The rbenv source code is [hosted on
GitHub](https://github.com/sstephenson/rbenv). It's clean, modular,
and easy to understand, even if you're not a shell hacker.
Please feel free to submit pull requests and file bugs on the [issue
tracker](https://github.com/sstephenson/rbenv/issues).
### Version History ###
**0.2.1** (October 1, 2011)
* Changed the `rbenv` command to ensure that `RBENV_DIR` is always an
absolute path. This fixes an issue where Ruby scripts using the
`ruby-local-exec` wrapper would go into an infinite loop when
invoked with a relative path from the command line.
**0.2.0** (September 28, 2011)
* Renamed `rbenv set-default` to `rbenv global` and `rbenv set-local`
to `rbenv local`. The `set-` commands are deprecated and will be
removed in the next major release.
* rbenv now uses `greadlink` on Solaris.
* Added a `ruby-local-exec` command which can be used in shebangs in
place of `#!/usr/bin/env ruby` to properly set the project-specific
Ruby version regardless of current working directory.
* Fixed an issue with `rbenv rehash` when no binaries are present.
* Added support for `rbenv-sh-*` commands, which run inside the
current shell instead of in a child process.
* Added an `rbenv shell` command for conveniently setting the
`$RBENV_VERSION` environment variable.
* Added support for storing rbenv versions and shims in directories
other than `~/.rbenv` with the `$RBENV_ROOT` environment variable.
* Added support for debugging rbenv via `set -x` when the
`$RBENV_DEBUG` environment variable is set.
* Refactored the autocompletion system so that completions are now
built-in to each command and shared between bash and Zsh.
* Added support for plugin bundles in `~/.rbenv/plugins` as documented
in [issue #102](https://github.com/sstephenson/rbenv/pull/102).
* Added `/usr/local/etc/rbenv.d` to the list of directories searched
for rbenv hooks.
* Added support for an `$RBENV_DIR` environment variable which
defaults to the current working directory for specifying where rbenv
searches for local version files.
**0.1.2** (August 16, 2011)
* Fixed rbenv to be more resilient against nonexistent entries in
`$PATH`.
* Made the `rbenv rehash` command operate atomically.
* Modified the `rbenv init` script to automatically run `rbenv
rehash` so that shims are recreated whenever a new shell is opened.
* Added initial support for Zsh autocompletion.
* Removed the dependency on egrep for reading version files.
**0.1.1** (August 14, 2011)
* Fixed a syntax error in the `rbenv help` command.
* Removed `-e` from the shebang in favor of `set -e` at the top of
each file for compatibility with operating systems that do not
support more than one argument in the shebang.
**0.1.0** (August 11, 2011)
* Initial public release.
### License ###
(The MIT license)
Copyright (c) 2011 Sam Stephenson
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

View File

@@ -1,4 +0,0 @@
#!/bin/sh -e
ruby mdtoc.rb README.mdtoc > ../README.md

View File

@@ -1,82 +0,0 @@
#!/usr/bin/env ruby
# A little Markdown filter that scans your document for headings,
# numbers them, adds anchors, and inserts a table of contents.
#
# To use it, make sure the headings you want numbered and linked are
# in this format:
#
# ### Title ###
#
# I.e. they must have an equal number of octothorpes around the title
# text. (In Markdown, `#` means `h1`, `##` means `h2`, and so on.)
# The table of contents will be inserted before the first such
# heading.
#
# Released into the public domain.
# Sam Stephenson <sstephenson@gmail.com>
# 2011-04-30
def mdtoc(markdown)
titles = []
lines = markdown.split($/)
start = nil
# First pass: Scan the Markdown source looking for titles of the
# format: `### Title ###`. Record the line number, header level
# (number of octothorpes), and text of each matching title.
lines.each_with_index do |line, line_no|
if line.match(/^(\#{1,6})\s+(.+?)\s+\1$/)
titles << [line_no, $1.length, $2]
start ||= line_no
end
end
last_section = nil
last_level = nil
# Second pass: Iterate over all matched titles and compute their
# corresponding section numbers. Then replace the titles with
# annotated anchors.
titles.each do |title_info|
line_no, level, text = title_info
if last_section
section = last_section.dup
if last_level < level
section << 1
else
(last_level - level).times { section.pop }
section[-1] += 1
end
else
section = [1]
end
name = section.join(".")
lines[line_no] = %(#{"#" * level} <a name="section_#{name}"></a> #{name} #{text})
title_info << section
last_section = section
last_level = level
end
# Third pass: Iterate over matched titles once more to produce the
# table of contents. Then insert it immediately above the first
# matched title.
if start
toc = titles.map do |(line_no, level, text, section)|
name = section.join(".")
%(#{" " * (section.length * 3)}* [#{name} #{text}](#section_#{name}))
end + [""]
lines.insert(start, *toc)
end
lines.join("\n")
end
if __FILE__ == $0
puts mdtoc($<.read)
end

141
libexec/pyenv Executable file
View File

@@ -0,0 +1,141 @@
#!/usr/bin/env bash
set -e
if [ "$1" = "--debug" ]; then
export PYENV_DEBUG=1
shift
fi
if [ -n "$PYENV_DEBUG" ]; then
# https://wiki-dev.bash-hackers.org/scripting/debuggingtips#making_xtrace_more_useful
export PS4='+(${BASH_SOURCE}:${LINENO}): ${FUNCNAME[0]:+${FUNCNAME[0]}(): }'
set -x
fi
abort() {
{ if [ "$#" -eq 0 ]; then cat -
else echo "pyenv: $*"
fi
} >&2
exit 1
}
if enable -f "${BASH_SOURCE%/*}"/../libexec/pyenv-realpath.dylib realpath 2>/dev/null; then
abs_dirname() {
local path
path="$(realpath "$1")"
echo "${path%/*}"
}
else
[ -z "$PYENV_NATIVE_EXT" ] || abort "failed to load \`realpath' builtin"
READLINK=$(type -P readlink)
[ -n "$READLINK" ] || abort "cannot find readlink - are you missing GNU coreutils?"
resolve_link() {
$READLINK "$1"
}
abs_dirname() {
local path="$1"
# Use a subshell to avoid changing the current path
(
while [ -n "$path" ]; do
cd_path="${path%/*}"
if [[ "$cd_path" != "$path" ]]; then
cd "$cd_path"
fi
name="${path##*/}"
path="$(resolve_link "$name" || true)"
done
echo "$PWD"
)
}
fi
if [ -z "${PYENV_ROOT}" ]; then
PYENV_ROOT="${HOME}/.pyenv"
else
PYENV_ROOT="${PYENV_ROOT%/}"
fi
export PYENV_ROOT
if [ -z "${PYENV_DIR}" ]; then
PYENV_DIR="$PWD"
fi
if [ ! -d "$PYENV_DIR" ] || [ ! -e "$PYENV_DIR" ]; then
abort "cannot change working directory to \`$PYENV_DIR'"
fi
PYENV_DIR=$(cd "$PYENV_DIR" && echo "$PWD")
export PYENV_DIR
shopt -s nullglob
bin_path="$(abs_dirname "$0")"
for plugin_bin in "${bin_path%/*}"/plugins/*/bin; do
PATH="${plugin_bin}:${PATH}"
done
# PYENV_ROOT can be set to anything, so it may happen to be equal to the base path above,
# resulting in duplicate PATH entries
if [ "${bin_path%/*}" != "$PYENV_ROOT" ]; then
for plugin_bin in "${PYENV_ROOT}"/plugins/*/bin; do
PATH="${plugin_bin}:${PATH}"
done
fi
export PATH="${bin_path}:${PATH}"
PYENV_HOOK_PATH="${PYENV_HOOK_PATH}:${PYENV_ROOT}/pyenv.d"
if [ "${bin_path%/*}" != "$PYENV_ROOT" ]; then
# Add pyenv's own `pyenv.d` unless pyenv was cloned to PYENV_ROOT
PYENV_HOOK_PATH="${PYENV_HOOK_PATH}:${bin_path%/*}/pyenv.d"
fi
PYENV_HOOK_PATH="${PYENV_HOOK_PATH}:/usr/local/etc/pyenv.d:/etc/pyenv.d:/usr/lib/pyenv/hooks"
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
command="$1"
case "$command" in
"" )
{ pyenv---version
pyenv-help
} | abort
;;
-v | --version )
exec pyenv---version
;;
-h | --help )
exec pyenv-help
;;
* )
command_path="$(command -v "pyenv-$command" || true)"
if [ -z "$command_path" ]; then
if [ "$command" == "shell" ]; then
abort "shell integration not enabled. Run \`pyenv init' for instructions."
else
abort "no such command \`$command'"
fi
fi
shift 1
if [ "$1" = --help ]; then
if [[ "$command" == "sh-"* ]]; then
echo "pyenv help \"$command\""
else
exec pyenv-help "$command"
fi
else
exec "$command_path" "$@"
fi
;;
esac

23
libexec/pyenv---version Executable file
View File

@@ -0,0 +1,23 @@
#!/usr/bin/env bash
# Summary: Display the version of pyenv
#
# Displays the version number of this pyenv release, including the
# current revision from git, if available.
#
# The format of the git revision is:
# <version>-<num_commits>-<git_sha>
# where `num_commits` is the number of commits since `version` was
# tagged.
set -e
[ -n "$PYENV_DEBUG" ] && set -x
version="2.3.24"
git_revision=""
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}"

43
libexec/pyenv-commands Executable file
View File

@@ -0,0 +1,43 @@
#!/usr/bin/env bash
# Summary: List all available pyenv commands
# Usage: pyenv commands [--sh|--no-sh]
set -e
[ -n "$PYENV_DEBUG" ] && set -x
# Provide pyenv completions
if [ "$1" = "--complete" ]; then
echo --sh
echo --no-sh
exit
fi
if [ "$1" = "--sh" ]; then
sh=1
shift
elif [ "$1" = "--no-sh" ]; then
nosh=1
shift
fi
IFS=: paths=($PATH)
shopt -s nullglob
{ for path in "${paths[@]}"; do
for command in "${path}/pyenv-"*; do
command="${command##*pyenv-}"
if [ -n "$sh" ]; then
if [ "${command:0:3}" = "sh-" ]; then
echo "${command##sh-}"
fi
elif [ -n "$nosh" ]; then
if [ "${command:0:3}" != "sh-" ]; then
echo "${command##sh-}"
fi
else
echo "${command##sh-}"
fi
done
done
} | sort | uniq

26
libexec/pyenv-completions Executable file
View File

@@ -0,0 +1,26 @@
#!/usr/bin/env bash
# Usage: pyenv completions <command> [arg1 arg2...]
set -e
[ -n "$PYENV_DEBUG" ] && set -x
COMMAND="$1"
if [ -z "$COMMAND" ]; then
pyenv-help --usage completions >&2
exit 1
fi
# Provide pyenv completions
if [ "$COMMAND" = "--complete" ]; then
exec pyenv-commands
fi
COMMAND_PATH="$(command -v "pyenv-$COMMAND" || command -v "pyenv-sh-$COMMAND")"
# --help is provided automatically
echo --help
if grep -iE "^([#%]|--|//) provide pyenv completions" "$COMMAND_PATH" >/dev/null; then
shift
exec "$COMMAND_PATH" --complete "$@"
fi

48
libexec/pyenv-exec Executable file
View File

@@ -0,0 +1,48 @@
#!/usr/bin/env bash
#
# Summary: Run an executable with the selected Python version
#
# Usage: pyenv exec <command> [arg1 arg2...]
#
# Runs an executable by first preparing PATH so that the selected Python
# version's `bin' directory is at the front.
#
# For example, if the currently selected Python version is 2.7.6:
# pyenv exec pip install -r requirements.txt
#
# is equivalent to:
# PATH="$PYENV_ROOT/versions/2.7.6/bin:$PATH" pip install -r requirements.txt
set -e
[ -n "$PYENV_DEBUG" ] && set -x
# Provide pyenv completions
if [ "$1" = "--complete" ]; then
exec pyenv-shims --short
fi
PYENV_VERSION="$(pyenv-version-name)"
PYENV_COMMAND="$1"
if [ -z "$PYENV_COMMAND" ]; then
pyenv-help --usage exec >&2
exit 1
fi
export PYENV_VERSION
PYENV_COMMAND_PATH="$(pyenv-which "$PYENV_COMMAND")"
PYENV_BIN_PATH="${PYENV_COMMAND_PATH%/*}"
OLDIFS="$IFS"
IFS=$'\n' scripts=(`pyenv-hooks exec`)
IFS="$OLDIFS"
for script in "${scripts[@]}"; do
source "$script"
done
shift 1
if [ "${PYENV_BIN_PATH#${PYENV_ROOT}}" != "${PYENV_BIN_PATH}" ]; then
# Only add to $PATH for non-system version.
export PATH="${PYENV_BIN_PATH}:${PATH}"
fi
exec "$PYENV_COMMAND_PATH" "$@"

49
libexec/pyenv-global Executable file
View File

@@ -0,0 +1,49 @@
#!/usr/bin/env bash
#
# Summary: Set or show the global Python version(s)
#
# Usage: pyenv global <version> <version2> <..>
#
# Sets the global Python version(s). You can override the global version at
# any time by setting a directory-specific version with `pyenv local'
# or by setting the `PYENV_VERSION' environment variable.
#
# <version> can be specified multiple times and should be a version
# tag known to pyenv. The special version string `system' will use
# your default system Python. Run `pyenv versions' for a list of
# available Python versions.
#
# Example: To enable the python2.7 and python3.7 shims to find their
# respective executables you could set both versions with:
#
# 'pyenv global 3.7.0 2.7.15'
#
set -e
[ -n "$PYENV_DEBUG" ] && set -x
# Provide pyenv completions
if [ "$1" = "--complete" ]; then
echo system
exec pyenv-versions --bare
fi
versions=("$@")
PYENV_VERSION_FILE="${PYENV_ROOT}/version"
if [ -n "$versions" ]; then
pyenv-version-file-write "$PYENV_VERSION_FILE" "${versions[@]}"
else
OLDIFS="$IFS"
IFS=: versions=($(
pyenv-version-file-read "$PYENV_VERSION_FILE" ||
pyenv-version-file-read "${PYENV_ROOT}/global" ||
pyenv-version-file-read "${PYENV_ROOT}/default" ||
echo system
))
IFS="$OLDIFS"
for version in "${versions[@]}"; do
echo "$version"
done
fi

173
libexec/pyenv-help Executable file
View File

@@ -0,0 +1,173 @@
#!/usr/bin/env bash
#
# Summary: Display help for a command
#
# Usage: pyenv help [--usage] COMMAND
#
# Parses and displays help contents from a command's source file.
#
# A command is considered documented if it starts with a comment block
# that has a `Summary:' or `Usage:' section. Usage instructions can
# span multiple lines as long as subsequent lines are indented.
# The remainder of the comment block is displayed as extended
# documentation.
set -e
[ -n "$PYENV_DEBUG" ] && set -x
# Provide pyenv completions
if [ "$1" = "--complete" ]; then
echo --usage
exec pyenv-commands
fi
command_path() {
local command="$1"
command -v pyenv-"$command" || command -v pyenv-sh-"$command" || true
}
extract_initial_comment_block() {
LC_ALL= \
LC_CTYPE=C \
sed -ne "
/^#/ !{
q
}
s/^#$/# /
/^# / {
s/^# //
p
}
"
}
collect_documentation() {
# `tail` prevents "broken pipe" errors due to `head` closing the pipe without reading everything
# https://superuser.com/questions/554855/how-can-i-fix-a-broken-pipe-error/642932#642932
$(type -P gawk awk | tail -n +1 | head -n1) '
/^Summary:/ {
summary = substr($0, 10)
next
}
/^Usage:/ {
reading_usage = 1
usage = usage "\n" $0
next
}
/^( *$| )/ && reading_usage {
usage = usage "\n" $0
next
}
{
reading_usage = 0
help = help "\n" $0
}
function escape(str) {
gsub(/[`\\$"]/, "\\\\&", str)
return str
}
function trim(str) {
sub(/^\n*/, "", str)
sub(/\n*$/, "", str)
return str
}
END {
if (usage || summary) {
print "summary=\"" escape(summary) "\""
print "usage=\"" escape(trim(usage)) "\""
print "help=\"" escape(trim(help)) "\""
}
}
'
}
documentation_for() {
local filename
filename="$(command_path "$1")"
if [ -n "$filename" ]; then
extract_initial_comment_block < "$filename" | collect_documentation
fi
}
print_summary() {
local command="$1"
local summary usage help
eval "$(documentation_for "$command")"
if [ -n "$summary" ]; then
printf " %-9s %s\n" "$command" "$summary"
fi
}
print_summaries() {
for command; do
print_summary "$command"
done
}
print_help() {
local command="$1"
local summary usage help
eval "$(documentation_for "$command")"
[ -n "$help" ] || help="$summary"
if [ -n "$usage" ] || [ -n "$summary" ]; then
if [ -n "$usage" ]; then
echo "$usage"
else
echo "Usage: pyenv ${command}"
fi
if [ -n "$help" ]; then
echo
echo "$help"
echo
fi
else
echo "Sorry, this command isn't documented yet." >&2
return 1
fi
}
print_usage() {
local command="$1"
local summary usage help
eval "$(documentation_for "$command")"
[ -z "$usage" ] || echo "$usage"
}
unset usage
if [ "$1" = "--usage" ]; then
usage="1"
shift
fi
if [ -z "$1" ] || [ "$1" == "pyenv" ]; then
echo "Usage: pyenv <command> [<args>]"
[ -z "$usage" ] || exit
echo
echo "Some useful pyenv commands are:"
print_summaries $(exec pyenv-commands | sort -u)
echo
echo "See \`pyenv help <command>' for information on a specific command."
echo "For full documentation, see: https://github.com/pyenv/pyenv#readme"
else
command="$1"
if [ -n "$(command_path "$command")" ]; then
if [ -n "$usage" ]; then
print_usage "$command"
else
print_help "$command"
fi
else
echo "pyenv: no such command \`$command'" >&2
exit 1
fi
fi

63
libexec/pyenv-hooks Executable file
View File

@@ -0,0 +1,63 @@
#!/usr/bin/env bash
# Summary: List hook scripts for a given pyenv command
# Usage: pyenv hooks <command>
set -e
[ -n "$PYENV_DEBUG" ] && set -x
# Provide pyenv completions
if [ "$1" = "--complete" ]; then
echo exec
echo rehash
echo version-name
echo version-origin
echo which
exit
fi
PYENV_COMMAND="$1"
if [ -z "$PYENV_COMMAND" ]; then
pyenv-help --usage hooks >&2
exit 1
fi
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
fi
READLINK=$(type -P readlink)
if [ -z "$READLINK" ]; then
echo "pyenv: cannot find readlink - are you missing GNU coreutils?" >&2
exit 1
fi
resolve_link() {
$READLINK "$1"
}
realpath() {
local path="$1"
local name
# Use a subshell to avoid changing the current path
(
while [ -n "$path" ]; do
name="${path##*/}"
[ "$name" = "$path" ] || cd "${path%/*}"
path="$(resolve_link "$name" || true)"
done
echo "${PWD}/$name"
)
}
fi
IFS=: hook_paths=($PYENV_HOOK_PATH)
shopt -s nullglob
for path in "${hook_paths[@]}"; do
for script in "$path/$PYENV_COMMAND"/*.bash; do
realpath "$script"
done
done
shopt -u nullglob

312
libexec/pyenv-init Executable file
View File

@@ -0,0 +1,312 @@
#!/usr/bin/env bash
# Summary: Configure the shell environment for pyenv
# Usage: eval "$(pyenv init [-|--path] [--no-push-path] [--detect-shell] [--no-rehash] [<shell>])"
set -e
[ -n "$PYENV_DEBUG" ] && set -x
# Provide pyenv completions
if [ "$1" = "--complete" ]; then
echo -
echo --path
echo --no-push-path
echo --no-rehash
echo --detect-shell
echo bash
echo fish
echo ksh
echo zsh
exit
fi
mode="help"
no_rehash=""
no_push_path=""
for args in "$@"
do
if [ "$args" = "-" ]; then
mode="print"
shift
fi
if [ "$args" = "--path" ]; then
mode="path"
shift
fi
if [ "$args" = "--detect-shell" ]; then
mode="detect-shell"
shift
fi
if [ "$args" = "--no-push-path" ]; then
no_push_path=1
shift
fi
if [ "$args" = "--no-rehash" ]; then
no_rehash=1
shift
fi
done
shell="$1"
if [ -z "$shell" ]; then
shell="$(ps -p "$PPID" -o 'args=' 2>/dev/null || true)"
shell="${shell%% *}"
shell="${shell##-}"
shell="${shell:-$SHELL}"
shell="${shell##*/}"
shell="${shell%%-*}"
fi
root="${0%/*}/.."
function main() {
case "$mode" in
"help")
help_
exit 1
;;
"path")
print_path
print_rehash
exit 0
;;
"print")
init_dirs
print_path
print_env
print_completion
print_rehash
print_shell_function
exit 0
;;
"detect-shell")
detect_profile 1
print_detect_shell
exit 0
;;
esac
# should never get here
exit 2
}
function detect_profile() {
local detect_for_detect_shell="$1"
case "$shell" in
bash )
if [ -e '~/.bash_profile' ]; then
profile='~/.bash_profile'
else
profile='~/.profile'
fi
profile_explain="~/.bash_profile if it exists, otherwise ~/.profile"
rc='~/.bashrc'
;;
zsh )
profile='~/.zprofile'
rc='~/.zshrc'
;;
ksh | ksh93 | mksh )
# There are two implementations of Korn shell: AT&T (ksh93) and Mir (mksh).
# Systems may have them installed under those names, or as ksh, so those
# are recognized here. The obsolete ksh88 (subsumed by ksh93) and pdksh
# (subsumed by mksh) are not included, since they are unlikely to still
# be in use as interactive shells anywhere.
profile='~/.profile'
rc='~/.profile'
;;
* )
if [ -n "$detect_for_detect_shell" ]; then
profile=
rc=
else
profile='your shell'\''s login startup file'
rc='your shell'\''s interactive startup file'
fi
;;
esac
}
function print_detect_shell() {
echo "PYENV_SHELL_DETECT=$shell"
echo "PYENV_PROFILE_DETECT=$profile"
echo "PYENV_RC_DETECT=$rc"
}
function help_() {
detect_profile
{
case "$shell" in
fish )
echo "# Add pyenv executable to PATH by running"
echo "# the following interactively:"
echo
echo 'set -Ux PYENV_ROOT $HOME/.pyenv'
echo 'set -U fish_user_paths $PYENV_ROOT/bin $fish_user_paths'
echo
echo "# Load pyenv automatically by appending"
echo "# the following to ~/.config/fish/config.fish:"
echo
echo 'pyenv init - | source'
echo
;;
* )
echo '# Load pyenv automatically by appending'
echo -n "# the following to "
if [ "$profile" == "$rc" ]; then
echo "$profile :"
else
echo
echo "${profile_explain:-$profile} (for login shells)"
echo "and $rc (for interactive shells) :"
fi
echo
echo 'export PYENV_ROOT="$HOME/.pyenv"'
echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"'
echo 'eval "$(pyenv init -)"'
;;
esac
echo
echo '# Restart your shell for the changes to take effect.'
echo
} >&2
}
function init_dirs() {
mkdir -p "${PYENV_ROOT}/"{shims,versions}
}
function print_path() {
# if no_push_path is set, guard the PATH manipulation with a check on whether
# the shim is already in the PATH.
if [ -n "$no_push_path" ]; then
case "$shell" in
fish )
echo 'if not contains -- "'"${PYENV_ROOT}/shims"'" $PATH'
print_path_prepend_shims
echo 'end'
;;
* )
echo 'if [[ ":$PATH:" != *'\':"${PYENV_ROOT}"/shims:\''* ]]; then'
print_path_prepend_shims
echo 'fi'
;;
esac
else
case "$shell" in
fish )
echo 'while set pyenv_index (contains -i -- "'"${PYENV_ROOT}/shims"'" $PATH)'
echo 'set -eg PATH[$pyenv_index]; end; set -e pyenv_index'
print_path_prepend_shims
;;
* )
# Some distros (notably Debian-based) set Bash's SSH_SOURCE_BASHRC compilation option
# that makes it source `bashrc` under SSH even when not interactive.
# This is inhibited by a guard in Debian's stock `bashrc` but some people remove it
# in order to get proper environment for noninteractive remote commands
# (SSH provides /etc/ssh/sshrc and ~/.ssh/rc for that but no-one seems to use them for some reason).
# This has caused an infinite `bashrc` execution loop for those people in the below nested Bash invocation (#2367).
# --norc negates this behavior of such a customized Bash.
echo 'PATH="$(bash --norc -ec '\''IFS=:; paths=($PATH); '
echo 'for i in ${!paths[@]}; do '
echo 'if [[ ${paths[i]} == "'\'\'"${PYENV_ROOT}/shims"\'\''" ]]; then unset '\'\\\'\''paths[i]'\'\\\'\''; '
echo 'fi; done; '
echo 'echo "${paths[*]}"'\'')"'
print_path_prepend_shims
;;
esac
fi
}
function print_path_prepend_shims() {
case "$shell" in
fish )
echo 'set -gx PATH '\'"${PYENV_ROOT}/shims"\'' $PATH'
;;
* )
echo 'export PATH="'"${PYENV_ROOT}"'/shims:${PATH}"'
;;
esac
}
function print_env() {
case "$shell" in
fish )
echo "set -gx PYENV_SHELL $shell"
;;
* )
echo "export PYENV_SHELL=$shell"
;;
esac
}
function print_completion() {
completion="${root}/completions/pyenv.${shell}"
if [ -r "$completion" ]; then
echo "source '$completion'"
fi
}
function print_rehash() {
if [ -z "$no_rehash" ]; then
echo 'command pyenv rehash 2>/dev/null'
fi
}
function print_shell_function() {
commands=(`pyenv-commands --sh`)
case "$shell" in
fish )
cat <<EOS
function pyenv
set command \$argv[1]
set -e argv[1]
switch "\$command"
case ${commands[*]}
source (pyenv "sh-\$command" \$argv|psub)
case '*'
command pyenv "\$command" \$argv
end
end
EOS
;;
ksh | ksh93 | mksh )
cat <<EOS
function pyenv {
typeset command
EOS
;;
* )
cat <<EOS
pyenv() {
local command
EOS
;;
esac
if [ "$shell" != "fish" ]; then
IFS="|"
cat <<EOS
command="\${1:-}"
if [ "\$#" -gt 0 ]; then
shift
fi
case "\$command" in
${commands[*]})
eval "\$(pyenv "sh-\$command" "\$@")"
;;
*)
command pyenv "\$command" "\$@"
;;
esac
}
EOS
fi
}
main

80
libexec/pyenv-latest Executable file
View File

@@ -0,0 +1,80 @@
#!/usr/bin/env bash
# Summary: Print the latest installed or known version with the given prefix
# Usage: pyenv latest [-k|--known] [-q|--quiet] <prefix>
#
# -k/--known Select from all known versions instead of installed
# -q/--quiet Do not print an error message on resolution failure
set -e
[ -n "$PYENV_DEBUG" ] && set -x
while [[ $# -gt 0 ]]
do
case "$1" in
-k|--known)
FROM_KNOWN=1
shift
;;
-q|--quiet)
QUIET=1
shift
;;
*)
break
;;
esac
done
prefix=$1
exitcode=0
IFS=$'\n'
if [[ -z $FROM_KNOWN ]]; then
DEFINITION_CANDIDATES=( $(pyenv-versions --bare --skip-envs) )
else
DEFINITION_CANDIDATES=( $(python-build --definitions ) )
fi
if printf '%s\n' "${DEFINITION_CANDIDATES[@]}" 2>/dev/null | grep -qxFe "$prefix"; then
echo "$prefix"
exit $exitcode;
fi
# https://stackoverflow.com/questions/11856054/is-there-an-easy-way-to-pass-a-raw-string-to-grep/63483807#63483807
prefix_re="$(sed 's/[^\^]/[&]/g;s/[\^]/\\&/g' <<< "$prefix")"
# FIXME: more reliable and readable would probably be to loop over them and transform in pure Bash
DEFINITION_CANDIDATES=(\
$(printf '%s\n' "${DEFINITION_CANDIDATES[@]}" | \
grep -Ee "^$prefix_re[-.]" || true))
DEFINITION_CANDIDATES=(\
$(printf '%s\n' "${DEFINITION_CANDIDATES[@]}" | \
sed -E -e '/-dev$/d' -e '/-src$/d' -e '/-latest$/d' -e '/(a|b|rc)[0-9]+$/d'));
# Compose a sorting key, followed by | and original value
DEFINITION_CANDIDATES=(\
$(printf '%s\n' "${DEFINITION_CANDIDATES[@]}" | \
awk \
'{ if (match($0,"^[[:alnum:]]+-"))
{ print substr($0,0,RLENGTH-1) "." substr($0,RLENGTH+1) "..|" $0; }
else
{ print $0 "...|" $0; }
}'))
DEFINITION_CANDIDATES=(\
$(printf '%s\n' "${DEFINITION_CANDIDATES[@]}" \
| sort -t. -k1,1r -k 2,2nr -k 3,3nr -k4,4nr \
| cut -f2 -d $'|' \
|| true))
DEFINITION="${DEFINITION_CANDIDATES[0]}"
if [[ -n "$DEFINITION" ]]; then
echo "$DEFINITION"
else
if [[ -z $QUIET ]]; then
echo "pyenv: no $([[ -z $FROM_KNOWN ]] && echo installed || echo known) versions match the prefix \`$prefix'" >&2
fi
exitcode=1
fi
exit $exitcode

55
libexec/pyenv-local Executable file
View File

@@ -0,0 +1,55 @@
#!/usr/bin/env bash
#
# Summary: Set or show the local application-specific Python version(s)
#
# Usage: pyenv local <version> <version2> <..>
# pyenv local --unset
#
# Sets the local application-specific Python version(s) by writing the
# version name to a file named `.python-version'.
#
# When you run a Python command, pyenv will look for a `.python-version'
# file in the current directory and each parent directory. If no such
# file is found in the tree, pyenv will use the global Python version
# specified with `pyenv global'. A version specified with the
# `PYENV_VERSION' environment variable takes precedence over local
# and global versions.
#
# <version> can be specified multiple times and should be a version
# tag known to pyenv. The special version string `system' will use
# your default system Python. Run `pyenv versions' for a list of
# available Python versions.
#
# Example: To enable the python2.7 and python3.7 shims to find their
# respective executables you could set both versions with:
#
# 'pyenv local 3.7.0 2.7.15'
set -e
[ -n "$PYENV_DEBUG" ] && set -x
# Provide pyenv completions
if [ "$1" = "--complete" ]; then
echo --unset
echo system
exec pyenv-versions --bare
fi
versions=("$@")
if [ "$versions" = "--unset" ]; then
rm -f .python-version
elif [ -n "$versions" ]; then
pyenv-version-file-write .python-version "${versions[@]}"
else
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

62
libexec/pyenv-prefix Executable file
View File

@@ -0,0 +1,62 @@
#!/usr/bin/env bash
# Summary: Display prefixes for Python versions
# Usage: pyenv prefix [<version>...]
#
# Displays the directories where the given Python versions are installed,
# separated by colons. If no version is given, `pyenv prefix' displays the
# locations of the currently selected versions.
set -e
[ -n "$PYENV_DEBUG" ] && set -x
# Provide pyenv completions
if [ "$1" = "--complete" ]; then
echo system
exec pyenv-versions --bare
fi
if [ -n "$1" ]; then
OLDIFS="$IFS"
{ IFS=:
export PYENV_VERSION="$*"
}
IFS="$OLDIFS"
elif [ -z "$PYENV_VERSION" ]; then
PYENV_VERSION="$(pyenv-version-name)"
fi
PYENV_PREFIX_PATHS=()
OLDIFS="$IFS"
{ IFS=:
for version in ${PYENV_VERSION}; do
if [ "$version" = "system" ]; then
if PYTHON_PATH="$(PYENV_VERSION="${version}" pyenv-which python 2>/dev/null)" || \
PYTHON_PATH="$(PYENV_VERSION="${version}" pyenv-which python3 2>/dev/null)" || \
PYTHON_PATH="$(PYENV_VERSION="${version}" pyenv-which python2 2>/dev/null)"; then
shopt -s extglob
# In some distros (Arch), Python can be found in sbin as well as bin
PYENV_PREFIX_PATH="${PYTHON_PATH%/?(s)bin/*}"
PYENV_PREFIX_PATH="${PYENV_PREFIX_PATH:-/}"
else
echo "pyenv: system version not found in PATH" >&2
exit 1
fi
else
version="$(pyenv-latest -q "$version" || echo "$version")"
PYENV_PREFIX_PATH="${PYENV_ROOT}/versions/${version}"
fi
if [ -d "$PYENV_PREFIX_PATH" ]; then
PYENV_PREFIX_PATHS=("${PYENV_PREFIX_PATHS[@]}" "$PYENV_PREFIX_PATH")
else
echo "pyenv: version \`${version}' not installed" >&2
exit 1
fi
done
}
IFS="$OLDIFS"
OLDIFS="$IFS"
{ IFS=:
echo "${PYENV_PREFIX_PATHS[*]}"
}
IFS="$OLDIFS"

190
libexec/pyenv-rehash Executable file
View File

@@ -0,0 +1,190 @@
#!/usr/bin/env bash
# Summary: Rehash pyenv shims (run this after installing executables)
set -e
[ -n "$PYENV_DEBUG" ] && set -x
SHIM_PATH="${PYENV_ROOT}/shims"
PROTOTYPE_SHIM_PATH="${SHIM_PATH}/.pyenv-shim"
# Create the shims directory if it doesn't already exist.
mkdir -p "$SHIM_PATH"
acquire_lock() {
# Ensure only one instance of pyenv-rehash is running at a time by
# setting the shell's `noclobber` option and attempting to write to
# the prototype shim file. If the file already exists, print a warning
# to stderr and exit with a non-zero status.
local ret
set -o noclobber
echo > "$PROTOTYPE_SHIM_PATH" 2>| /dev/null || ret=1
set +o noclobber
[ -z "${ret}" ]
}
# If we were able to obtain a lock, register a trap to clean up the
# prototype shim when the process exits.
trap release_lock EXIT
remove_prototype_shim() {
rm -f "$PROTOTYPE_SHIM_PATH"
}
release_lock() {
remove_prototype_shim
}
if [ ! -w "$SHIM_PATH" ]; then
echo "pyenv: cannot rehash: $SHIM_PATH isn't writable"
exit 1
fi
unset acquired
start=$SECONDS
while (( SECONDS <= start + ${PYENV_REHASH_TIMEOUT:-60} )); do
if acquire_lock 2>/dev/null; then
acquired=1
break
else
# POSIX sleep(1) doesn't provide subsecond precision, but many others do
sleep 0.1 2>/dev/null || sleep 1
fi
done
if [ -z "${acquired}" ]; then
echo "pyenv: cannot rehash: $PROTOTYPE_SHIM_PATH exists"
exit 1
fi
# The prototype shim file is a script that re-execs itself, passing
# its filename and any arguments to `pyenv exec`. This file is
# hard-linked for every executable and then removed. The linking
# technique is fast, uses less disk space than unique files, and also
# serves as a locking mechanism.
create_prototype_shim() {
cat > "$PROTOTYPE_SHIM_PATH" <<SH
#!/usr/bin/env bash
set -e
[ -n "\$PYENV_DEBUG" ] && set -x
program="\${0##*/}"
export PYENV_ROOT="$PYENV_ROOT"
exec "$(command -v pyenv)" exec "\$program" "\$@"
SH
chmod +x "$PROTOTYPE_SHIM_PATH"
}
# If the contents of the prototype shim file differ from the contents
# of the first shim in the shims directory, assume pyenv has been
# upgraded and the existing shims need to be removed.
remove_outdated_shims() {
local shim
for shim in "$SHIM_PATH"/*; do
if ! diff "$PROTOTYPE_SHIM_PATH" "$shim" >/dev/null 2>&1; then
rm -f "$SHIM_PATH"/*
fi
break
done
}
# List basenames of executables for every Python version
list_executable_names() {
local version file
pyenv-versions --bare --skip-aliases | \
while read -r version; do
for file in "${PYENV_ROOT}/versions/${version}/bin/"*; do
echo "${file##*/}"
done
done
}
# The basename of each argument passed to `make_shims` will be
# registered for installation as a shim. In this way, plugins may call
# `make_shims` with a glob to register many shims at once.
make_shims() {
local file shim
for file; do
shim="${file##*/}"
register_shim "$shim"
done
}
if ((${BASH_VERSINFO[0]} > 3)); then
declare -A registered_shims
# Registers the name of a shim to be generated.
register_shim() {
registered_shims["$1"]=1
}
# Install all shims registered via `make_shims` or `register_shim` directly.
install_registered_shims() {
local shim file
for shim in "${!registered_shims[@]}"; do
file="${SHIM_PATH}/${shim}"
[ -e "$file" ] || cp "$PROTOTYPE_SHIM_PATH" "$file"
done
}
# Once the registered shims have been installed, we make a second pass
# over the contents of the shims directory. Any file that is present
# in the directory but has not been registered as a shim should be
# removed.
remove_stale_shims() {
local shim
for shim in "$SHIM_PATH"/*; do
if [[ ! ${registered_shims["${shim##*/}"]} ]]; then
rm -f "$shim"
fi
done
}
else # Same for bash < 4.
registered_shims=" "
register_shim() {
registered_shims="${registered_shims}${1} "
}
install_registered_shims() {
local shim file
for shim in $registered_shims; do
file="${SHIM_PATH}/${shim}"
[ -e "$file" ] || cp "$PROTOTYPE_SHIM_PATH" "$file"
done
}
remove_stale_shims() {
local shim
for shim in "$SHIM_PATH"/*; do
if [[ "$registered_shims" != *" ${shim##*/} "* ]]; then
rm -f "$shim"
fi
done
}
fi
shopt -s nullglob
# Create the prototype shim, then register shims for all known
# executables.
create_prototype_shim
remove_outdated_shims
# shellcheck disable=SC2046
make_shims $(list_executable_names | sort -u)
# Allow plugins to register shims.
OLDIFS="$IFS"
IFS=$'\n' scripts=(`pyenv-hooks rehash`)
IFS="$OLDIFS"
for script in "${scripts[@]}"; do
source "$script"
done
install_registered_shims
remove_stale_shims

3
libexec/pyenv-root Executable file
View File

@@ -0,0 +1,3 @@
#!/usr/bin/env bash
# Summary: Display the root directory where versions and shims are kept
echo "$PYENV_ROOT"

23
libexec/pyenv-sh-rehash Executable file
View File

@@ -0,0 +1,23 @@
#!/usr/bin/env bash
set -e
[ -n "$PYENV_DEBUG" ] && set -x
# Provide pyenv completions
if [ "$1" = "--complete" ]; then
exec pyenv-rehash --complete
fi
shell="$(basename "${PYENV_SHELL:-$SHELL}")"
# When pyenv shell integration is enabled, delegate to pyenv-rehash,
# then tell the shell to empty its command lookup cache.
pyenv-rehash
case "$shell" in
fish )
# no rehash support
;;
* )
echo "hash -r 2>/dev/null || true"
;;
esac

121
libexec/pyenv-sh-shell Executable file
View File

@@ -0,0 +1,121 @@
#!/usr/bin/env bash
#
# Summary: Set or show the shell-specific Python version
#
# Usage: pyenv shell <version>...
# pyenv shell -
# pyenv shell --unset
#
# Sets a shell-specific Python version by setting the `PYENV_VERSION'
# environment variable in your shell. This version overrides local
# application-specific versions and the global version.
#
# <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.
#
# When `-` is passed instead of the version string, the previously set
# version will be restored. With `--unset`, the `PYENV_VERSION`
# environment variable gets unset, restoring the environment to the
# state before the first `pyenv shell` call.
set -e
[ -n "$PYENV_DEBUG" ] && set -x
# Provide pyenv completions
if [ "$1" = "--complete" ]; then
echo --unset
echo system
exec pyenv-versions --bare
fi
versions=("$@")
shell="$(basename "${PYENV_SHELL:-$SHELL}")"
if [ -z "$versions" ]; then
if [ -z "$PYENV_VERSION" ]; then
echo "pyenv: no shell-specific version configured" >&2
exit 1
else
echo 'echo "$PYENV_VERSION"'
exit
fi
fi
if [ "$versions" = "--unset" ]; then
case "$shell" in
fish )
echo 'set -gu PYENV_VERSION_OLD "$PYENV_VERSION"'
echo "set -e PYENV_VERSION"
;;
* )
echo 'PYENV_VERSION_OLD="${PYENV_VERSION-}"'
echo "unset PYENV_VERSION"
;;
esac
exit
fi
if [ "$versions" = "-" ]; then
case "$shell" in
fish )
cat <<EOS
if set -q PYENV_VERSION_OLD
if [ -n "\$PYENV_VERSION_OLD" ]
set PYENV_VERSION_OLD_ "\$PYENV_VERSION"
set -gx PYENV_VERSION "\$PYENV_VERSION_OLD"
set -gu PYENV_VERSION_OLD "\$PYENV_VERSION_OLD_"
set -e PYENV_VERSION_OLD_
else
set -gu PYENV_VERSION_OLD "\$PYENV_VERSION"
set -e PYENV_VERSION
end
else
echo "pyenv: PYENV_VERSION_OLD is not set" >&2
false
end
EOS
;;
* )
cat <<EOS
if [ -n "\${PYENV_VERSION_OLD+x}" ]; then
if [ -n "\$PYENV_VERSION_OLD" ]; then
PYENV_VERSION_OLD_="\$PYENV_VERSION"
export PYENV_VERSION="\$PYENV_VERSION_OLD"
PYENV_VERSION_OLD="\$PYENV_VERSION_OLD_"
unset PYENV_VERSION_OLD_
else
PYENV_VERSION_OLD="\$PYENV_VERSION"
unset PYENV_VERSION
fi
else
echo "pyenv: PYENV_VERSION_OLD is not set" >&2
false
fi
EOS
;;
esac
exit
fi
# Make sure the specified version is installed.
if pyenv-prefix "${versions[@]}" >/dev/null; then
OLDIFS="$IFS"
IFS=: version="${versions[*]}"
IFS="$OLDIFS"
if [ "$version" != "$PYENV_VERSION" ]; then
case "$shell" in
fish )
echo 'set -gu PYENV_VERSION_OLD "$PYENV_VERSION"'
echo "set -gx PYENV_VERSION \"$version\""
;;
* )
echo 'PYENV_VERSION_OLD="${PYENV_VERSION-}"'
echo "export PYENV_VERSION=\"${version}\""
;;
esac
fi
else
echo "false"
exit 1
fi

22
libexec/pyenv-shims Executable file
View File

@@ -0,0 +1,22 @@
#!/usr/bin/env bash
# Summary: List existing pyenv shims
# Usage: pyenv shims [--short]
set -e
[ -n "$PYENV_DEBUG" ] && set -x
# Provide pyenv completions
if [ "$1" = "--complete" ]; then
echo --short
exit
fi
shopt -s nullglob
for command in "${PYENV_ROOT}/shims/"*; do
if [ "$1" = "--short" ]; then
echo "${command##*/}"
else
echo "$command"
fi
done | sort

20
libexec/pyenv-version Executable file
View File

@@ -0,0 +1,20 @@
#!/usr/bin/env bash
# Summary: Show the current Python version(s) and its origin
#
# Shows the currently selected Python version(s) and how it was
# selected. To obtain only the version string, use `pyenv
# version-name'.
set -e
[ -n "$PYENV_DEBUG" ] && set -x
exitcode=0
OLDIFS="$IFS"
IFS=: PYENV_VERSION_NAMES=($(pyenv-version-name)) || exitcode=$?
IFS="$OLDIFS"
for PYENV_VERSION_NAME in "${PYENV_VERSION_NAMES[@]}"; do
echo "$PYENV_VERSION_NAME (set by $(pyenv-version-origin))"
done
exit $exitcode

28
libexec/pyenv-version-file Executable file
View File

@@ -0,0 +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 ! [[ "$root" =~ ^//[^/]*$ ]]; do
if [ -f "${root}/.python-version" ]; then
echo "${root}/.python-version"
return 0
fi
[ -n "$root" ] || break
root="${root%/*}"
done
return 1
}
if [ -n "$target_dir" ]; then
find_local_version_file "$target_dir"
else
find_local_version_file "$PYENV_DIR" || {
[ "$PYENV_DIR" != "$PWD" ] && find_local_version_file "$PWD"
} || echo "${PYENV_ROOT}/version"
fi

43
libexec/pyenv-version-file-read Executable file
View File

@@ -0,0 +1,43 @@
#!/usr/bin/env bash
# Usage: pyenv version-file-read <file>
set -e
[ -n "$PYENV_DEBUG" ] && set -x
VERSION_FILE="$1"
function is_version_safe() {
# As needed, check that the constructed path exists as a child path of PYENV_ROOT/versions
version="$1"
if [[ "$version" == ".." || "$version" == */* ]]; then
# Sanity check the value of version to prevent malicious path-traversal
(
cd "$PYENV_ROOT/versions/$version" &>/dev/null || exit 1
[[ "$PWD" == "$PYENV_ROOT/versions/"* ]]
)
return $?
else
return 0
fi
}
if [ -s "$VERSION_FILE" ]; then
# Read the first non-whitespace word from the specified version file.
# Be careful not to load it whole in case there's something crazy in it.
IFS="$IFS"$'\r'
sep=
while read -n 1024 -r version _ || [[ $version ]]; do
if [[ -z "$version" || "$version" == \#* ]]; then
# Skip empty lines and comments
continue
elif ! is_version_safe "$version"; then
# CVE-2022-35861 allowed arbitrary code execution in some contexts and is mitigated by is_version_safe.
echo "pyenv: invalid version \`$version' ignored in \`$VERSION_FILE'" >&2
continue
fi
printf "%s%s" "$sep" "$version"
sep=:
done <"$VERSION_FILE"
[[ $sep ]] && { echo; exit; }
fi
exit 1

View File

@@ -0,0 +1,24 @@
#!/usr/bin/env bash
# Usage: pyenv version-file-write <file> <version>
set -e
[ -n "$PYENV_DEBUG" ] && set -x
PYENV_VERSION_FILE="$1"
shift || true
versions=("$@")
if [ -z "$versions" ] || [ -z "$PYENV_VERSION_FILE" ]; then
pyenv-help --usage version-file-write >&2
exit 1
fi
# Make sure the specified version is installed.
pyenv-prefix "${versions[@]}" >/dev/null
# Write the version out to disk.
# Create an empty file. Using "rm" might cause a permission error.
> "$PYENV_VERSION_FILE"
for version in "${versions[@]}"; do
echo "$version" >> "$PYENV_VERSION_FILE"
done

55
libexec/pyenv-version-name Executable file
View File

@@ -0,0 +1,55 @@
#!/usr/bin/env bash
# Summary: Show the current Python version
set -e
[ -n "$PYENV_DEBUG" ] && set -x
if [ -z "$PYENV_VERSION" ]; then
PYENV_VERSION_FILE="$(pyenv-version-file)"
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
fi
version_exists() {
local version="$1"
[ -d "${PYENV_ROOT}/versions/${version}" ]
}
versions=()
OLDIFS="$IFS"
{ IFS=:
any_not_installed=0
for version in ${PYENV_VERSION}; do
if version_exists "$version" || [ "$version" = "system" ]; then
versions=("${versions[@]}" "${version}")
elif version_exists "${version#python-}"; then
versions=("${versions[@]}" "${version#python-}")
elif resolved_version="$(pyenv-latest -q "$version")"; then
versions=("${versions[@]}" "${resolved_version}")
else
echo "pyenv: version \`$version' is not installed (set by $(pyenv-version-origin))" >&2
any_not_installed=1
fi
done
}
IFS="$OLDIFS"
OLDIFS="$IFS"
{ IFS=:
echo "${versions[*]}"
}
IFS="$OLDIFS"
if [ "$any_not_installed" = 1 ]; then
exit 1
fi

21
libexec/pyenv-version-origin Executable file
View File

@@ -0,0 +1,21 @@
#!/usr/bin/env bash
# Summary: Explain how the current Python version is set
set -e
[ -n "$PYENV_DEBUG" ] && set -x
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
fi

173
libexec/pyenv-versions Executable file
View File

@@ -0,0 +1,173 @@
#!/usr/bin/env bash
# Summary: List all Python versions available to pyenv
# Usage: pyenv versions [--bare] [--skip-aliases] [--skip-envs]
#
# Lists all Python versions found in `$PYENV_ROOT/versions/*'.
set -e
[ -n "$PYENV_DEBUG" ] && set -x
unset bare skip_aliases skip_envs
# Provide pyenv completions
for arg; do
case "$arg" in
--complete )
echo --bare
echo --skip-aliases
echo --skip-envs
exit ;;
--bare ) bare=1 ;;
--skip-aliases ) skip_aliases=1 ;;
--skip-envs ) skip_envs=1 ;;
* )
pyenv-help --usage versions >&2
exit 1
;;
esac
done
versions_dir="${PYENV_ROOT}/versions"
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
fi
READLINK=$(type -P readlink)
if [ -z "$READLINK" ]; then
echo "pyenv: cannot find readlink - are you missing GNU coreutils?" >&2
exit 1
fi
resolve_link() {
$READLINK "$1"
}
realpath() {
local path="$1"
local name
# Use a subshell to avoid changing the current path
(
while [ -n "$path" ]; do
name="${path##*/}"
[ "$name" = "$path" ] || cd "${path%/*}"
path="$(resolve_link "$name" || true)"
done
echo "${PWD}/$name"
)
}
fi
if [ -d "$versions_dir" ]; then
versions_dir="$(realpath "$versions_dir")"
fi
if ((${BASH_VERSINFO[0]} > 3)); then
declare -A current_versions
else
current_versions=()
fi
if [ -n "$bare" ]; then
include_system=""
else
hit_prefix="* "
miss_prefix=" "
OLDIFS="$IFS"
IFS=:
if ((${BASH_VERSINFO[0]} > 3)); then
for i in $(pyenv-version-name || true); do
current_versions["$i"]="1"
done
else
current_versions=($(pyenv-version-name || true))
fi
IFS="$OLDIFS"
include_system="1"
fi
num_versions=0
exists() {
local car="$1"
local cdar
shift
for cdar in "$@"; do
if [ "${car}" == "${cdar}" ]; then
return 0
fi
done
return 1
}
print_version() {
local version="${1:?}"
if [[ -n $bare ]]; then
echo "$version"
return
fi
local path="${2:?}"
if [[ -L "$path" ]]; then
# Only resolve the link itself for printing, do not resolve further.
# Doing otherwise would misinform the user of what the link contains.
version_repr="$version --> $(readlink "$path")"
else
version_repr="$version"
fi
if [[ ${BASH_VERSINFO[0]} -ge 4 && ${current_versions["$1"]} ]]; then
echo "${hit_prefix}${version_repr} (set by $(pyenv-version-origin))"
elif (( ${BASH_VERSINFO[0]} <= 3 )) && exists "$1" "${current_versions[@]}"; then
echo "${hit_prefix}${version_repr} (set by $(pyenv-version-origin))"
else
echo "${miss_prefix}${version_repr}"
fi
num_versions=$((num_versions + 1))
}
# Include "system" in the non-bare output, if it exists
if [ -n "$include_system" ] && \
(PYENV_VERSION=system pyenv-which python >/dev/null 2>&1 || \
PYENV_VERSION=system pyenv-which python3 >/dev/null 2>&1 || \
PYENV_VERSION=system pyenv-which python2 >/dev/null 2>&1) ; then
print_version system "/"
fi
shopt -s dotglob nullglob
versions_dir_entries=("$versions_dir"/*)
if sort --version-sort </dev/null >/dev/null 2>&1; then
# system sort supports version sorting
OLDIFS="$IFS"
IFS=$'\n'
versions_dir_entries=($(
printf "%s\n" "${versions_dir_entries[@]}" |
sort --version-sort
))
IFS="$OLDIFS"
fi
for path in "${versions_dir_entries[@]}"; do
if [ -d "$path" ]; then
if [ -n "$skip_aliases" ] && [ -L "$path" ]; then
target="$(realpath "$path")"
[ "${target%/*}" == "$versions_dir" ] && continue
[ "${target%/*/envs/*}" == "$versions_dir" ] && continue
fi
print_version "${path##*/}" "$path"
# virtual environments created by anaconda/miniconda/pyenv-virtualenv
if [[ -z $skip_envs ]]; then
for env_path in "${path}/envs/"*; do
if [ -d "${env_path}" ]; then
print_version "${env_path#${PYENV_ROOT}/versions/}" "${env_path}"
fi
done
fi
fi
done
shopt -u dotglob nullglob
if [ "$num_versions" -eq 0 ] && [ -n "$include_system" ]; then
echo "Warning: no Python detected on the system" >&2
exit 1
fi

38
libexec/pyenv-whence Executable file
View File

@@ -0,0 +1,38 @@
#!/usr/bin/env bash
# Summary: List all Python versions that contain the given executable
# Usage: pyenv whence [--path] <command>
set -e
[ -n "$PYENV_DEBUG" ] && set -x
# Provide pyenv completions
if [ "$1" = "--complete" ]; then
echo --path
exec pyenv-shims --short
fi
if [ "$1" = "--path" ]; then
print_paths="1"
shift
else
print_paths=""
fi
whence() {
local command="$1"
pyenv-versions --bare | while read -r version; do
path="$(pyenv-prefix "$version")/bin/${command}"
if [ -x "$path" ]; then
[ "$print_paths" ] && echo "$path" || echo "$version"
fi
done
}
PYENV_COMMAND="$1"
if [ -z "$PYENV_COMMAND" ]; then
pyenv-help --usage whence >&2
exit 1
fi
result="$(whence "$PYENV_COMMAND")"
[ -n "$result" ] && echo "$result"

101
libexec/pyenv-which Executable file
View File

@@ -0,0 +1,101 @@
#!/usr/bin/env bash
#
# Summary: Display the full path to an executable
#
# Usage: pyenv which <command> [--nosystem]
#
# Displays the full path to the executable that pyenv will invoke when
# you run the given command.
# Use --nosystem argument in case when you don't need to search command in the
# system environment.
#
set -e
[ -n "$PYENV_DEBUG" ] && set -x
# Provide pyenv completions
if [ "$1" = "--complete" ]; then
exec pyenv-shims --short
fi
if [ "$2" = "--nosystem" ]; then
system=""
else
system="system"
fi
remove_from_path() {
local path_to_remove="$1"
local path_before
local result=":${PATH//\~/$HOME}:"
while [ "$path_before" != "$result" ]; do
path_before="$result"
result="${result//:$path_to_remove:/:}"
done
result="${result%:}"
echo "${result#:}"
}
PYENV_COMMAND="$1"
if [ -z "$PYENV_COMMAND" ]; then
pyenv-help --usage which >&2
exit 1
fi
OLDIFS="$IFS"
IFS=: versions=(${PYENV_VERSION:-$(pyenv-version-name)})
IFS="$OLDIFS"
declare -a nonexistent_versions
for version in "${versions[@]}" "$system"; do
if [ "$version" = "system" ]; then
PATH="$(remove_from_path "${PYENV_ROOT}/shims")"
PYENV_COMMAND_PATH="$(command -v "$PYENV_COMMAND" || true)"
else
# $version may be a prefix to be resolved by pyenv-latest
version_path="$(pyenv-prefix "${version}" 2>/dev/null)" || \
{ nonexistent_versions+=("$version"); continue; }
# resolve $version for hooks
version="$(basename "$version_path")"
PYENV_COMMAND_PATH="$version_path/bin/${PYENV_COMMAND}"
unset version_path
fi
if [ -x "$PYENV_COMMAND_PATH" ]; then
break
fi
done
OLDIFS="$IFS"
IFS=$'\n' scripts=(`pyenv-hooks which`)
IFS="$OLDIFS"
for script in "${scripts[@]}"; do
source "$script"
done
if [ -x "$PYENV_COMMAND_PATH" ]; then
echo "$PYENV_COMMAND_PATH"
else
if (( ${#nonexistent_versions[@]} )); then
for version in "${nonexistent_versions[@]}"; do
echo "pyenv: version \`$version' is not installed (set by $(pyenv-version-origin))" >&2
done
exit 1
fi
echo "pyenv: $PYENV_COMMAND: command not found" >&2
versions="$(pyenv-whence "$PYENV_COMMAND" || true)"
if [ -n "$versions" ]; then
{ echo
echo "The \`$1' command exists in these Python versions:"
echo "$versions" | sed 's/^/ /g'
echo
echo "Note: See 'pyenv help global' for tips on allowing both"
echo " python2 and python3 to be found."
} >&2
fi
exit 127
fi

View File

@@ -1,70 +0,0 @@
#!/usr/bin/env bash
set -e
[ -n "$RBENV_DEBUG" ] && set -x
resolve_link() {
$(type -p greadlink readlink | head -1) $1
}
abs_dirname() {
local cwd="$(pwd)"
local path="$1"
while [ -n "$path" ]; do
cd "${path%/*}"
local name="${path##*/}"
path="$(resolve_link "$name" || true)"
done
pwd
cd "$cwd"
}
if [ -z "${RBENV_ROOT}" ]; then
RBENV_ROOT="${HOME}/.rbenv"
else
RBENV_ROOT="${RBENV_ROOT%/}"
fi
export RBENV_ROOT
if [ -z "${RBENV_DIR}" ]; then
RBENV_DIR="$(pwd)"
else
RBENV_DIR="$(abs_dirname "$RBENV_DIR")"
fi
export RBENV_DIR
shopt -s nullglob
bin_path="$(abs_dirname "$0")"
for plugin_bin in "${RBENV_ROOT}/plugins/"*/bin; do
bin_path="${bin_path}:${plugin_bin}"
done
export PATH="${bin_path}:${PATH}"
hook_path="${RBENV_HOOK_PATH}:${RBENV_ROOT}/rbenv.d:/usr/local/etc/rbenv.d:/etc/rbenv.d"
for plugin_hook in "${RBENV_ROOT}/plugins/"*/etc/rbenv.d; do
hook_path="${hook_path}:${plugin_hook}"
done
export RBENV_HOOK_PATH="$hook_path"
shopt -u nullglob
command="$1"
case "$command" in
"" | "-h" | "--help" )
echo -e "rbenv 0.2.1\n$(rbenv-help)" >&2
;;
* )
command_path="$(command -v "rbenv-$command" || true)"
if [ -z "$command_path" ]; then
echo "rbenv: no such command \`$command'" >&2
exit 1
fi
shift 1
exec "$command_path" "$@"
;;
esac

View File

@@ -1,38 +0,0 @@
#!/usr/bin/env bash
set -e
[ -n "$RBENV_DEBUG" ] && set -x
# Provide rbenv completions
if [ "$1" = "--complete" ]; then
echo --sh
echo --no-sh
exit
fi
if [ "$1" = "--sh" ]; then
sh=1
shift
elif [ "$1" = "--no-sh" ]; then
nosh=1
shift
fi
shopt -s nullglob
{ for path in ${PATH//:/$'\n'}; do
for command in "${path}/rbenv-"*; do
command="${command##*rbenv-}"
if [ -n "$sh" ]; then
if [ ${command:0:3} = "sh-" ]; then
echo ${command##sh-}
fi
elif [ -n "$nosh" ]; then
if [ ${command:0:3} != "sh-" ]; then
echo ${command##sh-}
fi
else
echo ${command##sh-}
fi
done
done
} | sort | uniq

View File

@@ -1,15 +0,0 @@
#!/usr/bin/env bash
set -e
[ -n "$RBENV_DEBUG" ] && set -x
COMMAND="$1"
if [ -z "$COMMAND" ]; then
echo "usage: rbenv completions COMMAND [arg1 arg2...]" >&2
exit 1
fi
COMMAND_PATH="$(command -v "rbenv-$COMMAND" || command -v "rbenv-sh-$COMMAND")"
if grep -i "^# provide rbenv completions" "$COMMAND_PATH" >/dev/null; then
shift
exec "$COMMAND_PATH" --complete "$@"
fi

View File

@@ -1,25 +0,0 @@
#!/usr/bin/env bash
set -e
[ -n "$RBENV_DEBUG" ] && set -x
# Provide rbenv completions
if [ "$1" = "--complete" ]; then
exec rbenv shims --short
fi
RBENV_COMMAND="$1"
if [ -z "$RBENV_COMMAND" ]; then
echo "usage: rbenv exec COMMAND [arg1 arg2...]" >&2
exit 1
fi
RBENV_COMMAND_PATH="$(rbenv-which "$RBENV_COMMAND")"
RBENV_BIN_PATH="${RBENV_COMMAND_PATH%/*}"
for script in $(rbenv-hooks exec); do
source "$script"
done
shift 1
export PATH="${RBENV_BIN_PATH}:${PATH}"
exec -a "$RBENV_COMMAND" "$RBENV_COMMAND_PATH" "$@"

View File

@@ -1,21 +0,0 @@
#!/usr/bin/env bash
set -e
[ -n "$RBENV_DEBUG" ] && set -x
# Provide rbenv completions
if [ "$1" = "--complete" ]; then
echo system
exec rbenv-versions --bare
fi
RBENV_VERSION="$1"
RBENV_VERSION_FILE="${RBENV_ROOT}/version"
if [ -n "$RBENV_VERSION" ]; then
rbenv-version-file-write "$RBENV_VERSION_FILE" "$RBENV_VERSION"
else
rbenv-version-file-read "$RBENV_VERSION_FILE" ||
rbenv-version-file-read "${RBENV_ROOT}/global" ||
rbenv-version-file-read "${RBENV_ROOT}/default" ||
echo system
fi

View File

@@ -1,88 +0,0 @@
#!/usr/bin/env bash
set -e
[ -n "$RBENV_DEBUG" ] && set -x
print_set_version() {
echo "<version> should be a string matching a Ruby version known by rbenv."
local versions="$(rbenv-versions --bare)"
if [ -z "$versions" ]; then
echo "There are currently no Ruby versions installed for rbenv."
else
echo "The currently installed Ruby versions are:"
echo "$versions" | sed 's/^/ /'
fi
echo
echo "The special version string 'system' will use your default system Ruby."
}
case "$1" in
"") echo "usage: rbenv <command> [<args>]
Some useful rbenv commands are:
commands List all rbenv commands
rehash Rehash rbenv shims (run this after installing binaries)
global Set or show the global Ruby version
local Set or show the local directory-specific Ruby version
shell Set or show the shell-specific Ruby version
version Show the current Ruby version
versions List all Ruby versions known by rbenv
which Show the full path for the given Ruby command
whence List all Ruby versions with the given command
See 'rbenv help <command>' for information on a specific command.
For full documentation, see: https://github.com/sstephenson/rbenv#readme"
;;
global) echo "usage: rbenv global <version>
Sets the global Ruby version. You can override the global version at
any time by setting a directory-specific version with \`rbenv local'
or by setting the RBENV_VERSION environment variable.
$(print_set_version)"
;;
local) echo "usage: rbenv local <version>
rbenv local --unset
Sets the local directory-specific Ruby version by writing the version
name to a file named '.rbenv-version'.
When you run a Ruby command, rbenv will look for an '.rbenv-version'
file in the current directory and each parent directory. If no such
file is found in the tree, rbenv will use the global Ruby version
specified with \`rbenv global', or the version specified in the
RBENV_VERSION environment variable.
$(print_set_version)"
;;
shell) echo "usage: rbenv shell <version>
rbenv shell --unset
Sets a shell-specific Ruby version by setting the 'RBENV_VERSION'
environment variable in your shell. This version overrides both
project-specific versions and the global version.
$(print_set_version)"
;;
which) echo "usage: rbenv which <command>
Displays the full path to the binary that rbenv will execute when you
run the given command."
;;
whence) echo "usage: rbenv whence <command>
Lists all Ruby versions with the given command installed."
;;
*)
command_path="$(command -v "rbenv-$1" || true)"
if [ -n "$command_path" ]; then
echo "Sorry, the \`$1' command isn't documented yet."
echo
echo "You can view the command's source here:"
echo "$command_path"
echo
else
echo "rbenv: no such command \`$1'"
fi
esac

View File

@@ -1,44 +0,0 @@
#!/usr/bin/env bash
set -e
[ -n "$RBENV_DEBUG" ] && set -x
# Provide rbenv completions
if [ "$1" = "--complete" ]; then
echo exec
echo rehash
echo which
exit
fi
RBENV_COMMAND="$1"
if [ -z "$RBENV_COMMAND" ]; then
echo "usage: rbenv hooks COMMAND" >&2
exit 1
fi
resolve_link() {
$(type -p greadlink readlink | head -1) $1
}
realpath() {
local cwd="$(pwd)"
local base="$(basename $1)"
local path="$1"
while [ -n "$path" ]; do
cd "${path%/*}"
local name="${path##*/}"
path="$(resolve_link "$name" || true)"
done
echo "$(pwd)/$base"
cd "$cwd"
}
shopt -s nullglob
for path in ${RBENV_HOOK_PATH//:/$'\n'}; do
for script in $path/"$RBENV_COMMAND"/*.bash; do
echo $(realpath $script)
done
done
shopt -u nullglob

View File

@@ -1,87 +0,0 @@
#!/usr/bin/env bash
set -e
[ -n "$RBENV_DEBUG" ] && set -x
print=""
if [ "$1" = "-" ]; then
print=1
shift
fi
shell="$1"
if [ -z "$shell" ]; then
shell="$(basename "$SHELL")"
fi
resolve_link() {
$(type -p greadlink readlink | head -1) $1
}
abs_dirname() {
local cwd="$(pwd)"
local path="$1"
while [ -n "$path" ]; do
cd "${path%/*}"
local name="${path##*/}"
path="$(resolve_link "$name" || true)"
done
pwd
cd "$cwd"
}
root="$(abs_dirname "$0")/.."
if [ -z "$print" ]; then
case "$shell" in
bash )
profile='~/.bash_profile'
;;
zsh )
profile='~/.zshrc'
;;
* )
profile='your profile'
;;
esac
{ echo "# Load rbenv automatically by adding"
echo "# the following to ${profile}:"
echo
echo 'eval "$(rbenv init -)"'
echo
} >&2
exit 1
fi
mkdir -p "${RBENV_ROOT}/"{shims,versions}
echo 'export PATH="'${RBENV_ROOT}'/shims:${PATH}"'
case "$shell" in
bash | zsh )
echo "source \"$root/completions/rbenv.${shell}\""
;;
esac
echo 'rbenv rehash 2>/dev/null'
commands=(`rbenv commands --sh`)
IFS="|"
cat <<EOS
function rbenv() {
command="\$1"
if [ "\$#" -gt 0 ]; then
shift
fi
case "\$command" in
${commands[*]})
eval \`rbenv "sh-\$command" "\$@"\`;;
*)
command rbenv "\$command" "\$@";;
esac
}
EOS

View File

@@ -1,24 +0,0 @@
#!/usr/bin/env bash
set -e
[ -n "$RBENV_DEBUG" ] && set -x
# Provide rbenv completions
if [ "$1" = "--complete" ]; then
echo --unset
echo system
exec rbenv-versions --bare
fi
RBENV_VERSION="$1"
RBENV_VERSION_FILE=".rbenv-version"
if [ "$RBENV_VERSION" = "--unset" ]; then
rm -f "$RBENV_VERSION_FILE"
elif [ -n "$RBENV_VERSION" ]; then
rbenv-version-file-write "$RBENV_VERSION_FILE" "$RBENV_VERSION"
else
rbenv-version-file-read "$RBENV_VERSION_FILE" ||
{ echo "rbenv: no local version configured for this directory"
exit 1
} >&2
fi

View File

@@ -1,29 +0,0 @@
#!/usr/bin/env bash
set -e
[ -n "$RBENV_DEBUG" ] && set -x
# Provide rbenv completions
if [ "$1" = "--complete" ]; then
echo system
exec rbenv-versions --bare
fi
if [ -n "$1" ]; then
export RBENV_VERSION="$1"
elif [ -z "$RBENV_VERSION" ]; then
RBENV_VERSION="$(rbenv-version-name)"
fi
if [ "$RBENV_VERSION" = "system" ]; then
RUBY_PATH="$(rbenv-which ruby)"
echo "${RUBY_PATH%/*}"
exit
fi
RBENV_PREFIX_PATH="${RBENV_ROOT}/versions/${RBENV_VERSION}"
if [ ! -d "$RBENV_PREFIX_PATH" ]; then
echo "rbenv: version \`${RBENV_VERSION}' not installed" >&2
exit 1
fi
echo "$RBENV_PREFIX_PATH"

View File

@@ -1,75 +0,0 @@
#!/usr/bin/env bash
set -e
[ -n "$RBENV_DEBUG" ] && set -x
SHIM_PATH="${RBENV_ROOT}/shims"
PROTOTYPE_SHIM_PATH="${SHIM_PATH}/.rbenv-shim"
# Create the shims directory if it doesn't already exist.
mkdir -p "$SHIM_PATH"
# Ensure only one instance of rbenv-rehash is running at a time by
# setting the shell's `noclobber` option and attempting to write to
# the prototype shim file. If the file already exists, print a warning
# to stderr and exit with a non-zero status.
set -o noclobber
{ echo > "$PROTOTYPE_SHIM_PATH"
} 2>/dev/null ||
{ echo "rbenv: cannot rehash: $PROTOTYPE_SHIM_PATH exists"
exit 1
} >&2
set +o noclobber
# If we were able to obtain a lock, register a trap to clean up the
# prototype shim when the process exits.
trap remove_prototype_shim SIGINT SIGTERM EXIT
remove_prototype_shim() {
rm -f "$PROTOTYPE_SHIM_PATH"
}
# The prototype shim file is a script that re-execs itself, passing
# its filename and any arguments to `rbenv exec`. This file is
# hard-linked for every binary and then removed. The linking technique
# is fast, uses less disk space than unique files, and also serves as
# a locking mechanism.
create_prototype_shim() {
cat > "$PROTOTYPE_SHIM_PATH" <<SH
#!/usr/bin/env bash
set -e
export RBENV_ROOT="$RBENV_ROOT"
exec rbenv exec "\${0##*/}" "\$@"
SH
chmod +x "$PROTOTYPE_SHIM_PATH"
}
# Make shims by iterating over every filename argument and creating a
# hard link from the prototype shim to a file of the same name in the
# shims directory, if one does not already exist.
make_shims() {
local glob="$@"
for file in $glob; do
local shim="${file##*/}"
[ -e "$shim" ] || ln -f "$PROTOTYPE_SHIM_PATH" "$shim"
done
}
# Save the working directory.
CUR_PATH=$PWD
# Empty out the shims directory and make it the working directory.
rm -f "$SHIM_PATH"/*
cd "$SHIM_PATH"
# Create the prototype shim, then make shims for all known binaries.
create_prototype_shim
shopt -s nullglob
make_shims ../versions/*/bin/*
# Restore the previous working directory.
cd "$CUR_PATH"
for script in $(rbenv-hooks rehash); do
source "$script"
done

View File

@@ -1,9 +0,0 @@
#!/usr/bin/env bash
set -e
{ echo "rbenv: warning: \`set-default' has been renamed to \`global'"
echo " and will be removed in v0.3.0"
echo
} >&2
exec rbenv-global "$@"

View File

@@ -1,9 +0,0 @@
#!/usr/bin/env bash
set -e
{ echo "rbenv: warning: \`set-local' has been renamed to \`local'"
echo " and will be removed in v0.3.0"
echo
} >&2
exec rbenv-local "$@"

View File

@@ -1,32 +0,0 @@
#!/usr/bin/env bash
set -e
[ -n "$RBENV_DEBUG" ] && set -x
# Provide rbenv completions
if [ "$1" = "--complete" ]; then
echo --unset
echo system
exec rbenv-versions --bare
fi
version="$1"
if [ -z "$version" ]; then
if [ -z "$RBENV_VERSION" ]; then
echo "rbenv: no shell-specific version configured" >&2
exit 1
else
echo "echo \"\$RBENV_VERSION\""
exit
fi
fi
if [ "$version" = "--unset" ]; then
echo "unset RBENV_VERSION"
exit 1
fi
# Make sure the specified version is installed.
rbenv-prefix "$version" >/dev/null
echo "export RBENV_VERSION=\"${version}\""

View File

@@ -1,17 +0,0 @@
#!/usr/bin/env bash
set -e
[ -n "$RBENV_DEBUG" ] && set -x
# Provide rbenv completions
if [ "$1" = "--complete" ]; then
echo --short
exit
fi
for command in "${RBENV_ROOT}/shims/"*; do
if [ "$1" = "--short" ]; then
echo "${command##*/}"
else
echo "$command"
fi
done | sort

View File

@@ -1,5 +0,0 @@
#!/usr/bin/env bash
set -e
[ -n "$RBENV_DEBUG" ] && set -x
echo "$(rbenv-version-name) (set by $(rbenv-version-origin))"

View File

@@ -1,24 +0,0 @@
#!/usr/bin/env bash
set -e
[ -n "$RBENV_DEBUG" ] && set -x
root="$RBENV_DIR"
while [ -n "$root" ]; do
if [ -e "${root}/.rbenv-version" ]; then
echo "${root}/.rbenv-version"
exit
fi
root="${root%/*}"
done
global_version_file="${RBENV_ROOT}/version"
if [ -e "$global_version_file" ]; then
echo "$global_version_file"
elif [ -e "${RBENV_ROOT}/global" ]; then
echo "${RBENV_ROOT}/global"
elif [ -e "${RBENV_ROOT}/default" ]; then
echo "${RBENV_ROOT}/default"
else
echo "$global_version_file"
fi

View File

@@ -1,24 +0,0 @@
#!/usr/bin/env bash
set -e
[ -n "$RBENV_DEBUG" ] && set -x
VERSION_FILE="$1"
if [ -e "$VERSION_FILE" ]; then
# Read and print the first non-whitespace word from the specified
# version file.
version=""
while read -a words; do
word="${words[0]}"
if [ -z "$version" ] && [ -n "$word" ]; then
version="$word"
fi
done < <( cat "$VERSION_FILE" && echo )
if [ -n "$version" ]; then
echo "$version"
exit
fi
fi
exit 1

View File

@@ -1,17 +0,0 @@
#!/usr/bin/env bash
set -e
[ -n "$RBENV_DEBUG" ] && set -x
RBENV_VERSION_FILE="$1"
RBENV_VERSION="$2"
if [ -z "$RBENV_VERSION" ] || [ -z "$RBENV_VERSION_FILE" ]; then
echo "usage: rbenv write-version-file FILENAME VERSION" >&2
exit 1
fi
# Make sure the specified version is installed.
rbenv-prefix "$RBENV_VERSION" >/dev/null
# Write the version out to disk.
echo "$RBENV_VERSION" > "$RBENV_VERSION_FILE"

View File

@@ -1,22 +0,0 @@
#!/usr/bin/env bash
set -e
[ -n "$RBENV_DEBUG" ] && set -x
if [ -z "$RBENV_VERSION" ]; then
RBENV_VERSION_FILE="$(rbenv-version-file)"
RBENV_VERSION="$(rbenv-version-file-read "$RBENV_VERSION_FILE" || true)"
fi
if [ -z "$RBENV_VERSION" ] || [ "$RBENV_VERSION" = "system" ]; then
echo "system"
exit
fi
RBENV_VERSION_PATH="${RBENV_ROOT}/versions/${RBENV_VERSION}"
if [ -d "$RBENV_VERSION_PATH" ]; then
echo "$RBENV_VERSION"
else
echo "rbenv: version \`$RBENV_VERSION' is not installed" >&2
exit 1
fi

View File

@@ -1,9 +0,0 @@
#!/usr/bin/env bash
set -e
[ -n "$RBENV_DEBUG" ] && set -x
if [ -n "$RBENV_VERSION" ]; then
echo "RBENV_VERSION environment variable"
else
rbenv-version-file
fi

View File

@@ -1,27 +0,0 @@
#!/usr/bin/env bash
set -e
[ -n "$RBENV_DEBUG" ] && set -x
RBENV_VERSION_NAME="$(rbenv-version-name)"
if [ "$1" = "--bare" ]; then
hit_prefix=""
miss_prefix=""
print_version="$RBENV_VERSION_NAME"
else
hit_prefix="* "
miss_prefix=" "
print_version="$(rbenv-version)"
fi
for path in "${RBENV_ROOT}/versions/"*; do
if [ -d "$path" ]; then
version="${path##*/}"
if [ "$version" == "$RBENV_VERSION_NAME" ]; then
echo "${hit_prefix}${print_version}"
else
echo "${miss_prefix}${version}"
fi
fi
done

View File

@@ -1,35 +0,0 @@
#!/usr/bin/env bash
set -e
[ -n "$RBENV_DEBUG" ] && set -x
# Provide rbenv completions
if [ "$1" = "--complete" ]; then
echo --path
exec rbenv shims --short
fi
if [ "$1" = "--path" ]; then
print_paths="1"
shift
else
print_paths=""
fi
whence() {
local command="$1"
rbenv-versions --bare | while read version; do
path="$(rbenv-prefix "$version")/bin/${command}"
if [ -x "$path" ]; then
[ "$print_paths" ] && echo "$path" || echo "$version"
fi
done
}
RBENV_COMMAND="$1"
if [ -z "$RBENV_COMMAND" ]; then
echo "usage: rbenv whence [--path] COMMAND" >&2
exit 1
fi
result="$(whence "$RBENV_COMMAND")"
[ -n "$result" ] && echo "$result"

View File

@@ -1,74 +0,0 @@
#!/usr/bin/env bash
set -e
[ -n "$RBENV_DEBUG" ] && set -x
# Provide rbenv completions
if [ "$1" = "--complete" ]; then
exec rbenv shims --short
fi
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
for path in ${PATH//:/$'\n'}; do
path="$(expand_path "$path" || true)"
if [ -n "$path" ] && [ "$path" != "$path_to_remove" ]; then
result="${result}${path}:"
fi
done
echo "${result%:}"
}
RBENV_VERSION="$(rbenv-version-name)"
RBENV_COMMAND="$1"
if [ -z "$RBENV_COMMAND" ]; then
echo "usage: rbenv which COMMAND" >&2
exit 1
fi
if [ "$RBENV_VERSION" = "system" ]; then
PATH="$(remove_from_path "${RBENV_ROOT}/shims")"
RBENV_COMMAND_PATH="$(command -v "$RBENV_COMMAND")"
else
RBENV_COMMAND_PATH="${RBENV_ROOT}/versions/${RBENV_VERSION}/bin/${RBENV_COMMAND}"
fi
for script in $(rbenv-hooks which); do
source "$script"
done
if [ -x "$RBENV_COMMAND_PATH" ]; then
echo "$RBENV_COMMAND_PATH"
else
echo "rbenv: $RBENV_COMMAND: command not found" >&2
versions="$(rbenv-whence "$RBENV_COMMAND" || true)"
if [ -n "$versions" ]; then
{ echo
echo "The \`$1' command exists in these Ruby versions:"
echo "$versions" | sed 's/^/ /g'
echo
} >&2
fi
exit 127
fi

549
man/man1/pyenv.1 Normal file
View File

@@ -0,0 +1,549 @@
.TH PYENV 1 "24 Apr 2023" "PYENV"
.SH NAME
pyenv \- Simple Python version management
.SH SYNOPSIS
.B pyenv
\fI\,<command> \/\fR[\fI\,<args>\/\fR]
.SH DESCRIPTION
pyenv lets you easily switch between multiple versions of Python\. It's simple, unobtrusive, and follows the UNIX tradition of single\-purpose tools that do one thing well\.
.P
To start using pyenv
.IP "1." 3
\fBAppend\fR the following to \fB$HOME/.bashrc\fR
.P
.RS 15
.nf
if command -v pyenv 1>/dev/null 2>&1; then\n
eval "$(pyenv init -)" \n
fi
.fi
.RE
.RS 3
.P
.nh
Appending this line enables shims. Please make sure this line is placed toward the end of the shell configuration file since it manipulates \fBPATH\fR during the initialization\.
.hy
.TP 13
.B Debian note:
Modify only your \fB~/\.bashrc\fR file instead of creating
.br
\fB~/\.bash_profile\fR
.P
.RS 0
\fBZsh note\fR: Modify your \fB~/\.zshrc\fR file instead of \fB~/\.bashrc\fR
.P
\fBWarning\fR: If you configured your system so that \fBBASH_ENV\fR variable points to \fB\.bashrc\fR\. You should almost certainly put the above mentioned line into \fB\.bash_profile\fR, and \fBnot\fR into \fB\.bashrc\fR. Otherwise you may observe strange behaviour, such as \fBpyenv\fR getting into an infinite loop. See #264
.UR https://github\.com/pyenv/pyenv/issues/264
.UE
for details.
.RE
.RE
.IP "2." 3
\fBRestart your shell so the path changes take effect\.\fR You can now begin using pyenv\.
.P
.RS 15
exec "$SHELL"\fR
.RE
.IP "3." 3
\fBInstall Python versions into \fB$(pyenv root)/versions\fR\.\fR For example, to download and install Python 3\.6\.12, run:
.P
.RS 15
.B pyenv install 3.6.12\fR
.RE
.P
\fBNOTE:\fR If you need to pass configure option to build, please use \fBCONFIGURE_OPTS\fR environment variable. If you are having trouble installing a python version, please visit the wiki page about Common Build Problems
.UR https://github\.com/pyenv/pyenv/wiki/Common\-build\-problems
.UE
.P
\fBProxy note\fR: If you use a proxy, export \fBHTTP_PROXY\fR and \fBHTTPS_PROXY\fR environment variables.
.P
.SS "Stop using pyenv"
The simplicity of pyenv makes it easy to temporarily disable it, or uninstall from the system\.
To \fBdisable\fR pyenv managing your Python versions, simply remove the \fBpyenv init\fR line from your shell startup configuration\. This will remove pyenv shims directory from PATH, and future invocations like \fBpython\fR will execute the system Python version, as before pyenv\.
.IP "" 0
.P
\fBpyenv\fR will still be accessible on the command line, but your Python apps won't be affected by version switching\.
.IP "" 0
.SH COMMAND LINE OPTIONS
Like \fBgit\fR, the \fBpyenv\fR command delegates to subcommands based on its first argument\.
.SS "Some useful pyenv commands are:"
.TP 5
.B commands
List all available pyenv commands
.TP
.B exec
Run an executable with the selected Python version
.TP
.B global
Set or show the global Python version(s)
.TP
.B help
Display help for a command
.TP
.B hooks
List hook scripts for a given pyenv command
.TP
.B init
Configure the shell environment for pyenv
.TP
.B install
Install a Python version using python\-build
.TP
.B local
Set or show the local application\-specific Python version(s)
.TP
.B prefix
Display prefix for a Python version
.TP
.B rehash
Rehash pyenv shims (run this after installing executables)
.TP
.B root
Display the root directory where versions and shims are kept
.TP
.B shell
Set or show the shell\-specific Python version
.TP
.B shims
List existing pyenv shims
.TP
.B uninstall
Uninstall Python versions
.TP
.B version
Show the current Python version(s) and its origin
.TP
.B version\-file
Detect the file that sets the current pyenv version
.TP
.B version\-name
Show the current Python version
.TP
.B version\-origin
Explain how the current Python version is set
.TP
.B versions
List all Python versions available to pyenv
.TP
.B whence
List all Python versions that contain the given executable
.TP
.B which
Display the full path to an executable
.PP
See `pyenv help <command>' for information on a specific command.
For full documentation, see \fBCOMMAND REFERENCE\fR section
.SH OPTIONS
.TP
.B \-h, \-\-help
Show summary of options.
.TP
.B \-v, \-\-version
Show version of program.
.SH COMPARISON
.P
.B "pyenv does\|\.\|\.\|\.
.P
.IP \(bu 4
Let you \fBchange the global Python version\fR on a per\-user basis\.
.IP \(bu 4
Provide support for \fBper\-project Python versions\fR\.
.IP \(bu 4
Allow you to \fBoverride the Python version\fR with an environment variable\.
.IP \(bu 4
Search commands from \fBmultiple versions of Python at a time\fR\. This may be helpful to test across Python versions with tox
.IP "" 0
.P
.B "In contrast with pythonbrew and pythonz, pyenv does not\|\.\|\.\|\."
.IP \(bu 4
\fBDepend on Python itself\.\fR pyenv was made from pure shell scripts\. There is no bootstrap problem of Python\.
.IP \(bu 4
\fBNeed to be loaded into your shell\.\fR Instead, pyenv's shim approach works by adding a directory to your \fB$PATH\fR\.
.IP \(bu 4
\fBManage virtualenv\.\fR Of course, you can create virtualenv yourself, or pyenv\-virtualenv to automate the process\.
.SH "How It Works"
At a high level, pyenv intercepts Python commands using shim executables injected into your \fBPATH\fR, determines which Python version has been specified by your application, and passes your commands along to the correct Python installation\.
.SS "Understanding PATH"
When you run a command like \fBpython\fR or \fBpip\fR, your operating system searches through a list of directories to find an executable file with that name\. This list of directories lives in an environment variable called \fBPATH\fR, with each directory in the list separated by a colon:
.IP "" 4
.nf
/usr/local/bin:/usr/bin:/bin
.fi
.IP "" 0
.P
Directories in \fBPATH\fR are searched from left to right, so a matching executable in a directory at the beginning of the list takes precedence over another one at the end\. In this example, the \fB/usr/local/bin\fR directory will be searched first, then \fB/usr/bin\fR, then \fB/bin\fR\.
.SS "Understanding Shims"
pyenv works by inserting a directory of \fIshims\fR at the front of your \fBPATH\fR:
.IP "" 4
.nf
$(pyenv root)/shims:/usr/local/bin:/usr/bin:/bin
.fi
.IP "" 0
.P
Through a process called \fIrehashing\fR, pyenv maintains shims in that directory to match every Python command (\fBpython\fR,\fBpip\fR,etc...) across every installed version of Python
.P
Shims are lightweight executables that simply pass your command along to pyenv\. So with pyenv installed, when you run, say, \fBpip\fR, your operating system will do the following:
.IP \(bu 4
Search your \fBPATH\fR for an executable file named \fBpip\fR
.IP \(bu 4
Find the pyenv shim named \fBpip\fR at the beginning of your \fBPATH\fR
.IP \(bu 4
Run the shim named \fBpip\fR, which in turn passes the command along to pyenv
.IP "" 0
.SS "Choosing the Python Version"
When you execute a shim, pyenv determines which Python version to use by reading it from the following sources, in this order:
.IP "1." 4
The \fBPYENV_VERSION\fR environment variable (if specified)\. You can use the \fBpyenv shell\fR command to set this environment variable in your current shell session\.
.IP "2." 4
The application\-specific \fB\.python\-version\fR file in the current directory (if present)\. You can modify the current directory's \fB\.python\-version\fR file with the \fBpyenv local\fR command\.
.IP "3." 4
The first \fB\.python\-version\fR file found (if any) by searching each parent directory, until reaching the root of your filesystem\.
.IP "4." 4
The global \fB$(pyenv root)/version\fR file\. You can modify this file using the \fBpyenv global\fR command\. If the global version file is not present, pyenv assumes you want to use the "system" Python\. (In other words, whatever version would run if pyenv weren't in your \fBPATH\fR\.)
.IP "" 0
.P
.nh
\fBNOTE:\fR You can activate multiple versions at the same time, including multiple versions of Python2 or Python3 simultaneously\. This allows for parallel usage of Python2 and Python3, and is required with tools like \fBtox\fR\. For example, to set your path to first use your \fBsystem\fR Python and Python3 (set to 2\.7\.9 and 3\.4\.2 in this example), but also have Python 3\.3\.6, 3\.2, and 2\.5 available on your \fBPATH\fR, one would first \fBpyenv install\fR the missing versions, then set \fBpyenv global system 3\.3\.6 3\.2 2\.5\fR\. At this point, one should be able to find the full executable path to each of these using \fBpyenv which\fR, e\.g\. \fBpyenv which python2\.5\fR (should display \fB$(pyenv root)/versions/2\.5/bin/python2\.5\fR), or \fBpyenv which python3\.4\fR (should display path to system Python3)\. You can also specify multiple versions in a \fB\.python\-version\fR file, separated by newlines or any whitespace\.
hy
.SS "Locating the Python Installation"
Once pyenv has determined which version of Python your application has specified, it passes the command along to the corresponding Python installation\.
.P
Each Python version is installed into its own directory under
.nf
\fB$(pyenv root)/versions\fR\.
.fi
.P
For example, you might have these versions installed:
.IP \(bu 4
\fB$(pyenv root)/versions/2\.7\.8/\fR
.IP \(bu 4
\fB$(pyenv root)/versions/3\.4\.2/\fR
.IP \(bu 4
\fB$(pyenv root)/versions/pypy\-2\.4\.0/\fR
.IP "" 0
.P
As far as pyenv is concerned, version names are simply the directories in \fB$(pyenv root)/versions\fR\.
.SS "Managing Virtual Environments"
There is a pyenv plugin named pyenv\-virtualenv which comes with various features to help pyenv users to manage virtual environments created by virtualenv or Anaconda\. Because the \fBactivate\fR script of those virtual environments are relying on mutating \fB$PATH\fR variable of user's interactive shell, it will intercept pyenv's shim style command execution hooks\. We'd recommend to install pyenv\-virtualenv as well if you have some plan to play with those virtual environments\.
.SH "Advanced Configuration"
Skip this section unless you must know what every line in your shell profile is doing\.
.P
\fBpyenv init\fR is the only command that crosses the line of loading extra commands into your shell\. Coming from rvm, some of you might be opposed to this idea\. Here's what \fBpyenv init\fR actually does:
.IP "1." 4
\fBSets up your shims path\.\fR This is the only requirement for pyenv to function properly\. You can do this by hand by prepending \fB$(pyenv root)/shims\fR to your \fB$PATH\fR\.
.IP "2." 4
\fBRehashes shims\.\fR From time to time you'll need to rebuild your shim files\. Doing this on init makes sure everything is up to date\. You can always run \fBpyenv rehash\fR manually\.
.IP "3." 4
\fBInstalls the sh dispatcher\.\fR This bit is also optional, but allows pyenv and plugins to change variables in your current shell, making commands like \fBpyenv shell\fR possible\. The sh dispatcher doesn't do anything crazy like override \fBcd\fR or hack your shell prompt, but if for some reason you need \fBpyenv\fR to be a real script rather than a shell function, you can safely skip it\.
.IP "" 0
.P
To see exactly what happens under the hood for yourself, run \fB"pyenv init \-"\fR\.
.SH "Uninstalling Python Versions"
As time goes on, you will accumulate Python versions in your \fB$(pyenv root)/versions\fR directory\.
.P
To remove old Python versions, \fBpyenv uninstall\fR command to automate the removal process\.
.P
Alternatively, simply \fBrm \-rf\fR the directory of the version you want to remove\. You can find the directory of a particular Python version with the \fBpyenv prefix\fR command,
.P
e\.g\. \fBpyenv prefix 2\.6\.8\fR\.
.SH "Command Reference"
.P
The most common subcommands are:
.SS "pyenv commands"
Lists all available pyenv commands\.
.SS "pyenv local"
Sets a local application\-specific Python version by writing the version name to a \fB\.python\-version\fR file in the current directory\. This version overrides the global version, and can be overridden itself by setting the \fBPYENV_VERSION\fR environment variable or with the \fBpyenv shell\fR command\.
.IP "" 4
.nf
$ pyenv local 2\.7\.6
.fi
.IP "" 0
.P
When run without a version number, \fBpyenv local\fR reports the currently configured local version\. You can also unset the local version:
.IP "" 4
.nf
$ pyenv local \-\-unset
.fi
.IP "" 0
.P
Previous versions of pyenv stored local version specifications in a file named \fB\.pyenv\-version\fR\. For backwards compatibility, pyenv will read a local version specified in an \fB\.pyenv\-version\fR file, but a \fB\.python\-version\fR file in the same directory will take precedence\.
.P
You can specify multiple versions as local Python at once\.
.P
Let's say if you have two versions of 2\.7\.6 and 3\.3\.3\. If you prefer 2\.7\.6 over 3\.3\.3,
.IP "" 4
.nf
$ pyenv local 2\.7\.6 3\.3\.3
$ pyenv versions
system
* 2\.7\.6 (set by /Users/yyuu/path/to/project/\.python\-version)
* 3\.3\.3 (set by /Users/yyuu/path/to/project/\.python\-version)
$ python \-\-version
Python 2\.7\.6
$ python2\.7 \-\-version
Python 2\.7\.6
$ python3\.3 \-\-version
Python 3\.3\.3
.fi
.IP "" 0
.P
or, if you prefer 3\.3\.3 over 2\.7\.6,
.IP "" 4
.nf
$ pyenv local 3\.3\.3 2\.7\.6
$ pyenv versions
system
* 2\.7\.6 (set by /Users/yyuu/path/to/project/\.python\-version)
* 3\.3\.3 (set by /Users/yyuu/path/to/project/\.python\-version)
venv27
$ python \-\-version
Python 3\.3\.3
$ python2\.7 \-\-version
Python 2\.7\.6
$ python3\.3 \-\-version
Python 3\.3\.3
.fi
.IP "" 0
.SS "pyenv global"
Sets the global version of Python to be used in all shells by writing the version name to the \fB~/\.pyenv/version\fR file\. This version can be overridden by an application\-specific \fB\.python\-version\fR file, or by setting the \fBPYENV_VERSION\fR environment variable\.
.IP "" 4
.nf
$ pyenv global 2\.7\.6
.fi
.IP "" 0
.P
The special version name \fBsystem\fR tells pyenv to use the system Python (detected by searching your \fB$PATH\fR)\.
.P
When run without a version number, \fBpyenv global\fR reports the currently configured global version\.
.P
You can specify multiple versions as global Python at once\.
.P
Let's say if you have two versions of 2\.7\.6 and 3\.3\.3\. If you prefer 2\.7\.6 over 3\.3\.3,
.IP "" 4
.nf
$ pyenv global 2\.7\.6 3\.3\.3
$ pyenv versions
system
* 2\.7\.6 (set by /Users/yyuu/\.pyenv/version)
* 3\.3\.3 (set by /Users/yyuu/\.pyenv/version)
$ python \-\-version
Python 2\.7\.6
$ python2\.7 \-\-version
Python 2\.7\.6
$ python3\.3 \-\-version
Python 3\.3\.3
.fi
.IP "" 0
.P
or, if you prefer 3\.3\.3 over 2\.7\.6,
.IP "" 4
.nf
$ pyenv global 3\.3\.3 2\.7\.6
$ pyenv versions
system
* 2\.7\.6 (set by /Users/yyuu/\.pyenv/version)
* 3\.3\.3 (set by /Users/yyuu/\.pyenv/version)
venv27
$ python \-\-version
Python 3\.3\.3
$ python2\.7 \-\-version
Python 2\.7\.6
$ python3\.3 \-\-version
Python 3\.3\.3
.fi
.IP "" 0
.SS "pyenv shell"
Sets a shell\-specific Python version by setting the \fBPYENV_VERSION\fR environment variable in your shell\. This version overrides application\-specific versions and the global version\.
.IP "" 4
.nf
$ pyenv shell pypy\-2\.2\.1
.fi
.IP "" 0
.P
When run without a version number, \fBpyenv shell\fR reports the current value of \fBPYENV_VERSION\fR\. You can also unset the shell version:
.IP "" 4
.nf
$ pyenv shell \-\-unset
.fi
.IP "" 0
.P
Note that you'll need pyenv's shell integration enabled (step 3 of the installation instructions) in order to use this command\. If you prefer not to use shell integration, you may simply set the \fBPYENV_VERSION\fR variable yourself:
.IP "" 4
.nf
$ export PYENV_VERSION=pypy\-2\.2\.1
.fi
.IP "" 0
.P
You can specify multiple versions via \fBPYENV_VERSION\fR at once\.
.P
Let's say if you have two versions of 2\.7\.6 and 3\.3\.3\. If you prefer 2\.7\.6 over 3\.3\.3,
.IP "" 4
.nf
$ pyenv shell 2\.7\.6 3\.3\.3
$ pyenv versions
system
* 2\.7\.6 (set by PYENV_VERSION environment variable)
* 3\.3\.3 (set by PYENV_VERSION environment variable)
$ python \-\-version
Python 2\.7\.6
$ python2\.7 \-\-version
Python 2\.7\.6
$ python3\.3 \-\-version
Python 3\.3\.3
.fi
.IP "" 0
.P
or, if you prefer 3\.3\.3 over 2\.7\.6,
.IP "" 4
.nf
$ pyenv shell 3\.3\.3 2\.7\.6
$ pyenv versions
system
* 2\.7\.6 (set by PYENV_VERSION environment variable)
* 3\.3\.3 (set by PYENV_VERSION environment variable)
venv27
$ python \-\-version
Python 3\.3\.3
$ python2\.7 \-\-version
Python 2\.7\.6
$ python3\.3 \-\-version
Python 3\.3\.3
.fi
.IP "" 0
.SS "pyenv install"
Install a Python version
.IP "" 4
.nf
Usage: pyenv install [\-f] [\-kvp] <version>
pyenv install [\-f] [\-kvp] <definition\-file>
pyenv install \-l|\-\-list
\-l, \-\-list List all available versions
\-f, \-\-force Install even if the version appears to be installed
already
\-s, \-\-skip\-existing Skip the installation if the version appears to be
installed already
python\-build options:
\-k, \-\-keep Keep source tree in $PYENV_BUILD_ROOT after installation
(defaults to $PYENV_ROOT/sources)
\-v, \-\-verbose Verbose mode: print compilation status to stdout
\-p, \-\-patch Apply a patch from stdin before building
\-g, \-\-debug Build a debug version
.fi
.IP "" 0
.P
To list the all available versions of Python, including Anaconda, Jython, pypy, and stackless, use:
.IP "" 4
.nf
$ pyenv install \-\-list
.fi
.IP "" 0
.P
Then install the desired versions:
.IP "" 4
.nf
$ pyenv install 2\.7\.6
$ pyenv install 2\.6\.8
$ pyenv versions
system
2\.6\.8
* 2\.7\.6 (set by /home/yyuu/\.pyenv/version)
.fi
.IP "" 0
.SS "pyenv uninstall"
Uninstall Python versions\.
.IP "" 4
.nf
Usage: pyenv uninstall [\-f|\-\-force] <version> ...
\-f Attempt to remove the specified version without prompting
for confirmation\. If the version does not exist, do not
display an error message\.
.fi
.IP "" 0
.SS "pyenv rehash"
Installs shims for all Python binaries known to pyenv (i\.e\., \fB~/\.pyenv/versions/*/bin/*\fR)\. Run this command after you install a new version of Python, or install a package that provides binaries\.
.IP "" 4
.nf
$ pyenv rehash
.fi
.IP "" 0
.SS "pyenv version"
Displays the currently active Python version, along with information on how it was set\.
.IP "" 4
.nf
$ pyenv version
2\.7\.6 (set by /home/yyuu/\.pyenv/version)
.fi
.IP "" 0
.SS "pyenv versions"
Lists all Python versions known to pyenv, and shows an asterisk next to the currently active version\.
.IP "" 4
.nf
$ pyenv versions
2\.5\.6
2\.6\.8
* 2\.7\.6 (set by /home/yyuu/\.pyenv/version)
3\.3\.3
jython\-2\.5\.3
pypy\-2\.2\.1
.fi
.IP "" 0
.SS "pyenv which"
Displays the full path to the executable that pyenv will invoke when you run the given command\.
.IP "" 4
.nf
$ pyenv which python3\.3
/home/yyuu/\.pyenv/versions/3\.3\.3/bin/python3\.3
.fi
.IP "" 0
.SS "pyenv whence"
Lists all Python versions with the given command installed\.
.IP "" 4
.nf
$ pyenv whence 2to3
2\.6\.8
2\.7\.6
3\.3\.3
.fi
.IP "" 0
.SH "Environment variables"
You can affect how pyenv operates with the following settings:
.TP 28
.B name (default)
.B description
.TP 28
.B PYENV_VERSION
Specifies the Python version to be used. Also see \fBpyenv shell\fR
.TP
.B PYENV_ROOT (\fB~/.pyenv\fR)
Defines the directory under which Python versions and shims reside. Also see \fBpyenv root\fR
.TP
.B PYENV_DEBUG
Outputs debug information.
.br
Also as: \fBpyenv --debug <subcommand>\fR
.TP
.B PYENV_HOOK_PATH
Colon\-separated list of paths searched for pyenv hooks\.
.TP
.B PYENV_DIR (\fB$PWD\fR)
Directory to start searching for \fB\.python\-version\fR files\.
.TP
.B HTTP_PROXY,HTTPS_PROXY
Proxy Variables
.TP
.B CONFIGURE_OPTS
Pass configure options to build.
.TP
.B PYTHON_BUILD_ARIA2_OPTS
Used to pass additional parameters to \fBaria2\fR
.UR https://aria2\.github\.io/
.UE
If the \fBaria2c\fR binary is available on PATH, pyenv uses \fBaria2c\fR instead of \fBcurl\fR or \fBwget\fR to download the Python Source code\. If you have an unstable internet connection, you can use this variable to instruct \fBaria2\fR to accelerate the download\.
In most cases, you will only need to use \fB\-x 10 \-k 1M\fR as value to \fBPYTHON_BUILD_ARIA2_OPTS\fR environment variable
.SH "License"
The \fBMIT\fR License

4
plugins/.gitignore vendored Normal file
View File

@@ -0,0 +1,4 @@
/*
!/.gitignore
!/version-ext-compat
!/python-build

View File

@@ -0,0 +1,20 @@
Copyright (c) 2013 Yamashita, Yuu
Copyright (c) 2012-2013 Sam Stephenson
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
of the Software, and to permit persons to whom the Software is furnished to do
so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View File

@@ -0,0 +1,292 @@
# python-build
python-build is a [pyenv](https://github.com/pyenv/pyenv) plugin that
provides a `pyenv install` command to compile and install different versions
of Python on UNIX-like systems.
You can also use python-build without pyenv in environments where you need
precise control over Python version installation.
See the [list of releases](https://github.com/pyenv/pyenv/releases)
for changes in each version.
## Installation
### Installing as a pyenv plugin (recommended)
Since python-build is bundled with pyenv by
default, you do not need to do anything.
### Installing as a standalone program (advanced)
Installing python-build as a standalone program will give you access to the
`python-build` command for precise control over Python version installation. If you
have pyenv installed, you will also be able to use the `pyenv install` command.
git clone https://github.com/pyenv/pyenv.git
cd pyenv/plugins/python-build
./install.sh
This will install python-build into `/usr/local`. If you do not have write
permission to `/usr/local`, you will need to run `sudo ./install.sh` instead.
You can install to a different prefix by setting the `PREFIX` environment
variable.
To update python-build after it has been installed, run `git pull` in your cloned
copy of the repository, then re-run the install script.
### Installing with Homebrew (for OS X users)
Mac OS X users can install python-build with the [Homebrew](http://brew.sh)
package manager. This will give you access to the `python-build` command. If you
have pyenv installed, you will also be able to use the `pyenv install` command.
*This is the recommended method of installation if you installed pyenv with
Homebrew.*
brew install pyenv
Or, if you would like to install the latest development release:
brew install --HEAD pyenv
## Usage
Before you begin, you should ensure that your build environment has the proper
system dependencies for compiling the wanted Python Version (see our [recommendations](https://github.com/pyenv/pyenv/wiki#suggested-build-environment)).
### Using `pyenv install` with pyenv
To install a Python version for use with pyenv, run `pyenv install` with
exact name of the version you want to install. For example,
pyenv install 2.7.4
Python versions will be installed into a directory of the same name under
`~/.pyenv/versions`.
To see a list of all available Python versions, run `pyenv install --list`. You
may also tab-complete available Python versions if your pyenv installation is
properly configured.
### Using `python-build` standalone
If you have installed python-build as a standalone program, you can use the
`python-build` command to compile and install Python versions into specific
locations.
Run the `python-build` command with the exact name of the version you want to
install and the full path where you want to install it. For example,
python-build 2.7.4 ~/local/python-2.7.4
To see a list of all available Python versions, run `python-build --definitions`.
Pass the `-v` or `--verbose` flag to `python-build` as the first argument to see
what's happening under the hood.
### Custom definitions
Both `pyenv install` and `python-build` accept a path to a custom definition file
in place of a version name. Custom definitions let you develop and install
versions of Python that are not yet supported by python-build.
See the [python-build built-in definitions](https://github.com/pyenv/pyenv/tree/master/plugins/python-build/share/python-build) as a starting point for
custom definition files.
[definitions]: https://github.com/pyenv/pyenv/tree/master/plugins/python-build/share/python-build
### Special environment variables
You can set certain environment variables to control the build process.
* `TMPDIR` sets the location where python-build stores temporary files.
* `PYTHON_BUILD_BUILD_PATH` sets the location in which sources are downloaded and
built. By default, this is a subdirectory of `TMPDIR`.
* `PYTHON_BUILD_CACHE_PATH`, if set, specifies a directory to use for caching
downloaded package files.
* `PYTHON_BUILD_MIRROR_URL` overrides the default mirror URL root to one of your
choosing.
* `PYTHON_BUILD_MIRROR_URL_SKIP_CHECKSUM`, if set, does not append the SHA2
checksum of the file to the mirror URL.
* `PYTHON_BUILD_SKIP_MIRROR`, if set, forces python-build to download packages from
their original source URLs instead of using a mirror.
* `PYTHON_BUILD_SKIP_HOMEBREW`, if set, will not search for libraries installed by Homebrew on macOS.
* `PYTHON_BUILD_ROOT` overrides the default location from where build definitions
in `share/python-build/` are looked up.
* `PYTHON_BUILD_DEFINITIONS` can be a list of colon-separated paths that get
additionally searched when looking up build definitions.
* `CC` sets the path to the C compiler.
* `PYTHON_CFLAGS` lets you pass additional options to the default `CFLAGS`. Use
this to override, for instance, the `-O3` option.
* `CONFIGURE_OPTS` lets you pass additional options to `./configure`.
* `MAKE` lets you override the command to use for `make`. Useful for specifying
GNU make (`gmake`) on some systems.
* `MAKE_OPTS` (or `MAKEOPTS`) lets you pass additional options to `make`.
* `MAKE_INSTALL_OPTS` lets you pass additional options to `make install`.
* `PYTHON_CONFIGURE_OPTS` and `PYTHON_MAKE_OPTS` and `PYTHON_MAKE_INSTALL_OPTS` allow
you to specify configure and make options for building CPython. These variables
will be passed to Python only, not any dependent packages (e.g. libyaml).
### Applying patches to Python before compiling
Both `pyenv install` and `python-build` support the `--patch` (`-p`) flag that
signals that a patch from stdin should be applied to Python, Jython or PyPy
source code before the `./configure` and compilation steps.
Example usage:
```sh
# applying a single patch
$ pyenv install --patch 2.7.10 < /path/to/python.patch
# applying a patch from HTTP
$ pyenv install --patch 2.7.10 < <(curl -sSL http://git.io/python.patch)
# applying multiple patches
$ cat fix1.patch fix2.patch | pyenv install --patch 2.7.10
```
### Building with `--enable-shared`
You can build CPython with `--enable-shared` to install a version with
shared object.
If `--enable-shared` was found in `PYTHON_CONFIGURE_OPTS` or `CONFIGURE_OPTS`,
`python-build` will automatically set `RPATH` to the pyenv's prefix directory.
This means you don't have to set `LD_LIBRARY_PATH` or `DYLD_LIBRARY_PATH` for
the version(s) installed with `--enable-shared`.
```sh
$ env PYTHON_CONFIGURE_OPTS="--enable-shared" pyenv install 2.7.9
```
### Building for maximum performance
Building CPython with `--enable-optimizations` will result in a faster
interpreter at the cost of significantly longer build times. Most notably, this
enables PGO (profile guided optimization). While your mileage may vary, it is
common for performance improvement from this to be in the ballpark of 30%.
```sh
env PYTHON_CONFIGURE_OPTS='--enable-optimizations --with-lto' PYTHON_CFLAGS='-march=native -mtune=native' pyenv install 3.6.0
```
You can also customize the task used for profile guided optimization by setting
the `PROFILE_TASK` environment variable, for instance, `PROFILE_TASK='-m
test.regrtest --pgo -j0'` will run much faster than the default task.
### Checksum verification
If you have the `shasum`, `openssl`, or `sha256sum` tool installed, python-build will
automatically verify the SHA2 checksum of each downloaded package before
installing it.
Checksums are optional and specified as anchors on the package URL in each
definition. (All bundled definitions include checksums.)
### Package download mirrors
python-build will first attempt to download package files from a mirror hosted on
GitHub Pages. If a package is not available on the mirror, if the mirror
is down, or if the download is corrupt, python-build will fall back to the
official URL specified in the definition file.
You can point python-build to another mirror by specifying the
`PYTHON_BUILD_MIRROR_URL` environment variable--useful if you'd like to run your
own local mirror, for example. Package mirror URLs are constructed by joining
this variable with the SHA2 checksum of the package file.
If the mirror being used does not have the same checksum (*e.g.* with a
pull-through cache like Artifactory), you can set the
`PYTHON_BUILD_MIRROR_URL_SKIP_CHECKSUM` environment variable.
If you don't have an SHA2 program installed, python-build will skip the download
mirror and use official URLs instead. You can force python-build to bypass the
mirror by setting the `PYTHON_BUILD_SKIP_MIRROR` environment variable.
The official python-build download mirror is provided by
[GitHub Pages](http://yyuu.github.io/pythons/).
### Package download caching
You can instruct python-build to keep a local cache of downloaded package files
by setting the `PYTHON_BUILD_CACHE_PATH` environment variable. When set, package
files will be kept in this directory after the first successful download and
reused by subsequent invocations of `python-build` and `pyenv install`.
The `pyenv install` command defaults this path to `~/.pyenv/cache`, so in most
cases you can enable download caching simply by creating that directory.
### Keeping the build directory after installation
Both `python-build` and `pyenv install` accept the `-k` or `--keep` flag, which
tells python-build to keep the downloaded source after installation. This can be
useful if you need to use `gdb` and `memprof` with Python.
Source code will be kept in a parallel directory tree `~/.pyenv/sources` when
using `--keep` with the `pyenv install` command. You should specify the
location of the source code with the `PYTHON_BUILD_BUILD_PATH` environment
variable when using `--keep` with `python-build`.
## Getting Help
Please see the [pyenv wiki](https://github.com/pyenv/pyenv/wiki) for solutions to common problems.
[wiki]: https://github.com/pyenv/pyenv/wiki
If you can't find an answer on the wiki, open an issue on the [issue
tracker](https://github.com/pyenv/pyenv/issues). Be sure to include
the full build log for build failures.
## Contributing
### Testing new python versions
If you are contributing a new python version for python-build,
you can test the build in a [docker](https://www.docker.com/) container based on Ubuntu 18.04.
With docker installed:
```sh
docker build -t my_container .
docker run my_container pyenv install <my_version>
```
To enter a shell which will allow you to build and then test a python version,
replace the second line with
```sh
docker run -it my_container
```
The container will need to be rebuilt whenever you change the repo,
but after the first build, this will be very fast,
as the layer including the build dependencies will be cached.
Changes made inside the container will not be persisted.
To test *all* new versions since a particular revision (e.g. `master`), `cd` to the root of your `pyenv` repo, and run this script:
```sh
set -e
set -x
docker build -t pyenv-test-container .
git diff --name-only master \
| grep '^plugins/python-build/share/python-build/' \
| awk -F '/' '{print $NF}' \
| xargs -I _ docker run pyenv-test-container pyenv install _
```
- Build the docker image with the **t**ag pyenv-test-container
- Look for the names files changed since revision `master`
- Filter out any which don't live where python-build keeps its build scripts
- Look only at the file name (i.e. the python version name)
- Run a new docker container for each, building that version

View File

@@ -0,0 +1,295 @@
#!/usr/bin/env bash
#
# Summary: Install a Python version using python-build
#
# Usage: pyenv install [-f] [-kvp] <version>...
# pyenv install [-f] [-kvp] <definition-file>
# pyenv install -l|--list
# pyenv install --version
#
# -l/--list List all available versions
# -f/--force Install even if the version appears to be installed already
# -s/--skip-existing Skip if the version appears to be installed already
#
# python-build options:
#
# -k/--keep Keep source tree in $PYENV_BUILD_ROOT after installation
# (defaults to $PYENV_ROOT/sources)
# -p/--patch Apply a patch from stdin before building
# -v/--verbose Verbose mode: print compilation status to stdout
# --version Show version of python-build
# -g/--debug Build a debug version
#
# For detailed information on installing Python versions with
# python-build, including a list of environment variables for adjusting
# compilation, see: https://github.com/pyenv/pyenv#readme
#
set -e
[ -n "$PYENV_DEBUG" ] && set -x
# Add `share/python-build/` directory from each pyenv plugin to the list of
# paths where build definitions are looked up.
shopt -s nullglob
for plugin_path in "$PYENV_ROOT"/plugins/*/share/python-build; do
PYTHON_BUILD_DEFINITIONS="${PYTHON_BUILD_DEFINITIONS}:${plugin_path}"
done
export PYTHON_BUILD_DEFINITIONS
shopt -u nullglob
# Provide pyenv completions
if [ "$1" = "--complete" ]; then
echo --list
echo --force
echo --skip-existing
echo --keep
echo --patch
echo --verbose
echo --version
echo --debug
exec python-build --definitions
fi
# Load shared library functions
eval "$(python-build --lib)"
usage() {
pyenv-help install 2>/dev/null
[ -z "$1" ] || exit "$1"
}
definitions() {
local query="$1"
python-build --definitions | $(type -P ggrep grep | head -n1) -F "$query" || true
}
indent() {
sed 's/^/ /'
}
unset FORCE
unset SKIP_EXISTING
unset KEEP
unset VERBOSE
unset HAS_PATCH
unset DEBUG
[ -n "$PYENV_DEBUG" ] && VERBOSE="-v"
parse_options "$@"
for option in "${OPTIONS[@]}"; do
case "$option" in
"h" | "help" )
usage 0
;;
"l" | "list" )
echo "Available versions:"
definitions | indent
exit
;;
"f" | "force" )
FORCE=true
;;
"s" | "skip-existing" )
SKIP_EXISTING=true
;;
"k" | "keep" )
[ -n "${PYENV_BUILD_ROOT}" ] || PYENV_BUILD_ROOT="${PYENV_ROOT}/sources"
;;
"v" | "verbose" )
VERBOSE="-v"
;;
"p" | "patch" )
HAS_PATCH="-p"
;;
"g" | "debug" )
DEBUG="-g"
;;
"version" )
exec python-build --version
;;
* )
usage 1 >&2
;;
esac
done
unset VERSION_NAME
# The first argument contains the definition to install. If the
# argument is missing, try to install whatever local app-specific
# version is specified by pyenv. Show usage instructions if a local
# version is not specified.
DEFINITIONS=("${ARGUMENTS[@]}")
[[ "${#DEFINITIONS[*]}" -eq 0 ]] && DEFINITIONS=($(pyenv-local 2>/dev/null || true))
[[ "${#DEFINITIONS[*]}" -eq 0 ]] && usage 1 >&2
# Define `before_install` and `after_install` functions that allow
# plugin hooks to register a string of code for execution before or
# after the installation process.
declare -a before_hooks after_hooks
before_install() {
local hook="$1"
before_hooks["${#before_hooks[@]}"]="$hook"
}
after_install() {
local hook="$1"
after_hooks["${#after_hooks[@]}"]="$hook"
}
# Plan cleanup on unsuccessful installation.
cleanup() {
[ -z "${PREFIX_EXISTS}" ] && rm -rf "$PREFIX"
}
trap cleanup SIGINT
OLDIFS="$IFS"
IFS=$'\n' scripts=(`pyenv-hooks install`)
IFS="$OLDIFS"
for script in "${scripts[@]}"; do source "$script"; done
COMBINED_STATUS=0
for DEFINITION in "${DEFINITIONS[@]}"; do
STATUS=0
# Try to resolve a prefix if user indeed gave a prefix.
# We install the version under the resolved name
# and hooks also see the resolved name
DEFINITION="$(pyenv-latest -q -k "$DEFINITION" || echo "$DEFINITION")"
# Set VERSION_NAME from $DEFINITION. Then compute the installation prefix.
VERSION_NAME="${DEFINITION##*/}"
[ -n "$DEBUG" ] && VERSION_NAME="${VERSION_NAME}-debug"
PREFIX="${PYENV_ROOT}/versions/${VERSION_NAME}"
[ -d "${PREFIX}" ] && PREFIX_EXISTS=1
# If the installation prefix exists, prompt for confirmation unless
# the --force option was specified.
if [ -d "${PREFIX}/bin" ]; then
if [ -z "$FORCE" ] && [ -z "$SKIP_EXISTING" ]; then
echo "pyenv: $PREFIX already exists" >&2
read -p "continue with installation? (y/N) "
case "$REPLY" in
y | Y | yes | YES ) ;;
* ) { STATUS=1; [[ $STATUS -gt $COMBINED_STATUS ]] && COMBINED_STATUS=$STATUS; }; continue ;;
esac
elif [ -n "$SKIP_EXISTING" ]; then
# Since we know the python version is already installed, and are opting to
# not force installation of existing versions, we just `exit 0` here to
# leave things happy
continue
fi
fi
# If PYENV_BUILD_ROOT is set, always pass keep options to python-build.
if [ -n "${PYENV_BUILD_ROOT}" ]; then
export PYTHON_BUILD_BUILD_PATH="${PYENV_BUILD_ROOT}/${VERSION_NAME}"
KEEP="-k"
fi
# Set PYTHON_BUILD_CACHE_PATH to $PYENV_ROOT/cache, if the directory
# exists and the variable is not already set.
if [ -z "${PYTHON_BUILD_CACHE_PATH}" ] && [ -d "${PYENV_ROOT}/cache" ]; then
export PYTHON_BUILD_CACHE_PATH="${PYENV_ROOT}/cache"
fi
if [ -z "${PYENV_BOOTSTRAP_VERSION}" ]; then
case "${VERSION_NAME}" in
[23]"."* )
# Default PYENV_VERSION to the friendly Python version. (The
# CPython installer requires an existing Python installation to run. An
# unsatisfied local .python-version file can cause the installer to
# fail.)
for version_info in "${VERSION_NAME%-dev}" "${VERSION_NAME%.*}" "${VERSION_NAME%%.*}"; do
# Anaconda's `curl` doesn't work on platform where `/etc/pki/tls/certs/ca-bundle.crt` isn't available (e.g. Debian)
for version in $(pyenv-whence "python${version_info}" 2>/dev/null || true); do
if [[ "${version}" != "anaconda"* ]] && [[ "${version}" != "miniconda"* ]]; then
PYENV_BOOTSTRAP_VERSION="${version}"
break 2
fi
done
done
;;
"pypy"*"-dev" | "pypy"*"-src" )
# PyPy/PyPy3 requires existing Python 2.7 to build
if [ -n "${PYENV_RPYTHON_VERSION}" ]; then
PYENV_BOOTSTRAP_VERSION="${PYENV_RPYTHON_VERSION}"
else
for version in $(pyenv-versions --bare | sort -r); do
if [[ "${version}" == "2.7"* ]]; then
PYENV_BOOTSTRAP_VERSION="$version"
break
fi
done
fi
if [ -n "$PYENV_BOOTSTRAP_VERSION" ]; then
for dep in pycparser; do
if ! PYENV_VERSION="$PYENV_BOOTSTRAP_VERSION" pyenv-exec python -c "import ${dep}" 1>/dev/null 2>&1; then
echo "pyenv-install: $VERSION_NAME: PyPy requires \`${dep}' in $PYENV_BOOTSTRAP_VERSION to build from source." >&2
exit 1
fi
done
else
echo "pyenv-install: $VERSION_NAME: PyPy requires Python 2.7 to build from source." >&2
exit 1
fi
;;
esac
fi
if [ -n "${PYENV_BOOTSTRAP_VERSION}" ]; then
export PYENV_VERSION="${PYENV_BOOTSTRAP_VERSION}"
fi
# Execute `before_install` hooks.
for hook in "${before_hooks[@]}"; do eval "$hook"; done
# Invoke `python-build` and record the exit status in $STATUS.
python-build $KEEP $VERBOSE $HAS_PATCH $DEBUG "$DEFINITION" "$PREFIX" || \
{ STATUS=$?; [[ $STATUS -gt $COMBINED_STATUS ]] && COMBINED_STATUS=$STATUS; }
# Display a more helpful message if the definition wasn't found.
if [ "$STATUS" == "2" ]; then
{ candidates="$(definitions "$DEFINITION")"
here="$(dirname "${0%/*}")/../.."
if [ -n "$candidates" ]; then
echo
echo "The following versions contain \`$DEFINITION' in the name:"
echo "$candidates" | indent
fi
echo
echo "See all available versions with \`pyenv install --list'."
echo
echo -n "If the version you need is missing, try upgrading pyenv"
if [ "$here" != "${here#$(brew --prefix 2>/dev/null)}" ]; then
printf ":\n\n"
echo " brew update && brew upgrade pyenv"
elif [ -d "${here}/.git" ]; then
printf ":\n\n"
echo " cd ${here} && git pull && cd -"
else
printf ".\n"
fi
} >&2
fi
# Execute `after_install` hooks.
for hook in "${after_hooks[@]}"; do eval "$hook"; done
# Run `pyenv-rehash` after a successful installation.
if [[ $STATUS -eq 0 ]]; then
pyenv-rehash
else
cleanup
break
fi
done
exit "${COMBINED_STATUS}"

View File

@@ -0,0 +1,97 @@
#!/usr/bin/env bash
#
# Summary: Uninstall Python versions
#
# Usage: pyenv uninstall [-f|--force] <version> ...
#
# -f Attempt to remove the specified version without prompting
# for confirmation. If the version does not exist, do not
# display an error message.
#
# See `pyenv versions` for a complete list of installed versions.
#
set -e
# Provide pyenv completions
if [ "$1" = "--complete" ]; then
echo --force
exec pyenv versions --bare
fi
usage() {
pyenv-help uninstall 2>/dev/null
[ -z "$1" ] || exit "$1"
}
if [ "$1" = "-h" ] || [ "$1" = "--help" ]; then
usage 0
fi
unset FORCE
if [ "$1" = "-f" ] || [ "$1" = "--force" ]; then
FORCE=true
shift
fi
[ "$#" -gt 0 ] || usage 1 >&2
versions=("$@")
for version in "${versions[@]}"; do
case "$version" in
"" | -* )
usage 1 >&2
;;
esac
done
declare -a before_hooks after_hooks
before_uninstall() {
local hook="$1"
before_hooks["${#before_hooks[@]}"]="$hook"
}
after_uninstall() {
local hook="$1"
after_hooks["${#after_hooks[@]}"]="$hook"
}
OLDIFS="$IFS"
IFS=$'\n' scripts=(`pyenv-hooks uninstall`)
IFS="$OLDIFS"
for script in "${scripts[@]}"; do source "$script"; done
uninstall-python() {
local DEFINITION="$1"
local VERSION_NAME="${DEFINITION##*/}"
local PREFIX="${PYENV_ROOT}/versions/${VERSION_NAME}"
if [ -z "$FORCE" ]; then
if [ ! -d "$PREFIX" ]; then
echo "pyenv: version \`$VERSION_NAME' not installed" >&2
exit 1
fi
read -p "pyenv: remove $PREFIX? [y|N] "
case "$REPLY" in
y | Y | yes | YES ) ;;
* ) exit 1 ;;
esac
fi
for hook in "${before_hooks[@]}"; do eval "$hook"; done
if [ -d "$PREFIX" ]; then
rm -rf "$PREFIX"
pyenv-rehash
echo "pyenv: $VERSION_NAME uninstalled"
fi
for hook in "${after_hooks[@]}"; do eval "$hook"; done
}
for version in "${versions[@]}"; do
uninstall-python "$version"
done

File diff suppressed because it is too large Load Diff

26
plugins/python-build/install.sh Executable file
View File

@@ -0,0 +1,26 @@
#!/bin/sh
# Usage: PREFIX=/usr/local ./install.sh
#
# Installs python-build under $PREFIX.
set -e
cd "$(dirname "$0")"
if [ -z "${PREFIX}" ]; then
PREFIX="/usr/local"
fi
BIN_PATH="${PREFIX}/bin"
SHARE_PATH="${PREFIX}/share/python-build"
mkdir -p "$BIN_PATH" "$SHARE_PATH"
install -p bin/* "$BIN_PATH"
for share in share/python-build/*; do
if [ -d "$share" ]; then
cp -RPp "$share" "$SHARE_PATH"
else
install -p -m 0644 "$share" "$SHARE_PATH"
fi
done

View File

@@ -0,0 +1,22 @@
# Scripts for updating python-build
Install dependencies with `pip install -r requirements.txt`.
## add_miniconda.py
```_add_miniconda
usage: add_miniconda.py [-h] [-d] [-v]
Script to add non-"latest" miniconda releases. Written for python 3.7. Checks
the miniconda download archives for new versions, then writes a build script
for any which do not exist locally, saving it to plugins/python-
build/share/python-build. Ignores releases below 4.3.30. Also ignores sub-
patch releases if that major.minor.patch already exists, but otherwise, takes
the latest sub-patch release for given OS/arch. Assumes all miniconda3
releases < 4.7 default to python 3.6, and anything else 3.7.
optional arguments:
-h, --help show this help message and exit
-d, --dry-run Do not write scripts, just report them to stdout
-v, --verbose Increase verbosity of logging
```

View File

@@ -0,0 +1,401 @@
#!/usr/bin/env python3
"""Script to add non-"latest" miniconda releases.
Written for python 3.7.
Checks the miniconda download archives for new versions,
then writes a build script for any which do not exist locally,
saving it to plugins/python-build/share/python-build.
Ignores releases below 4.3.30.
Also ignores sub-patch releases if that major.minor.patch already exists,
but otherwise, takes the latest sub-patch release for given OS/arch.
Assumes all miniconda3 releases < 4.7 default to python 3.6, and anything else 3.7.
"""
import textwrap
from argparse import ArgumentParser
from collections import defaultdict
from enum import Enum
from functools import total_ordering
from pathlib import Path
from typing import NamedTuple, List, Optional, DefaultDict, Dict
import logging
import string
import requests_html
logger = logging.getLogger(__name__)
CONDA_REPO = "https://repo.anaconda.com"
MINICONDA_REPO = CONDA_REPO + "/miniconda"
ANACONDA_REPO = CONDA_REPO + "/archive"
install_script_fmt = """
case "$(anaconda_architecture 2>/dev/null || true)" in
{install_lines}
* )
{{ echo
colorize 1 "ERROR"
echo ": The binary distribution of {tflavor} is not available for $(anaconda_architecture 2>/dev/null || true)."
echo
}} >&2
exit 1
;;
esac
""".lstrip()
install_line_fmt = """
"{os}-{arch}" )
install_script "{tflavor}{suffix}-{version_py_version}{version_str}-{os}-{arch}" "{repo}/{tflavor}{suffix}-{version_py_version}{version_str}-{os}-{arch}.sh#{md5}" "{flavor}" verify_{py_version}
;;
""".strip()
here = Path(__file__).resolve()
out_dir: Path = here.parent.parent / "share" / "python-build"
class StrEnum(str, Enum):
"""Enum subclass whose members are also instances of str
and directly comparable to strings. str type is forced at declaration.
Adapted from https://github.com/kissgyorgy/enum34-custom/blob/dbc89596761c970398701d26c6a5bbcfcf70f548/enum_custom.py#L100
(MIT license)
"""
def __new__(cls, *args):
for arg in args:
if not isinstance(arg, str):
raise TypeError("Not text %s:" % arg)
return super(StrEnum, cls).__new__(cls, *args)
def __str__(self):
return str(self.value)
class SupportedOS(StrEnum):
LINUX = "Linux"
MACOSX = "MacOSX"
class SupportedArch(StrEnum):
AARCH64 = "aarch64"
ARM64 = "arm64"
PPC64LE = "ppc64le"
S390X = "s390x"
X86_64 = "x86_64"
X86 = "x86"
class Flavor(StrEnum):
ANACONDA = "anaconda"
MINICONDA = "miniconda"
class TFlavor(StrEnum):
ANACONDA = "Anaconda"
MINICONDA = "Miniconda"
class Suffix(StrEnum):
TWO = "2"
THREE = "3"
NONE = ""
class PyVersion(StrEnum):
PY27 = "py27"
PY36 = "py36"
PY37 = "py37"
PY38 = "py38"
PY39 = "py39"
PY310 = "py310"
PY311 = "py311"
def version(self):
first, *others = self.value[2:]
return f"{first}.{''.join(others)}"
def version_info(self):
return tuple(int(n) for n in self.version().split("."))
@total_ordering
class VersionStr(str):
def info(self):
return tuple(int(n) for n in self.replace("-", ".").split("."))
def __eq__(self, other):
return str(self) == str(other)
def __lt__(self, other):
if isinstance(other, VersionStr):
return self.info() < other.info()
raise ValueError("VersionStr can only be compared to other VersionStr")
@classmethod
def from_info(cls, version_info):
return VersionStr(".".join(str(n) for n in version_info))
def __hash__(self):
return hash(str(self))
class CondaVersion(NamedTuple):
flavor: Flavor
suffix: Suffix
version_str: VersionStr
py_version: Optional[PyVersion]
@classmethod
def from_str(cls, s):
"""
Convert a string of the form "miniconda_n-ver" or "miniconda_n-py_ver-ver" to a :class:`CondaVersion` object.
"""
miniconda_n, _, remainder = s.partition("-")
suffix = miniconda_n[-1]
if suffix in string.digits:
flavor = miniconda_n[:-1]
else:
flavor = miniconda_n
suffix = ""
components = remainder.split("-")
if flavor == Flavor.MINICONDA and len(components) >= 2:
py_ver, *ver_parts = components
py_ver = PyVersion(f"py{py_ver.replace('.', '')}")
ver = "-".join(ver_parts)
else:
ver = "-".join(components)
py_ver = None
return CondaVersion(Flavor(flavor), Suffix(suffix), VersionStr(ver), py_ver)
def to_filename(self):
if self.py_version:
return f"{self.flavor}{self.suffix}-{self.py_version.version()}-{self.version_str}"
else:
return f"{self.flavor}{self.suffix}-{self.version_str}"
def default_py_version(self):
"""
:class:`PyVersion` of Python used with this Miniconda version
"""
if self.py_version:
return self.py_version
elif self.suffix == Suffix.TWO:
return PyVersion.PY27
v = self.version_str.info()
if self.flavor == "miniconda":
# https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-python.html
if v < (4, 7):
return PyVersion.PY36
else:
return PyVersion.PY37
if self.flavor == "anaconda":
# https://docs.anaconda.com/anaconda/reference/release-notes/
if v >= (2021,11):
return PyVersion.PY39
if v >= (2020,7):
return PyVersion.PY38
if v >= (2020,2):
return PyVersion.PY37
if v >= (5,3,0):
return PyVersion.PY37
return PyVersion.PY36
raise ValueError(self.flavor)
class CondaSpec(NamedTuple):
tflavor: TFlavor
version: CondaVersion
os: SupportedOS
arch: SupportedArch
md5: str
repo: str
py_version: Optional[PyVersion] = None
@classmethod
def from_filestem(cls, stem, md5, repo, py_version=None):
# The `*vers` captures the new trailing `-1` in some file names (a build number?)
# so they can be processed properly.
miniconda_n, *vers, os, arch = stem.split("-")
ver = "-".join(vers)
suffix = miniconda_n[-1]
if suffix in string.digits:
tflavor = miniconda_n[:-1]
else:
tflavor = miniconda_n
suffix = ""
flavor = tflavor.lower()
if ver.startswith("py"):
py_ver, ver = ver.split("_", maxsplit=1)
py_ver = PyVersion(py_ver)
else:
py_ver = None
spec = CondaSpec(
TFlavor(tflavor),
CondaVersion(Flavor(flavor), Suffix(suffix), VersionStr(ver), py_ver),
SupportedOS(os),
SupportedArch(arch),
md5,
repo,
)
if py_version is None:
spec = spec.with_py_version(spec.version.default_py_version())
return spec
def to_install_lines(self):
"""
Installation command for this version of Miniconda for use in a Pyenv installation script
"""
return install_line_fmt.format(
tflavor=self.tflavor,
flavor=self.version.flavor,
repo=self.repo,
suffix=self.version.suffix,
version_str=self.version.version_str,
version_py_version=f"{self.version.py_version}_" if self.version.py_version else "",
os=self.os,
arch=self.arch,
md5=self.md5,
py_version=self.py_version,
)
def with_py_version(self, py_version: PyVersion):
return CondaSpec(*self[:-1], py_version=py_version)
def make_script(specs: List[CondaSpec]):
install_lines = [s.to_install_lines() for s in specs]
return install_script_fmt.format(
install_lines="\n".join(install_lines),
tflavor=specs[0].tflavor,
)
def get_existing_condas(name):
"""
Enumerate existing Miniconda installation scripts in share/python-build/ except rolling releases.
:returns: A generator of :class:`CondaVersion` objects.
"""
logger.info("Getting known %(name)s versions",locals())
for p in out_dir.iterdir():
entry_name = p.name
if not p.is_file() or not entry_name.startswith(name):
continue
try:
v = CondaVersion.from_str(entry_name)
if v.version_str != "latest":
logger.debug("Found existing %(name)s version %(v)s", locals())
yield v
except ValueError:
logger.error("Unable to parse existing version %s", entry_name)
def get_available_condas(name, repo):
"""
Fetch remote miniconda versions.
:returns: A generator of :class:`CondaSpec` objects for each release available for download
except rolling releases.
"""
logger.info("Fetching remote %(name)s versions",locals())
session = requests_html.HTMLSession()
response = session.get(repo)
page: requests_html.HTML = response.html
table = page.find("table", first=True)
rows = table.find("tr")[1:]
for row in rows:
f, size, date, md5 = row.find("td")
fname = f.text
md5 = md5.text
if not fname.endswith(".sh"):
continue
stem = fname[:-3]
try:
s = CondaSpec.from_filestem(stem, md5, repo)
if s.version.version_str != "latest":
logger.debug("Found remote %(name)s version %(s)s", locals())
yield s
except ValueError:
pass
def key_fn(spec: CondaSpec):
return (
spec.tflavor,
spec.version.version_str.info(),
spec.version.suffix.value,
spec.os.value,
spec.arch.value,
)
if __name__ == "__main__":
parser = ArgumentParser(description=__doc__)
parser.add_argument(
"-d", "--dry-run", action="store_true",
help="Do not write scripts, just report them to stdout",
)
parser.add_argument(
"-v", "--verbose", action="count", default=0,
help="Increase verbosity of logging",
)
parsed = parser.parse_args()
log_level = {
0: logging.WARNING,
1: logging.INFO,
2: logging.DEBUG,
}.get(parsed.verbose, logging.DEBUG)
logging.basicConfig(level=log_level)
if parsed.verbose < 3:
logging.getLogger("requests").setLevel(logging.WARNING)
existing_versions = set()
available_specs = set()
for name,repo in ("miniconda",MINICONDA_REPO),("anaconda",ANACONDA_REPO):
existing_versions |= set(get_existing_condas(name))
available_specs |= set(get_available_condas(name, repo))
# version triple to triple-ified spec to raw spec
to_add: DefaultDict[
CondaVersion, Dict[CondaSpec, CondaSpec]
] = defaultdict(dict)
logger.info("Checking for new versions")
for s in sorted(available_specs, key=key_fn):
key = s.version
vv = key.version_str.info()
reason = None
if key in existing_versions:
reason = "already exists"
elif key.version_str.info() <= (4, 3, 30):
reason = "too old"
elif len(key.version_str.info()) >= 4 and "-" not in key.version_str:
reason = "ignoring hotfix releases"
if reason:
logger.debug("Ignoring version %(s)s (%(reason)s)", locals())
continue
to_add[key][s] = s
logger.info("Writing %s scripts", len(to_add))
for ver, d in to_add.items():
specs = list(d.values())
fpath = out_dir / ver.to_filename()
script_str = make_script(specs)
logger.info("Writing script for %s", ver)
if parsed.dry_run:
print(f"Would write spec to {fpath}:\n" + textwrap.indent(script_str, " "))
else:
with open(fpath, "w") as f:
f.write(script_str)

View File

@@ -0,0 +1,104 @@
#!/usr/bin/env python3
'Adds the latest miniforge and mambaforge releases.'
from pathlib import Path
import logging
import os
import string
import requests
logger = logging.getLogger(__name__)
logging.basicConfig(level=os.environ.get('LOGLEVEL', 'INFO'))
MINIFORGE_REPO = 'conda-forge/miniforge'
PYTHON_VERSION = '310'
DISTRIBUTIONS = ['miniforge', 'mambaforge']
install_script_fmt = """
case "$(anaconda_architecture 2>/dev/null || true)" in
{install_lines}
* )
{{ echo
colorize 1 "ERROR"
echo ": The binary distribution of {flavor} is not available for $(anaconda_architecture 2>/dev/null || true)."
echo
}} >&2
exit 1
;;
esac
""".lstrip()
install_line_fmt = """
"{os}-{arch}" )
install_script "{filename}" "{url}#{sha}" "miniconda" verify_py{py_version}
;;
""".strip()
here = Path(__file__).resolve()
out_dir: Path = here.parent.parent / "share" / "python-build"
def download_sha(url):
logger.debug('Downloading SHA file %(url)s', locals())
tup = tuple(reversed(requests.get(url).text.replace('./', '').rstrip().split()))
logger.debug('Got %(tup)s', locals())
return tup
def create_spec(filename, sha, url):
flavor_with_suffix, version, subversion, os, arch = filename.replace('.sh', '').split('-')
suffix = flavor_with_suffix[-1]
if suffix in string.digits:
flavor = flavor_with_suffix[:-1]
else:
flavor = flavor_with_suffix
spec = {
'filename': filename,
'sha': sha,
'url': url,
'py_version': PYTHON_VERSION,
'flavor': flavor,
'os': os,
'arch': arch,
'installer_filename': f'{flavor_with_suffix.lower()}-{version}-{subversion}',
}
logger.debug('Created spec %(spec)s', locals())
return spec
def supported(filename):
return ('pypy' not in filename) and ('Windows' not in filename)
def add_version(release):
download_urls = { f['name']: f['browser_download_url'] for f in release['assets'] }
shas = dict([download_sha(url) for (name, url) in download_urls.items() if name.endswith('.sha256')])
specs = [create_spec(filename, sha, download_urls[filename]) for (filename, sha) in shas.items() if supported(filename)]
for distribution in DISTRIBUTIONS:
distribution_specs = [spec for spec in specs if distribution in spec['flavor'].lower()]
count = len(distribution_specs)
if count > 0:
output_file = out_dir / distribution_specs[0]['installer_filename']
logger.info('Writing %(count)d specs for %(distribution)s to %(output_file)s', locals())
script_str = install_script_fmt.format(
install_lines="\n".join([install_line_fmt.format_map(s) for s in distribution_specs]),
flavor=distribution_specs[0]['flavor'],
)
with open(output_file, 'w') as f:
f.write(script_str)
else:
logger.info('Did not find specs for %(distribution)s', locals())
for release in requests.get(f'https://api.github.com/repos/{MINIFORGE_REPO}/releases').json():
version = release['tag_name']
logger.info('Looking for %(version)s in %(out_dir)s', locals())
if not list(out_dir.glob(f'*-{version}')):
logger.info('Downloading %(version)s', locals())
add_version(release)

View File

@@ -0,0 +1 @@
requests-html

View File

@@ -0,0 +1,5 @@
require_gcc
install_package "readline-6.2" "https://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#79a696070a058c233c72dd6ac697021cc64abd5ed51e59db867d66d196a89381" mac_readline --if has_broken_mac_readline
install_package "Python-2.1.3" "https://www.python.org/ftp/python/2.1.3/Python-2.1.3.tgz#1bcb5bb587948bc38f36db60e15c376009c56c66570e563a08a82bf7f227afb9" standard verify_py21
#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

@@ -0,0 +1,5 @@
require_gcc
install_package "readline-6.2" "https://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#79a696070a058c233c72dd6ac697021cc64abd5ed51e59db867d66d196a89381" mac_readline --if has_broken_mac_readline
install_package "Python-2.2.3" "https://www.python.org/ftp/python/2.2.3/Python-2.2.3.tgz#a8f92e6b89d47359fff0d1fbfe47f104afc77fd1cd5143e7332758b7bc100188" standard verify_py22
#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

@@ -0,0 +1,5 @@
require_gcc
install_package "readline-6.2" "https://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#79a696070a058c233c72dd6ac697021cc64abd5ed51e59db867d66d196a89381" mac_readline --if has_broken_mac_readline
install_package "Python-2.3.7" "https://www.python.org/ftp/python/2.3.7/Python-2.3.7.tgz#969a9891dce9f50b13e54f9890acaf2be66715a5895bf9b11111f320c205b90e" standard verify_py23
#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

@@ -0,0 +1,5 @@
require_gcc
install_package "readline-8.0" "https://ftpmirror.gnu.org/readline/readline-8.0.tar.gz#e339f51971478d369f8a053a330a190781acb9864cf4c541060f12078948e461" mac_readline --if has_broken_mac_readline
install_package "Python-2.4" "https://www.python.org/ftp/python/2.4/Python-2.4.tgz#ff746de0fae8691c082414b42a2bb172da8797e6e8ff66c9a39d2e452f7034e9" 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
install_package "pip-1.1" "https://pypi.python.org/packages/source/p/pip/pip-1.1.tar.gz#993804bb947d18508acee02141281c77d27677f8c14eaa64d6287a1c53ef01c8" python

View File

@@ -0,0 +1,5 @@
require_gcc
install_package "readline-8.0" "https://ftpmirror.gnu.org/readline/readline-8.0.tar.gz#e339f51971478d369f8a053a330a190781acb9864cf4c541060f12078948e461" mac_readline --if has_broken_mac_readline
install_package "Python-2.4.1" "https://www.python.org/ftp/python/2.4.1/Python-2.4.1.tgz#f449c3b167389324c525ad99d02376c518ac11e163dbbbc13bc88a5c7101fd00" 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
install_package "pip-1.1" "https://pypi.python.org/packages/source/p/pip/pip-1.1.tar.gz#993804bb947d18508acee02141281c77d27677f8c14eaa64d6287a1c53ef01c8" python

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