summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoy Marples <uberlord@gentoo.org>2007-10-02 13:33:20 +0000
committerRoy Marples <uberlord@gentoo.org>2007-10-02 13:33:20 +0000
commit0d3c375cd2cf6a0cc3452af14f0f7b85ee1123b7 (patch)
treee7c5b0a595872780f874bb767f806099a359aab3 /sys-freebsd
parentVersion bump, bug #194494 (diff)
downloadhistorical-0d3c375cd2cf6a0cc3452af14f0f7b85ee1123b7.tar.gz
historical-0d3c375cd2cf6a0cc3452af14f0f7b85ee1123b7.tar.bz2
historical-0d3c375cd2cf6a0cc3452af14f0f7b85ee1123b7.zip
support POSIX character class RE match for sh
Package-Manager: portage-2.1.3.11
Diffstat (limited to 'sys-freebsd')
-rw-r--r--sys-freebsd/freebsd-bin/ChangeLog6
-rw-r--r--sys-freebsd/freebsd-bin/Manifest20
-rw-r--r--sys-freebsd/freebsd-bin/files/freebsd-bin-6.2-sh-cclass.patch96
-rw-r--r--sys-freebsd/freebsd-bin/freebsd-bin-6.2.ebuild5
4 files changed, 116 insertions, 11 deletions
diff --git a/sys-freebsd/freebsd-bin/ChangeLog b/sys-freebsd/freebsd-bin/ChangeLog
index 180ce6a214e6..a5f97944208f 100644
--- a/sys-freebsd/freebsd-bin/ChangeLog
+++ b/sys-freebsd/freebsd-bin/ChangeLog
@@ -1,6 +1,10 @@
# ChangeLog for sys-freebsd/freebsd-bin
# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-bin/ChangeLog,v 1.28 2007/05/18 16:47:49 uberlord Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-bin/ChangeLog,v 1.29 2007/10/02 13:33:19 uberlord Exp $
+
+ 02 Oct 2007; Roy Marples <uberlord@gentoo.org>
+ +files/freebsd-bin-6.2-sh-cclass.patch, freebsd-bin-6.2.ebuild:
+ support POSIX character class RE match for sh
18 May 2007; Roy Marples <uberlord@gentoo.org>
+files/freebsd-bin-6.2-sh-libedit.patch, freebsd-bin-6.2.ebuild:
diff --git a/sys-freebsd/freebsd-bin/Manifest b/sys-freebsd/freebsd-bin/Manifest
index f61273777ecb..9465cdcbeaa0 100644
--- a/sys-freebsd/freebsd-bin/Manifest
+++ b/sys-freebsd/freebsd-bin/Manifest
@@ -6,6 +6,10 @@ AUX freebsd-bin-6.2-mkdir-posix.patch 3119 RMD160 cba1d464c174bf6f99b15f3c78b7b1
MD5 fb3911b41fbc161929b2f8d1f4856e1e files/freebsd-bin-6.2-mkdir-posix.patch 3119
RMD160 cba1d464c174bf6f99b15f3c78b7b16e7214d9d0 files/freebsd-bin-6.2-mkdir-posix.patch 3119
SHA256 21bab8cdf05e7eedd934ae598707788af7cd0c6dad6913062a37298a91afc133 files/freebsd-bin-6.2-mkdir-posix.patch 3119
+AUX freebsd-bin-6.2-sh-cclass.patch 2258 RMD160 6bb89cb7c4a98bfcf8326d900bcc92b1ca3b81be SHA1 f2efbba870d1c9eac346c4ac482d635e2ddd7c87 SHA256 44d187e145c2fcf516cfa09f3a264d451b7e81f70ef82dc5e9fe27b79a6b5e73
+MD5 88820743815b812e6ec2e1b446a6b4e2 files/freebsd-bin-6.2-sh-cclass.patch 2258
+RMD160 6bb89cb7c4a98bfcf8326d900bcc92b1ca3b81be files/freebsd-bin-6.2-sh-cclass.patch 2258
+SHA256 44d187e145c2fcf516cfa09f3a264d451b7e81f70ef82dc5e9fe27b79a6b5e73 files/freebsd-bin-6.2-sh-cclass.patch 2258
AUX freebsd-bin-6.2-sh-libedit.patch 454 RMD160 88bf9aed92938fe767a49b152e68f5b1b0aeddf2 SHA1 d9b5a8bfc31afaf23ee36aecd18619dba645edf4 SHA256 94de63ac40a4c8fa8589bb4ba84bd04f48d88d06a9572eeb39755f586463afd2
MD5 fe0f10070bc6c01f61f7b3c0d3b63c1e files/freebsd-bin-6.2-sh-libedit.patch 454
RMD160 88bf9aed92938fe767a49b152e68f5b1b0aeddf2 files/freebsd-bin-6.2-sh-libedit.patch 454
@@ -13,14 +17,14 @@ SHA256 94de63ac40a4c8fa8589bb4ba84bd04f48d88d06a9572eeb39755f586463afd2 files/fr
DIST freebsd-bin-6.2.tar.bz2 406748 RMD160 d687c8ee46fdcc6ea441367a50aad03b695ee616 SHA1 c4ea24e987c9e613b3400d83671688b22648f967 SHA256 202c2024d9a5326ddfd07cae49e2f663118a8ae2f8c79a40c92d513acece3935
DIST freebsd-lib-6.2.tar.bz2 2670374 RMD160 95bbce7862fc7a406b8629914f281d5e01e5ea71 SHA1 3cd061f83ef6672d98599dd3a294ead6832a1b14 SHA256 8e0c909a79a9ed18841f8a5a6e25fc770f76de1a5dc20cbd6bc591bed52d1033
DIST freebsd-sbin-6.2.tar.bz2 1162548 RMD160 f7d5f4ea5e4b5e03910a44a127b5670f8d6ebf2c SHA1 be082439c7ed657a1f188af93837f7c34677eddf SHA256 aef424c07686bb72fbd06e4fd66a01b00bd36b70fec02ebdc228061cd4b435dd
-EBUILD freebsd-bin-6.2.ebuild 1050 RMD160 fb63f9d66df6e6cc22c66ea61a9e10a66518c053 SHA1 1b3b3e35b59395fb17adfb756b7ddcb907cf67a3 SHA256 301e1ceeb04dd8b84edd0d44fc7118eb3f5c3debd76bb1a98b60b915001870ab
-MD5 5ce18f92b35dddde942bc6bbff9b3839 freebsd-bin-6.2.ebuild 1050
-RMD160 fb63f9d66df6e6cc22c66ea61a9e10a66518c053 freebsd-bin-6.2.ebuild 1050
-SHA256 301e1ceeb04dd8b84edd0d44fc7118eb3f5c3debd76bb1a98b60b915001870ab freebsd-bin-6.2.ebuild 1050
-MISC ChangeLog 5366 RMD160 958f76789dabdd85482864f1af344f0d394ae51b SHA1 d2d727bd091686fcffc7c73f23ba0ab976dca40d SHA256 fc5680e9e4ef2486df4018d1191e9652ce5b0ae9bf062d9f6b376f221e335c0d
-MD5 6ee42be95af2adb2c1a17eddf1921674 ChangeLog 5366
-RMD160 958f76789dabdd85482864f1af344f0d394ae51b ChangeLog 5366
-SHA256 fc5680e9e4ef2486df4018d1191e9652ce5b0ae9bf062d9f6b376f221e335c0d ChangeLog 5366
+EBUILD freebsd-bin-6.2.ebuild 1090 RMD160 a7167e19a6dcedb9246e7c8241febdf5466cde53 SHA1 4ec9df575813a4dceb7075b62c08887623fddbb6 SHA256 1123e415aa7bde7909fa8beca3b8b491ff29e088341b7ef88422a7a3610e65f9
+MD5 49347eafcfd340a90a25c1af320c43fa freebsd-bin-6.2.ebuild 1090
+RMD160 a7167e19a6dcedb9246e7c8241febdf5466cde53 freebsd-bin-6.2.ebuild 1090
+SHA256 1123e415aa7bde7909fa8beca3b8b491ff29e088341b7ef88422a7a3610e65f9 freebsd-bin-6.2.ebuild 1090
+MISC ChangeLog 5530 RMD160 ac8b0879279de453cdffe4b0e559db6575b4b969 SHA1 28437ea0d5e14686e45c9247e2d4e38666323897 SHA256 3e0176dd4336539eb0dbbe82d6bef04194dc95aea660ef8548ee3c5c1a0fa0b9
+MD5 cb27f4282a4d2c94a8daecfd0d939b23 ChangeLog 5530
+RMD160 ac8b0879279de453cdffe4b0e559db6575b4b969 ChangeLog 5530
+SHA256 3e0176dd4336539eb0dbbe82d6bef04194dc95aea660ef8548ee3c5c1a0fa0b9 ChangeLog 5530
MISC metadata.xml 156 RMD160 60b5820a08275f307e5bd936d78f5afd1f141086 SHA1 d9d9d4f2b5afc58339ea3e562fca490156935f1f SHA256 30ab515d6ac492d3d6c36ac3c675511742c2149e56a6b3228c8d22ab8edb3ff7
MD5 2bd48a5ae413433cbb36110b219ce97c metadata.xml 156
RMD160 60b5820a08275f307e5bd936d78f5afd1f141086 metadata.xml 156
diff --git a/sys-freebsd/freebsd-bin/files/freebsd-bin-6.2-sh-cclass.patch b/sys-freebsd/freebsd-bin/files/freebsd-bin-6.2-sh-cclass.patch
new file mode 100644
index 000000000000..f3ed0744cf45
--- /dev/null
+++ b/sys-freebsd/freebsd-bin/files/freebsd-bin-6.2-sh-cclass.patch
@@ -0,0 +1,96 @@
+Allow sh to use POSIX character classes, as specified in
+sections 2.13.1 and 9.3.5
+
+diff -u a/sh/expand.c b/sh/expand.c
+--- a/sh/expand.c 2005-11-06 20:39:47 +0000
++++ b/sh/expand.c 2007-10-02 13:46:28 +0100
+@@ -1320,6 +1320,42 @@
+ }
+
+
++STATIC int ccmatch(char *p, int chr, char **r)
++{
++ static const struct class {
++ char name[10];
++ int (*fn)(int);
++ } classes[] = {
++ { .name = ":alnum:]", .fn = isalnum },
++ { .name = ":cntrl:]", .fn = iscntrl },
++ { .name = ":lower:]", .fn = islower },
++ { .name = ":space:]", .fn = isspace },
++ { .name = ":alpha:]", .fn = isalpha },
++ { .name = ":digit:]", .fn = isdigit },
++ { .name = ":print:]", .fn = isprint },
++ { .name = ":upper:]", .fn = isupper },
++ { .name = ":blank:]", .fn = isblank },
++ { .name = ":graph:]", .fn = isgraph },
++ { .name = ":punct:]", .fn = ispunct },
++ { .name = ":xdigit:]", .fn = isxdigit },
++ };
++ const struct class *class, *end;
++ char *q;
++
++ end = classes + sizeof(classes) / sizeof(classes[0]);
++ for (class = classes; class < end; class++) {
++ q = prefix(class->name, p);
++ if (!q)
++ continue;
++ *r = q;
++ return class->fn(chr);
++ }
++
++ *r = 0;
++ return 0;
++}
++
++
+ STATIC int
+ pmatch(char *pattern, char *string, int squoted)
+ {
+@@ -1405,6 +1441,15 @@
+ continue;
+ if (c == CTLESC)
+ c = *p++;
++ else if (c == '[') {
++ char *r;
++
++ found |= ccmatch(p, chr, &r);
++ if (r) {
++ p = r;
++ continue;
++ }
++ }
+ if (*p == '-' && p[1] != ']') {
+ p++;
+ while (*p == CTLQUOTEMARK)
+diff -u a/sh/mystring.c b/sh/mystring.c
+--- a/sh/mystring.c 2004-04-06 21:06:51 +0100
++++ b/sh/mystring.c 2007-10-02 13:45:31 +0100
+@@ -88,14 +88,14 @@
+ * prefix -- see if pfx is a prefix of string.
+ */
+
+-int
++char *
+ prefix(const char *pfx, const char *string)
+ {
+ while (*pfx) {
+ if (*pfx++ != *string++)
+ return 0;
+ }
+- return 1;
++ return (char *)string;
+ }
+
+
+diff -u a/sh/mystring.h b/sh/mystring.h
+--- a/sh/mystring.h 2004-04-06 21:06:51 +0100
++++ b/sh/mystring.h 2007-10-02 13:45:35 +0100
+@@ -36,7 +36,7 @@
+ #include <string.h>
+
+ void scopyn(const char *, char *, int);
+-int prefix(const char *, const char *);
++char *prefix(const char *, const char *);
+ int number(const char *);
+ int is_number(const char *);
diff --git a/sys-freebsd/freebsd-bin/freebsd-bin-6.2.ebuild b/sys-freebsd/freebsd-bin/freebsd-bin-6.2.ebuild
index 508c9d811b01..3af7d277d25d 100644
--- a/sys-freebsd/freebsd-bin/freebsd-bin-6.2.ebuild
+++ b/sys-freebsd/freebsd-bin/freebsd-bin-6.2.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-bin/freebsd-bin-6.2.ebuild,v 1.2 2007/05/18 16:47:49 uberlord Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-bin/freebsd-bin-6.2.ebuild,v 1.3 2007/10/02 13:33:19 uberlord Exp $
inherit bsdmk freebsd
@@ -27,7 +27,8 @@ S=${WORKDIR}/bin
PATCHES="${FILESDIR}/${PN}-6.0-flex-2.5.31.patch
${FILESDIR}/${PN}-6.2-mkdir-posix.patch
- ${FILESDIR}/${PN}-6.2-sh-libedit.patch"
+ ${FILESDIR}/${PN}-6.2-sh-libedit.patch
+ ${FILESDIR}/${PN}-6.2-sh-cclass.patch"
pkg_setup() {
use nls || mymakeopts="${mymakeopts} NO_NLS= "