diff --git a/srcpkgs/flex/patches/078b46c6.patch b/srcpkgs/flex/patches/078b46c6.patch new file mode 100644 index 00000000000..014daabc297 --- /dev/null +++ b/srcpkgs/flex/patches/078b46c6.patch @@ -0,0 +1,82 @@ +From 078b46c69d063aef1715b11348a2871d6036f253 Mon Sep 17 00:00:00 2001 +From: Christos Zoulas +Date: Sun, 22 Jan 2017 18:34:30 +0100 +Subject: [PATCH] Add more defines in the non-reentrant part. + +Fix the reentrant part; don't "#define yyfoo yyfoo" because it breaks +code that does #ifndef yywrap .. +--- + src/flex.skl | 16 ++++++++++++++-- + 1 file changed, 14 insertions(+), 2 deletions(-) + +diff --git a/src/flex.skl b/src/flex.skl +index 190700f..6a7cde4 100644 +--- src/flex.skl ++++ src/flex.skl +@@ -61,11 +61,17 @@ m4_changequote([[, ]]) + m4_ifelse(M4_YY_PREFIX,yy,, + #define yy_create_buffer M4_YY_PREFIX[[_create_buffer]] + #define yy_delete_buffer M4_YY_PREFIX[[_delete_buffer]] +-#define yy_flex_debug M4_YY_PREFIX[[_flex_debug]] ++#define yy_scan_buffer M4_YY_PREFIX[[_scan_buffer]] ++#define yy_scan_string M4_YY_PREFIX[[_scan_string]] ++#define yy_scan_bytes M4_YY_PREFIX[[_scan_bytes]] + #define yy_init_buffer M4_YY_PREFIX[[_init_buffer]] + #define yy_flush_buffer M4_YY_PREFIX[[_flush_buffer]] + #define yy_load_buffer_state M4_YY_PREFIX[[_load_buffer_state]] + #define yy_switch_to_buffer M4_YY_PREFIX[[_switch_to_buffer]] ++#define yypush_buffer_state M4_YY_PREFIX[[push_buffer_state]] ++#define yypop_buffer_state M4_YY_PREFIX[[pop_buffer_state]] ++#define yyensure_buffer_stack M4_YY_PREFIX[[ensure_buffer_stack]] ++#define yy_flex_debug M4_YY_PREFIX[[_flex_debug]] + #define yyin M4_YY_PREFIX[[in]] + #define yyleng M4_YY_PREFIX[[leng]] + #define yylex M4_YY_PREFIX[[lex]] +@@ -107,7 +113,7 @@ m4_ifdef( [[M4_YY_PREFIX]],, [[m4_define([[M4_YY_PREFIX]], [[yy]])]]) + + m4preproc_define(`M4_GEN_PREFIX', + ``[[#define yy$1 ]]M4_YY_PREFIX[[$1]] +-m4_define([[yy$1]], [[M4_YY_PREFIX[[$1]]m4_ifelse($'`#,0,,[[($'`@)]])]])'') ++%# m4_define([[yy$1]], [[M4_YY_PREFIX[[$1]]m4_ifelse($'`#,0,,[[($'`@)]])]])'') + + %if-c++-only + /* The c++ scanner is a mess. The FlexLexer.h header file relies on the +@@ -120,6 +126,7 @@ m4_define([[yy$1]], [[M4_YY_PREFIX[[$1]]m4_ifelse($'`#,0,,[[($'`@)]])]])'') + %endif + + %if-c-only ++m4_ifelse(M4_YY_PREFIX,yy,, + M4_GEN_PREFIX(`_create_buffer') + M4_GEN_PREFIX(`_delete_buffer') + M4_GEN_PREFIX(`_scan_buffer') +@@ -155,6 +162,7 @@ m4_define([[yy$1]], [[M4_YY_PREFIX[[$1]]m4_ifelse($'`#,0,,[[($'`@)]])]])'') + M4_GEN_PREFIX(`set_column') + ]]) + M4_GEN_PREFIX(`wrap') ++) + %endif + + m4_ifdef( [[M4_YY_BISON_LVAL]], +@@ -170,11 +178,14 @@ m4_ifdef( [[]], + ]]) + + ++m4_ifelse(M4_YY_PREFIX,yy,, + M4_GEN_PREFIX(`alloc') + M4_GEN_PREFIX(`realloc') + M4_GEN_PREFIX(`free') ++) + + %if-c-only ++m4_ifelse(M4_YY_PREFIX,yy,, + m4_ifdef( [[M4_YY_NOT_REENTRANT]], + [[ + M4_GEN_PREFIX(`text') +@@ -184,6 +195,7 @@ m4_ifdef( [[M4_YY_NOT_REENTRANT]], + M4_GEN_PREFIX(`_flex_debug') + M4_GEN_PREFIX(`lineno') + ]]) ++) + %endif + + diff --git a/srcpkgs/flex/patches/no-help2man.patch b/srcpkgs/flex/patches/no-help2man.patch new file mode 100644 index 00000000000..e5cfc88c103 --- /dev/null +++ b/srcpkgs/flex/patches/no-help2man.patch @@ -0,0 +1,32 @@ +--- doc/Makefile.in.orig 2017-02-08 15:54:38.164525908 +0100 ++++ doc/Makefile.in 2017-02-08 15:57:04.101172972 +0100 +@@ -235,7 +235,6 @@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_V + GMSGFMT = @GMSGFMT@ + GMSGFMT_015 = @GMSGFMT_015@ + GREP = @GREP@ +-HELP2MAN = @HELP2MAN@ + INDENT = @INDENT@ + INSTALL = @INSTALL@ + INSTALL_DATA = @INSTALL_DATA@ +@@ -351,7 +350,6 @@ target_alias = @target_alias@ + top_build_prefix = @top_build_prefix@ + top_builddir = @top_builddir@ + top_srcdir = @top_srcdir@ +-help2man = @HELP2MAN@ + FLEX = $(top_builddir)/src/flex$(EXEEXT) + info_TEXINFOS = flex.texi + dist_man_MANS = flex.1 +@@ -880,11 +878,8 @@ uninstall-man: uninstall-man1 + .PRECIOUS: Makefile + + +-flex.1: $(top_srcdir)/configure.ac $(top_srcdir)/src/flex.skl $(top_srcdir)/src/options.c $(top_srcdir)/src/options.h | $(FLEX) +- $(help2man) --name='$(PACKAGE_NAME)' --section=1 \ +- --source='The Flex Project' --manual='Programming' \ +- --output=$@ $(FLEX) \ +- || rm -f $@ ++flex.1: ++ $(INSTALL) -Dm644 doc/flex.1 $(DESTDIR)/usr/share/man/man1/flex.1 + + # Tell versions [3.59,3.63) of GNU make to not export all variables. + # Otherwise a system limit (for SysV at least) may be exceeded. diff --git a/srcpkgs/flex/template b/srcpkgs/flex/template index 1fccee2a6c3..6689e2fe2ad 100644 --- a/srcpkgs/flex/template +++ b/srcpkgs/flex/template @@ -1,7 +1,7 @@ # Template file for 'flex' pkgname=flex version=2.6.3 -revision=1 +revision=2 build_style=gnu-configure configure_args="--disable-bootstrap --disable-shared" hostmakedepends="bison"