Date: Monday, September 2, 2013 @ 18:06:02 Author: spupykin Revision: 96633
upgpkg: libsieve 2.3.1-2 upd Added: libsieve/trunk/glibc-regex.patch Modified: libsieve/trunk/PKGBUILD -------------------+ PKGBUILD | 27 +++++++++++++++-- glibc-regex.patch | 79 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 103 insertions(+), 3 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2013-09-02 15:05:51 UTC (rev 96632) +++ PKGBUILD 2013-09-02 16:06:02 UTC (rev 96633) @@ -3,21 +3,42 @@ pkgname=libsieve pkgver=2.3.1 -pkgrel=1 +pkgrel=2 pkgdesc="sieve interpretator lib" arch=(i686 x86_64) url="http://libsieve.sourceforge.net/" license=('GPL') options=('!libtool') -source=("https://github.com/downloads/sodabrew/libsieve/libsieve-$pkgver.tar.gz") -md5sums=('bb48eecf877cc7fdb2b0dfe757b48d7a') +source=("https://github.com/downloads/sodabrew/libsieve/libsieve-$pkgver.tar.gz" + "glibc-regex.patch") +md5sums=('bb48eecf877cc7fdb2b0dfe757b48d7a' + '0d98d9e8f0583857616b2ba98f1833fa') +prepare() { + cd "$srcdir/$pkgname-$pkgver" + rm -rf src/sv_regex + patch -p1 <$srcdir/glibc-regex.patch +} + build() { cd "$srcdir/$pkgname-$pkgver" + aclocal + automake + autoconf ./configure --prefix=/usr make } +check() { + cd "$srcdir/$pkgname-$pkgver/src/sv_test" + ls -1 script* | while read script; do + ls -1 message* | while read msg; do + msg "checking $script $msg" + ./example $script $msg || true # upstream bugs? + done + done +} + package() { cd "$srcdir/$pkgname-$pkgver" make DESTDIR="$pkgdir/" install Added: glibc-regex.patch =================================================================== --- glibc-regex.patch (rev 0) +++ glibc-regex.patch 2013-09-02 16:06:02 UTC (rev 96633) @@ -0,0 +1,79 @@ +diff -wbBur libsieve-2.3.1/Makefile.am libsieve-2.3.1.my/Makefile.am +--- libsieve-2.3.1/Makefile.am 2012-05-14 15:20:06.000000000 +0400 ++++ libsieve-2.3.1.my/Makefile.am 2013-09-02 19:24:34.474741233 +0400 +@@ -5,7 +5,6 @@ + + EXTRA_DIST = libsieve.pc.in \ + src/sv_parser/addr.h src/sv_parser/addr-lex.h src/sv_parser/header.h src/sv_parser/header-lex.h src/sv_parser/sieve.h src/sv_parser/sieve-lex.h \ +- src/sv_regex/README src/sv_regex/regcomp.c src/sv_regex/regexec.c src/sv_regex/regex_internal.c src/sv_regex/regex_internal.h \ + src/sv_test/lmtp-1 src/sv_test/lmtp-2 src/sv_test/messagea.mbox src/sv_test/messageb.mbox src/sv_test/messagec.mbox src/sv_test/messaged.mbox src/sv_test/messagef.mbox src/sv_test/messageg.mbox src/sv_test/messageh.mbox src/sv_test/messagei.mbox src/sv_test/messagej.mbox src/sv_test/messagek.mbox src/sv_test/script10.sv src/sv_test/script11.sv src/sv_test/script12.sv src/sv_test/script13.sv src/sv_test/script14.sv src/sv_test/script15.sv src/sv_test/script16.sv src/sv_test/script17.sv src/sv_test/script18.sv src/sv_test/script19.sv src/sv_test/script1.sv src/sv_test/script20.sv src/sv_test/script21.sv src/sv_test/script22.sv src/sv_test/script23.sv src/sv_test/script2.sv src/sv_test/script3.sv src/sv_test/script4.sv src/sv_test/script5.sv src/sv_test/script6.sv src/sv_test/script7.sv src/sv_test/script8.sv src/sv_test/script9.sv src/sv_test/testmessage.sh src/sv_test/testvalid.sh + pkgconfigdir = $(libdir)/pkgconfig + pkgconfig_DATA = libsieve.pc +@@ -24,7 +23,6 @@ + src_libsieve_la_SOURCES = \ + src/sv_interface/callbacks2.c src/sv_interface/callbacks2.h src/sv_interface/context2.c src/sv_interface/context2.h src/sv_interface/message2.c src/sv_interface/message2.h src/sv_interface/message.c src/sv_interface/message.h src/sv_interface/script2.c src/sv_interface/script.c src/sv_interface/script.h src/sv_interface/tree.c src/sv_interface/tree.h \ + src/sv_parser/addrinc.h src/sv_parser/addr.y src/sv_parser/addr-lex.l src/sv_parser/comparator.c src/sv_parser/comparator.h src/sv_parser/headerinc.h src/sv_parser/header.y src/sv_parser/header-lex.l src/sv_parser/parser.h src/sv_parser/sieveinc.h src/sv_parser/sieve.y src/sv_parser/sieve-lex.l \ +- src/sv_regex/regex.h src/sv_regex/regex.c \ + src/sv_util/exception.c src/sv_util/exception.h src/sv_util/md5.c src/sv_util/util.c src/sv_util/util.h + + dist-hook: +diff -wbBur libsieve-2.3.1/src/sv_interface/tree.h libsieve-2.3.1.my/src/sv_interface/tree.h +--- libsieve-2.3.1/src/sv_interface/tree.h 2012-05-14 15:20:06.000000000 +0400 ++++ libsieve-2.3.1.my/src/sv_interface/tree.h 2013-09-02 19:23:48.351408431 +0400 +@@ -29,7 +29,7 @@ + #define TREE_H + + #include "src/sv_parser/comparator.h" +-#include "src/sv_regex/regex.h" ++#include <regex.h> + + + /* abstract syntax tree for sieve */ +diff -wbBur libsieve-2.3.1/src/sv_parser/comparator.c libsieve-2.3.1.my/src/sv_parser/comparator.c +--- libsieve-2.3.1/src/sv_parser/comparator.c 2012-05-14 15:20:06.000000000 +0400 ++++ libsieve-2.3.1.my/src/sv_parser/comparator.c 2013-09-02 19:25:13.368074118 +0400 +@@ -127,7 +127,7 @@ + + static int octet_regex(struct sieve2_context *context, const char *pat, const char *text) + { +- return (!libsieve_regexec((const regex_t *)pat, text, 0, NULL, 0)); ++ return (!regexec((const regex_t *)pat, text, 0, NULL, 0)); + } + + +diff -wbBur libsieve-2.3.1/src/sv_parser/comparator.h libsieve-2.3.1.my/src/sv_parser/comparator.h +--- libsieve-2.3.1/src/sv_parser/comparator.h 2012-05-14 15:20:06.000000000 +0400 ++++ libsieve-2.3.1.my/src/sv_parser/comparator.h 2013-09-02 19:23:27.671408659 +0400 +@@ -27,7 +27,7 @@ + #ifndef COMPARATOR_H + #define COMPARATOR_H + +-#include "src/sv_regex/regex.h" ++#include <regex.h> + #include "src/sv_include/sieve2.h" + + /* compares pat to text; returns 1 if it's true, 0 otherwise +diff -wbBur libsieve-2.3.1/src/sv_parser/sieve.y libsieve-2.3.1.my/src/sv_parser/sieve.y +--- libsieve-2.3.1/src/sv_parser/sieve.y 2012-05-31 13:16:50.000000000 +0400 ++++ libsieve-2.3.1.my/src/sv_parser/sieve.y 2013-09-02 19:25:53.704740324 +0400 +@@ -34,8 +34,7 @@ + #include <string.h> + #include <ctype.h> + +-/* sv_regex */ +-#include "src/sv_regex/regex.h" ++#include <regex.h> + + /* sv_parser */ + #include "comparator.h" +@@ -882,8 +881,8 @@ + char errbuf[100]; + regex_t *reg = (regex_t *) libsieve_malloc(sizeof(regex_t)); + +- if ((ret = libsieve_regcomp(reg, s, cflags)) != 0) { +- (void) libsieve_regerror(ret, reg, errbuf, sizeof(errbuf)); ++ if ((ret = regcomp(reg, s, cflags)) != 0) { ++ (void) regerror(ret, reg, errbuf, sizeof(errbuf)); + libsieve_sieveerror(context, context->sieve_scan, errbuf); + libsieve_free(reg); + return NULL;
