Re: [gentoo-dev] cmake-utils.eclass consumers will be broken by >=dev-util/cmake-3.23.0

2022-02-26 Thread Sam James


> On 27 Feb 2022, at 01:59, Jason Zaman  wrote:
> 
> On Sat, Feb 26, 2022 at 08:11:52PM +0100, Andreas Sturmlechner wrote:
>> Dear packagers,
>> 
>> - More than 4500 ebuilds were switched to cmake.eclass since 2019-12-21 [1]
>> - Less than 110 ebuilds still inherit cmake-utils.eclass [2]
>> - A change in cmake-3.23 will break all revdeps doing so
>> - I am not fixing it
>> - If *you* fix it, you will become the sole maintainer of cmake-utils.eclass
>> - Any bugs filed as a result of this will block a future cmake-utils.eclass
>> last-rites tracker. Failure to respond will make your package a last-rites
>> candidate too.
>> 
>> hth.
>> 
>> [1] https://qa-reports.gentoo.org/output/eapi-per-eclass/cmake.eclass/
>> [2] https://qa-reports.gentoo.org/output/eapi-per-eclass/cmake-utils.eclass/
> 
> Whoops, thanks for the heads up!
> google-cloud-cpp is mine (a dep of tensorflow).
> It took me a while to realize in the above it has both cmake{,-utils}.
> 
> Is there a migration guide or some docs about for what I need to do to
> move it to the new eclass?

https://bugs.gentoo.org/834110#c0 but let's dig stuff up for ease:
- https://github.com/gentoo/gentoo/commits/master/eclass/cmake.eclass
- 
https://github.com/gentoo/gentoo/commit/9053737a4e16fb1c9bcdd95373ef4e42d61404f4
```
- Drop all pre-EAPI-7 compatibility
- Drop CMAKE_MIN_VERSION
- Drop CMAKE_REMOVE_MODULES
- Array support for CMAKE_REMOVE_MODULES_LIST
- Drop pushd/popd from src_prepare
- Drop _cmake_generator_to_use()
  CMAKE_MAKEFILE_GENERATOR validity is already checked in global scope.
  Move the check for dev-util/ninja into src_prepare.
- Rename cmake_src_make() -> cmake_build()
- Drop _cmake_ninja_src_build and _cmake_emake_src_build, move into cmake_build
```
- https://marc.info/?l=gentoo-dev=157714319110420=2
- https://devmanual.gentoo.org/eclass-reference/cmake.eclass/index.html (but 
this doesn't note the differences w/ -utils).

I think the summary is is (in addition to above):
- BUILD_SHARED_LIBS is now default on
- Note that between EAPI 7 and EAPI 8, cmake.eclass (not -utils) changed 
default build type from 'Gentoo' (custom) to 'RelWithDebInfo'
- Some changes to do with out-of-source builds or working directory

But just give a shout if something doesn't work!

Best,
sam



signature.asc
Description: Message signed with OpenPGP


Re: [gentoo-dev] cmake-utils.eclass consumers will be broken by >=dev-util/cmake-3.23.0

2022-02-26 Thread Jason Zaman
On Sat, Feb 26, 2022 at 08:11:52PM +0100, Andreas Sturmlechner wrote:
> Dear packagers,
> 
> - More than 4500 ebuilds were switched to cmake.eclass since 2019-12-21 [1]
> - Less than 110 ebuilds still inherit cmake-utils.eclass [2]
> - A change in cmake-3.23 will break all revdeps doing so
> - I am not fixing it
> - If *you* fix it, you will become the sole maintainer of cmake-utils.eclass
> - Any bugs filed as a result of this will block a future cmake-utils.eclass 
> last-rites tracker. Failure to respond will make your package a last-rites 
> candidate too.
> 
> hth.
> 
> [1] https://qa-reports.gentoo.org/output/eapi-per-eclass/cmake.eclass/
> [2] https://qa-reports.gentoo.org/output/eapi-per-eclass/cmake-utils.eclass/

Whoops, thanks for the heads up!
google-cloud-cpp is mine (a dep of tensorflow).
It took me a while to realize in the above it has both cmake{,-utils}.

Is there a migration guide or some docs about for what I need to do to
move it to the new eclass?

-- Jason




[gentoo-dev] cmake-utils.eclass consumers will be broken by >=dev-util/cmake-3.23.0

2022-02-26 Thread Andreas Sturmlechner
Dear packagers,

- More than 4500 ebuilds were switched to cmake.eclass since 2019-12-21 [1]
- Less than 110 ebuilds still inherit cmake-utils.eclass [2]
- A change in cmake-3.23 will break all revdeps doing so
- I am not fixing it
- If *you* fix it, you will become the sole maintainer of cmake-utils.eclass
- Any bugs filed as a result of this will block a future cmake-utils.eclass 
last-rites tracker. Failure to respond will make your package a last-rites 
candidate too.

hth.

[1] https://qa-reports.gentoo.org/output/eapi-per-eclass/cmake.eclass/
[2] https://qa-reports.gentoo.org/output/eapi-per-eclass/cmake-utils.eclass/

signature.asc
Description: This is a digitally signed message part.