| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
Add integrity check for multi-inherits, i.e. ensure that PYTHON_COMPAT
has not changed between successive calls to _python_set_impls. If it did
(e.g. because of eclass+ebuild setting different values), then we abort
not to give surprising results to the user.
|
|
|
|
|
|
| |
Refactor _python_set_impls to use local variables throughout
the function and assign global values at the end. This prepares it for
double-inherit integrity checks. NFC.
|
|
|
|
|
|
|
|
| |
Fix python_wrapper_setup function to move setting environment variables
for PATH and PKG_CONFIG_PATH outside the 'if'. Otherwise, they are only
set on the initial invocation of python_wrapper_setup for the particular
impl and do not apply to subsequent invocations (e.g. further
distutils-r1 phases).
|
|
|
|
| |
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
|
|
|
|
|
| |
Bump the dependency on PyPy to require relatively recent versions, to
ease package maintenance.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
Remove python_scriptroot & python_moduleroot from the public eclass API,
in favor of calls to python_scriptinto and python_moduleinto. This
feature was seldom used, not listed in the official API guide,
and the *into functions is more in line with the PMS.
|
|
|
|
|
|
|
|
|
|
| |
Replace the code respecting current value of ${DESTTREE} in favor of
using /usr unconditionally. The feature was extremely unlikely to be
ever used (only if you did 'into ...; python_do*', quite confusing
and relied on semi-internal package manager variables.
Furthermore, it was potentially broken as it relied on DESTTREE having
an initial '/usr' value which is not warranted by the PMS.
|
|
|
|
|
|
|
|
|
|
|
| |
Fix _PYTHON_ALL_IMPLS to list Jython & PyPy before CPython versions,
therefore causing them not to be implicitly preferred over CPython.
The implementation reordering done in b284e54 ("reorder implementations
in semi-ascending order") has caused PyPy & Jython to be listed after
CPython. While seemingly it was more intuitive to list third-party
implementations after the reference one, it also implicitly caused them
to be preferred by python-exec.
|
|
|
|
|
|
|
|
|
| |
Introduce a common _python_set_impls function in python-utils-r1.eclass
that validates and processes PYTHON_COMPAT, then stores the result in
_PYTHON_SUPPORTED_IMPLS and _PYTHON_UNSUPPORTED_IMPLS variables. Reuse
those variables in all python-r1 suite eclasses, effectively reducing
code duplication and providing cache for repeated implementation support
checks.
|
|
|
|
|
|
| |
Replace uses of 'declare -g -r' (bash-4.2+) with 'readonly'. Reported
by Arfrever. This time use split assignments followed by readonly calls
since combined calls work unreliably.
|
|
|
|
|
|
| |
This reverts commit 44d3345d828af162b2fbfd623dd8f0d7ac4ae2f9.
This was triggering "No supported implementation in PYTHON_COMPAT.".
|
|
|
|
|
| |
Replace uses of 'declare -g -r' (bash-4.2+) with 'readonly'. Reported
by Arfrever.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Reorder the Python implementations to ascending version order, with
CPython listed first and other implementations in descending preference.
The previous ordering has been used for two reasons:
1. There were packages which supported Python 3.x or PyPy partially but
their documentation builds or test functions required CPython 2.x.
The specific ordering caused python_export_best (the predecessor of
python_setup) to use CPython 2.x for those tasks. This is now replaced
by explicit implementation restrictions in python_setup.
2. PyPy setup runs were usually slower than CPython, and CPython 3.x
runs were often slower due to 2to3 calls. Combined with parallel build
runs, this ordering caused slower builds to start earlier and sometimes
resulted in more efficient use of threads. However, nowadays we no
longer do parallel builds.
Therefore, it seems reasonable to finally reorder the implementations
into a more intuitive order.
|
| |
|
|
|
|
|
|
| |
Paludis sets LC_ALL=C to ensure a 'sane' build environment.
We only want to override LC_CTYPE, so we break LC_ALL into separate
LC_* overrides and set LC_ALL to blank.
|
| |
|
|
|
|
|
|
| |
Fix python_do* and python_new* helper ban to EAPIs older than 4. That
was the original intent, and restricting it to 5+ breaks old
dev-lang/python ebuilds.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Ban python_do* and python_new* helpers in EAPIs older than 5. We should
ban them in python-any-r1 uses, actually but that would break
dev-python/pypy* ebuilds as they are written now.
|
|
|
|
|
| |
Replace the 'local INSDESTTREE' hacks (which are PMS-valid yet
deprecated) with safer subshells.
|
| |
|
|
|
|
|
|
|
| |
Add '-H' option to find to allow following symlinks passed as
parameters. This makes python_fix_shebang handle either file symlinks
passed directly, or directory symlinks passed directly for recursive
traversal. Both were currently ignored silently.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Ensure that the locale selected by python_export_utf8_locale() conforms
to POSIX-ish case conversions. Otherwise, we may accidentally force
a locale that will break random ebuilds and programs.
|
|
|
|
|
| |
Respect pre-set PYTHON in python_export(), unless a new value is
requested. Bail out if PYTHON is neither set, nor requested.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Obtain the Python site-packages directory path using
the distutils.sysconfig module, rather than hardcoding it.
|
|
|
|
|
|
|
| |
Obtain library path as concatenation of LIBDIR and LDLIBRARY config
variables (from sysconfig module) rather than hardcoding it in the
eclass. This improves maintainability and fixes compatibility with
ABIFLAGS-enabled Python 3.3+.
|
|
|
|
|
|
|
| |
Obtain the Python include directory using the distutils.sysconfig module
of the Python interpreter rather than hardcoding values for it. This
makes the code more maintainable, and clears the way for re-enabling
ABIFLAGS on new Python versions.
|
|
|
|
|
| |
Ensure that PYTHON is always set inside python_export() for convenience.
If it wasn't requested for explicit export, make it a local variable.
|
|
|
|
|
|
|
| |
`locale` is not available
If the `locale` isn't available, there's nothing this func can do,
so just return quickly and assume the system is sane.
|
| |
|
| |
|
|
This commit represents a new era for Gentoo:
Storing the gentoo-x86 tree in Git, as converted from CVS.
This commit is the start of the NEW history.
Any historical data is intended to be grafted onto this point.
Creation process:
1. Take final CVS checkout snapshot
2. Remove ALL ChangeLog* files
3. Transform all Manifests to thin
4. Remove empty Manifests
5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$
5.1. Do not touch files with -kb/-ko keyword flags.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests
X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project
X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration
X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn
X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts
X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration
X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging
X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
|