aboutsummaryrefslogtreecommitdiffstats
path: root/main/sed
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2017-02-16 11:38:57 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2017-02-16 12:16:06 +0000
commitc8972e913e09433e1baf15bdf17bebdfec92e116 (patch)
treed2e7d2d17f9b0da13f04c1450bb29c03dbb0f838 /main/sed
parent59e14ac9d5bf3b2612a8b8d4aa0c710996578be2 (diff)
downloadaports-c8972e913e09433e1baf15bdf17bebdfec92e116.tar.bz2
aports-c8972e913e09433e1baf15bdf17bebdfec92e116.tar.xz
main/sed: upgrade to 4.4
Diffstat (limited to 'main/sed')
-rw-r--r--main/sed/APKBUILD16
-rw-r--r--main/sed/fix-reallocation-bug-when-matching-newlines.patch160
2 files changed, 5 insertions, 171 deletions
diff --git a/main/sed/APKBUILD b/main/sed/APKBUILD
index 45187e0d31..6f185784b7 100644
--- a/main/sed/APKBUILD
+++ b/main/sed/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=sed
-pkgver=4.3
-pkgrel=1
+pkgver=4.4
+pkgrel=0
subpackages="$pkgname-doc"
pkgdesc="GNU stream editor"
url="http://www.gnu.org/software/sed"
@@ -9,12 +9,11 @@ arch="all"
license="GPL"
makedepends="perl"
install="$pkgname.post-deinstall"
-source="ftp://ftp.gnu.org/pub/gnu/$pkgname/$pkgname-$pkgver.tar.xz
- fix-reallocation-bug-when-matching-newlines.patch"
+source="http://ftp.gnu.org/pub/gnu/$pkgname/$pkgname-$pkgver.tar.xz"
builddir="$srcdir/$pkgname-$pkgver"
-build() {
+build() {
cd "$builddir"
./configure \
--build=$CBUILD \
@@ -39,9 +38,4 @@ package() {
return 0
}
-md5sums="1957fe58dffa4a4106c1f1d7cc8dee18 sed-4.3.tar.xz
-281083d69fbdff0fc9f22e3056bb6eda fix-reallocation-bug-when-matching-newlines.patch"
-sha256sums="47c20d8841ce9e7b6ef8037768aac44bc2937fff1c265b291c824004d56bd0aa sed-4.3.tar.xz
-e8287c052fb36c900cd0bffbe7447563165ed2d4972b02a036adbc6db73e70c3 fix-reallocation-bug-when-matching-newlines.patch"
-sha512sums="4d76a099cf7115763b79b45be5c96338750baa47e34c36075f714e022614397aa9240099d6d009e69aa4d06b6cfc14dcc0f8313442a1465f448b36fb6874a26d sed-4.3.tar.xz
-82cef9dacb65997877908c4f20f16d79a5dddd0c6965434a62bc0738be58466a5d278f8053f1027cd976d0395825cbe44dbf398153d950d2a43a3e2e66e46fea fix-reallocation-bug-when-matching-newlines.patch"
+sha512sums="4e1b0a7403913f1e25047eb2292a0a9b3488b15b4463ce2803e05eaecbc2da19f477a18e6a70c992461c38ced90774415091aa2d8ce85cb74e391610d9eedb70 sed-4.4.tar.xz"
diff --git a/main/sed/fix-reallocation-bug-when-matching-newlines.patch b/main/sed/fix-reallocation-bug-when-matching-newlines.patch
deleted file mode 100644
index fa8df0e830..0000000000
--- a/main/sed/fix-reallocation-bug-when-matching-newlines.patch
+++ /dev/null
@@ -1,160 +0,0 @@
---- sed-4.3.orig/lib/dfa.c
-+++ sed-4.3/lib/dfa.c
-@@ -2581,6 +2581,41 @@
- free (merged.elems);
- }
-
-+/* Make sure D's state arrays are large enough to hold NEW_STATE. */
-+static void
-+realloc_trans_if_necessary (struct dfa *d, state_num new_state)
-+{
-+ state_num oldalloc = d->tralloc;
-+ if (oldalloc <= new_state)
-+ {
-+ state_num **realtrans = d->trans ? d->trans - 2 : NULL;
-+ ptrdiff_t newalloc, newalloc1;
-+ newalloc1 = realtrans ? d->tralloc + 2 : 0;
-+ realtrans = xpalloc (realtrans, &newalloc1, new_state - oldalloc + 1,
-+ -1, sizeof *realtrans);
-+ realtrans[0] = realtrans[1] = NULL;
-+ d->trans = realtrans + 2;
-+ d->tralloc = newalloc = newalloc1 - 2;
-+ d->fails = xnrealloc (d->fails, newalloc, sizeof *d->fails);
-+ d->success = xnrealloc (d->success, newalloc, sizeof *d->success);
-+ d->newlines = xnrealloc (d->newlines, newalloc, sizeof *d->newlines);
-+ if (d->localeinfo.multibyte)
-+ {
-+ realtrans = d->mb_trans ? d->mb_trans - 2 : NULL;
-+ realtrans = xnrealloc (realtrans, newalloc1, sizeof *realtrans);
-+ if (oldalloc == 0)
-+ realtrans[0] = realtrans[1] = NULL;
-+ d->mb_trans = realtrans + 2;
-+ }
-+ for (; oldalloc < newalloc; oldalloc++)
-+ {
-+ d->trans[oldalloc] = NULL;
-+ d->fails[oldalloc] = NULL;
-+ if (d->localeinfo.multibyte)
-+ d->mb_trans[oldalloc] = NULL;
-+ }
-+ }
-+}
-
- /* Return the transition out of state s of d for the input character uc,
- updating the slots in trans accordingly.
-@@ -2622,6 +2657,7 @@
- state_num state; /* New state. */
- state_num state_newline; /* New state on a newline transition. */
- state_num state_letter; /* New state on a letter transition. */
-+ state_num maxstate = -1;
- size_t i, j, k;
-
- #ifdef DEBUG
-@@ -2815,18 +2851,22 @@
- /* Set the transitions for each character in the label. */
- for (i = 0; i < NOTCHAR; i++)
- if (tstbit (i, label))
-- switch (d->syntax.sbit[i])
-- {
-- case CTX_NEWLINE:
-- trans[i] = state_newline;
-- break;
-- case CTX_LETTER:
-- trans[i] = state_letter;
-- break;
-- default:
-- trans[i] = state;
-- break;
-- }
-+ {
-+ switch (d->syntax.sbit[i])
-+ {
-+ case CTX_NEWLINE:
-+ trans[i] = state_newline;
-+ break;
-+ case CTX_LETTER:
-+ trans[i] = state_letter;
-+ break;
-+ default:
-+ trans[i] = state;
-+ break;
-+ }
-+ if (maxstate < trans[i])
-+ maxstate = trans[i];
-+ }
-
- #ifdef DEBUG
- fprintf (stderr, "trans table %td", s);
-@@ -2843,6 +2883,9 @@
- free (follows.elems);
- free (tmp.elems);
-
-+ /* Reallocate now, to allocate any newline transition properly. */
-+ realloc_trans_if_necessary (d, maxstate);
-+
- /* Keep the newline transition in a special place so we can use it as
- a sentinel. */
- if (tstbit (d->syntax.eolbyte, label))
-@@ -2854,42 +2897,6 @@
- return trans[uc];
- }
-
--/* Make sure D's state arrays are large enough to hold NEW_STATE. */
--static void
--realloc_trans_if_necessary (struct dfa *d, state_num new_state)
--{
-- state_num oldalloc = d->tralloc;
-- if (oldalloc <= new_state)
-- {
-- state_num **realtrans = d->trans ? d->trans - 2 : NULL;
-- ptrdiff_t newalloc, newalloc1;
-- newalloc1 = realtrans ? d->tralloc + 2 : 0;
-- realtrans = xpalloc (realtrans, &newalloc1, new_state - oldalloc + 1,
-- -1, sizeof *realtrans);
-- realtrans[0] = realtrans[1] = NULL;
-- d->trans = realtrans + 2;
-- d->tralloc = newalloc = newalloc1 - 2;
-- d->fails = xnrealloc (d->fails, newalloc, sizeof *d->fails);
-- d->success = xnrealloc (d->success, newalloc, sizeof *d->success);
-- d->newlines = xnrealloc (d->newlines, newalloc, sizeof *d->newlines);
-- if (d->localeinfo.multibyte)
-- {
-- realtrans = d->mb_trans ? d->mb_trans - 2 : NULL;
-- realtrans = xnrealloc (realtrans, newalloc1, sizeof *realtrans);
-- if (oldalloc == 0)
-- realtrans[0] = realtrans[1] = NULL;
-- d->mb_trans = realtrans + 2;
-- }
-- for (; oldalloc < newalloc; oldalloc++)
-- {
-- d->trans[oldalloc] = NULL;
-- d->fails[oldalloc] = NULL;
-- if (d->localeinfo.multibyte)
-- d->mb_trans[oldalloc] = NULL;
-- }
-- }
--}
--
- /* Calculate the transition table for a new state derived from state s
- for a compiled dfa d after input character uc, and return the new
- state number. */
-@@ -2936,18 +2943,7 @@
- if (ACCEPTS_IN_CONTEXT (d->states[s].context, CTX_NONE, s, *d))
- d->success[s] |= CTX_NONE;
-
-- s = dfastate (s, d, uc, trans);
--
-- /* Now go through the new transition table, and make sure that the trans
-- and fail arrays are allocated large enough to hold a pointer for the
-- largest state mentioned in the table. */
-- state_num maxstate = -1;
-- for (int i = 0; i < NOTCHAR; i++)
-- if (maxstate < trans[i])
-- maxstate = trans[i];
-- realloc_trans_if_necessary (d, maxstate);
--
-- return s;
-+ return dfastate (s, d, uc, trans);
- }
-
- /* Multibyte character handling sub-routines for dfaexec. */