commit:     a628990882113048762734368940f0c98682b8b1
Author:     Paul Zander <negril.nx+gentoo <AT> gmail <DOT> com>
AuthorDate: Wed Dec 17 19:41:18 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Dec 18 04:18:25 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a6289908

media-libs/quirc: build only the library for non-native-abi

Bug: https://bugs.gentoo.org/941260
Signed-off-by: Paul Zander <negril.nx+gentoo <AT> gmail.com>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 media-libs/quirc/quirc-1.2-r3.ebuild | 59 ++++++++++++++++++++++++++--------
 media-libs/quirc/quirc-9999.ebuild   | 61 +++++++++++++++++++++++++++---------
 2 files changed, 93 insertions(+), 27 deletions(-)

diff --git a/media-libs/quirc/quirc-1.2-r3.ebuild 
b/media-libs/quirc/quirc-1.2-r3.ebuild
index 76f92e2f62cf..5b2e89ed68b6 100644
--- a/media-libs/quirc/quirc-1.2-r3.ebuild
+++ b/media-libs/quirc/quirc-1.2-r3.ebuild
@@ -8,7 +8,7 @@ HOMEPAGE="https://github.com/dlbeer/quirc";
 
 inherit flag-o-matic multilib-minimal toolchain-funcs
 
-if [[ ${PV} = *9999* ]] ; then
+if [[ "${PV}" == *9999* ]] ; then
        inherit git-r3
        EGIT_REPO_URI="https://github.com/dlbeer/${PN}.git";
 else
@@ -19,11 +19,24 @@ else
 fi
 
 DEPEND="
-       media-libs/libjpeg-turbo:=[${MULTILIB_USEDEP}]
-       media-libs/libpng:=[${MULTILIB_USEDEP}]
-       media-libs/libsdl:=[${MULTILIB_USEDEP}]
-       opencv? ( media-libs/opencv:=[${MULTILIB_USEDEP}] )
-       sdl? ( media-libs/sdl-gfx:=[${MULTILIB_USEDEP}] )
+       opencv? (
+               media-libs/libjpeg-turbo:=
+               media-libs/libpng:=
+               media-libs/opencv:=
+       )
+       sdl? (
+               media-libs/libjpeg-turbo:=
+               media-libs/libpng:=
+               media-libs/libsdl:=
+               media-libs/sdl-gfx:=
+       )
+       tools? (
+               media-libs/libjpeg-turbo:=
+               media-libs/libpng:=
+       )
+       v4l? (
+               media-libs/libjpeg-turbo:=
+       )
 "
 RDEPEND="
        ${DEPEND}
@@ -35,38 +48,58 @@ SLOT="0/${PV}"
 IUSE="opencv sdl tools v4l"
 
 src_prepare() {
-       LIB_VERSION=$(grep '^LIB_VERSION = ' "${S}/Makefile" | cut -d ' ' -f 3 
|| die)
+       read -r LIB_VERSION <<< "$(grep '^LIB_VERSION = ' "${S}/Makefile" | cut 
-d ' ' -f 3 || die)"
+       export LIB_VERSION
+
        sed -r \
                -e "s#\.o libquirc.a#.o libquirc.so.${LIB_VERSION}#g" \
                -e '/^QUIRC_CFLAGS/ s/$/ -fPIC/' \
                -i Makefile || die
 
        default
