public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
Search results ordered by [date|relevance]  view[summary|nested|Atom feed]
thread overview below | download: 
* Re: [gentoo-dev] cmake-utils.eclass consumers will be broken by >=dev-util/cmake-3.23.0
  @ 2022-02-27  2:52 99%   ` Sam James
  0 siblings, 0 replies; 1+ results
From: Sam James @ 2022-02-27  2:52 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 2358 bytes --]



> 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


[-- Attachment #2: Message signed with OpenPGP --]
[-- Type: application/pgp-signature, Size: 618 bytes --]

^ permalink raw reply	[relevance 99%]

Results 1-1 of 1 | reverse | options above
-- pct% links below jump to the message on this page, permalinks otherwise --
2022-02-26 19:11     [gentoo-dev] cmake-utils.eclass consumers will be broken by >=dev-util/cmake-3.23.0 Andreas Sturmlechner
2022-02-27  1:59     ` Jason Zaman
2022-02-27  2:52 99%   ` Sam James

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox