Package: libcmis
Version: 0.5.2-1
Severity: normal
Tags: patch
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu focal ubuntu-patch

Hi,

When built against icu in experimental:

/usr/include/unicode/localpointer.h:371:1: error: template with C linkage
  371 | template<typename T>
      | ^~~~~~~~
In file included from repository.cxx:29:
../../inc/libcmis-c/repository.h:32:1: note: ‘extern "C"’ linkage started here
   32 | extern "C" {
      | ^~~~~~~~~~
In file included from /usr/include/unicode/uenum.h:23,
                 from /usr/include/unicode/ucnv.h:53,
                 from /usr/include/libxml2/libxml/encoding.h:31,
                 from /usr/include/libxml2/libxml/parser.h:810,
                 from /usr/include/libxml2/libxml/globals.h:18,
                 from /usr/include/libxml2/libxml/threads.h:35,
                 from /usr/include/libxml2/libxml/xmlmemory.h:218,
                 from /usr/include/libxml2/libxml/tree.h:1307,
                 from ../../inc/libcmis-c/repository.h:35,
                 from repository.cxx:29:
/usr/include/unicode/ucnv.h:585:1: error: conflicting declaration of C function 
‘void icu_66::swap(icu_66::LocalUConverterPointer&, 
icu_66::LocalUConverterPointer&)’
  585 | U_DEFINE_LOCAL_OPEN_POINTER(LocalUConverterPointer, UConverter, 
ucnv_close);
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/unicode/uenum.h:68:1: note: previous declaration ‘void 
icu_66::swap(icu_66::LocalUEnumerationPointer&, 
icu_66::LocalUEnumerationPointer&)’
   68 | U_DEFINE_LOCAL_OPEN_POINTER(LocalUEnumerationPointer, UEnumeration, 
uenum_close);
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
make[4]: *** [Makefile:619: libcmis_c_0.5_la-repository.lo] Error 1
make[4]: *** Waiting for unfinished jobs....
make[4]: Leaving directory '/<<PKGBUILDDIR>>/src/libcmis-c'
make[3]: *** [Makefile:523: all-recursive] Error 1
make[3]: Leaving directory '/<<PKGBUILDDIR>>/src'
make[2]: *** [Makefile:538: all-recursive] Error 1
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[1]: *** [debian/rules:43: override_dh_auto_build] Error 2
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
make: *** [debian/rules:23: build] Error 2

Fixed with the attached patch. I'll poke upstream to re-consider it.

Cheers,

-- 
Iain Lane                                  [ i...@orangesquash.org.uk ]
Debian Developer                                   [ la...@debian.org ]
Ubuntu Developer                                   [ la...@ubuntu.com ]
diff -Nru libcmis-0.5.2/debian/control libcmis-0.5.2/debian/control
--- libcmis-0.5.2/debian/control        2020-02-03 20:42:17.000000000 +0000
+++ libcmis-0.5.2/debian/control        2020-04-07 15:16:03.000000000 +0100
@@ -1,7 +1,6 @@
 Source: libcmis
 Priority: optional
-Maintainer: Ubuntu Developers <ubuntu-devel-disc...@lists.ubuntu.com>
-XSBC-Original-Maintainer: Debian LibreOffice Maintainers 
<debian-openoff...@lists.debian.org>
+Maintainer: Debian LibreOffice Maintainers <debian-openoff...@lists.debian.org>
 Uploaders: Rene Engelhard <r...@debian.org>
 Build-Depends: debhelper (>= 9), autotools-dev, libxml2-dev, libboost-dev, 
libboost-program-options-dev, libcurl4-gnutls-dev, libcppunit-dev (>= 1.12), 
docbook2x, libboost-date-time-dev, dpkg-dev (>= 1.16.1), pkg-config, 
dh-autoreconf, docbook-xml, dh-exec (>= 0.3)
 Standards-Version: 3.9.6
diff -Nru 
libcmis-0.5.2/debian/patches/include-libxml-headers-outside-of-extern-c 
libcmis-0.5.2/debian/patches/include-libxml-headers-outside-of-extern-c
--- libcmis-0.5.2/debian/patches/include-libxml-headers-outside-of-extern-c     
1970-01-01 01:00:00.000000000 +0100
+++ libcmis-0.5.2/debian/patches/include-libxml-headers-outside-of-extern-c     
2020-04-07 15:16:01.000000000 +0100
@@ -0,0 +1,22 @@
+Description: Move include outside of "extern C" block
+Author: Iain Lane <la...@ubuntu.com>
+Bug-Upstream: https://unicode-org.atlassian.net/browse/ICU-20530
+Forwarded: https://github.com/tdf/libcmis/issues/35
+
+--- libcmis-0.5.2.orig/inc/libcmis-c/repository.h
++++ libcmis-0.5.2/inc/libcmis-c/repository.h
+@@ -28,12 +28,12 @@
+ #ifndef _REPOSITORY_H_
+ #define _REPOSITORY_H_
+ 
++#include <libxml/tree.h>
++
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+ 
+-#include <libxml/tree.h>
+-
+ #include "libcmis-c/libcmis-c-api.h"
+ #include "libcmis-c/types.h"
+ 
diff -Nru libcmis-0.5.2/debian/patches/series 
libcmis-0.5.2/debian/patches/series
--- libcmis-0.5.2/debian/patches/series 2018-12-28 19:02:55.000000000 +0000
+++ libcmis-0.5.2/debian/patches/series 2020-04-07 15:09:40.000000000 +0100
@@ -1 +1,2 @@
 fix-docbook-to-man-call.diff
+include-libxml-headers-outside-of-extern-c

Reply via email to