summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* eapi7-ver.eclass: Use lexicographic rather than arithmetic comparison.Ulrich Müller2017-09-261-10/+26
| | | | This removes the 2**63-1 limit for integer components.
* eapi7-ver.eclass: New algorithm for ver_test().Ulrich Müller2017-09-261-207/+82
| | | | | | | Use a regular expression for version validation and splitting, which turns out to be even faster than the previous "ultra-fast" approach. Thanks to Michał Górny for several optimisations.
* eapi7-ver.eclass: Ultra-fast algo for comparisonMichał Górny2017-09-261-107/+218
|
* eapi7-ver.eclass: Initial implementation of ver_test().Ulrich Müller2017-09-261-3/+123
| | | | | This should strictly follow Algorithms 3.1 to 3.7 specified in PMS: https://projects.gentoo.org/pms/6/pms.html#x1-310003.3
* eapi7-ver.eclass: Documentation fix.Ulrich Müller2017-09-191-3/+2
|
* eapi7-ver.eclass: 'Early adopter' version of EAPI 7 version manipMichał Górny2017-09-191-0/+190
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.