• Re: [gentoo-dev] cmake-utils.eclass consumers will be broken by >=dev-u

    From Jason Zaman@21:1/5 to Andreas Sturmlechner on Sun Feb 27 03:00:01 2022
    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

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Sam James@21:1/5 to All on Sun Feb 27 04:00:01 2022
    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


    -----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-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)