summaryrefslogtreecommitdiff
path: root/dev-libs/libical
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
committerV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
commit8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 (patch)
tree7681bbd4e8b05407772df40a4bf04cbbc8afc3fa /dev-libs/libical
parent30a9caf154332f12ca60756e1b75d2f0e3e1822d (diff)
gentoo resync : 14.07.2018
Diffstat (limited to 'dev-libs/libical')
-rw-r--r--dev-libs/libical/Manifest12
-rw-r--r--dev-libs/libical/files/libical-2.0.0-libical.pc-fix-libdir-location.patch28
-rw-r--r--dev-libs/libical/files/libical-2.0.0-libical.pc-icu-move-to-requires.patch47
-rw-r--r--dev-libs/libical/files/libical-2.0.0-libical.pc-icu-remove-full-paths.patch44
-rw-r--r--dev-libs/libical/files/libical-2.0.0-libical.pc-set-full-version.patch19
-rw-r--r--dev-libs/libical/files/libical-2.0.0-tests.patch38
-rw-r--r--dev-libs/libical/files/libical-3.0.1-pkgconfig-libdir.patch44
-rw-r--r--dev-libs/libical/files/libical-3.0.3-findicu-pkgconfig.patch58
-rw-r--r--dev-libs/libical/libical-2.0.0-r3.ebuild60
-rw-r--r--dev-libs/libical/libical-3.0.3.ebuild90
-rw-r--r--dev-libs/libical/metadata.xml11
11 files changed, 451 insertions, 0 deletions
diff --git a/dev-libs/libical/Manifest b/dev-libs/libical/Manifest
new file mode 100644
index 000000000000..79430cb5a0d4
--- /dev/null
+++ b/dev-libs/libical/Manifest
@@ -0,0 +1,12 @@
+AUX libical-2.0.0-libical.pc-fix-libdir-location.patch 917 BLAKE2B 6fcc8482d11e0bc2cba46e0cd12ad6f3f2a845b87d20c25562a032491c63b7a9b81bd07bb53fc8f77ea1399fb29410a0ef72e1f9737dce1b8448b6ee708f393b SHA512 6d5955519201e2543991a3ba49a8c5372e44b75c72ec0fe63fe247152ad67ee67f839063c5f9699b9c8121ae0fb8e3e91ffa2d0ebb6030178f2fea154df23279
+AUX libical-2.0.0-libical.pc-icu-move-to-requires.patch 1443 BLAKE2B ebdabe7edd03b1b416c42335a292723715b74ef62044e5ee52887cbcbc0425e94bbd51e9167dc479b31be7120926814afd7dd6eda6b65a6b498e47a3036f3d1d SHA512 e21cd8dbb5df05f9e90289d1869521e0258bfe89fc72cd78fa89f41177a7100950b3cc0c08498f7f9e19a9ed53813f706334aae67536f1b2f581e579cda45021
+AUX libical-2.0.0-libical.pc-icu-remove-full-paths.patch 1358 BLAKE2B 5f29ec8e534b9d249c4feae41c8c35cb876435e74c998308d1e368874e2fd49ceddc7007f92daff7d2f2802e47981d702f0d75d4606ff58e1350c442cf023882 SHA512 24f9f49de882abb8e49c8a74899dc4bd9438c828e111e158826bbf396928d55b91adbbbda727310f249d8226ed23fdcc8f538b0ef55ba4c99f963ab475649409
+AUX libical-2.0.0-libical.pc-set-full-version.patch 629 BLAKE2B e7d17235c6993c1ad4ae446d36020849db14c534d517c0f6e48ac96af7e51a9e3285eb1d9cb9886101c38f88b65aafd985cf35099e140ee537468fa585e60bbb SHA512 a30127d93d1366d65e464c6d4ad08a42b9de142eac6e14a905cad3e0e094e6deafa689e8deaaa3bc8746adfc9667f8a6657088a2a1e0643035a5a3c2fbde173f
+AUX libical-2.0.0-tests.patch 1176 BLAKE2B 4e96464d103095452ef7be6ebaf5331a9bc51cc3e1f2aa3afd74326ce5809bc577e36299f0293f34348d6b65c404d995399bcf28e2809968c91253409f60bbbe SHA512 c818aed46b64c7ecd72356506ccc36508521040886d9049b2ac0c20f2943f26b5f3ef10d3850b164132a08545f1ea86852db3b4b9ac17f3e4b2f56398a7ed1fe
+AUX libical-3.0.1-pkgconfig-libdir.patch 1228 BLAKE2B 34bae335d1889d0090d02b72a61ea5fc90940210cccb2d09e3ef6a01464579f2fb6bf83b6e9dbcd35950227f0f1c830bbc0b77d1fe3eaa42fd649edfef4f3181 SHA512 556e3deadef8bbb210dbd3bf918aa9cbe0f8a1cfbbf8ecbeeff36a74f134cdebabad96f6ad05f6a1e2afcde669bb145bbea6ab83efa6f7b90b4637f7f761fa49
+AUX libical-3.0.3-findicu-pkgconfig.patch 1760 BLAKE2B ff9dc09bc7f82632abf3d89d50463a2630f83a4cae1fe264cd1d3739c33d98634bd0e347cabe4e924f96e7791fedf06b71b790745a2519e5517e8c5305e3a1e7 SHA512 f6ecf28b65bbf9a10b3a26b5bf2e8b81574c6724b917d12943bae9f3773e40198cf609ea685a7222361941bd13cef73b3a60b86ae250fb6bd171c0845e243861
+DIST libical-2.0.0.tar.gz 699099 BLAKE2B 81c1a12faf4436d1edee4ab3f080137135c2ec7ae05efeee70696b89f2122b8f8ff92f78b6ec5e017d31841adb796d467204c299335743a6a8c15eca667b8182 SHA512 0b80f9aa40e0a485371b5949152c10d7fffb6e0dfe8c2aabc3c6e4e97ba0cdd465ae7093343245be60173bc7b24e80e919c0c0e199ff0bb2b14ed94af7087c4f
+DIST libical-3.0.3.tar.gz 866624 BLAKE2B 6d7c11aeb80dbd6b72001484a0ad89ff9b0f892c9400cec3f0d131d1edbabdafa8ef9717d1fed92c4999ba0934e8676e5cc58ebb3cb74fdbb8e5f5c816cc97bb SHA512 319a9e02b34835eb222728cb691b18e4f490b21f7faa55d266f298c07dafb5e15a492fb2105e2c3ab6d60d2affcf430b5b248cc38abc1e3bc29143662676fe70
+EBUILD libical-2.0.0-r3.ebuild 1708 BLAKE2B a6fc6d8a7ca16ad6a629c5a708b138535a098d65cb0c89c39df889d2d6087c11ddf884afb18fc1d7fcbb297262c2b5b53fa7d0108b825d8cd0057948a3c3efdc SHA512 24d4b757d3bc4657c3d24cdd442b91f7b64113a88c023de39a7f01ec13ad91f255595acb9c0767835837a660fabe316cb3f160f4beab6614a8e20b3cf7ea77ef
+EBUILD libical-3.0.3.ebuild 2043 BLAKE2B a0a4448402c5236149e4abbd6693d4c644735384df3fa43a56d54bef7a9f971e2f7143ee59c0e068a12d4300341efaf65da44fee8385fa805fe11df8800503a1 SHA512 d0ad2e651743715869783b10aabe6b3f7b7afb515aded889f587e9195a7b20b2f270ab9bdd7444d4384d0c65b13240d40e78b726fe3cf100303977089dcb686a
+MISC metadata.xml 333 BLAKE2B 48ec5d867610d142260cd1d0154f2762acd3c695935a37ae5e344a828a84ea6907be5cf69b3b19a6886b20ac3df73a8d7cd5c800afdbce0320b2fcfe4e0b62d2 SHA512 ad7a78aff5c325aa5a289cb96a98c55d52c60bb78b6dff207d393157d1dc7e408032453be4da87e9a7e8c6a2ca1f12226e416be2f5d04e4dd908642461eb3b8c
diff --git a/dev-libs/libical/files/libical-2.0.0-libical.pc-fix-libdir-location.patch b/dev-libs/libical/files/libical-2.0.0-libical.pc-fix-libdir-location.patch
new file mode 100644
index 000000000000..6044d133749d
--- /dev/null
+++ b/dev-libs/libical/files/libical-2.0.0-libical.pc-fix-libdir-location.patch
@@ -0,0 +1,28 @@
+This is a patch for Gentoo bug 560572, provided by Georgi Georgiev.
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 773cf0c..e282ce4 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -336,7 +336,7 @@ endif()
+ set(VERSION "${PROJECT_VERSION}")
+ set(prefix "${CMAKE_INSTALL_PREFIX}")
+ set(exec_prefix "\${prefix}")
+-set(libdir "\${exec_prefix}/lib")
++set(libdir "${LIB_INSTALL_DIR}")
+ set(includedir "\${prefix}/include")
+ set(PTHREAD_LIBS "${CMAKE_THREAD_LIBS_INIT}")
+
+diff --git a/libical.pc.in b/libical.pc.in
+index 7774dce..bf88476 100644
+--- a/libical.pc.in
++++ b/libical.pc.in
+@@ -8,8 +8,8 @@ iculib=@ICU_LIBRARIES@ @ICU_I18N_LIBRARIES@
+ Name: libical
+ Description: An implementation of basic iCAL protocols
+ Version: @LIBICAL_LIB_VERSION_STRING@
+-Libs: -L${libdir} -lical -licalss -licalvcal
++Libs: -lical -licalss -licalvcal
+ Libs.private: @PTHREAD_LIBS@
+ @REQUIRES_PRIVATE_ICU@
+ Cflags: -I${includedir}
diff --git a/dev-libs/libical/files/libical-2.0.0-libical.pc-icu-move-to-requires.patch b/dev-libs/libical/files/libical-2.0.0-libical.pc-icu-move-to-requires.patch
new file mode 100644
index 000000000000..e19dc0379028
--- /dev/null
+++ b/dev-libs/libical/files/libical-2.0.0-libical.pc-icu-move-to-requires.patch
@@ -0,0 +1,47 @@
+commit f70a26aaf836da0f9e242945151b49190d682d95
+Author: Allen Winter <allen.winter@kdab.com>
+Date: Sat Dec 3 11:11:48 2016 -0500
+
+ CMakeLists.txt, libical.pc.in - ICU must appear as Requires in pkgconfig
+ issue#244
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index b3d49d0d..0f6dfc34 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -145,7 +145,7 @@ endif()
+ # RSCALE info at http://tools.ietf.org/html/rfc7529
+ find_package(ICU)
+ if(ICU_FOUND)
+- set(ICUUC_LIBS "-licuuc") #for libical.pc
++ set(REQUIRES_PRIVATE_ICU "Requires.private: icu-i18n") #for libical.pc
+ set(HAVE_LIBICU 1)
+ if(ICU_MAJOR_VERSION VERSION_GREATER 50)
+ set(HAVE_ICU_DANGI TRUE)
+@@ -155,7 +155,6 @@ if(ICU_FOUND)
+ endif()
+ if(ICU_I18N_FOUND)
+ set(HAVE_LIBICU_I18N 1)
+- set(ICUI18N_LIBS "-licui18n") #for libical.pc
+ endif()
+
+ # MSVC specific definitions
+diff --git a/libical.pc.in b/libical.pc.in
+index 8899f430..c07eb52a 100644
+--- a/libical.pc.in
++++ b/libical.pc.in
+@@ -2,11 +2,11 @@ prefix=@prefix@
+ exec_prefix=@exec_prefix@
+ libdir=@libdir@
+ includedir=@includedir@
+-threadslib=@PTHREAD_LIBS@
+-iculibs=@ICUUC_LIBS@ @ICUI18N_LIBS@
+
+ Name: libical
+ Description: An implementation of basic iCAL protocols
+ Version: @LIBICAL_LIB_VERSION_STRING@
+-Libs: -L${libdir} -lical -licalss -licalvcal ${threadslib} ${iculibs}
++Libs: -L${libdir} -lical -licalss -licalvcal
++Libs.private: @PTHREAD_LIBS@
++@REQUIRES_PRIVATE_ICU@
+ Cflags: -I${includedir}
diff --git a/dev-libs/libical/files/libical-2.0.0-libical.pc-icu-remove-full-paths.patch b/dev-libs/libical/files/libical-2.0.0-libical.pc-icu-remove-full-paths.patch
new file mode 100644
index 000000000000..08cf51f94082
--- /dev/null
+++ b/dev-libs/libical/files/libical-2.0.0-libical.pc-icu-remove-full-paths.patch
@@ -0,0 +1,44 @@
+commit 1a41069c0dc054e59cd76fc3d8cf7cc2a78b5e8d
+Author: Allen Winter <allen.winter@kdab.com>
+Date: Sat Sep 3 16:56:29 2016 -0400
+
+ CMakeLists.txt, libical.pc.in - fix iculibs (remove full path)
+ ISSUE: 227
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 0173e1a8..0c903ee5 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -145,6 +145,7 @@ endif()
+ # RSCALE info at http://tools.ietf.org/html/rfc7529
+ find_package(ICU)
+ if(ICU_FOUND)
++ set(ICUUC_LIBS "-licuuc") #for libical.pc
+ set(HAVE_LIBICU 1)
+ if(ICU_MAJOR_VERSION VERSION_GREATER 50)
+ set(HAVE_ICU_DANGI TRUE)
+@@ -154,6 +155,7 @@ if(ICU_FOUND)
+ endif()
+ if(ICU_I18N_FOUND)
+ set(HAVE_LIBICU_I18N 1)
++ set(ICUI18N_LIBS "-licui18n") #for libical.pc
+ endif()
+
+ # MSVC specific definitions
+diff --git a/libical.pc.in b/libical.pc.in
+index 5c2debd8..8899f430 100644
+--- a/libical.pc.in
++++ b/libical.pc.in
+@@ -3,10 +3,10 @@ exec_prefix=@exec_prefix@
+ libdir=@libdir@
+ includedir=@includedir@
+ threadslib=@PTHREAD_LIBS@
+-iculib=@ICU_LIBRARIES@ @ICU_I18N_LIBRARIES@
++iculibs=@ICUUC_LIBS@ @ICUI18N_LIBS@
+
+ Name: libical
+ Description: An implementation of basic iCAL protocols
+ Version: @LIBICAL_LIB_VERSION_STRING@
+-Libs: -L${libdir} -lical -licalss -licalvcal ${threadslib} ${iculib}
++Libs: -L${libdir} -lical -licalss -licalvcal ${threadslib} ${iculibs}
+ Cflags: -I${includedir}
diff --git a/dev-libs/libical/files/libical-2.0.0-libical.pc-set-full-version.patch b/dev-libs/libical/files/libical-2.0.0-libical.pc-set-full-version.patch
new file mode 100644
index 000000000000..403ee84cd651
--- /dev/null
+++ b/dev-libs/libical/files/libical-2.0.0-libical.pc-set-full-version.patch
@@ -0,0 +1,19 @@
+commit cdc85e9e7a14932808471f823bc974031a0c4842
+Author: Allen Winter <allen.winter@kdab.com>
+Date: Mon Jan 25 14:57:20 2016 -0500
+
+ libical.pc.in - set the version to the full major.minor.patch
+ as requested by Milan.
+
+diff --git a/libical.pc.in b/libical.pc.in
+index 7774dce2..5c2debd8 100644
+--- a/libical.pc.in
++++ b/libical.pc.in
+@@ -7,6 +7,6 @@ iculib=@ICU_LIBRARIES@ @ICU_I18N_LIBRARIES@
+
+ Name: libical
+ Description: An implementation of basic iCAL protocols
+-Version: @VERSION@
++Version: @LIBICAL_LIB_VERSION_STRING@
+ Libs: -L${libdir} -lical -licalss -licalvcal ${threadslib} ${iculib}
+ Cflags: -I${includedir}
diff --git a/dev-libs/libical/files/libical-2.0.0-tests.patch b/dev-libs/libical/files/libical-2.0.0-tests.patch
new file mode 100644
index 000000000000..a274382b3152
--- /dev/null
+++ b/dev-libs/libical/files/libical-2.0.0-tests.patch
@@ -0,0 +1,38 @@
+From b1081cccb90fbe4cd859d3280a0470c30dce5cac Mon Sep 17 00:00:00 2001
+From: Allen Winter <allen.winter@kdab.com>
+Date: Thu, 24 Mar 2016 16:28:02 -0400
+Subject: [PATCH] recur.c, testvcal.c - use TEST_DATADIR to point to the test
+ data thereby fixing in-source building ISSUE#228
+ https://bugs.gentoo.org/show_bug.cgi?id=532296
+
+---
+ src/test/recur.c | 2 +-
+ src/test/testvcal.c | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/test/recur.c b/src/test/recur.c
+index d427137a..873ec48a 100644
+--- a/src/test/recur.c
++++ b/src/test/recur.c
+@@ -67,7 +67,7 @@ int main(int argc, char *argv[])
+ #endif
+
+ if (argc <= 1) {
+- file = "../../test-data/recur.txt";
++ file = TEST_DATADIR "/recur.txt";
+ } else if (argc == 2) {
+ file = argv[1];
+ } else {
+diff --git a/src/test/testvcal.c b/src/test/testvcal.c
+index feee8147..024bbe99 100644
+--- a/src/test/testvcal.c
++++ b/src/test/testvcal.c
+@@ -44,7 +44,7 @@ int main(int argc, char *argv[])
+ char *file;
+
+ if (argc != 2) {
+- file = "../../test-data/user-cal.vcf";
++ file = TEST_DATADIR "/user-cal.vcf";
+ } else {
+ file = argv[1];
+ }
diff --git a/dev-libs/libical/files/libical-3.0.1-pkgconfig-libdir.patch b/dev-libs/libical/files/libical-3.0.1-pkgconfig-libdir.patch
new file mode 100644
index 000000000000..aae02abc537d
--- /dev/null
+++ b/dev-libs/libical/files/libical-3.0.1-pkgconfig-libdir.patch
@@ -0,0 +1,44 @@
+Fix pkgconfig libdir paths.
+
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -336,7 +336,7 @@
+ set(VERSION "${PROJECT_VERSION}")
+ set(prefix "${CMAKE_INSTALL_PREFIX}")
+ set(exec_prefix "\${prefix}")
+-set(libdir "\${exec_prefix}/lib")
++set(libdir "${LIB_INSTALL_DIR}")
+ set(includedir "\${prefix}/include")
+ set(PTHREAD_LIBS "${CMAKE_THREAD_LIBS_INIT}")
+
+--- a/libical.pc.in
++++ b/libical.pc.in
+@@ -8,7 +8,7 @@
+ Name: libical
+ Description: An implementation of basic iCAL protocols
+ Version: @LIBICAL_LIB_VERSION_STRING@
+-Libs: -L${libdir} -lical -licalss -licalvcal
++Libs: -lical -licalss -licalvcal
+ Libs.private: @PTHREAD_LIBS@
+ @REQUIRES_PRIVATE_ICU@
+ Cflags: -I${includedir}
+--- a/src/libical-glib/CMakeLists.txt
++++ b/src/libical-glib/CMakeLists.txt
+@@ -233,7 +233,7 @@
+
+ set(prefix "${CMAKE_INSTALL_PREFIX}")
+ set(exec_prefix "\${prefix}")
+-set(libdir "\${exec_prefix}/lib")
++set(libdir "${LIB_INSTALL_DIR}")
+ set(includedir "\${prefix}/include")
+
+ configure_file(
+--- a/src/libical-glib/libical-glib.pc.in
++++ b/src/libical-glib/libical-glib.pc.in
+@@ -8,4 +8,4 @@
+ Version: @LIBICAL_LIB_VERSION_STRING@
+ Requires: glib-2.0, gobject-2.0, libical
+ Cflags: -I{includedir}
+-Libs: -L${libdir} -lical-glib
++Libs: -lical-glib
+
diff --git a/dev-libs/libical/files/libical-3.0.3-findicu-pkgconfig.patch b/dev-libs/libical/files/libical-3.0.3-findicu-pkgconfig.patch
new file mode 100644
index 000000000000..7f0ffc4b4280
--- /dev/null
+++ b/dev-libs/libical/files/libical-3.0.3-findicu-pkgconfig.patch
@@ -0,0 +1,58 @@
+From 5c682db0dd1cfd7090dd191e89613ad5fb9fc078 Mon Sep 17 00:00:00 2001
+From: Allen Winter <allen.winter@kdab.com>
+Date: Sat, 26 May 2018 09:06:10 -0400
+Subject: [PATCH] cmake/modules/FindICU.cmake - allow pkgconfig to get is a
+ hint
+
+---
+ cmake/modules/FindICU.cmake | 13 ++++++-------
+ 1 file changed, 6 insertions(+), 7 deletions(-)
+
+diff --git a/cmake/modules/FindICU.cmake b/cmake/modules/FindICU.cmake
+index 12a1812d..53213efe 100644
+--- a/cmake/modules/FindICU.cmake
++++ b/cmake/modules/FindICU.cmake
+@@ -23,16 +23,12 @@ if(WIN32)
+ file(TO_CMAKE_PATH "$ENV{PROGRAMFILES}" _program_FILES_DIR)
+ endif()
+
+-if(ICU_INCLUDE_DIR AND ICU_LIBRARY)
+- # Already in cache, be silent
+- set(ICU_FIND_QUIETLY TRUE)
+-endif()
+-
+-#set the root from the ICU_BASE environment
+ file(TO_NATIVE_PATH "$ENV{ICU_BASE}" icu_root)
+-#override the root from ICU_BASE defined to cmake
+ if(DEFINED ICU_BASE)
+ file(TO_NATIVE_PATH "${ICU_BASE}" icu_root)
++else()
++ find_package(PkgConfig QUIET)
++ pkg_check_modules(PC_LibICU QUIET icu-i18n)
+ endif()
+
+ # Look for the header file.
+@@ -42,6 +38,7 @@ find_path(
+ HINTS
+ ${icu_root}/include
+ ${_program_FILES_DIR}/icu/include
++ ${PC_LibICU_INCLUDEDIR}
+ /usr/local/opt/icu4c/include
+ DOC "Include directory for the ICU library"
+ )
+@@ -56,6 +53,7 @@ find_library(
+ ${icu_root}/lib/
+ ${_program_FILES_DIR}/icu/lib64/
+ ${_program_FILES_DIR}/icu/lib/
++ ${PC_LibICU_LIBDIR}
+ /usr/local/opt/icu4c/lib/
+ DOC "Libraries to link against for the common parts of ICU"
+ )
+@@ -98,6 +96,7 @@ if(ICU_INCLUDE_DIR AND ICU_LIBRARY)
+ HINTS
+ ${icu_root}/lib/
+ ${_program_FILES_DIR}/icu/lib/
++ ${PC_LibICU_LIBDIR}
+ /usr/local/opt/icu4c/lib/
+ DOC "Libraries to link against for ICU internationalization"
+ )
diff --git a/dev-libs/libical/libical-2.0.0-r3.ebuild b/dev-libs/libical/libical-2.0.0-r3.ebuild
new file mode 100644
index 000000000000..f92f67e5d8cf
--- /dev/null
+++ b/dev-libs/libical/libical-2.0.0-r3.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit cmake-utils
+
+DESCRIPTION="An implementation of basic iCAL protocols"
+HOMEPAGE="https://github.com/libical/libical"
+SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="|| ( MPL-1.0 LGPL-2.1 )"
+SLOT="0/2"
+KEYWORDS="alpha amd64 arm ~arm64 ~hppa ia64 ~mips ppc ppc64 sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris"
+IUSE="doc examples static-libs"
+
+# The GOBJECT_INTROSPECTION build is broken, and upstream has given up
+# on it at the moment (it's disabled in Travis). It will probably come
+# back in v2.0.1 or later.
+# This snippet belongs to RDEPEND:
+# introspection? ( dev-libs/gobject-introspection )"
+RDEPEND="dev-libs/icu:="
+DEPEND="${RDEPEND}
+ dev-lang/perl"
+
+DOCS=(
+ AUTHORS ReadMe.txt ReleaseNotes.txt TEST THANKS TODO
+ doc/{AddingOrModifyingComponents,UsingLibical}.txt
+)
+
+PATCHES=(
+ "${FILESDIR}/${P}-libical.pc-set-full-version.patch"
+ "${FILESDIR}/${P}-libical.pc-icu-remove-full-paths.patch"
+ "${FILESDIR}/${P}-libical.pc-icu-move-to-requires.patch"
+ "${FILESDIR}/${P}-libical.pc-fix-libdir-location.patch"
+ "${FILESDIR}/${P}-tests.patch" #bug 532296
+)
+
+src_configure() {
+ # See above, introspection is disabled for v2.0.0 at least.
+ #local mycmakeargs=(
+ # -DGOBJECT_INTROSPECTION=$(usex introspection true false)
+ #)
+ use static-libs || mycmakeargs+=( -DSHARED_ONLY=ON )
+ cmake-utils_src_configure
+}
+
+src_test() {
+ local myctestargs=( -j1 )
+ cmake-utils_src_test
+}
+
+src_install() {
+ cmake-utils_src_install
+
+ if use examples; then
+ rm examples/CMakeLists.txt || die
+ dodoc -r examples
+ fi
+}
diff --git a/dev-libs/libical/libical-3.0.3.ebuild b/dev-libs/libical/libical-3.0.3.ebuild
new file mode 100644
index 000000000000..fe0236af8a46
--- /dev/null
+++ b/dev-libs/libical/libical-3.0.3.ebuild
@@ -0,0 +1,90 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python3_{4,5,6} )
+inherit cmake-utils python-any-r1
+
+DESCRIPTION="An implementation of basic iCAL protocols"
+HOMEPAGE="https://github.com/libical/libical"
+SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="|| ( MPL-2.0 LGPL-2.1 )"
+SLOT="0/3"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris"
+IUSE="berkdb doc examples static-libs test"
+
+# TODO: disabled until useful
+# glib? (
+# dev-libs/glib:2
+# dev-libs/libxml2:2
+# )
+# introspection? ( dev-libs/gobject-introspection:= )
+COMMON_DEPEND="
+ dev-libs/icu:=
+ berkdb? ( sys-libs/db:= )
+"
+DEPEND="${COMMON_DEPEND}
+ dev-lang/perl
+ virtual/pkgconfig
+ doc? ( app-doc/doxygen )
+ test? ( ${PYTHON_DEPS} )
+"
+RDEPEND="${COMMON_DEPEND}
+ sys-libs/timezone-data
+"
+
+DOCS=(
+ AUTHORS ReadMe.txt ReleaseNotes.txt TEST THANKS TODO
+ doc/{AddingOrModifyingComponents,UsingLibical}.txt
+)
+
+PATCHES=(
+ "${FILESDIR}/${PN}-3.0.1-pkgconfig-libdir.patch"
+ "${FILESDIR}/${P}-findicu-pkgconfig.patch"
+)
+
+pkg_setup() {
+ use test && python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ cmake-utils_src_prepare
+ use examples || cmake_comment_add_subdirectory examples
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DICAL_GLIB=OFF
+ -DGOBJECT_INTROSPECTION=OFF
+ $(cmake-utils_use_find_package berkdb BDB)
+ -DICAL_BUILD_DOCS=$(usex doc)
+ -DSHARED_ONLY=$(usex !static-libs)
+ )
+# TODO: disabled until useful
+# -DICAL_GLIB=$(usex glib)
+# -DGOBJECT_INTROSPECTION=$(usex introspection)
+ cmake-utils_src_configure
+}
+
+src_compile() {
+ cmake-utils_src_compile
+ use doc && cmake-utils_src_compile docs
+}
+
+src_test() {
+ local myctestargs=( -j1 )
+ cmake-utils_src_test
+}
+
+src_install() {
+ use doc && HTML_DOCS=( "${BUILD_DIR}"/apidocs/html/. )
+
+ cmake-utils_src_install
+
+ if use examples; then
+ rm examples/CMakeLists.txt || die
+ dodoc -r examples
+ fi
+}
diff --git a/dev-libs/libical/metadata.xml b/dev-libs/libical/metadata.xml
new file mode 100644
index 000000000000..002b34042a96
--- /dev/null
+++ b/dev-libs/libical/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>asturm@gentoo.org</email>
+ <name>Andreas Sturmlechner</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">libical/libical</remote-id>
+ </upstream>
+</pkgmetadata>