[prev in list] [next in list] [prev in thread] [next in thread] 

List:       gentoo-dev
Subject:    Re: [gentoo-dev] cmake-utils.eclass consumers will be broken by >=dev-util/cmake-3.23.0
From:       Sam James <sam () gentoo ! org>
Date:       2022-02-27 2:52:18
Message-ID: F2099B9E-C614-42D8-96F9-D5A19D462416 () gentoo ! org
[Download RAW message or body]

> On 27 Feb 2022, at 01:59, Jason Zaman <perfinion@gentoo.org> 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&m=157714319110420&w=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" (signature.asc)]

-----BEGIN PGP SIGNATURE-----

iQGTBAEBCgB9FiEEYOpPv/uDUzOcqtTy9JIoEO6gSDsFAmIa52JfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDYw
RUE0RkJGRkI4MzUzMzM5Q0FBRDRGMkY0OTIyODEwRUVBMDQ4M0IACgkQ9JIoEO6g
SDtnTwgAt5sXLuitwsAT3AIHO6rt4Q/R4AHX/+yzgwV/9RnHNovPcMAga684U71B
9B81BeRiLdj1p2QtYYoAMP2EXZDW2IMDKKaDrsOMR4H8nvsOXNeIAUIOWHn2GfcV
uolxGMaiYv9k6nV/OmdM3EphiD5dWBFOGBpXSlFTHPMBOMeC7QBQWMib7MpQ+6Kf
KlBKq/VElxIbrQAB9mssS5IVZSdD7xOpwec7iWu+SurP163jjR3Wt7EneOzkgm9I
BA7yzist5nMfWMi1nUttUSYxG/4UCTDMdqG2I4jAO52j6CVJE+0nP8oc3zq2zpMT
JG3m/1AdL4q6raKnSduJna3q0CUneQ==
=qB/F
-----END PGP SIGNATURE-----


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic