Mailing List Archive

EAPI 8 is here!
Hi!

EAPI 8 is here! In fact, it arrived a few days ago on Sunday:

1) Council approval of EAPI 8 on Sunday at the regular meeting
2) Swift release of Portage 3.0.20 containing EAPI 8 by Zac shortly thereafter.

Summary:
* mgorny's traditional summary is already out and can be found on his website [0].
* PMS has been updated officially and can be found in PDF [1] or HTML [2] format,
or even a cheat sheet [3].
* Brings IDEPEND, usev enhancements, --disable-static by default, and more!

Things you need to know:
* You can read the full specification in PMS as above.
* It's fully implemented in Portage 3.0.20, pkgcore 0.12.0, and pkgcheck 0.10.0.
* You can use it *today* in ~arch ebuilds but will not be able to stabilise them
until Portage 3.0.20 is itself stabilised.
* base-system@ packages will not be using it for some time (a year), with possibly
some exceptions for special cases. [4].

Note about eclasses:
* Most eclasses *do not* yet support EAPI 8.
* During the council meeting, the council endorsed the following statement:

"We should try clean up eclasses before adding EAPI 8 support to them. This includes adding future EAPI guards on changes,
but also clean up indirect inherits and so on. We encourage people to put the EAPI 8 support patches to the ML, even if it's e.g.
cmake.eclass (which is sometimes seen as kde@'s purview), in order to ensure we maximise such opportunities."

I therefore kindly ask eclass maintainers and contributors alike to post all patches for eclasses adding EAPI 8 support
even if they appear trivial to allow us to make much needed improvements which otherwise would need to wait for the
next EAPI (this is because we can get away with changing some behaviour like e.g. indirect inherits given the ebuild
Is being tested for the first time with the new EAPI by maintainers once support gets added.)

You can see mgorny's email to gentoo-dev with the summary pre-approval [5] too.

Any questions? Reply to this email, PM me, or ask me on #gentoo-dev or #gentoo-dev-help. Or ask anyone else, of course.

TL;DR: EAPI 8 is here, you can use in in ~arch now, it has some neat improvements which make ebuilds cleaner, and brings
IDEPEND to the table. Read the full specification or mgorny's summary for the details.

[0] https://mgorny.pl/articles/the-ultimate-guide-to-eapi-8.html
[1] https://projects.gentoo.org/pms/8/pms.pdf
[2] https://projects.gentoo.org/pms/8/pms.html
[3] https://projects.gentoo.org/pms/8/eapi-cheatsheet.pdf
[4] https://wiki.gentoo.org/wiki/Project:Base#Rules_and_limitations
[5] https://archives.gentoo.org/gentoo-dev/message/8944c341d9353af0081180407dc7c14f
Re: EAPI 8 is here! [ In reply to ]
Sam James wrote:
> * Brings IDEPEND, usev enhancements, --disable-static by default, and more!

How to undo that --disable-static ?

I'm asking both for my own ebuilds and as a regular portage user.


//Peter
Re: EAPI 8 is here! [ In reply to ]
> On 17 Jun 2021, at 03:28, Peter Stuge <peter@stuge.se> wrote:
>
> Sam James wrote:
>> * Brings IDEPEND, usev enhancements, --disable-static by default, and more!
>
> How to undo that --disable-static ?
>
> I'm asking both for my own ebuilds and as a regular portage user.
>

Pass --enable-static to econf or EXTRA_ECONF if you're acting as a user.

thanks,
sam
Re: EAPI 8 is here! [ In reply to ]
On Wed, Jun 16, 2021 at 7:28 PM Peter Stuge <peter@stuge.se> wrote:
>
> Sam James wrote:
> > * Brings IDEPEND, usev enhancements, --disable-static by default, and more!
>
> How to undo that --disable-static ?

You add --enable-static to econf's arguments.
Re: EAPI 8 is here! [ In reply to ]
>>>>> On Thu, 17 Jun 2021, Sam James wrote:

> EAPI 8 is here! In fact, it arrived a few days ago on Sunday:

> [...]

> Things you need to know:
> * You can read the full specification in PMS as above.
> * It's fully implemented in Portage 3.0.20, pkgcore 0.12.0, and
> pkgcheck 0.10.0.

IIUC, implementation of EAPI 8 in pkgcore is still incomplete:
https://github.com/pkgcore/pkgcore/issues/313

In general, the PMS team tracks EAPI support in package managers on this
wiki page:
https://wiki.gentoo.org/wiki/Project:PMS#Implementation_in_package_managers

Ulrich