From 4fe048b7b32eb3d20a43171b83e8ad2037192d34 Mon Sep 17 00:00:00 2001 From: Alexander Kanavin Date: Tue, 15 Dec 2015 13:59:34 +0200 Subject: 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. Merge split bb/inc as there's no other user of the .inc [RB] As automake insists adding BUILD_SOURCES as a dependency to the "all" target, remove tests/ from the build unless ptests are enabled. This means native builds don't need a bison dependency. If ptests are enabled, we build-depend on flex-native and bison-native for the test suite, and tell it to use the flex-native binary instead of attempting to run the cross flex it just built. [RB] Move in-tree files from files/ to flex/ for consistency. [RB] Signed-off-by: Alexander Kanavin Signed-off-by: Ross Burton --- ...fixes-Do-not-use-obsolete-bison-construct.patch | 80 ---------------------- .../flex/files/do_not_create_pdf_doc.patch | 17 ----- meta/recipes-devtools/flex/files/run-ptest | 29 -------- meta/recipes-devtools/flex/flex.inc | 45 ------------ ...-target-for-building-tests-without-runnin.patch | 28 ++++++++ .../recipes-devtools/flex/flex/disable-tests.patch | 19 +++++ .../flex/flex/do_not_create_pdf_doc.patch | 17 +++++ meta/recipes-devtools/flex/flex/run-ptest | 5 ++ meta/recipes-devtools/flex/flex_2.5.39.bb | 9 --- meta/recipes-devtools/flex/flex_2.6.0.bb | 55 +++++++++++++++ 10 files changed, 124 insertions(+), 180 deletions(-) delete mode 100644 meta/recipes-devtools/flex/files/0001-bison-test-fixes-Do-not-use-obsolete-bison-construct.patch delete mode 100644 meta/recipes-devtools/flex/files/do_not_create_pdf_doc.patch delete mode 100755 meta/recipes-devtools/flex/files/run-ptest delete mode 100644 meta/recipes-devtools/flex/flex.inc create mode 100644 meta/recipes-devtools/flex/flex/0001-tests-add-a-target-for-building-tests-without-runnin.patch create mode 100644 meta/recipes-devtools/flex/flex/disable-tests.patch create mode 100644 meta/recipes-devtools/flex/flex/do_not_create_pdf_doc.patch create mode 100755 meta/recipes-devtools/flex/flex/run-ptest delete mode 100644 meta/recipes-devtools/flex/flex_2.5.39.bb create mode 100644 meta/recipes-devtools/flex/flex_2.6.0.bb (limited to 'meta/recipes-devtools') diff --git a/meta/recipes-devtools/flex/files/0001-bison-test-fixes-Do-not-use-obsolete-bison-construct.patch b/meta/recipes-devtools/flex/files/0001-bison-test-fixes-Do-not-use-obsolete-bison-construct.patch deleted file mode 100644 index 3504f546d3..0000000000 --- a/meta/recipes-devtools/flex/files/0001-bison-test-fixes-Do-not-use-obsolete-bison-construct.patch +++ /dev/null @@ -1,80 +0,0 @@ -From 7fbc074901129ffaff9e18fadacae62d8053ad95 Mon Sep 17 00:00:00 2001 -From: Manoj Srivastava -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 - -Upstream-Status: Backport [from http://sourceforge.net/p/flex/bugs/169/] - -Signed-off-by: Hongxu Jia ---- - 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 - #include -@@ -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 - diff --git a/meta/recipes-devtools/flex/files/do_not_create_pdf_doc.patch b/meta/recipes-devtools/flex/files/do_not_create_pdf_doc.patch deleted file mode 100644 index 032833ae7a..0000000000 --- a/meta/recipes-devtools/flex/files/do_not_create_pdf_doc.patch +++ /dev/null @@ -1,17 +0,0 @@ -Upstream-Status: Inappropriate (embedded specific) - -Signed-off-by: Laurentiu Palcu - -Index: flex-2.5.37/doc/Makefile.am -=================================================================== ---- flex-2.5.37.orig/doc/Makefile.am 2012-07-21 04:18:27.000000000 +0300 -+++ flex-2.5.37/doc/Makefile.am 2013-07-30 17:57:09.834834531 +0300 -@@ -2,7 +2,7 @@ - - info_TEXINFOS = flex.texi - dist_man_MANS = flex.1 --dist_doc_DATA= flex.pdf -+EXTRA_DIST= flex.pdf - - CLEANFILES = \ - flex.hks \ diff --git a/meta/recipes-devtools/flex/files/run-ptest b/meta/recipes-devtools/flex/files/run-ptest deleted file mode 100755 index bffba16f70..0000000000 --- a/meta/recipes-devtools/flex/files/run-ptest +++ /dev/null @@ -1,29 +0,0 @@ -#!/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 diff --git a/meta/recipes-devtools/flex/flex.inc b/meta/recipes-devtools/flex/flex.inc deleted file mode 100644 index fbe921bfbe..0000000000 --- a/meta/recipes-devtools/flex/flex.inc +++ /dev/null @@ -1,45 +0,0 @@ -SUMMARY = "Flex (The Fast Lexical Analyzer)" -DESCRIPTION = "Flex is a fast lexical analyser generator. Flex is a tool for generating programs that recognize \ -lexical patterns in text." -HOMEPAGE = "http://sourceforge.net/projects/flex/" - -SECTION = "devel" -LICENSE = "BSD" -DEPENDS += "${@'bison-native flex-native' if '${PTEST_ENABLED}' == '1' else ''}" - -SRC_URI = "${SOURCEFORGE_MIRROR}/flex/flex-${PV}.tar.bz2 \ - file://0001-bison-test-fixes-Do-not-use-obsolete-bison-construct.patch \ - file://run-ptest \ -" - -inherit autotools gettext texinfo ptest - - -M4 = "${bindir}/m4" -M4_class-native = "${STAGING_BINDIR_NATIVE}/m4" - -EXTRA_OECONF += "ac_cv_path_M4=${M4}" -EXTRA_OEMAKE += "m4=${STAGING_BINDIR_NATIVE}/m4" - -do_install_append_class-native() { - create_wrapper ${D}/${bindir}/flex M4=${M4} -} - -do_install_append_class-nativesdk() { - create_wrapper ${D}/${bindir}/flex M4=${M4} -} - -RDEPENDS_${PN} += "m4" - -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 -} - -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 -} diff --git a/meta/recipes-devtools/flex/flex/0001-tests-add-a-target-for-building-tests-without-runnin.patch b/meta/recipes-devtools/flex/flex/0001-tests-add-a-target-for-building-tests-without-runnin.patch new file mode 100644 index 0000000000..556c240b24 --- /dev/null +++ b/meta/recipes-devtools/flex/flex/0001-tests-add-a-target-for-building-tests-without-runnin.patch @@ -0,0 +1,28 @@ +From b4aa18d939fc0c8825fa584dfcee1a7da61099cf Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin +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 +--- + 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 + diff --git a/meta/recipes-devtools/flex/flex/disable-tests.patch b/meta/recipes-devtools/flex/flex/disable-tests.patch new file mode 100644 index 0000000000..4dc801d72c --- /dev/null +++ b/meta/recipes-devtools/flex/flex/disable-tests.patch @@ -0,0 +1,19 @@ +Due to automake stupidity the Makefile in tests/ has an 'all' target that +depends on $(BUILD_SOURCES), which means when building flex parts of the test +suite are built even if they're not needed, resulting in flex needing +flex-native and bison-native to build. + +This patch removes the tests directory from SUBDIRS and will be conditionally +applied by the recipe. + +Upstream-Status: Inappropriate +Signed-off-by: Ross Burton + +diff --git a/Makefile.am b/Makefile.am +index 076ccad..0574d7b 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -55,3 +55,2 @@ SUBDIRS = \ + po \ +- tests \ + tools diff --git a/meta/recipes-devtools/flex/flex/do_not_create_pdf_doc.patch b/meta/recipes-devtools/flex/flex/do_not_create_pdf_doc.patch new file mode 100644 index 0000000000..032833ae7a --- /dev/null +++ b/meta/recipes-devtools/flex/flex/do_not_create_pdf_doc.patch @@ -0,0 +1,17 @@ +Upstream-Status: Inappropriate (embedded specific) + +Signed-off-by: Laurentiu Palcu + +Index: flex-2.5.37/doc/Makefile.am +=================================================================== +--- flex-2.5.37.orig/doc/Makefile.am 2012-07-21 04:18:27.000000000 +0300 ++++ flex-2.5.37/doc/Makefile.am 2013-07-30 17:57:09.834834531 +0300 +@@ -2,7 +2,7 @@ + + info_TEXINFOS = flex.texi + dist_man_MANS = flex.1 +-dist_doc_DATA= flex.pdf ++EXTRA_DIST= flex.pdf + + CLEANFILES = \ + flex.hks \ diff --git a/meta/recipes-devtools/flex/flex/run-ptest b/meta/recipes-devtools/flex/flex/run-ptest new file mode 100755 index 0000000000..19db337900 --- /dev/null +++ b/meta/recipes-devtools/flex/flex/run-ptest @@ -0,0 +1,5 @@ +#!/bin/sh + +# 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 diff --git a/meta/recipes-devtools/flex/flex_2.5.39.bb b/meta/recipes-devtools/flex/flex_2.5.39.bb deleted file mode 100644 index 7485743b29..0000000000 --- a/meta/recipes-devtools/flex/flex_2.5.39.bb +++ /dev/null @@ -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" diff --git a/meta/recipes-devtools/flex/flex_2.6.0.bb b/meta/recipes-devtools/flex/flex_2.6.0.bb new file mode 100644 index 0000000000..8285426d45 --- /dev/null +++ b/meta/recipes-devtools/flex/flex_2.6.0.bb @@ -0,0 +1,55 @@ +SUMMARY = "Flex (The Fast Lexical Analyzer)" +DESCRIPTION = "Flex is a fast lexical analyser generator. Flex is a tool for generating programs that recognize \ +lexical patterns in text." +HOMEPAGE = "http://sourceforge.net/projects/flex/" +SECTION = "devel" +LICENSE = "BSD" + +DEPENDS = "${@bb.utils.contains('PTEST_ENABLED', '1', 'bison-native flex-native', '', d)}" +BBCLASSEXTEND = "native nativesdk" + +LIC_FILES_CHKSUM = "file://COPYING;md5=e4742cf92e89040b39486a6219b68067" + +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 \ + ${@bb.utils.contains('PTEST_ENABLED', '1', '', 'file://disable-tests.patch', d)} \ + " + +SRC_URI[md5sum] = "266270f13c48ed043d95648075084d59" +SRC_URI[sha256sum] = "24e611ef5a4703a191012f80c1027dc9d12555183ce0ecd46f3636e587e9b8e9" + +UPSTREAM_CHECK_REGEX = "flex-(?P\d+(\.\d+)+)\.tar" + +inherit autotools gettext texinfo ptest + +M4 = "${bindir}/m4" +M4_class-native = "${STAGING_BINDIR_NATIVE}/m4" +EXTRA_OECONF += "ac_cv_path_M4=${M4}" +EXTRA_OEMAKE += "m4=${STAGING_BINDIR_NATIVE}/m4" + +EXTRA_OEMAKE += "${@bb.utils.contains('PTEST_ENABLED', '1', 'FLEX=${STAGING_BINDIR_NATIVE}/flex', '', d)}" + +do_install_append_class-native() { + create_wrapper ${D}/${bindir}/flex M4=${M4} +} + +do_install_append_class-nativesdk() { + create_wrapper ${D}/${bindir}/flex M4=${M4} +} + +RDEPENDS_${PN} += "m4" +RDEPENDS_${PN}-ptest += "bash gawk" + +do_compile_ptest() { + oe_runmake -C ${B}/tests -f ${B}/tests/Makefile top_builddir=${B} INCLUDES=-I${S}/src buildtests +} + +do_install_ptest() { + 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 +} -- cgit 1.2.3-korg