Skip to contentSkip to conversation

flex: update to 2.6.0

PATCH New Alexander Kanavin 1 participant 1 message Dec 15, 2015

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 flex: update to 2.6.0

Drop backported 0001-bison-test-fixes-Do-not-use-obsolete-bison-construct.patch

Test cases have been completely rearranged upstream, so ptest support is fully rewritten. Flex is now using its own binary both during compilation and test running, so the target recipe depends on the native version on itself unconditionally now, and the location of the flex binary is adjusted when building for the target.

---
 ...fixes-Do-not-use-obsolete-bison-construct.patch | 80 ----------------------
 meta/recipes-devtools/flex/files/run-ptest         | 30 +-------
 meta/recipes-devtools/flex/flex.inc                | 22 +++---
 ...-target-for-building-tests-without-runnin.patch | 28 ++++++++
 meta/recipes-devtools/flex/flex_2.5.39.bb          |  9 ---
 meta/recipes-devtools/flex/flex_2.6.0.bb           | 13 ++++
 6 files changed, 54 insertions(+), 128 deletions(-)
 delete mode 100644 meta/recipes-devtools/flex/files/0001-bison-test-fixes-Do-not-use-obsolete-bison-construct.patch
 create mode 100644 meta/recipes-devtools/flex/flex/0001-tests-add-a-target-for-building-tests-without-runnin.patch
 delete mode 100644 meta/recipes-devtools/flex/flex_2.5.39.bb
 create mode 100644 meta/recipes-devtools/flex/flex_2.6.0.bb
