Update to 4.2:

* now released under GPLv3

* added a new extension `z` to clear pattern space even in the presence
of invalid multibyte sequences

* a preexisting GNU gettext installation is needed in order to compile
GNU sed with NLS support

* new option --follow-symlinks, available when editing a file in-place.
This option may not be available on some systems (in this case, the
option will *not* be a no-op; it will be completely unavailable).
In the future, the option may be added as a no-op on systems without
symbolic links at all, since in this case a no-op is effectively
indistinguishable from a correct implementation.

* hold-space is reset between different files in -i and -s modes.

* multibyte processing fixed

* the following GNU extensions are turned off by --posix: options [iImMsSxX]
in the `s' command, address kinds `FIRST~STEP' and `ADDR1,+N' and `ADDR1,~N',
line address 0, `e' or `z' commands, text between an `a' or `c' or `i'
command and the following backslash, arguments to the `l' command.
--posix disables all extensions to regular expressions.

* fixed bug in 'i\' giving a segmentation violation if given alone.

* much improved portability

* much faster in UTF-8 locales

* will correctly replace ACLs when using -i

* will now accept NUL bytes for `.'
This commit is contained in:
wiz 2009-08-08 21:26:49 +00:00
parent 4f2f3de8ae
commit 1a860c5d30
8 changed files with 13 additions and 118 deletions

View file

@ -1,7 +1,7 @@
# $NetBSD: Makefile,v 1.34 2008/04/04 15:27:03 joerg Exp $
# $NetBSD: Makefile,v 1.35 2009/08/08 21:26:49 wiz Exp $
#
DISTNAME= sed-4.1.5
DISTNAME= sed-4.2
PKGNAME= g${DISTNAME}
CATEGORIES= textproc editors
MASTER_SITES= ${MASTER_SITE_GNU:=sed/}
@ -9,6 +9,7 @@ MASTER_SITES= ${MASTER_SITE_GNU:=sed/}
MAINTAINER= pkgsrc-users@NetBSD.org
HOMEPAGE= http://www.gnu.org/software/sed/sed.html
COMMENT= GNU implementation of sed, the POSIX stream editor
LICENSE= gnu-gpl-v3 AND gnu-fdl-v1.3
PKG_INSTALLATION_TYPES= overwrite pkgviews
PKG_DESTDIR_SUPPORT= user-destdir

View file

@ -1,4 +1,4 @@
@comment $NetBSD: PLIST,v 1.11 2006/04/17 07:07:35 jlam Exp $
@comment $NetBSD: PLIST,v 1.12 2009/08/08 21:26:49 wiz Exp $
bin/${GNU_PROGRAM_PREFIX}sed
info/sed.info
man/man1/${GNU_PROGRAM_PREFIX}sed.1
@ -11,6 +11,7 @@ share/locale/el/LC_MESSAGES/sed.mo
share/locale/eo/LC_MESSAGES/sed.mo
share/locale/es/LC_MESSAGES/sed.mo
share/locale/et/LC_MESSAGES/sed.mo
share/locale/eu/LC_MESSAGES/sed.mo
share/locale/fi/LC_MESSAGES/sed.mo
share/locale/fr/LC_MESSAGES/sed.mo
share/locale/ga/LC_MESSAGES/sed.mo
@ -24,6 +25,7 @@ share/locale/ja/LC_MESSAGES/sed.mo
share/locale/ko/LC_MESSAGES/sed.mo
share/locale/nl/LC_MESSAGES/sed.mo
share/locale/pl/LC_MESSAGES/sed.mo
share/locale/pt/LC_MESSAGES/sed.mo
share/locale/pt_BR/LC_MESSAGES/sed.mo
share/locale/ro/LC_MESSAGES/sed.mo
share/locale/ru/LC_MESSAGES/sed.mo
@ -32,4 +34,7 @@ share/locale/sl/LC_MESSAGES/sed.mo
share/locale/sr/LC_MESSAGES/sed.mo
share/locale/sv/LC_MESSAGES/sed.mo
share/locale/tr/LC_MESSAGES/sed.mo
share/locale/uk/LC_MESSAGES/sed.mo
share/locale/vi/LC_MESSAGES/sed.mo
share/locale/zh_CN/LC_MESSAGES/sed.mo
share/locale/zh_TW/LC_MESSAGES/sed.mo

View file

@ -1,10 +1,5 @@
$NetBSD: distinfo,v 1.15 2007/12/19 13:27:20 rillig Exp $
$NetBSD: distinfo,v 1.16 2009/08/08 21:26:49 wiz Exp $
SHA1 (sed-4.1.5.tar.gz) = 8e575e8a44568392d5b6e089eab5da5cdbd45885
RMD160 (sed-4.1.5.tar.gz) = 49b12e99a55c6d2e78ad236f0205e63e46444173
Size (sed-4.1.5.tar.gz) = 799584 bytes
SHA1 (patch-aa) = fa00264254c527a08bce1b60090fc05ebe2fbd37
SHA1 (patch-ad) = 95e210098db1ba9d28623acfa1e4d838e5d94cfa
SHA1 (patch-ae) = 5246cbee7e25923bfe7f4896404e286d5721c135
SHA1 (patch-regcomp) = d33ae87c3af6ab552e7f332b63ea8796bf1b36e0
SHA1 (patch-regexec) = 26a97fa3b6c161ebe6fa6b80251d1bb11f2877f0
SHA1 (sed-4.2.tar.gz) = 365ecc50780c4d2c9e65e8c4b89c760a9e16a3a6
RMD160 (sed-4.2.tar.gz) = 92974cfa4111bfa53b6ba84c962c830f5d008555
Size (sed-4.2.tar.gz) = 1054760 bytes

