2018-07-17 12:56:23 +02:00
|
|
|
# $NetBSD: Makefile,v 1.52 2018/07/17 10:56:24 jperkin Exp $
|
2001-06-26 14:45:38 +02:00
|
|
|
|
2018-04-27 16:16:23 +02:00
|
|
|
DISTNAME= sed-4.5
|
2001-06-26 14:45:38 +02:00
|
|
|
PKGNAME= g${DISTNAME}
|
|
|
|
CATEGORIES= textproc editors
|
|
|
|
MASTER_SITES= ${MASTER_SITE_GNU:=sed/}
|
Updated gsed to 4.3.
* Noteworthy changes in release 4.3 (2016-12-30) [stable]
** Improvements
sed's regular expression matching is now typically 10x faster
sed now uses unlocked-io where available, resulting in faster I/O
operations.
** Bug fixes
sed no longer mishandles anchors ^/$ in multiline regex (s///mg)
with -z option (NUL terminated lines). [Bug introducted in sed-4.2.2
with the initial implementation of -z]
sed no longer accepts a ":" command without a label; before, it would
treat that as defining a label whose name is empty, and subsequent
label-free "t" and "b" commands would use that label. Now, sed emits
a diagnostic and fails for that invalid construct.
sed no longer accesses uninitialized memory when processing certain
invalid multibyte sequences. Demonstrate with this:
echo a | LC_ALL=ja_JP.eucJP valgrind sed/sed 's/a/b\U\xb2c/'
The error appears to have been introduced with the sed-4.0a release.
The 'y' (transliterate) operator once again works with a NUL byte
on the RHS. E.g., sed 'y/b/\x00/' now works like tr b '\0'. GNU sed
has never before recognized \x00 in this context. However, sed-3.02
and prior did accept a literal NUL byte in the RHS, which was possible
only when reading a script from a file. For example, this:
echo abc|sed -f <(printf 'y/b/\x00/\n')|cat -A
is what stopped working. [bug introduced some time after sed-3.02 and
prior to the first sed-4* test release]
When the closed-above line number ranges of N editing commands
overlap (N>1), sed would apply commands 2..N to the line just
beyond the largest range endpoint.
[bug introduced some time after sed-4.09 and prior to release in sed-4.1]
Before, this command would mistakenly modify line 5:
$ seq 6|sed '2,4d;2,3s/^/x/;3,4s/^/y/'
1
yx5
6
Now, it does not:
$ seq 6|sed '2,4d;2,3s/^/x/;3,4s/^/y/'
1
5
6
An erroneous sed invocation like "echo > F; sed -i s//b/ F" no longer
leaves behind a temporary file. Before, that command would create a file
alongside F with a name matching /^sed......$/ and fail to remove it.
sed --follow-symlinks now works again for stdin.
[bug introduced in sed-4.2.2]
sed no longer elides invalid bytes in a substitution RHS.
Now, sed copies such bytes into the output, just as Perl does.
[bug introduced in sed-4.1 -- it was also present prior to 4.0.6]
sed no longer prints extraneous character when a backslash follows \c.
'\c\\' generates control character ^\ (ASCII 0x1C).
Other characters after the second backslash are rejected (e.g. '\c\d').
[bug introduced in the sed-4.0.* releases]
sed no longer mishandles incomplete multibyte sequences in s,y commands
and valid multibyte SHIFT-JIS characters in character classes.
Previously, the following commands would fail:
LC_ALL=en_US.UTF-8 sed $'s/\316/X/'
LC_ALL=ja_JP.shiftjis sed $'/[\203]/]/p'
[bug introduced some time after sed-4.1.5 and before sed-4.2.1]
** Feature removal
The "L" command (format a paragraph like the fmt(1) command would)
has been listed in the documentation as a failed experiment for at
least 10 years. That command is now removed.
** Build-related
"make dist" now builds .tar.xz files, rather than .tar.gz ones.
xz is portable enough and in wide-enough use that distributing
only .tar.xz files is enough. It has been fine for coreutils, grep,
diffutils and parted for a few years.
** New Features
new --sandbox option rejects programs with r/w/e commands.
* Noteworthy changes in release 4.2.2 (2012-12-22) [stable]
* don't misbehave (truncate input) for lines of length 2^31 and longer
* fix endless loop on incomplete multibyte sequences
* -u also does unbuffered input, rather than unbuffered output only
* New command `F' to print current input file name
* sed -i, s///w, and the `w' and `W' commands also obey the --binary option
(and create CR/LF-terminated files if the option is absent)
* --posix fails for scripts (or fragments as passed to the -e option) that
end in a backslash, as they are not portable.
* New option -z (--null-data) to separate lines by ASCII NUL characters.
* \x26 (and similar escaped sequences) produces a literal & in the
replacement argument of the s/// command, rather than including the
matched text.
2017-01-16 12:45:14 +01:00
|
|
|
EXTRACT_SUFX= .tar.xz
|
2001-06-26 14:45:38 +02:00
|
|
|
|
2006-03-04 22:28:51 +01:00
|
|
|
MAINTAINER= pkgsrc-users@NetBSD.org
|
2001-06-26 14:45:38 +02:00
|
|
|
HOMEPAGE= http://www.gnu.org/software/sed/sed.html
|
2003-06-14 03:32:48 +02:00
|
|
|
COMMENT= GNU implementation of sed, the POSIX stream editor
|
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 `.'
2009-08-08 23:26:49 +02:00
|
|
|
LICENSE= gnu-gpl-v3 AND gnu-fdl-v1.3
|
2001-06-26 14:45:38 +02:00
|
|
|
|
2018-07-17 12:56:23 +02:00
|
|
|
USE_GCC_RUNTIME= yes
|
Update gsed to 4.0.7.
changes since 3.02:
4.0.7
Changes: This version fixes some rare infinite loops and wrong results
that occurred when the s command had a numeric option and the regular
expression could match the empty string.
4.0.6
Changes: This release improves portability a lot, and adds a
configure-time switch to choose between the included regex matcher and
the system matcher (on glibc systems only).
4.0.5
Changes: This release fixes a few portability bugs and improves the
quality of the documentation. "a", "i", "l", "L", and "=" now accept
address ranges.
4.0.3
Changes: A packaging problem with two missing translation catalogs was
fixed.
4.0.2
Changes: This release makes sed able to bootstrap itself on operating
systems that cannot run the configure script.
4.0.1
Changes: This release includes translations for over 20 languages, and
cleans up the binary and documentation files from references to
super-sed.
4.0
Changes: This release has been merged with super-sed and supports all
of its features, except for Perl regular expressions. This includes
in-place editing, new sed commands, better documentation, and support
for changing the case of the characters with the `s' command. The
performance and correctness of the regular expression matcher have
also been improved.
2003-06-14 02:04:55 +02:00
|
|
|
USE_PKGLOCALEDIR= YES
|
|
|
|
GNU_CONFIGURE= YES
|
2007-03-08 19:53:56 +01:00
|
|
|
INFO_FILES= YES
|
|
|
|
TEST_TARGET= check
|
2002-12-25 18:51:23 +01:00
|
|
|
|
2012-12-31 01:27:36 +01:00
|
|
|
INSTALLATION_DIRS= ${PKGGNUDIR}bin ${PKGGNUDIR}${PKGMANDIR}/man1
|
2012-05-30 00:22:00 +02:00
|
|
|
|
2005-03-02 00:10:47 +01:00
|
|
|
# at least Solaris-2.9 has issues with grep/egrep
|
2006-11-05 02:42:03 +01:00
|
|
|
USE_TOOLS+= grep makeinfo
|
2005-03-02 00:10:47 +01:00
|
|
|
|
2012-05-30 00:22:00 +02:00
|
|
|
CONFIGURE_ARGS+= --program-prefix=g
|
2011-12-29 23:30:47 +01:00
|
|
|
|
2012-12-06 12:38:19 +01:00
|
|
|
.include "../../mk/bsd.prefs.mk"
|
|
|
|
|
2011-12-29 23:30:47 +01:00
|
|
|
post-install:
|
2012-12-06 12:38:19 +01:00
|
|
|
.for g n in bin/gsed ${PKGGNUDIR}bin/sed ${PKGMANDIR}/man1/gsed.1 ${PKGGNUDIR}${PKGMANDIR}/man1/sed.1
|
2012-06-01 21:29:38 +02:00
|
|
|
${LN} -sf ${PREFIX}/${g} ${DESTDIR}${PREFIX}/${n}
|
|
|
|
.endfor
|
2011-12-29 23:30:47 +01:00
|
|
|
|
2004-04-25 07:01:46 +02:00
|
|
|
.include "../../devel/gettext-lib/buildlink3.mk"
|
2001-06-26 14:45:38 +02:00
|
|
|
.include "../../mk/bsd.pkg.mk"
|