meta/recipes-devtools/flex/files/0001-bison-test-fixes-Do-not-use-obsolete-bison-construct.patch deleted +0 -80
deleted file mode 100644
index 3504f54..0000000
@@ -1,80 +0,0 @@
-From 7fbc074901129ffaff9e18fadacae62d8053ad95 Mon Sep 17 00:00:00 2001
-From: Manoj Srivastava <[email protected]>
-Date: Wed, 9 Apr 2014 00:23:07 -0700
-Subject: [PATCH] Do not use obsolete bison constructs in tests.
-
-In Bison 3.0, support for YYLEX_PARAM and YYPARSE_PARAM has been
-removed (deprecated in Bison 1.875): use %lex-param, %parse-param, or
-%param. This commit fixes the tests so they still work.
-
-Signed-off-by: Manoj Srivastava <[email protected]>
-
-Upstream-Status: Backport [from http://sourceforge.net/p/flex/bugs/169/]
-
-Signed-off-by: Hongxu Jia <[email protected]>
----
- tests/test-bison-yylloc/parser.y | 4 ++--
- tests/test-bison-yylval/parser.y | 4 ++--
- 2 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/tests/test-bison-yylloc/parser.y b/tests/test-bison-yylloc/parser.y
-index e8f4e56..224d252 100644
---- a/tests/test-bison-yylloc/parser.y
-+++ b/tests/test-bison-yylloc/parser.y
-@@ -22,6 +22,7 @@
-  */
- 
- %parse-param { void* scanner }
-+%lex-param { void* scanner }
- 
- /* 
-    How to compile:
-@@ -34,7 +35,6 @@
- #include "config.h"
- 
- #define YYERROR_VERBOSE 1
--#define YYLEX_PARAM   scanner
- 
- extern int testget_lineno(void*);
- 
-@@ -52,7 +52,7 @@ int process_text(char* s) {
- 
- %}
- 
--%pure_parser
-+%pure-parser
- 
- %union  {
-     int  lineno;
-diff --git a/tests/test-bison-yylval/parser.y b/tests/test-bison-yylval/parser.y
-index 0ffdb89..626c5e7 100644
---- a/tests/test-bison-yylval/parser.y
-+++ b/tests/test-bison-yylval/parser.y
-@@ -26,6 +26,7 @@
-    bison --defines --output-file="parser.c" --name-prefix="test" parser.y
-  */
- %parse-param { void* scanner }
-+%lex-param { void* scanner }
- %{
- #include <stdio.h>
- #include <stdlib.h>
-@@ -33,7 +34,6 @@
- #include "config.h"
- 
- #define YYERROR_VERBOSE 1
--#define YYLEX_PARAM   scanner
- 
- 
- /* A dummy function. A check against seg-faults in yylval->str. */
-@@ -49,7 +49,7 @@ int process_text(char* s) {
- 
- %}
- 
--%pure_parser
-+%pure-parser
- 
- %union  {
-     long unused;
--- 
-1.9.1
-
meta/recipes-devtools/flex/files/run-ptest +3 -27
index bffba16..19db337 100755
@@ -1,29 +1,5 @@
 #!/bin/sh
 
-test1="test-alloc-extra test-array-nr test-array-r test-basic-nr test-basic-r test-extended test-quotes \
-test-bison-nr test-bison-yylloc test-bison-yylval test-c++-basic test-c-cpp-nr test-prefix-nr test-ccl \
-test-c-cpp-r test-c++-multiple-scanners test-mem-r test-mem-nr test-debug-nr test-linedir-r test-noansi-r \
-test-yyextra test-header-r test-noansi-nr test-debug-r TEMPLATE test-top test-header-nr test-prefix-r"
-test2="test-multiple-scanners-nr test-posixly-correct test-posix test-string-r test-string-nr"
-test3="test-pthread test-include-by-push test-include-by-buffer test-include-by-reentrant"
-test4="test-lineno-nr test-lineno-r test-lineno-trailing"
-test5="test-c++-yywrap test-rescan-r test-rescan-nr"
-test6="test-reject-nr test-reject-r"
-test7="test-reject-ser test-reject-ver"
-test8="test-multiple-scanners-r"
-
-output() {
-  if [ $? -eq 0 ]; \
-    then echo "PASS: $i"; \
-    else echo "FAIL: $i"; \
-  fi;
-}
-
-for i in $test1; do $i/$i < $i/test.input >/dev/null; output; done
-for i in $test2; do $i/$i >/dev/null; output; done
-for i in $test3; do cd $i; ./$i test-1.input >/dev/null; output; cd ..; done
-for i in $test4; do test `$i/$i < $i/test.input` -eq `$i/$i 1 < $i/test.input` >/dev/null; output; done
-for i in $test5; do $i/$i $i/test.input >/dev/null; output; done
-for i in $test6; do test-reject/$i < test-reject/test.input >/dev/null; output; done
-for i in $test7; do test-reject/$i test-reject/$i.tables < test-reject/test.input >/dev/null; output; done
-cd $test8; ./$test8 >/dev/null; i=$test8 output
+# make would want to rebuild some files with a compiler otherwise :-/
+make FLEX=/usr/bin/flex -t check-TESTS || true
+make FLEX=/usr/bin/flex check-TESTS
meta/recipes-devtools/flex/flex.inc +10 -12
index fbe921b..e23bb3d 100644
@@ -5,12 +5,9 @@ HOMEPAGE = "http://sourceforge.net/projects/flex/"
 
 SECTION = "devel"
 LICENSE = "BSD"
-DEPENDS += "${@'bison-native flex-native' if '${PTEST_ENABLED}' == '1' else ''}"
+DEPENDS_class-target += "bison-native flex-native"
 
-SRC_URI = "${SOURCEFORGE_MIRROR}/flex/flex-${PV}.tar.bz2 \
-           file://0001-bison-test-fixes-Do-not-use-obsolete-bison-construct.patch \
-           file://run-ptest \
-"
+UPSTREAM_CHECK_REGEX = "flex-(?P<pver>\d+(\.\d+)+)\.tar"
 
 inherit autotools gettext texinfo ptest
 
@@ -20,6 +17,7 @@ M4_class-native = "${STAGING_BINDIR_NATIVE}/m4"
 
 EXTRA_OECONF += "ac_cv_path_M4=${M4}"
 EXTRA_OEMAKE += "m4=${STAGING_BINDIR_NATIVE}/m4"
+EXTRA_OEMAKE_class-target += "FLEX=`which flex`"
 
 do_install_append_class-native() {
 	create_wrapper ${D}/${bindir}/flex M4=${M4}
@@ -30,16 +28,16 @@ do_install_append_class-nativesdk() {
 }
 
 RDEPENDS_${PN} += "m4"
+RDEPENDS_${PN}-ptest += "bash gawk"
 
 do_compile_ptest() {
-	for i in `find ${S}/tests/ -type d |grep -Ev "concatenated-options|reject|table-opts" | awk -F/ '{print $NF}'`; \
-	  do oe_runmake -C ${S}/tests/$i -f ${B}/tests/$i/Makefile top_builddir=${B} FLEX=flex $i; \
-	done
-	oe_runmake -C ${S}/tests/test-reject -f ${B}/tests/test-reject/Makefile top_builddir=${B} FLEX=flex test-reject-nr test-reject-r test-reject-ser test-reject-ver
+	oe_runmake -C ${B}/tests -f ${B}/tests/Makefile top_builddir=${B} INCLUDES=-I${S}/src FLEX=`which flex` buildtests
 }
 
 do_install_ptest() {
-	for i in `find ${S}/tests/ -type d | awk -F/ '{print $NF}'`; \
-	  do cp -r ${S}/tests/$i ${D}${PTEST_PATH}; \
-	done
+        mkdir -p ${D}${PTEST_PATH}/build-aux/
+        cp ${S}/build-aux/test-driver ${D}${PTEST_PATH}/build-aux/
+        cp -r ${S}/tests/* ${D}${PTEST_PATH}
+        cp -r ${B}/tests/* ${D}${PTEST_PATH}
+        sed -e 's/^Makefile:/_Makefile:/' -e 's/^srcdir = \(.*\)/srcdir = ./' -e 's/^top_srcdir = \(.*\)/top_srcdir = ./'  -i ${D}${PTEST_PATH}/Makefile
 }
meta/recipes-devtools/flex/flex/0001-tests-add-a-target-for-building-tests-without-runnin.patch new file +28 -0
new file mode 100644
index 0000000..556c240
@@ -0,0 +1,28 @@
+From b4aa18d939fc0c8825fa584dfcee1a7da61099cf Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <[email protected]>
+Date: Thu, 10 Dec 2015 16:09:26 +0200
+Subject: [PATCH] tests: add a target for building tests without running them
+
+Upstream-Status: Inappropriate [oe specific]
+Signed-off-by: Alexander Kanavin <[email protected]>
+---
+ tests/Makefile.am | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/tests/Makefile.am b/tests/Makefile.am
+index 4ac3c17..0025cfe 100644
+--- a/tests/Makefile.am
++++ b/tests/Makefile.am
+@@ -21,6 +21,9 @@
+ 
+ TESTS = $(check_PROGRAMS) options.cn
+ 
++# This allows building tests without running them
++buildtests: $(TESTS)
++
+ # The script testwrapper.sh will run most tests as is. A couple tests
+ # in the suite end in .reject, .table and the like so that we can pass
+ # different arguments to the test runner. We list those extensions so
+-- 
+2.6.2
+
meta/recipes-devtools/flex/flex_2.5.39.bb deleted +0 -9
deleted file mode 100644
index 7485743..0000000
@@ -1,9 +0,0 @@
-require flex.inc
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=e4742cf92e89040b39486a6219b68067"
-BBCLASSEXTEND = "native nativesdk"
-
-SRC_URI += "file://do_not_create_pdf_doc.patch"
-
-SRC_URI[md5sum] = "77d44c6bb8c0705e0017ab9a84a1502b"
-SRC_URI[sha256sum] = "add2b55f3bc38cb512b48fad7d72f43b11ef244487ff25fc00aabec1e32b617f"
meta/recipes-devtools/flex/flex_2.6.0.bb new file +13 -0
new file mode 100644
index 0000000..ecacd60
@@ -0,0 +1,13 @@
+require flex.inc
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=e4742cf92e89040b39486a6219b68067"
+BBCLASSEXTEND = "native nativesdk"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/flex/flex-${PV}.tar.bz2 \
+           file://run-ptest \
+           file://do_not_create_pdf_doc.patch \
+           file://0001-tests-add-a-target-for-building-tests-without-runnin.patch \
+           "
+
+SRC_URI[md5sum] = "266270f13c48ed043d95648075084d59"
+SRC_URI[sha256sum] = "24e611ef5a4703a191012f80c1027dc9d12555183ce0ecd46f3636e587e9b8e9"
Signature · 1 line
2.6.2