• [gentoo-dev] [PATCH v6 0/2] rocm.eclass: new eclass

    From Yiyang Wu@21:1/5 to All on Wed Aug 31 18:50:01 2022
    The v6 fixes several issues raised in Github PR: https://github.com/gentoo/gentoo/pull/26784

    Changelog against v5:

    1. Update outdated examples and comments
    2. QA fixes
    3. Rename rocm_src_{test,configure} to rocm-{test,configure} to avoid
    confusion
    4. Simplify rocm-test function
    5. Change the reference of AMDGPU targets and GPU product matching.


    Yiyang Wu (2):
    rocm.eclass: new eclass
    profiles/desc: add amdgpu_targets.desc for USE_EXPAND

    eclass/rocm.eclass | 284 ++++++++++++++++++++++++++++++
    profiles/base/make.defaults | 2 +-
    profiles/desc/amdgpu_targets.desc | 17 ++
    3 files changed, 302 insertions(+), 1 deletion(-)
    create mode 100644 eclass/rocm.eclass
    create mode 100644 profiles/desc/amdgpu_targets.desc

    Interdiff against v5:
    diff --git a/eclass/rocm.eclass b/eclass/rocm.eclass
    index 679b1af54e0a..1866d6b7cc94 100644
    --- a/eclass/rocm.eclass
    +++ b/eclass/rocm.eclass
    @@ -18,13 +18,16 @@
    #
    # Most ROCm packages use cmake as build system, so this eclass does not export
    # phase functions which overwrites the phase functions in cmake.eclass. Ebuild -# should explicitly call rocm_src_* in src_configure and src_test.
    +# should explicitly call rocm-{configure,test} in src_configure and src_test.
    #
    # @EXAMPLE:
    -# # Example for ROCm packages in https://github.com/ROCmSoftwarePlatform
    # @CODE
    +# # Example ebuild for ROCm library in https://github.com/ROCmSoftwarePlatform +# # whcih depends on rocBLAS
    # inherit cmake rocm
    +# # ROCm libraries SRC_URI is usually in form of:
    # SRC_URI="https://github.com/ROCmSoftwarePlatform/${PN}/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz"
    +# S=${WORKDIR}/${PN}-rocm-${PV}
    # SLOT="0/$(ver_cut 1-2)"
    # IUSE="test"
    # REQUIRED_USE="${ROCM_REQUIRED_USE}"
    @@ -35,17 +38,15 @@
    # sci-libs/rocBLAS:${SLOT}[${ROCM_USEDEP}]
    # "
    #
    -# S=${WORKDIR}/${PN}-rocm-${PV}
    -#
    # src_co