commit eacd55413e0aeac8a49ec43dced60bcc3d40ad28
Author: Bartek Szady <[email protected]>
Date:   Sun Mar 6 23:34:40 2016 +0100

    update pcre patch, add unbundled patch, update BuildRequires and files.
    It builds (with -flto too).

 pcre.patch      |   8 ++-
 poco.spec       | 124 +++++++++++++++++++++++++++++++++++-----------
 unbundled.patch | 149 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 250 insertions(+), 31 deletions(-)
---
diff --git a/poco.spec b/poco.spec
index cc0bc8a..49e5ca5 100644
--- a/poco.spec
+++ b/poco.spec
@@ -5,6 +5,8 @@
 %bcond_without tests           # build without tests
 %bcond_without samples         # build without tests
 
+%define                so_version 31
+
 Summary:       C++ class libraries and frameworks for building network- and 
internet-based applications
 Name:          poco
 Version:       1.6.1
@@ -14,15 +16,25 @@ Group:              Libraries
 Source0:       
http://pocoproject.org/releases/poco-%{version}/%{name}-%{version}-all.tar.gz
 # Source0-md5: 05961d10195d0f760b707752e88938e9
 Patch0:                pcre.patch
+Patch1:                unbundled.patch
 URL:           http://pocoproject.org/
 BuildRequires: expat-devel
-BuildRequires: libiodbc-devel
 BuildRequires: libstdc++-devel
 BuildRequires: mysql-devel
 BuildRequires: openssl-devel
 BuildRequires: pcre-devel
 BuildRequires: sqlite3-devel
+BuildRequires: unixODBC-devel
 BuildRequires: zlib-devel
+BuildRequires: glibc-static
+BuildRequires: expat-static
+BuildRequires: libltdl-static
+BuildRequires: libstdc++-static
+BuildRequires: mysql-static
+BuildRequires: openssl-static
+BuildRequires: pcre-static
+BuildRequires: sqlite3-static
+BuildRequires: unixODBC-static
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %description
@@ -120,6 +132,22 @@ Group:             Libraries
 This package contains the Zip component of POCO. (POCO is a set of C++
 class libraries for network-centric applications.)
 
+%package json
+Summary:       The JSON POCO component
+Group:         Libraries
+
+%description json
+This package contains the JSON component of POCO. (POCO is a set of C++
+class libraries for network-centric applications.)
+
+%package mongodb
+Summary:       The MongoDB POCO component
+Group:         Libraries
+
+%description mongodb
+This package contains the MongoDB component of POCO. (POCO is a set of C++
+class libraries for network-centric applications.)
+
 %package devel
 Summary:       Headers for developing programs that will use POCO
 Summary(pl.UTF-8):     Pliki nagłówkowe biblioteki POCO C++
@@ -128,6 +156,8 @@ Requires:   %{name}-crypto = %{version}-%{release}
 Requires:      %{name}-data = %{version}-%{release}
 Requires:      %{name}-debug = %{version}-%{release}
 Requires:      %{name}-foundation = %{version}-%{release}
+Requires:      %{name}-json = %{version}-%{release}
+Requires:      %{name}-mongodb = %{version}-%{release}
 Requires:      %{name}-mysql = %{version}-%{release}
 Requires:      %{name}-net = %{version}-%{release}
 Requires:      %{name}-netssl = %{version}-%{release}
@@ -184,6 +214,7 @@ application testing purposes.
 %prep
 %setup -q -n %{name}-%{version}-all
 %patch0 -p1
+%patch1 -p1
 
 %{__sed} -i -e 's|$(INSTALLDIR)/lib\b|$(INSTALLDIR)/%{_lib}|g' Makefile
 %{__sed} -i -e 's|ODBCLIBDIR = /usr/lib\b|ODBCLIBDIR = %{_libdir}|g' 
Data/ODBC/Makefile Data/ODBC/testsuite/Makefile
@@ -220,7 +251,7 @@ application testing purposes.
 %{__rm} Foundation/src/zutil.h
 
 # Foundation/src/pcre* with manual overview
-%{__rm} Foundation/src/pcre.h
+#%{__rm} Foundation/src/pcre.h
 %{__rm} Foundation/src/pcre_chartables.c
 %{__rm} Foundation/src/pcre_compile.c
 %{__rm} Foundation/src/pcre_exec.c
