b0c778df94d3fca5a44a0566723c666a7d6750fe
[gentoo.git] / dev-libs / libical / libical-3.0.8.ebuild
1 # Copyright 1999-2020 Gentoo Authors
2 # Distributed under the terms of the GNU General Public License v2
3
4 EAPI=7
5
6 PYTHON_COMPAT=( python3_{6,7,8} )
7 VALA_USE_DEPEND="vapigen"
8 inherit cmake python-any-r1 vala
9
10 DESCRIPTION="An implementation of basic iCAL protocols"
11 HOMEPAGE="https://github.com/libical/libical"
12 SRC_URI="https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}.tar.gz"
13
14 LICENSE="|| ( MPL-2.0 LGPL-2.1 )"
15 SLOT="0/3"
16 KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris"
17 IUSE="berkdb doc examples +glib +introspection static-libs test vala"
18
19 REQUIRED_USE="introspection? ( glib ) vala? ( introspection )"
20
21 RESTRICT="!test? ( test )"
22
23 BDEPEND="
24         dev-lang/perl
25         virtual/pkgconfig
26         doc? ( app-doc/doxygen )
27         introspection? ( dev-libs/gobject-introspection )
28         test? ( ${PYTHON_DEPS} )
29         vala? ( $(vala_depend) )
30 "
31 COMMON_DEPEND="
32         dev-libs/icu:=
33         berkdb? ( sys-libs/db:= )
34         glib? ( dev-libs/glib:2 )
35 "
36 DEPEND="${COMMON_DEPEND}
37         glib? ( dev-libs/libxml2:2 )
38 "
39 RDEPEND="${COMMON_DEPEND}
40         sys-libs/timezone-data
41 "
42
43 DOCS=(
44         AUTHORS ReadMe.txt ReleaseNotes.txt TEST THANKS TODO
45         doc/{AddingOrModifyingComponents,UsingLibical}.txt
46 )
47
48 PATCHES=(
49         "${FILESDIR}/${PN}-3.0.4-tests.patch"
50         "${FILESDIR}/${PN}-3.0.5-pkgconfig-libdir.patch"
51 )
52
53 pkg_setup() {
54         use test && python-any-r1_pkg_setup
55 }
56
57 src_prepare() {
58         cmake_src_prepare
59         use examples || cmake_comment_add_subdirectory examples
60         use vala && vala_src_prepare
61 }
62
63 src_configure() {
64         local mycmakeargs=(
65                 $(cmake_use_find_package berkdb BDB)
66                 -DICAL_BUILD_DOCS=$(usex doc)
67                 -DICAL_GLIB=$(usex glib)
68                 -DGOBJECT_INTROSPECTION=$(usex introspection)
69                 -DSHARED_ONLY=$(usex !static-libs)
70                 -DLIBICAL_BUILD_TESTING=$(usex test)
71                 -DICAL_GLIB_VAPI=$(usex vala)
72         )
73         if use vala; then
74                 mycmakeargs+=(
75                         -DVALAC="${VALAC}"
76                         -DVAPIGEN="${VAPIGEN}"
77                 )
78         fi
79         cmake_src_configure
80 }
81
82 src_compile() {
83         cmake_src_compile
84         use doc && cmake_src_compile docs
85 }
86
87 src_test() {
88         local myctestargs=(
89                 -E "(icalrecurtest|icalrecurtest-r)" # bug 660282
90         )
91
92         cmake_src_test
93 }
94
95 src_install() {
96         use doc && HTML_DOCS=( "${BUILD_DIR}"/apidocs/html/. )
97
98         cmake_src_install
99
100         if use examples; then
101                 rm examples/CMakeLists.txt || die
102                 dodoc -r examples
103         fi
104 }