Re: [Monotone-devel] Monotone fails to build with PCRE 8.42

2018-05-15 Thread Lapo Luchini
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

Markus Wanner wrote:
>> By the way, PCRE is obsoleted by PCRE2.
> 
> thanks a lot for these hints. I'll eventually take a look.

Someday I'd also like to take a look at RE2 instead of PCRE, as it is
implemented with FSA and not backtracking.

But for the sake of it, it shouldn't make a real difference in our
usecase, I guess.

http://lh3lh3.users.sourceforge.net/reb.shtml

- -- 
Lapo Luchini - http://lapo.it/
-BEGIN PGP SIGNATURE-

iQIzBAEBCAAdFiEEFlFdHtWKvLA2wx9Zg7C4xsvacfAFAlr7BJgACgkQg7C4xsva
cfCDgRAAx+HaetM46jTKkXRziVH2IiUTKcXT+FbElIUpMa2jvkdU10P9Wvbjvg27
Zm0ihoxtRFuPVzhPx+ZhrxB5x3woTuL+jDnhb6ni3AadaU8cgYVkARl/C+hMVWRe
r2F/+KJzjEFGv4qLSTNB6xhIucCZemHNjrVmYqZNhcJKHXoXNmdWlsTHPLhUNjwJ
usVg/4q+JXAIS2CIbQPEWKiD4hWnxDBoZrTGz5JSfIQJXRp7qHsuwq/o2C2FP9zz
n2izXD0yMbgqcxazCrK8wbIMRZWs69D4upUIiuW6CgVE22StDfDrL5Wt8frmXy9l
3hvOQ9CFs5FbZDk15s7e2IvfDUz7C4t6r5GWj51V2wgDYSWNiCxlTBXA3WDQ0alH
HrD0pluhBe0Q+4etGHGBxdzs/ITLV5JCfNGvRrdnRS2C5zVUXMgEgLiBm3hSJznG
goMrLZAZH9RVE3ifWA25OHbgN+59bD/eUfi48WtX8IfRIHRX2Unr5TQfbu6JJY32
CjnhQnFPVG6nCDerJOnmXzsc+t52APNP9j+ok6cjOOAFqJLKe1ElOV/GzWP25j+d
PTiNEpUctEyxE3sXW22XePNXCTHPCvM4v7B4G3CVkhlHiKTKB7xIGmAOLyE+2cv5
/yqh1yWKhFNgioR6JOCG8VV7aMWPROeIPBfQ4yzjm8JB3oS0uXk=
=FN+n
-END PGP SIGNATURE-


___
Monotone-devel mailing list
Monotone-devel@nongnu.org
https://lists.nongnu.org/mailman/listinfo/monotone-devel


Re: [Monotone-devel] Monotone fails to build with PCRE 8.42

2018-05-11 Thread Markus Wanner
Hello Petr,

On 07.05.2018 14:24, Petr Pisar wrote:
> monotone-1.1 fails to build with PCRE 8.42:

> By the way, PCRE is obsoleted by PCRE2.

thanks a lot for these hints. I'll eventually take a look. A monotone
1.2 release is way overdue.

Kind Regards

Markus Wanner



signature.asc
Description: OpenPGP digital signature
___
Monotone-devel mailing list
Monotone-devel@nongnu.org
https://lists.nongnu.org/mailman/listinfo/monotone-devel


[Monotone-devel] Monotone fails to build with PCRE 8.42

2018-05-10 Thread Petr Pisar
Hello,

monotone-1.1 fails to build with PCRE 8.42:

g++  -I.-I/usr/include/botan-1.10   -O2 -g -pipe -Wall 
-Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS 
-fexceptions -fstack-protector-strong -grecord-gcc-switches 
-specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 
-specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables 
-fstack-clash-protection -Wall -W -Wno-unused -c -o src/pcrewrap.o 
src/pcrewrap.cc
src/pcrewrap.cc: In destructor 
'pcre::regex_cache_manager::~regex_cache_manager()':
src/pcrewrap.cc:107:64: error: invalid const_cast from type 'const real_pcre*' 
to type 'pcre_t*' {aka 'real_pcre8_or_16*'}
   pcre_free(const_cast(iter->second.first));
^

Attached patch adapts monotone.

By the way, PCRE is obsoleted by PCRE2. If monotone want to use a supported
regular expression engine, it should migrate to PCRE2.

-- Petr
From 70f209ad582121750d54e3692b1e62c7f36af6f9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= 
Date: Mon, 7 May 2018 14:09:06 +0200
Subject: [PATCH] Adapt to changes in pcre-8.42
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

pcre-8.42 replaced internal real_pcre with real_pcre8_or_16. This
broke monotone that decided not to use the public "pcre" type.

This patch adapts monotone to the pcre >= 8.42.

Signed-off-by: Petr Písař 
---
 src/pcrewrap.cc | 4 ++--
 src/pcrewrap.hh | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/pcrewrap.cc b/src/pcrewrap.cc
index 8c0c9d1..30bafff 100644
--- a/src/pcrewrap.cc
+++ b/src/pcrewrap.cc
@@ -74,7 +74,7 @@ get_capturecount(void const * bd)
 namespace pcre
 {
   typedef map >
+  pair 
>
   regex_cache;
 
   class regex_cache_manager
@@ -86,7 +86,7 @@ public:
   }
 
 void store(char const * pattern,
-   pair
+   pair
data)
   {
 cache[pattern] = data;
diff --git a/src/pcrewrap.hh b/src/pcrewrap.hh
index 3359cdd..5008e88 100644
--- a/src/pcrewrap.hh
+++ b/src/pcrewrap.hh
@@ -18,7 +18,7 @@
 // definitions and so we don't actually expose it here. Unfortunately, this
 // means we have to hope this pair of forward declarations will not change...
 
-struct real_pcre;
+struct real_pcre8_or_16;
 struct pcre_extra;
 
 namespace pcre
@@ -61,7 +61,7 @@ namespace pcre
 regex & operator=(regex const &);
 
 // data
-struct real_pcre const * basedat;
+struct real_pcre8_or_16 const * basedat;
 struct pcre_extra const * extradat;
 
 // used by constructors
-- 
2.14.3



signature.asc
Description: PGP signature
___
Monotone-devel mailing list
Monotone-devel@nongnu.org
https://lists.nongnu.org/mailman/listinfo/monotone-devel