summaryrefslogtreecommitdiffstats
path: root/meta/recipes-extended/slang
diff options
context:
space:
mode:
authorJoe Slater <jslater@windriver.com>2017-08-01 12:36:53 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2017-08-13 09:27:37 +0100
commitc3e2ad0695a3ca348dd6867d5429d1cdb1dad885 (patch)
tree15343cba77cee9f369d495a2e24a9ee5507b141d /meta/recipes-extended/slang
parentf06f9f3c893db8485bd4e6a76d4fb8cd51b38ec9 (diff)
downloadpoky-c3e2ad0695a3ca348dd6867d5429d1cdb1dad885.tar.gz
slang: fix terminfo related problems
Do not use the JD_TERMCAP macro since we cannot get the terminfo from ncurses pkg-config variants, but fix the macro to not reference host directories. Also add src/test/Makefile.in so that we can use -ltermcap if we want to. Since the recipe DEPENDS on ncurses, we assume terminfo is there. (From OE-Core rev: 53fbc138c8f5652890d477ef21dcb52ec06abb21) Signed-off-by: Joe Slater <jslater@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-extended/slang')
-rw-r--r--meta/recipes-extended/slang/slang/terminfo_fixes.patch148
-rw-r--r--meta/recipes-extended/slang/slang_2.3.1a.bb1
2 files changed, 149 insertions, 0 deletions
diff --git a/meta/recipes-extended/slang/slang/terminfo_fixes.patch b/meta/recipes-extended/slang/slang/terminfo_fixes.patch
new file mode 100644
index 0000000000..3e6d15aa79
--- /dev/null
+++ b/meta/recipes-extended/slang/slang/terminfo_fixes.patch
@@ -0,0 +1,148 @@
1Do not use the JD_TERMCAP macro since we cannot get the terminfo from
2ncurses pkg-config, but fix the macro to not reference host directories.
3Also add src/test/Makefile.in so that we can use -ltermcap if we want to.
4
5Upstream-Status: Pending
6
7Signed-off-by: Joe Slater <joe.slater@windriver.com>
8
9
10--- a/autoconf/aclocal.m4
11+++ b/autoconf/aclocal.m4
12@@ -506,14 +506,10 @@ then
13 else
14 MISC_TERMINFO_DIRS=""
15 fi
16-JD_Terminfo_Dirs="$MISC_TERMINFO_DIRS \
17- /usr/lib/terminfo \
18- /usr/share/terminfo \
19- /usr/share/lib/terminfo \
20- /usr/local/lib/terminfo"
21+
22 TERMCAP=-ltermcap
23
24-for terminfo_dir in $JD_Terminfo_Dirs
25+for terminfo_dir in $MISC_TERMINFO_DIRS
26 do
27 if test -d $terminfo_dir
28 then
29--- a/autoconf/configure.ac
30+++ b/autoconf/configure.ac
31@@ -249,7 +249,14 @@ AC_CHECK_SIZEOF(size_t)
32 JD_CHECK_LONG_LONG
33 JD_LARGE_FILE_SUPPORT
34
35-JD_TERMCAP
36+dnl Do not use JD_TERMCAP, since we cannot get terminfo from ncurses*-config anymore.
37+dnl Set TERMCAP=-ltermcap and AC_DEFINE(USE_TERMCAP,1,[Define to use termcap])
38+dnl to use libtermcap.
39+TERMCAP=""
40+MISC_TERMINFO_DIRS=""
41+AC_SUBST(TERMCAP)dnl
42+AC_SUBST(MISC_TERMINFO_DIRS)dnl
43+
44 JD_GCC_WARNINGS
45
46 JD_SET_OBJ_SRC_DIR(src)
47@@ -364,7 +371,7 @@ AC_CONFIG_HEADER(src/sysconf.h:src/confi
48 dnl AC_CONFIG_SUBDIRS(demo)
49
50 AC_OUTPUT(Makefile:autoconf/Makefile.in \
51- src/Makefile slsh/Makefile modules/Makefile demo/Makefile \
52+ src/Makefile src/test/Makefile slsh/Makefile modules/Makefile demo/Makefile \
53 slang.pc:autoconf/slangpc.in \
54 )
55
56--- /dev/null
57+++ b/src/test/Makefile.in
58@@ -0,0 +1,90 @@
59+# -*- make -*-
60+TEST_SCRIPTS_SLC = argv syntax scircuit eqs sscanf loops arith array strops \
61+ bstring pack stdio assoc selfload struct nspace path ifeval anytype arrmult \
62+ time utf8 except bugs list regexp method deref naninf overflow sort \
63+ longlong signal dollar req docfun debug qualif compare break multline \
64+ stack misc posixio posdir proc math
65+
66+TEST_SCRIPTS_NO_SLC = autoload nspace2 prep
67+
68+TEST_SCRIPTS = $(TEST_SCRIPTS_SLC) $(TEST_SCRIPTS_NO_SLC)
69+
70+TEST_PGM = sltest
71+MEMCHECK = valgrind --tool=memcheck --leak-check=yes --leak-resolution=med --num-callers=20
72+RUN_TEST_PGM = ./$(TEST_PGM)
73+SLANGINC = ..
74+SLANGLIB = ../$(ARCH)objs
75+OTHER_LIBS = -lm @TERMCAP@
76+OTHER_CFLAGS =
77+
78+runtests: $(TEST_PGM) cleantmp
79+ @tests=""; \
80+ for test in $(TEST_SCRIPTS); \
81+ do \
82+ tests="$$tests $$test.sl"; \
83+ done; \
84+ for test in $(TEST_SCRIPTS_SLC); \
85+ do \
86+ tests="$$tests $$test.slc"; \
87+ done; \
88+ MAKERUNNING=1 ./runtests.sh $$tests
89+# @touch $(TEST_PGM).c
90+
91+update: $(TEST_PGM) cleantmp
92+ @tests=""; \
93+ for X in $(TEST_SCRIPTS); \
94+ do \
95+ if [ ! -e lastrun/$$X.sl ] || [ $$X.sl -nt lastrun/$$X.sl ] ; \
96+ then \
97+ tests="$$tests $$X.sl"; \
98+ fi \
99+ done; \
100+ for X in $(TEST_SCRIPTS_SLC); \
101+ do \
102+ if [ ! -e lastrun/$$X.slc ] || [ $$X.sl -nt lastrun/$$X.slc ] ; \
103+ then \
104+ tests="$$tests $$X.slc"; \
105+ fi \
106+ done; \
107+ if test -n "$$tests"; \
108+ then \
109+ MAKERUNNING=1 ./runtests.sh $$tests; \
110+ fi
111+# @touch $(TEST_PGM).c
112+
113+memcheck_runtests: $(TEST_PGM) cleantmp
114+ @echo ""
115+ @echo "Running tests:"
116+ @echo ""
117+ -@for X in $(TEST_SCRIPTS); \
118+ do \
119+ $(MEMCHECK) --log-file=log.$${X} $(RUN_TEST_PGM) $$X.sl; \
120+ grep ERROR log.$${X}; grep 'lost: [^0]' log.$${X}; \
121+ $(MEMCHECK) --log-file=log.$${X}_u $(RUN_TEST_PGM) -utf8 $$X.sl; \
122+ grep ERROR log.$${X}_u; grep 'lost: [^0]' log.$${X}_u; \
123+ done
124+# touch $(TEST_PGM).c
125+
126+memcheck_runtests_slc: $(TEST_PGM) cleantmp
127+ @echo ""
128+ @echo "Running tests:"
129+ @echo ""
130+ -@for X in $(TEST_SCRIPTS_SLC); \
131+ do \
132+ $(MEMCHECK) --log-file=log.$${X}_c $(RUN_TEST_PGM) $$X.slc; \
133+ $(MEMCHECK) --log-file=log.$${X}_uc $(RUN_TEST_PGM) -utf8 $$X.slc; \
134+ done
135+# touch $(TEST_PGM).c
136+
137+memcheck: memcheck_runtests memcheck_runtests_slc
138+
139+$(TEST_PGM): $(TEST_PGM).c assoc.c list.c $(SLANGLIB)/libslang.a
140+ $(CC) $(CFLAGS) $(OTHER_CFLAGS) $(LDFLAGS) $(TEST_PGM).c -o $(TEST_PGM) -I$(SLANGINC) -L$(SLANGLIB) -lslang $(OTHER_LIBS)
141+cleantmp:
142+ -/bin/rm -rf tmpfile*.* tmpdir*.*
143+clean: cleantmp
144+ -/bin/rm -f *~ *.o *.log log.pid* *.slc log.* *.log-*
145+distclean: clean
146+ /bin/rm -f $(TEST_PGM) $(TEST_PGM).gcda $(TEST_PGM).gcno
147+.PHONY: clean memcheck runtests memcheck_runtests_slc memcheck_runtests cleantmp
148+
diff --git a/meta/recipes-extended/slang/slang_2.3.1a.bb b/meta/recipes-extended/slang/slang_2.3.1a.bb
index b302104ee1..0585c14da5 100644
--- a/meta/recipes-extended/slang/slang_2.3.1a.bb
+++ b/meta/recipes-extended/slang/slang_2.3.1a.bb
@@ -18,6 +18,7 @@ SRC_URI = "http://www.jedsoft.org/releases/${BPN}/${BP}.tar.bz2 \
18 file://no-x.patch \ 18 file://no-x.patch \
19 file://dont-link-to-host.patch \ 19 file://dont-link-to-host.patch \
20 file://test-add-output-in-the-format-result-testname.patch \ 20 file://test-add-output-in-the-format-result-testname.patch \
21 file://terminfo_fixes.patch \
21 file://run-ptest \ 22 file://run-ptest \
22 " 23 "
23 24