summaryrefslogtreecommitdiff
blob: e3a070a045003f4a57c364d8b6f03771a92a06c9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2

EAPI=6

inherit cmake-utils flag-o-matic multibuild qmake-utils

DESCRIPTION="A simple C++ wrapper over Gilles Vollant's ZIP/UNZIP package"
HOMEPAGE="http://quazip.sourceforge.net/"
SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"

LICENSE="LGPL-2.1-with-linking-exception"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ppc ~ppc64 ~x86 ~x86-fbsd ~amd64-linux ~x86-linux"
IUSE="qt4 +qt5 static-libs test"

REQUIRED_USE="|| ( qt4 qt5 )"

RDEPEND="
	sys-libs/zlib[minizip]
	qt4? ( dev-qt/qtcore:4 )
	qt5? (
		dev-qt/qtcore:5
		dev-qt/qtnetwork:5
	)
"
DEPEND="${RDEPEND}
	test? (
		qt4? ( dev-qt/qttest:4 )
	)
"

DOCS=( NEWS.txt README.txt )
HTML_DOCS=( doc/html/. )

pkg_setup() {
	MULTIBUILD_VARIANTS=( $(usev qt4) $(usev qt5) )
}

src_prepare() {
	if ! use static-libs ; then
		sed -e "/^install/ s/quazip_static//" -i quazip/CMakeLists.txt || die
	fi
	cmake-utils_src_prepare
}

src_configure() {
	myconfigure() {
		local libdir=$(get_libdir)
		local mycmakeargs=(
			-DLIB_SUFFIX=${libdir/lib/}
		)
		unset libdir
		if [[ ${MULTIBUILD_VARIANT} = qt4 ]]; then
			mycmakeargs+=( -DBUILD_WITH_QT4=ON )
		fi
		if [[ ${MULTIBUILD_VARIANT} = qt5 ]]; then
			local -x CXXFLAGS="${CXXFLAGS}"
			append-cxxflags -std=c++11 -fPIC
			mycmakeargs+=( -DBUILD_WITH_QT4=OFF )
		fi
		cmake-utils_src_configure
	}

	multibuild_foreach_variant myconfigure
}

src_compile() {
	multibuild_foreach_variant cmake-utils_src_compile
}

src_test() {
	cd "${S}"/qztest || die
	mytest() {
		if [[ ${MULTIBUILD_VARIANT} = qt4 ]]; then
			eqmake4 \
				LIBS+="-L${WORKDIR}/${P}-qt4"
			emake
			LD_LIBRARY_PATH="${WORKDIR}/${P}-qt4" ./qztest || die
		fi
	}

	multibuild_foreach_variant mytest
}

src_install() {
	multibuild_foreach_variant cmake-utils_src_install

	# compatibility with not yet fixed rdeps (Gentoo bug #598136)
	if ! use qt4; then
		dosym libquazip5.so /usr/$(get_libdir)/libquazip.so
	fi
}