diff --git a/0001-build-ICU-must-appear-as-Requires-in-pkgconfig.patch b/0001-build-ICU-must-appear-as-Requires-in-pkgconfig.patch new file mode 100644 index 0000000..4a4f9f8 --- /dev/null +++ b/0001-build-ICU-must-appear-as-Requires-in-pkgconfig.patch @@ -0,0 +1,43 @@ +From 101a29ef57341a786012eb07dcfcec5c597f4493 Mon Sep 17 00:00:00 2001 +X-Backport: Rediff for 2.0.0 +From: Jan Engelhardt +Date: Mon, 3 Oct 2016 10:25:00 +0200 +Subject: [PATCH] build: ICU must appear as Requires in pkgconfig +References: https://github.com/libical/libical/pull/244 + +libical.pc specifies -licu-i18n in its Libs: field, +but no Requires: icu-i18n. As a result, the automatic dependency +generator in Linux distributions won't see the ICU requirement, +won't install it, and builds of secondary software fails. + +$ gcc icalthing.c `pkg-config libical --cflags --libs` +[...] +gcc: error: /usr/lib64/libicuuc.so: No such file or directory + +Move ICU from Libs to Requires, so the dependency scanner can do its +job. Specifically move it to Requires.private, since specifying -licu* +is not normally needed when libical is a shared library since it +already has it recorded in the ELF. +--- + libical.pc.in | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +Index: libical-2.0.0/libical.pc.in +=================================================================== +--- libical-2.0.0.orig/libical.pc.in ++++ libical-2.0.0/libical.pc.in +@@ -2,11 +2,11 @@ prefix=@prefix@ + exec_prefix=@exec_prefix@ + libdir=@libdir@ + includedir=@includedir@ +-threadslib=@PTHREAD_LIBS@ +-iculib=@ICU_LIBRARIES@ @ICU_I18N_LIBRARIES@ + + Name: libical + Description: An implementation of basic iCAL protocols + Version: @VERSION@ +-Libs: -L${libdir} -lical -licalss -licalvcal ${threadslib} ${iculib} ++Libs: -L${libdir} -lical -licalss -licalvcal ++Libs.private: @PTHREAD_LIBS@ ++Requires.private: icu-i18n + Cflags: -I${includedir} diff --git a/libical.changes b/libical.changes index 20ecb9a..21987e2 100644 --- a/libical.changes +++ b/libical.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Mon Oct 3 08:38:07 UTC 2016 - jengelh@inai.de + +- Add 0001-build-ICU-must-appear-as-Requires-in-pkgconfig.patch + ------------------------------------------------------------------- Thu Sep 29 14:06:35 UTC 2016 - jengelh@inai.de diff --git a/libical.spec b/libical.spec index 377e001..29db2fc 100644 --- a/libical.spec +++ b/libical.spec @@ -24,8 +24,11 @@ Summary: An Implementation of Basic iCAL Protocols License: MPL-1.0 or LGPL-2.1 Group: Development/Libraries/C and C++ Url: http://sourceforge.net/projects/freeassociation/ + +#Git-Clone: https://github.com/libical/libical Source: https://github.com/libical/libical/releases/download/v%{version}/%{name}-%{version}.tar.gz Source2: baselibs.conf +Patch1: 0001-build-ICU-must-appear-as-Requires-in-pkgconfig.patch BuildRequires: cmake >= 2.4 BuildRequires: gcc-c++ BuildRequires: pkg-config @@ -87,6 +90,7 @@ component properties, parameters, and subcomponents. %prep %setup -q +%patch -P 1 -p1 %build %cmake