summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Ammerlaan <andrewammerlaan@gentoo.org>2022-09-09 17:57:42 +0200
committerAndrew Ammerlaan <andrewammerlaan@gentoo.org>2022-09-09 18:09:15 +0200
commit970ed90ac451c5b90e3c2d81b639e7e2ea8466b6 (patch)
treed6da4e5acc16544a8605cfa57ff564a4033691dd
parentsys-apps/dbus-broker: use 'meson_use' function (diff)
downloadgentoo-970ed90a.tar.gz
gentoo-970ed90a.tar.bz2
gentoo-970ed90a.zip
dev-libs/quazip: allow build with both qt5 and/or qt6
Signed-off-by: Andrew Ammerlaan <andrewammerlaan@gentoo.org>
-rw-r--r--dev-libs/quazip/metadata.xml4
-rw-r--r--dev-libs/quazip/quazip-1.3-r2.ebuild82
2 files changed, 86 insertions, 0 deletions
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
+}