+
        multilib_copy_sources
 }
 
 multilib_src_configure() {
        tc-export CC CXX
-
-       targets=( libquirc.so )
-       use opencv && targets+=( opencv )
-       use sdl && targets+=( sdl )
-       use tools && targets+=( qrtest )
-       use v4l && targets+=( v4l )
 }
 
 multilib_src_compile() {
        append-ldflags "-Wl,-soname,libquirc.so.${LIB_VERSION}"
+
+       local targets=( "libquirc.so" )
+
+       if multilib_is_native_abi; then
+               if use opencv; then
+                       targets+=( "opencv" )
+               fi
+
+               if use sdl; then
+                       targets+=( "sdl" )
+               fi
+
+               if use tools; then
+                       targets+=( "qrtest" )
+               fi
+
+               if use v4l; then
+                       targets+=( "v4l" )
+               fi
+       fi
+
        emake V=1 DESTDIR="${D}" PREFIX="${EPREFIX}/usr" "${targets[@]}"
 }
 
 multilib_src_install() {
        dolib.so "libquirc.so.${LIB_VERSION}"
+
        dosym "libquirc.so.${LIB_VERSION}" 
"${EPREFIX}/usr/$(get_libdir)/libquirc.so"
        dosym "libquirc.so.${LIB_VERSION}" 
"${EPREFIX}/usr/$(get_libdir)/libquirc.so.$(ver_cut 1 "${LIB_VERSION}")"
 
        if multilib_is_native_abi; then
                into "/usr/libexec/${PN}"
+
                if use opencv; then
                        dobin inspect-opencv
                        dobin quirc-demo-opencv

diff --git a/media-libs/quirc/quirc-9999.ebuild 
b/media-libs/quirc/quirc-9999.ebuild
index 8db31a0f13a5..6999186dcea6 100644
--- a/media-libs/quirc/quirc-9999.ebuild
+++ b/media-libs/quirc/quirc-9999.ebuild
@@ -8,22 +8,35 @@ HOMEPAGE="https://github.com/dlbeer/quirc";
 
 inherit flag-o-matic multilib-minimal toolchain-funcs
 
-if [[ ${PV} = *9999* ]] ; then
+if [[ "${PV}" == *9999* ]] ; then
        inherit git-r3
        EGIT_REPO_URI="https://github.com/dlbeer/${PN}.git";
 else
        SRC_URI="
                https://github.com/dlbeer/${PN}/archive/refs/tags/v${PV}.tar.gz 
-> ${P}.tar.gz
        "
-       KEYWORDS="~amd64 ~x86"
+       KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
 fi
 
 DEPEND="
-       media-libs/libjpeg-turbo:=[${MULTILIB_USEDEP}]
-       media-libs/libpng:=[${MULTILIB_USEDEP}]
-       media-libs/libsdl:=[${MULTILIB_USEDEP}]
-       opencv? ( media-libs/opencv:=[${MULTILIB_USEDEP}] )
-       sdl? ( media-libs/sdl-gfx:=[${MULTILIB_USEDEP}] )
+       opencv? (
+               media-libs/libjpeg-turbo:=
+               media-libs/libpng:=
+               media-libs/opencv:=
+       )
+       sdl? (
+               media-libs/libjpeg-turbo:=
+               media-libs/libpng:=
+               media-libs/libsdl:=
+               media-libs/sdl-gfx:=
+       )
+       tools? (
+               media-libs/libjpeg-turbo:=
+               media-libs/libpng:=
+       )
+       v4l? (
+               media-libs/libjpeg-turbo:=
+       )
 "
 RDEPEND="
        ${DEPEND}
@@ -35,38 +48,58 @@ SLOT="0/${PV}"
 IUSE="opencv sdl tools v4l"
 
 src_prepare() {
-       LIB_VERSION=$(grep '^LIB_VERSION = ' "${S}/Makefile" | cut -d ' ' -f 3 
|| die)
+       read -r LIB_VERSION <<< "$(grep '^LIB_VERSION = ' "${S}/Makefile" | cut 
-d ' ' -f 3 || die)"
+       export LIB_VERSION
+
        sed -r \
                -e "s#\.o libquirc.a#.o libquirc.so.${LIB_VERSION}#g" \
                -e '/^QUIRC_CFLAGS/ s/$/ -fPIC/' \
                -i Makefile || die
 
        default
+
        multilib_copy_sources
 }
 
 multilib_src_configure() {
        tc-export CC CXX
-
-       targets=( libquirc.so )
-       use opencv && targets+=( opencv )
-       use sdl && targets+=( sdl )
-       use tools && targets+=( qrtest )
-       use v4l && targets+=( v4l )
 }
 
 multilib_src_compile() {
        append-ldflags "-Wl,-soname,libquirc.so.${LIB_VERSION}"
+
+       local targets=( "libquirc.so" )
+
+       if multilib_is_native_abi; then
+               if use opencv; then
+                       targets+=( "opencv" )
+               fi
+
+               if use sdl; then
+                       targets+=( "sdl" )
+               fi
+
+               if use tools; then
+                       targets+=( "qrtest" )
+               fi
+
+               if use v4l; then
+                       targets+=( "v4l" )
+               fi
+       fi
+
        emake V=1 DESTDIR="${D}" PREFIX="${EPREFIX}/usr" "${targets[@]}"
 }
 
 multilib_src_install() {
        dolib.so "libquirc.so.${LIB_VERSION}"
+
        dosym "libquirc.so.${LIB_VERSION}" 
"${EPREFIX}/usr/$(get_libdir)/libquirc.so"
        dosym "libquirc.so.${LIB_VERSION}" 
"${EPREFIX}/usr/$(get_libdir)/libquirc.so.$(ver_cut 1 "${LIB_VERSION}")"
 
        if multilib_is_native_abi; then
                into "/usr/libexec/${PN}"
+
                if use opencv; then
                        dobin inspect-opencv
                        dobin quirc-demo-opencv

Reply via email to