libical: fix build failure after changing machine

libical build QA fails when libical is built for e.g. qemux86-64 already, and
is then built for generic86-64 in a way that install is re-run:

$ MACHINE=qemux86-64 bitbake libical
$ MACHINE=genericx86-64 bitbake -f -Cinstall libical

ERROR: libical-2.0.0-r0 do_populate_sysroot: QA Issue: libical.pc failed
sanity test (tmpdir) in path

[YOCTO #10223]

(From OE-Core rev: 0445e68fdbbba5c4efb6422c89ee864e4273b114)

Signed-off-by: Maxin B. John <maxin.john@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Maxin B. John 2016-09-08 18:46:54 +03:00 committed by Richard Purdie
parent 25468b58a5
commit 6b889ff46e
2 changed files with 46 additions and 8 deletions

View File

@ -0,0 +1,44 @@
From 1a41069c0dc054e59cd76fc3d8cf7cc2a78b5e8d Mon Sep 17 00:00:00 2001
From: Allen Winter <allen.winter@kdab.com>
Date: Sat, 3 Sep 2016 16:56:29 -0400
Subject: [PATCH] CMakeLists.txt, libical.pc.in - fix iculibs (remove full path) ISSUE: 227
Upstream-Status: Backport
Signed-off-by: Maxin B. John <maxin.john@intel.com>
----
diff -Naur libical-2.0.0-orig/CMakeLists.txt libical-2.0.0/CMakeLists.txt
--- libical-2.0.0-orig/CMakeLists.txt 2016-09-08 18:05:06.166049345 +0300
+++ libical-2.0.0/CMakeLists.txt 2016-09-08 18:05:45.201561334 +0300
@@ -128,6 +128,7 @@
# 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)
@@ -137,6 +138,7 @@
endif()
if(ICU_I18N_FOUND)
set(HAVE_LIBICU_I18N 1)
+ set(ICUI18N_LIBS "-licui18n") #for libical.pc
endif()
# MSVC specific definitions
diff -Naur libical-2.0.0-orig/libical.pc.in libical-2.0.0/libical.pc.in
--- libical-2.0.0-orig/libical.pc.in 2015-12-28 23:44:53.000000000 +0200
+++ libical-2.0.0/libical.pc.in 2016-09-08 18:09:12.991963597 +0300
@@ -3,10 +3,10 @@
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: @VERSION@
-Libs: -L${libdir} -lical -licalss -licalvcal ${threadslib} ${iculib}
+Libs: -L${libdir} -lical -licalss -licalvcal ${threadslib} ${iculibs}
Cflags: -I${includedir}

View File

@ -8,6 +8,7 @@ SECTION = "libs"
SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/v${PV}/${BP}.tar.gz \
file://Remove-cmake-check-for-Perl.patch \
file://0001-CMakeLists.txt-libical.pc.in-fix-iculibs-remove-full.patch \
"
DEPENDS = "icu"
@ -15,13 +16,6 @@ SRC_URI[md5sum] = "6bf8e5f5a3ba88baf390d0134e05d76e"
SRC_URI[sha256sum] = "654c11f759c19237be39f6ad401d917e5a05f36f1736385ed958e60cf21456da"
UPSTREAM_CHECK_URI = "https://github.com/libical/libical/releases"
inherit cmake
inherit cmake pkgconfig
FILES_${PN}-dev += "${libdir}/cmake/*"
#
# Turn specific library paths in the pkgconfig file into standard library entries
#
do_install_append () {
sed -i -e "s#${STAGING_LIBDIR}/lib\([a-z0-9]*\)\.so#-l\1#g" ${D}${libdir}/pkgconfig/libical.pc
}