commit:     f2c9a6b86f8078b4b721126fa4f3b5545a9c6677
Author:     Daniel Novomesky <dnovomesky <AT> gmail <DOT> com>
AuthorDate: Fri Mar 18 15:02:24 2022 +0000
Commit:     Daniel Novomesky <dnovomesky <AT> gmail <DOT> com>
CommitDate: Fri Mar 18 15:02:24 2022 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=f2c9a6b8

media-libs/libjxl: multilib support in live ebuild

Package-Manager: Portage-3.0.30, Repoman-3.0.3
Signed-off-by: Daniel Novomesky <dnovomesky <AT> gmail.com>

 media-libs/libjxl/libjxl-9999.ebuild | 46 +++++++++++++++++++++++-------------
 1 file changed, 30 insertions(+), 16 deletions(-)

diff --git a/media-libs/libjxl/libjxl-9999.ebuild 
b/media-libs/libjxl/libjxl-9999.ebuild
index c77bf8e49..3bd059b1f 100644
--- a/media-libs/libjxl/libjxl-9999.ebuild
+++ b/media-libs/libjxl/libjxl-9999.ebuild
@@ -3,7 +3,8 @@
 
 EAPI=8
 
-inherit cmake git-r3 xdg
+CMAKE_ECLASS=cmake
+inherit cmake-multilib git-r3 xdg
 
 DESCRIPTION="JPEG XL image format reference implementation"
 HOMEPAGE="https://github.com/libjxl/libjxl";
@@ -15,14 +16,14 @@ LICENSE="BSD"
 SLOT="0"
 IUSE="examples gdk-pixbuf gimp210 openexr"
 
-DEPEND="app-arch/brotli
-       dev-cpp/gflags
-       >=dev-cpp/highway-0.16.0
-       media-libs/giflib
-       media-libs/libpng
+DEPEND="app-arch/brotli[${MULTILIB_USEDEP}]
+       dev-cpp/gflags[${MULTILIB_USEDEP}]
+       >=dev-cpp/highway-0.16.0[${MULTILIB_USEDEP}]
+       media-libs/giflib[${MULTILIB_USEDEP}]
+       media-libs/libpng[${MULTILIB_USEDEP}]
        openexr? ( media-libs/openexr:= )
-       sys-libs/zlib
-       virtual/jpeg
+       sys-libs/zlib[${MULTILIB_USEDEP}]
+       virtual/jpeg[${MULTILIB_USEDEP}]
        x11-misc/shared-mime-info
        gdk-pixbuf? ( x11-libs/gdk-pixbuf:2 )
        gimp210? ( >=media-gfx/gimp-2.10.28:0/2 )
@@ -32,7 +33,7 @@ BDEPEND=""
 
 RDEPEND="${DEPEND}"
 
-src_configure() {
+multilib_src_configure() {
        local mycmakeargs=(
                -DCMAKE_SKIP_RPATH=ON
                -DBUILD_TESTING=OFF
@@ -43,12 +44,7 @@ src_configure() {
                -DJPEGXL_WARNINGS_AS_ERRORS=OFF
 
                -DJPEGXL_ENABLE_SKCMS=ON
-               -DJPEGXL_ENABLE_EXAMPLES=$(usex examples)
-               -DJPEGXL_ENABLE_OPENEXR=$(usex openexr)
                -DJPEGXL_ENABLE_VIEWERS=OFF
-               -DJPEGXL_ENABLE_PLUGINS=ON
-               -DJPEGXL_ENABLE_PLUGIN_GDKPIXBUF=$(usex gdk-pixbuf)
-               -DJPEGXL_ENABLE_PLUGIN_GIMP210=$(usex gimp210)
                -DJPEGXL_FORCE_SYSTEM_BROTLI=ON
                -DJPEGXL_FORCE_SYSTEM_HWY=ON
                -DJPEGXL_ENABLE_DOXYGEN=OFF
@@ -57,12 +53,30 @@ src_configure() {
                -DJPEGXL_ENABLE_TCMALLOC=OFF
        )
 
+       if multilib_is_native_abi; then
+               mycmakeargs+=(
+                       -DJPEGXL_ENABLE_TOOLS=ON
+                       -DJPEGXL_ENABLE_EXAMPLES=$(usex examples)
+                       -DJPEGXL_ENABLE_OPENEXR=$(usex openexr)
+                       -DJPEGXL_ENABLE_PLUGINS=ON
+                       -DJPEGXL_ENABLE_PLUGIN_GDKPIXBUF=$(usex gdk-pixbuf)
+                       -DJPEGXL_ENABLE_PLUGIN_GIMP210=$(usex gimp210)
+               )
+       else
+               mycmakeargs+=(
+                       -DJPEGXL_ENABLE_TOOLS=OFF
+                       -DJPEGXL_ENABLE_EXAMPLES=OFF
+                       -DJPEGXL_ENABLE_OPENEXR=OFF
+                       -DJPEGXL_ENABLE_PLUGINS=OFF
+               )
+       fi
+
        cmake_src_configure
 }
 
-src_install() {
+multilib_src_install() {
        cmake_src_install
-       if use examples; then
+       if use examples && multilib_is_native_abi; then
                dobin "${BUILD_DIR}/jxlinfo"
        fi
 }

Reply via email to