public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-dev] cmake-utils.eclass consumers will be broken by >=dev-util/cmake-3.23.0
@ 2022-02-26 19:11 Andreas Sturmlechner
  2022-02-27  1:59 ` Jason Zaman
  0 siblings, 1 reply; 3+ messages in thread
From: Andreas Sturmlechner @ 2022-02-26 19:11 UTC (permalink / raw
  To: gentoo-dev; +Cc: gentoo-dev-announce

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

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/

[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 618 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [gentoo-dev] cmake-utils.eclass consumers will be broken by >=dev-util/cmake-3.23.0
  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   ` Sam James
  0 siblings, 1 reply; 3+ messages in thread
From: Jason Zaman @ 2022-02-27  1:59 UTC (permalink / raw
  To: gentoo-dev

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



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [gentoo-dev] cmake-utils.eclass consumers will be broken by >=dev-util/cmake-3.23.0
  2022-02-27  1:59 ` Jason Zaman
@ 2022-02-27  2:52   ` Sam James
  0 siblings, 0 replies; 3+ messages in thread
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	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2022-02-27  2:52 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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   ` Sam James

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