1 |
> On 27 Feb 2022, at 01:59, Jason Zaman <perfinion@g.o> wrote: |
2 |
> |
3 |
> On Sat, Feb 26, 2022 at 08:11:52PM +0100, Andreas Sturmlechner wrote: |
4 |
>> Dear packagers, |
5 |
>> |
6 |
>> - More than 4500 ebuilds were switched to cmake.eclass since 2019-12-21 [1] |
7 |
>> - Less than 110 ebuilds still inherit cmake-utils.eclass [2] |
8 |
>> - A change in cmake-3.23 will break all revdeps doing so |
9 |
>> - I am not fixing it |
10 |
>> - If *you* fix it, you will become the sole maintainer of cmake-utils.eclass |
11 |
>> - Any bugs filed as a result of this will block a future cmake-utils.eclass |
12 |
>> last-rites tracker. Failure to respond will make your package a last-rites |
13 |
>> candidate too. |
14 |
>> |
15 |
>> hth. |
16 |
>> |
17 |
>> [1] https://qa-reports.gentoo.org/output/eapi-per-eclass/cmake.eclass/ |
18 |
>> [2] https://qa-reports.gentoo.org/output/eapi-per-eclass/cmake-utils.eclass/ |
19 |
> |
20 |
> Whoops, thanks for the heads up! |
21 |
> google-cloud-cpp is mine (a dep of tensorflow). |
22 |
> It took me a while to realize in the above it has both cmake{,-utils}. |
23 |
> |
24 |
> Is there a migration guide or some docs about for what I need to do to |
25 |
> move it to the new eclass? |
26 |
|
27 |
https://bugs.gentoo.org/834110#c0 but let's dig stuff up for ease: |
28 |
- https://github.com/gentoo/gentoo/commits/master/eclass/cmake.eclass |
29 |
- https://github.com/gentoo/gentoo/commit/9053737a4e16fb1c9bcdd95373ef4e42d61404f4 |
30 |
``` |
31 |
- Drop all pre-EAPI-7 compatibility |
32 |
- Drop CMAKE_MIN_VERSION |
33 |
- Drop CMAKE_REMOVE_MODULES |
34 |
- Array support for CMAKE_REMOVE_MODULES_LIST |
35 |
- Drop pushd/popd from src_prepare |
36 |
- Drop _cmake_generator_to_use() |
37 |
CMAKE_MAKEFILE_GENERATOR validity is already checked in global scope. |
38 |
Move the check for dev-util/ninja into src_prepare. |
39 |
- Rename cmake_src_make() -> cmake_build() |
40 |
- Drop _cmake_ninja_src_build and _cmake_emake_src_build, move into cmake_build |
41 |
``` |
42 |
- https://marc.info/?l=gentoo-dev&m=157714319110420&w=2 |
43 |
- https://devmanual.gentoo.org/eclass-reference/cmake.eclass/index.html (but this doesn't note the differences w/ -utils). |
44 |
|
45 |
I think the summary is is (in addition to above): |
46 |
- BUILD_SHARED_LIBS is now default on |
47 |
- Note that between EAPI 7 and EAPI 8, cmake.eclass (not -utils) changed default build type from 'Gentoo' (custom) to 'RelWithDebInfo' |
48 |
- Some changes to do with out-of-source builds or working directory |
49 |
|
50 |
But just give a shout if something doesn't work! |
51 |
|
52 |
Best, |
53 |
sam |