[packages/poco] up to 1.6.1

glen glen at pld-linux.org
Thu Dec 17 10:55:38 CET 2015


commit 9579d3d7de7a377c5a649a3fad3447068ecf85a6
Author: Elan Ruusamäe <glen at delfi.ee>
Date:   Thu Dec 17 11:52:17 2015 +0200

    up to 1.6.1
    
    update pcre patch from buildroot project
    however build still fails with pcre errors:
    https://github.com/pocoproject/poco/issues/120#issuecomment-165404055

 pcre.patch | 60 ++++++++++++++++++++++++++++++++++++++++++++----------------
 poco.spec  | 26 ++++++++++++++++++++++----
 2 files changed, 66 insertions(+), 20 deletions(-)
---
diff --git a/poco.spec b/poco.spec
index b01e9d4..b3e865f 100644
--- a/poco.spec
+++ b/poco.spec
@@ -7,12 +7,12 @@
 
 Summary:	C++ class libraries and frameworks for building network- and internet-based applications
 Name:		poco
-Version:	1.4.7p1
+Version:	1.6.1
 Release:	0.1
 License:	Boost
 Group:		Libraries
-Source0:	http://pocoproject.org/releases/poco-1.4.7/%{name}-%{version}-all.tar.gz
-# Source0-md5:	12551b729456c985cffd14e977526c01
+Source0:	http://pocoproject.org/releases/poco-%{version}/%{name}-%{version}-all.tar.gz
+# Source0-md5:	05961d10195d0f760b707752e88938e9
 Patch0:		pcre.patch
 URL:		http://pocoproject.org/
 BuildRequires:	expat-devel
@@ -192,6 +192,8 @@ application testing purposes.
 %{__sed} -i -e 's|#endif|#define POCO_UNBUNDLED 1\n\n#endif|g' Foundation/include/Poco/Config.h
 %{__sed} -i -e 's|"Poco/zlib.h"|<zlib.h>|g' Zip/src/ZipStream.cpp
 
+# the file lists came from Foundation/CMakeLists.txt
+
 %{__rm} Foundation/src/MSG00001.bin
 %{__rm} Foundation/include/Poco/zconf.h
 %{__rm} Foundation/include/Poco/zlib.h
@@ -216,6 +218,8 @@ application testing purposes.
 %{__rm} Foundation/src/zlib.h
 %{__rm} Foundation/src/zutil.c
 %{__rm} Foundation/src/zutil.h
+
+# Foundation/src/pcre* with manual overview
 %{__rm} Foundation/src/pcre.h
 %{__rm} Foundation/src/pcre_chartables.c
 %{__rm} Foundation/src/pcre_compile.c
@@ -226,13 +230,27 @@ application testing purposes.
 %{__rm} Foundation/src/pcre_newline.c
 %{__rm} Foundation/src/pcre_ord2utf8.c
 %{__rm} Foundation/src/pcre_study.c
-%{__rm} Foundation/src/pcre_try_flipped.c
 %{__rm} Foundation/src/pcre_valid_utf8.c
 %{__rm} Foundation/src/pcre_xclass.c
+%{__rm} Foundation/src/pcre_byte_order.c
+%{__rm} Foundation/src/pcre_config.c
+%{__rm} Foundation/src/pcre_config.h
+%{__rm} Foundation/src/pcre_dfa_exec.c
+%{__rm} Foundation/src/pcre_get.c
+%{__rm} Foundation/src/pcre_internal.h
+%{__rm} Foundation/src/pcre_jit_compile.c
+%{__rm} Foundation/src/pcre_refcount.c
+%{__rm} Foundation/src/pcre_string_utils.c
+%{__rm} Foundation/src/pcre_tables.c
+%{__rm} Foundation/src/pcre_ucd.c
+%{__rm} Foundation/src/pcre_version.c
+
 %{__rm} Data/SQLite/src/sqlite3.h
 %{__rm} Data/SQLite/src/sqlite3.c
+
 %{__rm} XML/include/Poco/XML/expat.h
 %{__rm} XML/include/Poco/XML/expat_external.h
+
 %{__rm} XML/src/ascii.h
 %{__rm} XML/src/asciitab.h
 %{__rm} XML/src/expat_config.h
diff --git a/pcre.patch b/pcre.patch
index 084bd09..0f8f261 100644
--- a/pcre.patch
+++ b/pcre.patch
@@ -1,22 +1,45 @@
 https://github.com/pocoproject/poco/issues/120#issuecomment-15488808
 
