summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* toolchain.eclass: drop support for 'BRANCH_UPDATE'Sergei Trofimovich2019-10-191-1/+0
| | | | | | | BRANCH_UPDATE needs explicit tarball creation. Live ebuilds or weekly snapshots suit better for tracking upstream development. Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* flag-o-matic.eclass: filter out '-B/foo' and '-B /foo' equallySergei Trofimovich2019-06-231-0/+16
| | | | | | | | | | | | | In bug #687198 Julian noticed that strip-unsupported-flags() filters out '-B' but not '/foo' in CFLAGS='-B /foo' and causes breakage. This change still does not allow -B flag but at least filters out both '-B' and it's parameter. Reported-by: Julian Cléaud Bug: https://bugs.gentoo.org/687198 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* eclass/tests/toolchain.sh: add tests to prepare to eapi7-ver switchSergei Trofimovich2018-12-091-0/+91
| | | | Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* eclass/tests/toolchain.sh: prefix test nameSergei Trofimovich2018-12-091-1/+1
| | | | Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* eclass/tests/toolchain.sh: add EAPI=5 to unbreak testsSergei Trofimovich2018-12-091-0/+2
| | | | Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* eutils.eclass: Ban path_existsMichał Górny2018-08-151-35/+0
| | | | Closes: https://github.com/gentoo/gentoo/pull/9517
* flag-o-matic.eclass: treat "--param x" as a unit when testing flagsMike Gilbert2018-04-181-2/+2
| | | | | | | For clang and gcc, --param consumes the next argument. Testing --param and its value separately is nonsensical. Acked-by: Sergei Trofimovich <slyfox@gentoo.org>
* multiprocessing.eclass: Remove multijob_* functionsMichał Górny2018-01-041-42/+0
| | | | | | | | | | Remove the multijob functions that were used to run bash code in parallel. The code was very complex, fragile and unmaintained. It has been used scarcely, and pretty much by a single developer. It gave very little gain, usually at the cost of losing readability and violating PMS. Closes: https://bugs.gentoo.org/613322
* eapi7-ver.eclass: Use lexicographic rather than arithmetic comparison.Ulrich Müller2017-09-261-1/+1
| | | | This removes the 2**63-1 limit for integer components.
* eapi7-ver.eclass: Initial implementation of ver_test().Ulrich Müller2017-09-262-0/+146
| | | | | This should strictly follow Algorithms 3.1 to 3.7 specified in PMS: https://projects.gentoo.org/pms/6/pms.html#x1-310003.3
* eclass/tests/eapi7-ver_benchmark: More readable averageMichał Górny2017-09-191-1/+1
|
* eapi7-ver.eclass: 'Early adopter' version of EAPI 7 version manipMichał Górny2017-09-192-0/+178
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | EAPI 7 is introducing new version manipulation and comparison functions that aim to replace versionator.eclass. This eclass provides an 'early adopter' versions of those routines. It serves two goals: a. getting wider review and some real-life testing before the specification is set in stone, b. making it possible to adapt ebuilds to the new routines early, reducing the future work of EAPI 7 porting, c. improving cache generation speed (the rountines are roughly 15-20 times than versionator.eclass). For more details on the new logic, please see the eclass documentation. Long story short, we are introducing three functions: 1. ver_cut -- to get substrings of the version string, 2. ver_rs -- to replace version separators via indices, 3. ver_test -- to compare two version numbers. The third function is not implemented in the eclass. It's meant to reuse the algorithms from the package manager, and the final implementation will most likely reuse the code from the package manager (e.g. via IPC). The code has been initially written by Ulrich Müller.
* multiprocessing.eclass: add tests for float valuesMike Gilbert2017-09-141-1/+3
| | | | Bug: https://bugs.gentoo.org/630626
* flag-o-matic.eclass: Strip LDFLAGS unsupported by the C compiler, #621274Michał Górny2017-08-251-1/+1
| | | | | | | | Include LDFLAGS in the variables stripped by strip-unsupported-flags. The code reuses the current functions for testing CC, and so only remove LDFLAGS that are rejected by the C compiler and not the linker. This solves the case of bug #621274 where LDFLAGS contained GCC-specific -flto flag.
* flag-o-matic.eclass: test-flag-PROG, ignore unused args in clangMichał Górny2017-08-251-0/+5
| | | | | | | | | | | | | | | | | | | By default, clang considers unused arguments as error when -Werror is used. Since flag tests are performed without linking, this causes all tests for linker flags to fail inadvertently and all those flags are stripped as a result. While the correctness of passing unused flags is doubtful, silently stripping them in a few random packages is certainly not the solution to the problem, and also makes the results differ between gcc and clang. To account for that, use clang's -Qunused-arguments option to silence unused argument warnings. To avoid wasting time on testing the compiler, just try passing -Qunused-arguments every time a flag check fails. If clang is not used, the additional call will fail just the same as the previous one (either because of the original flag or because of -Qunused-arguments), so the result will be the same.
* flag-o-matic.eclass: Revert "Strip LDFLAGS unsupported by the C..."Michał Górny2017-08-111-1/+1
| | | | | | | The current logic strips too much, causing build failures. Revert it until we get it right. Bug: https://bugs.gentoo.org/627474
* flag-o-matic.eclass: Strip LDFLAGS unsupported by the C compiler, #621274Michał Górny2017-08-081-1/+1
| | | | | | | | Include LDFLAGS in the variables stripped by strip-unsupported-flags. The code reuses the current functions for testing CC, and so only remove LDFLAGS that are rejected by the C compiler and not the linker. This solves the case of bug #621274 where LDFLAGS contained GCC-specific -flto flag.
* eclass/tests: Fix inheriting multiple eclassesMichał Górny2017-08-081-2/+2
| | | | | | Fix the inherit function to correctly handle 'inherit' call with multiple eclasses, instead of returning after the first eclass is successfully sourced.
* eclass/tests/estack_eshopts.sh: Add tests for 'set' variant of eshopt*Michał Górny2017-04-141-0/+23
|
* estack.eclass: Split estack* logic from eutilsMichał Górny2017-03-183-6/+6
| | | | | | | | | | | | | Split the estack_* and related functions from eutils into a dedicated estack.eclass. Those functions have significant complexity and are not used frequently, therefore they benefit from having a separate file and an explicit dedicated maintainer. The new eclass is implicitly inherited by eutils to preserve compatibility. However, the inherit will be removed in EAPI 7, and the ebuilds should switch to using estack directly. Thanks to Ulrich Müller for doing the research on this.
* eclass/tests/python-utils-r1: update impl support statusMichał Górny2017-03-081-1/+3
|
* Drop $Id$ per council decision in bug #611234.Robin H. Johnson2017-02-2824-24/+0
| | | | Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
* multiprocess.eclass: makeopts_{jobs,loadavg}: fix implicit handling of ↵Mike Frysinger2017-02-092-6/+17
| | | | | | | | $MAKEOPTS #608242 We missed quoting on ${MAKEOPTS} to set it as the first arg which meant we might load invalid values into the second arg which is the "infinite" scenario.
* multiprocessing.eclass: Support passing custom inf values for gettersMichał Górny2016-12-182-2/+8
| | | | | | | | Support passing custom values for 'infinity' in makeopts_jobs() and makeopts_loadavg(). This can be used e.g. when a build system does not support --loadavg, and therefore '--jobs 999' would most likely be a really bad idea. Combined with get_nproc(), this can be used to provide a sane replacement instead.
* multiprocessing.eclass: Fix handling multiple short options (e.g. -kj)Michał Górny2016-12-182-0/+6
| | | | | | | | Improve the regular expressions to handle parameters consisting of multiple short options (such as -kj). It should be noted that the code is not perfect but should handle all common (valid) cases; it could e.g. incorrectly process a short option followed by string arg such as '-Wfoo.j' although having this in MAKEOPTS is extremely unlikely.
* eclass/tests: Remove KV_* functions from tests-common.shMichał Górny2016-06-271-41/+0
|
* toolchain-funcs.eclass: tc-ninja_magic_to_arch, remove old KV supportMichał Górny2016-06-271-7/+0
| | | | | | | | Remove the support for old kernel versions that are no longer used in Gentoo, and rely on KV_to_int() function. This functions is provided by Portage but not listed in PMS. Furthermore, for a long time Portage replaced it with 'return 1' in global scope, so they did not really work as expected anyway.
* toolchain-funcs.eclass: Add helpful tc-is-{gcc,clang} wrappersMichał Górny2016-06-261-0/+28
|
* toolchain-funcs.eclass: Add tc-get-compiler-type()Michał Górny2016-06-261-0/+40
| | | | | | | | | | | Add a tc-get-compiler-type() function that can be used to identify the compiler being used, using the preprocessor defines. Alike gcc-*version() routines, it uses CPP (which in turn uses CC). The major usage would be applying compiler-specific quirks and limiting gcc version checks to compilers that actually are gcc, since e.g. clang reports gcc version 4.2 -- which would incorrectly cause numerous gcc version checks in ebuilds to fail.
* rebar.eclass: Optionally provide alternate rebar config to alterAmadeusz Żołnowski2016-05-292-0/+46
| | | | | | Some packages have separate configs for build and tests. Build config is always named 'rebar.config' and there seem to be no standard name for tests config.
* rebar.eclass: Build Erlang/OTP projects using dev-util/rebarAmadeusz Żołnowski2016-05-223-0/+373
| | | | | | It is an eclass providing functions to build Erlang/OTP projects using dev-util/rebar. All packages in upcoming category dev-erlang are going to use this eclass.
* scons-utils.eclass: Use nproc when --jobs is used without an argumentMichał Górny2016-01-081-1/+1
| | | | | | | Try to guess the number of processors when --jobs is passed without an argument. We can't use a high number equivalent to GNU make behavior (no limit) since SCons does not have an equivalent of --load-avg option. Still, this is better than assuming some random, fixed number.
* scons-utils.eclass: _scons_clean_makeopts, fix result cachingMichał Górny2016-01-081-3/+4
| | | | | | Stop calling _scons_clean_makeopts in a subshell in order to make it possible for the cache to be preserved. Pass the result through SCONSOPTS variable.
* scons-utils.eclass: scons_clean_makeopts, mark internalMichał Górny2016-01-081-1/+1
|
* scons-utils.eclass: tests, be more verbose on tests being performedMichał Górny2016-01-081-8/+6
|
* python-utils-r1.eclass tests: Fix to ensure PYTHON for python_exportMichał Górny2015-12-091-1/+1
|
* python-utils-r1.eclass: Disable jython2_5Michał Górny2015-12-091-1/+0
|
* multiprocessing.eclass: makeopts_loadavg: various fixes #543116Mike Frysinger2015-11-241-0/+36
| | | | | | | - Add support for --max-load option - Fix default load value if not specified (999) - Fix trailing flag consumption so we don't leave garbage behind - Add tests!
* eclass/tests: Add standard header to eutils_eshopts.sh.Ulrich Müller2015-11-211-0/+3
| | | | Acknowledged by vapier in bug 548984.
* python-utils-r1.eclass: Fix pypy3 include path in testsMichał Górny2015-11-121-1/+1
|
* python-utils-r1.eclass: Support getting PYTHON_CONFIG pathMichał Górny2015-11-111-0/+2
|
* python-utils-r1.eclass: Obtain PYTHON_SITEDIR from the interpreterMichał Górny2015-11-111-5/+7
| | | | | Obtain the Python site-packages directory path using the distutils.sysconfig module, rather than hardcoding it.
* python-utils-r1.eclass: Obtain library path from the interpreterMichał Górny2015-11-111-2/+2
| | | | | | | 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+.
* python-utils-r1.eclass: Obtain include directory from the interpreterMichał Górny2015-11-111-4/+13
| | | | | | | 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.
* python-utils-r1.eclass: Switch tests to use python3.4Michał Górny2015-11-111-7/+7
| | | | | | Use Python 3.4 during tests since Python 3.3 is now deprecated and is less likely to be installed on user's systems and some tests will require Python installed.
* proj/gentoo: Initial commitRobin H. Johnson2015-08-0820-0/+1729
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