commit:     970ed90ac451c5b90e3c2d81b639e7e2ea8466b6
Author:     Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Fri Sep  9 15:57:42 2022 +0000
Commit:     Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Fri Sep  9 16:09:15 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=970ed90a

dev-libs/quazip: allow build with both qt5 and/or qt6

Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>

 dev-libs/quazip/metadata.xml         |  4 ++
 dev-libs/quazip/quazip-1.3-r2.ebuild | 82 ++++++++++++++++++++++++++++++++++++
 2 files changed, 86 insertions(+)

diff --git a/dev-libs/quazip/metadata.xml b/dev-libs/quazip/metadata.xml
index de71837a36e3..c0b0f714ce05 100644
--- a/dev-libs/quazip/metadata.xml
+++ b/dev-libs/quazip/metadata.xml
@@ -8,4 +8,8 @@
                <remote-id type="github">stachenov/quazip</remote-id>
                <remote-id type="sourceforge">quazip</remote-id>
        </upstream>
+       <use>
+               <flag name="qt5">Build with Qt5 support</flag>
+               <flag name="qt6">Build with Qt6 support</flag>
+       </use>
 </pkgmetadata>

diff --git a/dev-libs/quazip/quazip-1.3-r2.ebuild 
b/dev-libs/quazip/quazip-1.3-r2.ebuild
new file mode 100644
index 000000000000..9f2752897d51
--- /dev/null
+++ b/dev-libs/quazip/quazip-1.3-r2.ebuild
@@ -0,0 +1,82 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake multibuild
+
+DESCRIPTION="Simple C++ wrapper over Gilles Vollant's ZIP/UNZIP package"
+HOMEPAGE="https://stachenov.github.io/quazip/";
+SRC_URI="https://github.com/stachenov/${PN}/archive/v${PV}.tar.gz -> 
${P}.tar.gz"
+
+LICENSE="LGPL-2.1-with-linking-exception"
+# SONAME of libquazip1-qt5.so, check QUAZIP_LIB_SOVERSION in CMakeLists.txt
+SLOT="0/1.3"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux 
~x86-linux"
+IUSE="+qt5 qt6 test"
+REQUIRED_USE="|| ( qt5 qt6 )"
+
+RESTRICT="!test? ( test )"
+
+COMMON_DEPEND="
+       qt5? ( dev-qt/qtcore:5 )
+       qt6? ( dev-qt/qtbase:6 )
+       sys-libs/zlib[minizip]
+"
+DEPEND="${COMMON_DEPEND}
+       test? (
+               qt5? (
+                       dev-qt/qtnetwork:5
+                       dev-qt/qttest:5
+               )
+               qt6? (
+                       dev-qt/qtbase:6[gui,network]
+               )
+       )
+"
+RDEPEND="${COMMON_DEPEND}
+       !=dev-libs/quazip-1.1-r0:1
+"
+
+PATCHES=( "${FILESDIR}/${P}-cmake.patch" )
+
+pkg_setup() {
+       MULTIBUILD_VARIANTS=( $(usev qt5) $(usev qt6) )
+}
+
+src_configure() {
+       my_src_configure() {
+               local mycmakeargs=(
+                       -DBUILD_TESTING=$(usex test)
+               )
+               if [[ ${MULTIBUILD_VARIANT} = qt5 ]]; then
+                       mycmakeargs+=(
+                               -DQUAZIP_QT_MAJOR_VERSION=5
+                       )
+               elif [[ ${MULTIBUILD_VARIANT} = qt6 ]]; then
+                       mycmakeargs+=(
+                               -DQUAZIP_QT_MAJOR_VERSION=6
+                       )
+               fi
+               cmake_src_configure
+       }
+
+       multibuild_foreach_variant my_src_configure
+}
+
+src_compile() {
+       my_src_compile() {
+               cmake_src_compile
+               use test && cmake_build qztest
+       }
+
+       multibuild_foreach_variant my_src_compile
+}
+
+src_test() {
+       multibuild_foreach_variant cmake_src_test
+}
+
+src_install() {
+       multibuild_foreach_variant cmake_src_install
+}

Reply via email to