summaryrefslogtreecommitdiff
path: root/community/libsieve
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2013-09-03 01:52:27 -0700
committerroot <root@rshg054.dnsready.net>2013-09-03 01:52:27 -0700
commit3aa73e2018f321c9ccff8eca801b1c2fa9f18fa8 (patch)
tree961d6e0475cac3875e6a31b558861367da0c93d8 /community/libsieve
parent53939c2b159d972c48fc2f3652408632c71be77b (diff)
Tue Sep 3 01:50:53 PDT 2013
Diffstat (limited to 'community/libsieve')
-rw-r--r--community/libsieve/PKGBUILD33
-rw-r--r--community/libsieve/glibc-regex.patch79
2 files changed, 108 insertions, 4 deletions
diff --git a/community/libsieve/PKGBUILD b/community/libsieve/PKGBUILD
index b9e1477b8..47887d420 100644
--- a/community/libsieve/PKGBUILD
+++ b/community/libsieve/PKGBUILD
@@ -1,20 +1,45 @@
-# $Id: PKGBUILD 72453 2012-06-14 19:07:49Z spupykin $
+# $Id: PKGBUILD 96634 2013-09-02 16:06:17Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
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
}
diff --git a/community/libsieve/glibc-regex.patch b/community/libsieve/glibc-regex.patch
new file mode 100644
index 000000000..1b024ff2e
--- /dev/null
+++ b/community/libsieve/glibc-regex.patch
@@ -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;