View file

@ -1,22 +0,0 @@
$NetBSD: patch-aa,v 1.4 2007/04/10 19:44:27 joerg Exp $
--- configure.orig 2007-04-10 19:12:05.000000000 +0000
+++ configure
@@ -11266,17 +11266,6 @@ done
;;
esac
done ;;
- gettext-fix )
- sed -e '/^mkinstalldirs *=/a\' \
- -e "install_sh=$install_sh" \
- -e 's/^mkinstalldirs *=.*/mkinstalldirs=$(MKINSTALLDIRS)/' \
- intl/Makefile > intl/Makefile.tmp
- mv intl/Makefile.tmp intl/Makefile
- sed -e '/^mkinstalldirs *=/a\' \
- -e "install_sh=$install_sh" \
- -e 's/^mkinstalldirs *=.*/mkinstalldirs=$(MKINSTALLDIRS)/' \
- po/Makefile > po/Makefile.tmp
- mv po/Makefile.tmp po/Makefile ;;
esac
done
_ACEOF

View file

@ -1,17 +0,0 @@
$NetBSD: patch-ad,v 1.5 2007/04/10 19:44:27 joerg Exp $
--- po/Makefile.in.in.orig 2005-06-21 14:09:42.000000000 +0000
+++ po/Makefile.in.in
@@ -24,10 +24,11 @@ datadir = @datadir@
localedir = $(datadir)/locale
gettextsrcdir = $(datadir)/gettext/po
+install_sh = @install_sh@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
MKINSTALLDIRS = @MKINSTALLDIRS@
-mkinstalldirs = $(SHELL) `case "$(MKINSTALLDIRS)" in /*) echo "$(MKINSTALLDIRS)" ;; *) echo "$(top_builddir)/$(MKINSTALLDIRS)" ;; esac`
+mkinstalldirs = ${BSD_INSTALL_DATA_DIR}
GMSGFMT = @GMSGFMT@
MSGFMT = @MSGFMT@

View file

@ -1,27 +0,0 @@
$NetBSD: patch-ae,v 1.4 2007/12/19 00:11:26 rillig Exp $
--- lib/regex_internal.h.orig 2005-12-06 09:50:56.000000000 +0100
+++ lib/regex_internal.h 2007-12-19 01:00:04.578459000 +0100
@@ -41,6 +41,10 @@
#endif /* HAVE_WCTYPE_H || _LIBC */
#if defined HAVE_STDBOOL_H || defined _LIBC
# include <stdbool.h>
+#elif defined HAVE__BOOL
+# define bool _Bool
+# define false 0
+# define true 1
#endif /* HAVE_STDBOOL_H || _LIBC */
#if defined _LIBC
# include <bits/libc-lock.h>
@@ -410,7 +414,10 @@ static unsigned int re_string_context_at
#define re_string_skip_bytes(pstr,idx) ((pstr)->cur_idx += (idx))
#define re_string_set_index(pstr,idx) ((pstr)->cur_idx = (idx))
-#include <alloca.h>
+#if defined(__sun)
+# include <alloca.h>
+#endif
+#include <stdlib.h>
#ifndef _LIBC
# if HAVE_ALLOCA

View file

@ -1,25 +0,0 @@
$NetBSD: patch-regcomp,v 1.2 2007/12/19 13:27:20 rillig Exp $
The [ from ... to ] designator is gcc-specific.
--- lib/regcomp.c.orig 2005-12-06 09:46:51.000000000 +0100
+++ lib/regcomp.c 2007-12-19 00:52:02.864945000 +0100
@@ -558,7 +558,17 @@ weak_alias (__regerror, regerror)
static const bitset_t utf8_sb_map =
{
/* Set the first 128 bits. */
- [0 ... 0x80 / BITSET_WORD_BITS - 1] = BITSET_WORD_MAX
+#if BITSET_WORD_MAX == 0xffffffffULL
+ [0] = BITSET_WORD_MAX,
+ [1] = BITSET_WORD_MAX,
+ [2] = BITSET_WORD_MAX,
+ [3] = BITSET_WORD_MAX
+#elif BITSET_WORD_MAX == 0xffffffffffffffffULL
+ [0] = BITSET_WORD_MAX,
+ [1] = BITSET_WORD_MAX
+#else
+#error "Unknown value for BITSET_WORD_MAX"
+#endif
};
#endif

View file

@ -1,15 +0,0 @@
$NetBSD: patch-regexec,v 1.1 2007/12/19 00:11:26 rillig Exp $
gcc extensions tend to confuse other compilers.
--- lib/regexec.c.orig 2005-12-06 09:46:56.000000000 +0100
+++ lib/regexec.c 2007-12-19 00:55:31.130195000 +0100
@@ -2894,7 +2894,7 @@ check_arrival (re_match_context_t *mctx,
sizeof (re_dfastate_t *) * (path->alloc - old_alloc));
}
- str_idx = path->next_idx ?: top_str;
+ str_idx = path->next_idx ? path->next_idx : top_str;
/* Temporary modify MCTX. */
backup_state_log = mctx->state_log;