diff options
author | sem <sem@FreeBSD.org> | 2006-04-20 13:51:54 +0800 |
---|---|---|
committer | sem <sem@FreeBSD.org> | 2006-04-20 13:51:54 +0800 |
commit | 3e0f0a4c31527a975706d3e3d6e34065554df9ba (patch) | |
tree | 6c8423cfbc72f39af6dcd268678b595b587cde82 /textproc/gsed | |
parent | ff84bb313ff577215fec8cb3ab68904fbe18b19c (diff) | |
download | freebsd-ports-graphics-3e0f0a4c31527a975706d3e3d6e34065554df9ba.tar.gz freebsd-ports-graphics-3e0f0a4c31527a975706d3e3d6e34065554df9ba.tar.zst freebsd-ports-graphics-3e0f0a4c31527a975706d3e3d6e34065554df9ba.zip |
- Fix build on 4.x
PR: ports/96013
Submitted by: maintainer
Diffstat (limited to 'textproc/gsed')
-rw-r--r-- | textproc/gsed/Makefile | 10 | ||||
-rw-r--r-- | textproc/gsed/files/extrapatch-lib-regexec.c | 43 |
2 files changed, 52 insertions, 1 deletions
diff --git a/textproc/gsed/Makefile b/textproc/gsed/Makefile index 26646c5b50d..73ee3b34bdf 100644 --- a/textproc/gsed/Makefile +++ b/textproc/gsed/Makefile @@ -32,6 +32,14 @@ EXAMPLESDIR= ${PREFIX}/share/examples/${PKGBASE} PORTDOCS= AUTHORS BUGS COPYING COPYING.DOC NEWS README THANKS DOCSDIR= ${PREFIX}/share/doc/${PKGBASE} +.include <bsd.port.pre.mk> + +# Required for gcc 2.95 since it is pre-C99 +# and doesn't handle the 'bool' datatype properly. +.if ${OSVERSION} < 500000 +EXTRA_PATCHES= ${FILESDIR}/extrapatch-lib-regexec.c +.endif + post-patch: @${REINPLACE_CMD} -e 's,^\* sed:,* CNU sed:,' \ ${WRKSRC}/doc/config.texi @@ -59,4 +67,4 @@ post-install: test: @cd ${WRKSRC}/testsuite; ${MAKE} check -.include <bsd.port.mk> +.include <bsd.port.post.mk> diff --git a/textproc/gsed/files/extrapatch-lib-regexec.c b/textproc/gsed/files/extrapatch-lib-regexec.c new file mode 100644 index 00000000000..a7842dc994e --- /dev/null +++ b/textproc/gsed/files/extrapatch-lib-regexec.c @@ -0,0 +1,43 @@ +# +# Required for gcc 2.95 since it is pre-C99 +# and doesn't handle the 'bool' datatype properly. +# +--- lib/regexec.c.orig Sat Apr 15 20:53:36 2006 ++++ lib/regexec.c Sat Apr 15 21:17:03 2006 +@@ -3296,8 +3296,7 @@ + reg_errcode_t err; + int i, j, ch, need_word_trtable = 0; + bitset_word_t elem, mask; +- bool dests_node_malloced = false; +- bool dest_states_malloced = false; ++ int dests_node_malloced = 0, dest_states_malloced = 0; + int ndests; /* Number of the destination states from `state'. */ + re_dfastate_t **trtable; + re_dfastate_t **dest_states = NULL, **dest_states_word, **dest_states_nl; +@@ -3322,7 +3321,7 @@ + dests_alloc = re_malloc (struct dests_alloc, 1); + if (BE (dests_alloc == NULL, 0)) + return 0; +- dests_node_malloced = true; ++ dests_node_malloced = 1; + } + dests_node = dests_alloc->dests_node; + dests_ch = dests_alloc->dests_ch; +@@ -3371,7 +3370,7 @@ + free (dests_alloc); + return 0; + } +- dest_states_malloced = true; ++ dest_states_malloced = 1; + } + dest_states_word = dest_states + ndests; + dest_states_nl = dest_states_word + ndests; +@@ -3576,7 +3575,7 @@ + { + if (constraint & NEXT_NEWLINE_CONSTRAINT) + { +- bool accepts_newline = bitset_contain (accepts, NEWLINE_CHAR); ++ int accepts_newline = bitset_contain (accepts, NEWLINE_CHAR); + bitset_empty (accepts); + if (accepts_newline) + bitset_set (accepts, NEWLINE_CHAR); |