-Index: poco-1.5.0/Foundation/Makefile
-===================================================================
---- poco-1.5.0.orig/Foundation/Makefile
-+++ poco-1.5.0/Foundation/Makefile
-@@ -45,6 +45,7 @@ pcre_utf8_objects = pcre_ucd pcre_tables
+Origin: https://github.com/buildroot/buildroot/blob/master/package/poco/0004-fix-unbundled-pcre-usage.patch
+From 75636a750ecd93305eabe226ad95d2a58e65117f Mon Sep 17 00:00:00 2001
+From: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
+Date: Tue, 3 Nov 2015 16:33:33 +0100
+Subject: [PATCH] Fix build with unbundled pcre
+
+Poco supports two modes for the pcre library: bundled (the default)
+and unbundled. In bundled mode, an internal copy of the pcre library
+is used by Poco. Since this isn't really nice, Buildroot uses the
+"unbundled" mode. However, Poco pokes into some internal symbols of
+pcre, which doesn't play well with unbundled.
+
+To solve this, this commit is an adaptation of the Gentoo patch at
+https://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-libs/poco/files/poco-1.4.4-patch-for-libpcre-8.32.patch?revision=1.1
+to make such symbols available internally in Poco, by using parts of
+the bundled Pcre copy.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
+---
+ Foundation/Makefile            |  1 +
+ Foundation/src/pcre_internal.h | 17 +++++++++++++++++
+ 2 files changed, 18 insertions(+)
+
+diff --git a/Foundation/Makefile b/Foundation/Makefile
+index a347daa..9231c51 100644
+--- a/Foundation/Makefile
++++ b/Foundation/Makefile
+@@ -46,6 +46,7 @@ pcre_utf8_objects = pcre_ucd pcre_tables
  
  ifdef POCO_UNBUNDLED
  	SYSLIBS += -lpcre -lz
-+	objects += $(pcre_utf8_objects) # unicode.cpp uses internal pcre tables
++	objects += $(pcre_utf8_objects)
  else
  	objects += $(zlib_objects) $(pcre_objects) $(pcre_utf8_objects)
  endif
-Index: poco-1.5.0/Foundation/src/pcre_internal.h
-===================================================================
---- poco-1.5.0.orig/Foundation/src/pcre_internal.h
-+++ poco-1.5.0/Foundation/src/pcre_internal.h
-@@ -1109,6 +1109,16 @@ typedef struct {
+diff --git a/Foundation/src/pcre_internal.h b/Foundation/src/pcre_internal.h
+index f3e69fc..c6f1d44 100644
+--- a/Foundation/src/pcre_internal.h
++++ b/Foundation/src/pcre_internal.h
+@@ -2636,6 +2636,17 @@ typedef struct {
  } ucp_type_table;
  
  
@@ -30,11 +53,12 @@ Index: poco-1.5.0/Foundation/src/pcre_internal.h
 +#define _pcre_utt_size         _poco__pcre_utt_size
 +#define _pcre_utt_names        _poco__pcre_utt_names
 +#define _pcre_OP_lengths       _poco__pcre_OP_lengths
++
  /* Internal shared data tables. These are tables that are used by more than one
  of the exported public functions. They have to be "external" in the C sense,
  but are not part of the PCRE public API. The data for these tables is in the
-@@ -1153,6 +1163,11 @@ typedef struct {
-   pcre_int32 other_case;
+@@ -2749,6 +2760,12 @@ typedef struct {
+   pcre_int32 other_case; /* offset to other case, or zero if none */
  } ucd_record;
  
 +/* renamed to avoid clashes with system pcre */
@@ -42,6 +66,10 @@ Index: poco-1.5.0/Foundation/src/pcre_internal.h
 +#define _pcre_ucd_stage1 _poco__pcre_ucd_stage1
 +#define _pcre_ucd_stage2 _poco__pcre_ucd_stage2
 +#define _pcre_ucp_gentype _poco__pcre_ucp_gentype
- extern const ucd_record  _pcre_ucd_records[];
- extern const uschar      _pcre_ucd_stage1[];
- extern const pcre_uint16 _pcre_ucd_stage2[];
++
+ extern const pcre_uint32 PRIV(ucd_caseless_sets)[];
+ extern const ucd_record  PRIV(ucd_records)[];
+ extern const pcre_uint8  PRIV(ucd_stage1)[];
+-- 
+2.6.2
+
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/poco.git/commitdiff/9579d3d7de7a377c5a649a3fad3447068ecf85a6



More information about the pld-cvs-commit mailing list