@@ -234,15 +265,15 @@ application testing purposes.
 %{__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_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_tables.c
+#%{__rm} Foundation/src/pcre_ucd.c
 %{__rm} Foundation/src/pcre_version.c
 
 %{__rm} Data/SQLite/src/sqlite3.h
@@ -278,7 +309,6 @@ find -regextype posix-extended -regex 
'.*\.(vc.?proj|sln|progen|cmd)' | xargs -r
        --unbundled \
        %{!?with_tests:--no-tests} \
        %{!?with_samples:--no-samples} \
-       --include-path=%{_includedir}/libiodbc \
        --library-path=%{_libdir}/mysql
 
 # POCO_BASE needs to be absolute real path (symlinks confuse it)
@@ -289,7 +319,7 @@ find -regextype posix-extended -regex 
'.*\.(vc.?proj|sln|progen|cmd)' | xargs -r
        CXX="%{__cxx}" \
        CFLAGS="%{rpmcflags}" \
        CXXFLAGS="%{rpmcxxflags}" \
-       LINKFLAGS="%{rpmldflags}"
+       LINKFLAGS="%{rpmldflags}" \
        STRIP=/bin/true
 
 %install
@@ -334,6 +364,12 @@ rm -rf $RPM_BUILD_ROOT
 %post  zip -p /sbin/ldconfig
 %postun        zip -p /sbin/ldconfig
 
+%post  json -p /sbin/ldconfig
+%postun        json -p /sbin/ldconfig
+
+%post  mongodb -p /sbin/ldconfig
+%postun        mongodb -p /sbin/ldconfig
+
 %post  debug -p /sbin/ldconfig
 %postun        debug -p /sbin/ldconfig
 
@@ -342,47 +378,55 @@ rm -rf $RPM_BUILD_ROOT
 
 %files foundation
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libPocoFoundation.so.17
+%attr(755,root,root) %{_libdir}/libPocoFoundation.so.%{so_version}
 
 %files xml
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libPocoXML.so.17
+%attr(755,root,root) %{_libdir}/libPocoXML.so.%{so_version}
 
 %files util
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libPocoUtil.so.17
+%attr(755,root,root) %{_libdir}/libPocoUtil.so.%{so_version}
 
 %files net
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libPocoNet.so.17
+%attr(755,root,root) %{_libdir}/libPocoNet.so.%{so_version}
 
 %files crypto
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libPocoCrypto.so.17
+%attr(755,root,root) %{_libdir}/libPocoCrypto.so.%{so_version}
 
 %files netssl
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libPocoNetSSL.so.17
+%attr(755,root,root) %{_libdir}/libPocoNetSSL.so.%{so_version}
 
 %files data
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libPocoData.so.17
+%attr(755,root,root) %{_libdir}/libPocoData.so.%{so_version}
 
 %files sqlite
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libPocoDataSQLite.so.17
+%attr(755,root,root) %{_libdir}/libPocoDataSQLite.so.%{so_version}
 
 %files odbc
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libPocoDataODBC.so.17
+%attr(755,root,root) %{_libdir}/libPocoDataODBC.so.%{so_version}
 
 %files mysql
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libPocoDataMySQL.so.17
+%attr(755,root,root) %{_libdir}/libPocoDataMySQL.so.%{so_version}
 
 %files zip
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libPocoZip.so.17
+%attr(755,root,root) %{_libdir}/libPocoZip.so.%{so_version}
+
+%files json
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libPocoJSON.so.%{so_version}
+
+%files mongodb
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libPocoMongoDB.so.%{so_version}
 
 %files pagecompiler
 %defattr(644,root,root,755)
@@ -393,17 +437,19 @@ rm -rf $RPM_BUILD_ROOT
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/cpspcd
 %attr(755,root,root) %{_bindir}/f2cpspd
-%attr(755,root,root) %{_libdir}/libPocoCryptod.so.17
-%attr(755,root,root) %{_libdir}/libPocoDataMySQLd.so.17
-%attr(755,root,root) %{_libdir}/libPocoDataODBCd.so.17
-%attr(755,root,root) %{_libdir}/libPocoDataSQLited.so.17
-%attr(755,root,root) %{_libdir}/libPocoDatad.so.17
-%attr(755,root,root) %{_libdir}/libPocoFoundationd.so.17
-%attr(755,root,root) %{_libdir}/libPocoNetSSLd.so.17
-%attr(755,root,root) %{_libdir}/libPocoNetd.so.17
-%attr(755,root,root) %{_libdir}/libPocoUtild.so.17
-%attr(755,root,root) %{_libdir}/libPocoXMLd.so.17
-%attr(755,root,root) %{_libdir}/libPocoZipd.so.17
+%attr(755,root,root) %{_libdir}/libPocoCryptod.so.%{so_version}
+%attr(755,root,root) %{_libdir}/libPocoDataMySQLd.so.%{so_version}
+%attr(755,root,root) %{_libdir}/libPocoDataODBCd.so.%{so_version}
+%attr(755,root,root) %{_libdir}/libPocoDataSQLited.so.%{so_version}
+%attr(755,root,root) %{_libdir}/libPocoDatad.so.%{so_version}
+%attr(755,root,root) %{_libdir}/libPocoFoundationd.so.%{so_version}
+%attr(755,root,root) %{_libdir}/libPocoJSONd.so.%{so_version}
+%attr(755,root,root) %{_libdir}/libPocoMongoDBd.so.%{so_version}
+%attr(755,root,root) %{_libdir}/libPocoNetSSLd.so.%{so_version}
+%attr(755,root,root) %{_libdir}/libPocoNetd.so.%{so_version}
+%attr(755,root,root) %{_libdir}/libPocoUtild.so.%{so_version}
+%attr(755,root,root) %{_libdir}/libPocoXMLd.so.%{so_version}
+%attr(755,root,root) %{_libdir}/libPocoZipd.so.%{so_version}
 
 %files devel
 %defattr(644,root,root,755)
@@ -420,6 +466,10 @@ rm -rf $RPM_BUILD_ROOT
 %{_libdir}/libPocoDatad.so
 %{_libdir}/libPocoFoundation.so
 %{_libdir}/libPocoFoundationd.so
+%{_libdir}/libPocoJSON.so
+%{_libdir}/libPocoJSONd.so
+%{_libdir}/libPocoMongoDB.so
+%{_libdir}/libPocoMongoDBd.so
 %{_libdir}/libPocoNet.so
 %{_libdir}/libPocoNetSSL.so
 %{_libdir}/libPocoNetSSLd.so
@@ -431,3 +481,19 @@ rm -rf $RPM_BUILD_ROOT
 %{_libdir}/libPocoZip.so
 %{_libdir}/libPocoZipd.so
 %{_includedir}/Poco
+
+%files static
+%defattr(644,root,root,755)
+%{_libdir}/libPocoCrypto.a
+%{_libdir}/libPocoData.a
+%{_libdir}/libPocoDataMySQL.a
+%{_libdir}/libPocoDataODBC.a
+%{_libdir}/libPocoDataSQLite.a
+%{_libdir}/libPocoFoundation.a
+%{_libdir}/libPocoJSON.a
+%{_libdir}/libPocoMongoDB.a
+%{_libdir}/libPocoNet.a
+%{_libdir}/libPocoNetSSL.a
+%{_libdir}/libPocoUtil.a
+%{_libdir}/libPocoXML.a
+%{_libdir}/libPocoZip.a
diff --git a/pcre.patch b/pcre.patch
index 0f8f261..ad4cca2 100644
--- a/pcre.patch
+++ b/pcre.patch
@@ -39,7 +39,7 @@ 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 {
+@@ -2636,6 +2636,20 @@ typedef struct {
  } ucp_type_table;
  
  
@@ -53,11 +53,14 @@ index f3e69fc..c6f1d44 100644
 +#define _pcre_utt_size         _poco__pcre_utt_size
 +#define _pcre_utt_names        _poco__pcre_utt_names
 +#define _pcre_OP_lengths       _poco__pcre_OP_lengths
++#define _pcre_ucp_gbtable      _poco__pcre_ucp_gbtable
++#define _pcre_vspace_list      _poco__pcre_vspace_list
++#define _pcre_hspace_list      _poco__pcre_hspace_list
 +
  /* 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
-@@ -2749,6 +2760,12 @@ typedef struct {
+@@ -2749,6 +2763,13 @@ typedef struct {
    pcre_int32 other_case; /* offset to other case, or zero if none */
  } ucd_record;
  
@@ -66,6 +69,7 @@ index f3e69fc..c6f1d44 100644
 +#define _pcre_ucd_stage1 _poco__pcre_ucd_stage1
 +#define _pcre_ucd_stage2 _poco__pcre_ucd_stage2
 +#define _pcre_ucp_gentype _poco__pcre_ucp_gentype
++#define _pcre_ucd_caseless_sets _poco__pcre_ucd_caseless_sets
 +
  extern const pcre_uint32 PRIV(ucd_caseless_sets)[];
  extern const ucd_record  PRIV(ucd_records)[];
diff --git a/unbundled.patch b/unbundled.patch
new file mode 100644
index 0000000..a462aaa
--- /dev/null
+++ b/unbundled.patch
@@ -0,0 +1,149 @@
+--- poco-1.6.1-all/build/config/Linux.orig     2016-03-06 12:23:25.000000000 
+0100
++++ poco-1.6.1-all/build/config/Linux  2016-03-06 15:17:01.123833319 +0100
+@@ -68,4 +68,4 @@
+ #
+ # System Specific Libraries
+ #
+-SYSLIBS  = -lpthread -ldl -lrt
++SYSLIBS  = -pthread -ldl -lrt
+--- poco-1.6.1-all/Foundation/include/Poco/RegularExpression.h.orig    
2015-08-04 07:20:55.000000000 +0200
++++ poco-1.6.1-all/Foundation/include/Poco/RegularExpression.h 2016-03-05 
21:50:13.634745461 +0100
+@@ -26,7 +26,9 @@
+ #include "Poco/Foundation.h"
+ #include <vector>
+ 
+-
++#if defined(POCO_UNBUNDLED)
++#include <pcre.h>
++#else
+ //
+ // Copy these definitions from pcre.h
+ // to avoid pulling in the entire header file
+@@ -37,7 +39,7 @@
+       typedef struct real_pcre8_or_16 pcre;
+       struct pcre_extra;
+ }
+-
++#endif
+ 
+ namespace Poco {
+ 
+--- poco-1.6.1-all/Net/testsuite/Makefile.orig 2015-08-04 07:21:00.000000000 
+0200
++++ poco-1.6.1-all/Net/testsuite/Makefile      2016-03-06 13:22:05.393678530 
+0100
+@@ -37,5 +37,5 @@
+ include $(POCO_BASE)/build/rules/exec
+ 
+ ifdef POCO_UNBUNDLED
+-        SYSLIBS += -lz
++        SYSLIBS += -lz -lpcre
+ endif
+--- poco-1.6.1-all/NetSSL_OpenSSL/testsuite/Makefile.orig      2015-08-04 
07:21:02.000000000 +0200
++++ poco-1.6.1-all/NetSSL_OpenSSL/testsuite/Makefile   2016-03-06 
13:31:19.920357644 +0100
+@@ -24,3 +24,7 @@
+ target_libs    = PocoNetSSL PocoNet PocoCrypto PocoUtil PocoJSON PocoXML 
PocoFoundation CppUnit
+ 
+ include $(POCO_BASE)/build/rules/exec
++
++ifdef POCO_UNBUNDLED
++        SYSLIBS += -lpcre -lexpat
++endif
+--- poco-1.6.1-all/Data/SQLite/testsuite/Makefile.orig 2015-08-04 
07:21:04.000000000 +0200
++++ poco-1.6.1-all/Data/SQLite/testsuite/Makefile      2016-03-06 
13:37:47.430366343 +0100
+@@ -16,3 +16,7 @@
+ target_libs    = PocoDataSQLite PocoData PocoFoundation CppUnit
+ 
+ include $(POCO_BASE)/build/rules/exec
++
++ifdef POCO_UNBUNDLED
++        SYSLIBS += -lsqlite3
++endif
+--- poco-1.6.1-all/Data/MySQL/testsuite/Makefile.orig  2015-08-04 
07:21:04.000000000 +0200
++++ poco-1.6.1-all/Data/MySQL/testsuite/Makefile       2016-03-06 
14:11:08.043744584 +0100
+@@ -20,3 +20,7 @@
+ target_libs    = PocoDataMySQL PocoData PocoFoundation CppUnit
+ 
+ include $(POCO_BASE)/build/rules/exec
++
++ifdef POCO_UNBUNDLED
++        SYSLIBS += -lssl -lcrypto
++endif
+--- poco-1.6.1-all/MongoDB/testsuite/Makefile.orig     2015-08-04 
07:21:05.000000000 +0200
++++ poco-1.6.1-all/MongoDB/testsuite/Makefile  2016-03-06 14:25:21.713763747 
+0100
+@@ -12,6 +12,6 @@
+ 
+ target         = testrunner
+ target_version = 1
+-target_libs    = PocoMongoDB PocoFoundation PocoNet CppUnit
++target_libs    = PocoMongoDB PocoNet PocoFoundation CppUnit
+ 
+ include $(POCO_BASE)/build/rules/exec
+--- poco-1.6.1-all/Zip/testsuite/Makefile.orig 2015-08-04 07:21:05.000000000 
+0200
++++ poco-1.6.1-all/Zip/testsuite/Makefile      2016-03-06 14:28:01.057100657 
+0100
+@@ -16,3 +16,7 @@
+ target_libs    = PocoZip PocoNet PocoFoundation CppUnit
+ 
+ include $(POCO_BASE)/build/rules/exec
++
++ifdef POCO_UNBUNDLED
++        SYSLIBS += -lz
++endif
+--- poco-1.6.1-all/Net/samples/httpget/Makefile.orig   2015-08-04 
07:21:01.000000000 +0200
++++ poco-1.6.1-all/Net/samples/httpget/Makefile        2016-03-06 
16:14:54.937244628 +0100
+@@ -15,3 +15,7 @@
+ target_libs    = PocoUtil PocoNet PocoXML PocoFoundation
+ 
+ include $(POCO_BASE)/build/rules/exec
++
++ifdef POCO_UNBUNDLED
++        SYSLIBS += -lpcre
++endif
+--- poco-1.6.1-all/Net/samples/download/Makefile.orig  2015-08-04 
07:21:01.000000000 +0200
++++ poco-1.6.1-all/Net/samples/download/Makefile       2016-03-06 
16:17:39.090581646 +0100
+@@ -15,3 +15,7 @@
+ target_libs    = PocoUtil PocoNet PocoXML PocoFoundation
+ 
+ include $(POCO_BASE)/build/rules/exec
++
++ifdef POCO_UNBUNDLED
++        SYSLIBS += -lpcre
++endif
+--- poco-1.6.1-all/NetSSL_OpenSSL/samples/download/Makefile.orig       
2015-08-04 07:21:02.000000000 +0200
++++ poco-1.6.1-all/NetSSL_OpenSSL/samples/download/Makefile    2016-03-06 
16:21:43.380587130 +0100
+@@ -22,3 +22,7 @@
+ target_libs    = PocoNetSSL PocoCrypto PocoNet PocoUtil PocoJSON PocoXML 
PocoFoundation
+ 
+ include $(POCO_BASE)/build/rules/exec
++
++ifdef POCO_UNBUNDLED
++        SYSLIBS += -lpcre
++endif
+--- poco-1.6.1-all/NetSSL_OpenSSL/samples/Mail/Makefile.orig   2015-08-04 
07:21:02.000000000 +0200
++++ poco-1.6.1-all/NetSSL_OpenSSL/samples/Mail/Makefile        2016-03-06 
16:23:56.090590109 +0100
+@@ -22,3 +22,7 @@
+ target_libs    = PocoNetSSL PocoNet PocoCrypto PocoUtil PocoJSON PocoXML 
PocoFoundation
+ 
+ include $(POCO_BASE)/build/rules/exec
++
++ifdef POCO_UNBUNDLED
++        SYSLIBS += -lpcre
++endif
+--- poco-1.6.1-all/Data/samples/RowFormatter/Makefile.orig     2015-08-04 
07:21:03.000000000 +0200
++++ poco-1.6.1-all/Data/samples/RowFormatter/Makefile  2016-03-06 
16:31:35.680600426 +0100
+@@ -15,3 +15,7 @@
+ target_libs    = PocoDataSQLite PocoData PocoFoundation 
+ 
+ include $(POCO_BASE)/build/rules/exec
++
++ifdef POCO_UNBUNDLED
++        SYSLIBS += -lsqlite3
++endif
+--- poco-1.6.1-all/Data/samples/WebNotifier/Makefile.orig      2015-08-04 
07:21:03.000000000 +0200
++++ poco-1.6.1-all/Data/samples/WebNotifier/Makefile   2016-03-06 
16:34:05.787270462 +0100
+@@ -15,3 +15,7 @@
+ target_libs    = PocoDataSQLite PocoData PocoNet PocoFoundation
+ 
+ include $(POCO_BASE)/build/rules/exec
++
++ifdef POCO_UNBUNDLED
++        SYSLIBS += -lsqlite3
++endif
================================================================

---- gitweb:

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

_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to