Commit graph

377 commits

Author SHA1 Message Date
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
Ivan Pozdeev faceb4b79c Allow patching supplementary packages 2022-10-27 00:02:13 +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
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
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
hardikpnsp afeb971fa2
Add support for multiple versions in pyenv uninstall (#2432) 2022-08-15 20:25:46 +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
Ivan Pozdeev 97039ca1af Fix accidental typo 2022-06-08 23:23:01 +03:00
native-api bc13a87bee
Add flags for Homebrew into python-config --ldflags (#2384) 2022-06-05 22:35:56 +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
Hugo van Kemenade 70b23638f4
Update 3.11-dev and add 3.12-dev (#2361) 2022-05-10 12:01:58 +03:00
Ivan Pozdeev 5d967fa38a Merge branch 'master' into no_linuxbrew 2022-05-04 03:10:08 +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
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
Ivan Pozdeev 49d955d584 Fix typo in looked-for argument name 2022-03-01 09:25:20 +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
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
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
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
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
Ivan Pozdeev f5cc25ed14 Fix "`build_package_pyston2.2': not a valid identifier" 2021-10-07 02:37:04 +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
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 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
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
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
Seonghyeon Cho a65af6570d
Add space after yes/no prompt (#2040) 2021-09-07 23:35:53 +03:00
native-api e154693dc6
Revert "Drop inferring version to install from pyenv local" 2021-06-14 17:08:46 +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
Ivan Pozdeev adca14a910 fix typo 2021-06-01 02:22:19 +03: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
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 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
Ivan Pozdeev a7044d2c06 Prevent build from installing MacOS apps globally 2021-05-19 15:44:05 +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
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
Anton Petrov 328fd42c3a
support for pyston 2.2 2021-05-06 15:06:06 +03:00
Fredrik Averpil 1edded3426
Update 3.10-dev and 3.11-dev (#1897) 2021-05-04 14:28:09 -04: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
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 be9aa0c899
Merge pull request #1806 from earlchew/issue/1805
[python-build] Support PYENV_DEBUG
2021-02-07 22:58:34 +03:00
Earl Chew 4c3f2cce3e [python-build] Support PYENV_DEBUG
fixes #1805
2021-02-06 10:15:18 -08: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
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
tillhainbach 9052491a05
Change order of LDFLAGS paths (#1754) 2020-12-10 19:46:40 -05: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
James Curtin 5d84eed869
Add support for PYTHON_BUILD_MIRROR_URL when checksums do not exist (#1673) 2020-10-03 14:30:46 -04:00
Tim Felgentreff f44cb70d93
Add Graalpython 20.1.0 and 20.2.0 (#1594) 2020-10-02 10:40:23 -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
Paul Ganssle cd2c26ef71
Add 3.10-dev 2020-05-19 11:26:47 -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
Varun Agrawal a8f5fc13ee
Improved messages for uninstall (#1591) 2020-04-22 11:45:28 -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
Ivan Pozdeev df671621e9 Mention log file if an error happened before building, too 2020-02-19 17:58:50 +03: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
Felix Yan 4039709dfe
Correct a typo in python-build 2019-10-09 06:12:27 +08: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
Christopher Wilson a71e590a44 Fix path to Unix port in micropython build 2019-09-18 10:18:48 -07:00
Christopher Wilson 8bebdb7f1a Build mpy-cross dependency for micropython builds 2019-09-17 21:39:04 -07: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
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 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 70e173381e Use GNU Readline 8.0 2019-04-08 23:15:31 +09:00
Yamashita, Yuu b551fed8d5 Imported changes from rbenv/ruby-build 20190401 2019-04-08 23:09:29 +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 62395cabb5 Allow overriding the preference of OpenSSL version per definition basis (#1302, #1325, #1326) 2019-04-08 11:18:31 +09:00
Alysson Oliveira ee75a75385 Run autoreconf intead autoconf 2019-03-26 23:45:36 -03:00
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
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
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 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 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
Bjorn Neergaard cc35fbd0b8 Use ls instead of find to list definitions 2018-11-25 12:31:17 -07: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
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 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
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 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 980b03b582 Update warning message on presence of PIP_VERSION 2018-03-29 03:16:53 +00:00