summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/tcltk
diff options
context:
space:
mode:
authorTudor Florea <tudor.florea@enea.com>2015-10-09 22:59:03 +0200
committerTudor Florea <tudor.florea@enea.com>2015-10-09 22:59:03 +0200
commit972dcfcdbfe75dcfeb777150c136576cf1a71e99 (patch)
tree97a61cd7e293d7ae9d56ef7ed0f81253365bb026 /meta/recipes-devtools/tcltk
downloadpoky-972dcfcdbfe75dcfeb777150c136576cf1a71e99.tar.gz
initial commit for Enea Linux 5.0 arm
Signed-off-by: Tudor Florea <tudor.florea@enea.com>
Diffstat (limited to 'meta/recipes-devtools/tcltk')
-rw-r--r--meta/recipes-devtools/tcltk/tcl/alter-includedir.patch76
-rw-r--r--meta/recipes-devtools/tcltk/tcl/fix-configure.patch46
-rw-r--r--meta/recipes-devtools/tcltk/tcl/fix_issue_with_old_distro_glibc.patch39
-rw-r--r--meta/recipes-devtools/tcltk/tcl/fix_non_native_build_issue.patch64
-rw-r--r--meta/recipes-devtools/tcltk/tcl/no_packages.patch53
-rw-r--r--meta/recipes-devtools/tcltk/tcl/run-ptest8
-rw-r--r--meta/recipes-devtools/tcltk/tcl/tcl-add-soname.patch46
-rw-r--r--meta/recipes-devtools/tcltk/tcl/tcl-remove-hardcoded-install-path.patch47
-rw-r--r--meta/recipes-devtools/tcltk/tcl_8.6.1.bb101
9 files changed, 480 insertions, 0 deletions
diff --git a/meta/recipes-devtools/tcltk/tcl/alter-includedir.patch b/meta/recipes-devtools/tcltk/tcl/alter-includedir.patch
new file mode 100644
index 0000000000..c8530e1f58
--- /dev/null
+++ b/meta/recipes-devtools/tcltk/tcl/alter-includedir.patch
@@ -0,0 +1,76 @@
1Lets install the include header and private header files into
2usr/include/tcl8.6 when version of tcl is 8.6.x
3
4Upstream-Status: Inappropriate [Configuration Specific]
5
6Signed-off-by: Khem Raj <raj.khem@gmai.com>
7
8Fixed the TCL_INCLUDE_SPEC
9
10Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
11---
12 Makefile.in | 2 +-
13 configure | 4 ++--
14 configure.in | 4 ++--
15 3 files changed, 5 insertions(+), 5 deletions(-)
16
17diff --git a/Makefile.in b/Makefile.in
18index 97b983b..dc2a4df 100644
19--- a/Makefile.in
20+++ b/Makefile.in
21@@ -53,7 +53,7 @@ DLL_INSTALL_DIR = @DLL_INSTALL_DIR@
22 SCRIPT_INSTALL_DIR = $(INSTALL_ROOT)$(TCL_LIBRARY)
23
24 # Directory in which to install the include file tcl.h:
25-INCLUDE_INSTALL_DIR = $(INSTALL_ROOT)$(includedir)
26+INCLUDE_INSTALL_DIR = $(INSTALL_ROOT)$(includedir)/tcl$(VERSION)
27
28 # Path to the private tcl header dir:
29 PRIVATE_INCLUDE_DIR = @PRIVATE_INCLUDE_DIR@
30diff --git a/configure b/configure
31index 3e78b49..24b3f92 100755
32--- a/configure
33+++ b/configure
34@@ -19134,7 +19134,7 @@ eval "TCL_LIB_FILE=libtcl${LIB_SUFFIX}"
35 eval "TCL_LIB_FILE=${TCL_LIB_FILE}"
36
37 TCL_LIBRARY='$(libdir)/tcl$(VERSION)'
38-PRIVATE_INCLUDE_DIR='$(includedir)'
39+PRIVATE_INCLUDE_DIR='$(includedir)/tcl$(VERSION)'
40 HTML_DIR='$(DISTDIR)/html'
41
42 # Note: in the following variable, it's important to use the absolute
43@@ -19293,7 +19293,7 @@ TCL_BUILD_STUB_LIB_PATH="`pwd`/${TCL_STUB_LIB_FILE}"
44 TCL_STUB_LIB_PATH="${TCL_STUB_LIB_DIR}/${TCL_STUB_LIB_FILE}"
45
46 # Install time header dir can be set via --includedir
47-eval "TCL_INCLUDE_SPEC=\"-I${includedir}\""
48+eval "TCL_INCLUDE_SPEC=\"-I${includedir}/tcl${VERSION}\""
49
50 #------------------------------------------------------------------------
51 # tclConfig.sh refers to this by a different name
52diff --git a/configure.in b/configure.in
53index 0e28b14..62d9b41 100755
54--- a/configure.in
55+++ b/configure.in
56@@ -791,7 +791,7 @@ eval "TCL_LIB_FILE=libtcl${LIB_SUFFIX}"
57 eval "TCL_LIB_FILE=${TCL_LIB_FILE}"
58
59 TCL_LIBRARY='$(libdir)/tcl$(VERSION)'
60-PRIVATE_INCLUDE_DIR='$(includedir)'
61+PRIVATE_INCLUDE_DIR='$(includedir)/tcl$(VERSION)'
62 HTML_DIR='$(DISTDIR)/html'
63
64 # Note: in the following variable, it's important to use the absolute
65@@ -912,7 +912,7 @@ TCL_BUILD_STUB_LIB_PATH="`pwd`/${TCL_STUB_LIB_FILE}"
66 TCL_STUB_LIB_PATH="${TCL_STUB_LIB_DIR}/${TCL_STUB_LIB_FILE}"
67
68 # Install time header dir can be set via --includedir
69-eval "TCL_INCLUDE_SPEC=\"-I${includedir}\""
70+eval "TCL_INCLUDE_SPEC=\"-I${includedir}/tcl${VERSION}\""
71
72 #------------------------------------------------------------------------
73 # tclConfig.sh refers to this by a different name
74--
751.7.10.4
76
diff --git a/meta/recipes-devtools/tcltk/tcl/fix-configure.patch b/meta/recipes-devtools/tcltk/tcl/fix-configure.patch
new file mode 100644
index 0000000000..b692a0ebe0
--- /dev/null
+++ b/meta/recipes-devtools/tcltk/tcl/fix-configure.patch
@@ -0,0 +1,46 @@
1Upstream-Status: Pending
2
3Index: unix/tcl.m4
4===================================================================
5--- tcl8.4.11/unix.orig/tcl.m4
6+++ tcl8.4.11/unix/tcl.m4
7@@ -845,7 +845,7 @@ AC_DEFUN(SC_CONFIG_CFLAGS, [
8 # results, and the version is kept in special file).
9
10 if test -r /etc/.relid -a "X`uname -n`" = "X`uname -s`" ; then
11- system=MP-RAS-`awk '{print $3}' /etc/.relid'`
12+ system=MP-RAS-`awk '{print $3}' /etc/.relid`
13 fi
14 if test "`uname -s`" = "AIX" ; then
15 system=AIX-`uname -v`.`uname -r`
16@@ -2250,7 +2250,7 @@ AC_DEFUN(SC_BLOCKING_STYLE, [
17 # results, and the version is kept in special file).
18
19 if test -r /etc/.relid -a "X`uname -n`" = "X`uname -s`" ; then
20- system=MP-RAS-`awk '{print $3}' /etc/.relid'`
21+ system=MP-RAS-`awk '{print $3}' /etc/.relid`
22 fi
23 if test "`uname -s`" = "AIX" ; then
24 system=AIX-`uname -v`.`uname -r`
25Index: unix/configure
26===================================================================
27--- tcl8.4.11/unix.orig/configure
28+++ tcl8.4.11/unix/configure
29@@ -2130,7 +2130,7 @@ echo "configure:2121: checking system ve
30 # results, and the version is kept in special file).
31
32 if test -r /etc/.relid -a "X`uname -n`" = "X`uname -s`" ; then
33- system=MP-RAS-`awk '{print }' /etc/.relid'`
34+ system=MP-RAS-`awk '{print }' /etc/.relid`
35 fi
36 if test "`uname -s`" = "AIX" ; then
37 system=AIX-`uname -v`.`uname -r`
38@@ -7608,7 +7608,7 @@ echo "configure:7600: checking FIONBIO v
39 # results, and the version is kept in special file).
40
41 if test -r /etc/.relid -a "X`uname -n`" = "X`uname -s`" ; then
42- system=MP-RAS-`awk '{print }' /etc/.relid'`
43+ system=MP-RAS-`awk '{print }' /etc/.relid`
44 fi
45 if test "`uname -s`" = "AIX" ; then
46 system=AIX-`uname -v`.`uname -r`
diff --git a/meta/recipes-devtools/tcltk/tcl/fix_issue_with_old_distro_glibc.patch b/meta/recipes-devtools/tcltk/tcl/fix_issue_with_old_distro_glibc.patch
new file mode 100644
index 0000000000..be273419ae
--- /dev/null
+++ b/meta/recipes-devtools/tcltk/tcl/fix_issue_with_old_distro_glibc.patch
@@ -0,0 +1,39 @@
1Upstream-Status: inappropriate [embedded specific]
2
3Fixes tcl target recipe build on old distros which have glibc older than 2.14
4
5| + echo 'NOTE: make DESTDIR=/srv/home/nitin/builds/build-gcc47/tmp/work/x86_64-poky-linux/tcl-8.5.11-r5/image install'
6| NOTE: make DESTDIR=/srv/home/nitin/builds/build-gcc47/tmp/work/x86_64-poky-linux/tcl-8.5.11-r5/image install
7| + make DESTDIR=/srv/home/nitin/builds/build-gcc47/tmp/work/x86_64-poky-linux/tcl-8.5.11-r5/image install
8| Making directory /srv/home/nitin/builds/build-gcc47/tmp/work/x86_64-poky-linux/tcl-8.5.11-r5/image/usr/lib
9| Installing message catalogs
10| Making directory /srv/home/nitin/builds/build-gcc47/tmp/work/x86_64-poky-linux/tcl-8.5.11-r5/image/usr/share/man
11| tclsh: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by /srv/home/nitin/builds/build-gcc47/tmp/work/x86_64-poky-linux/tcl-8.5.11-r5/tcl8.5.11/unix/libtcl8.5.so)
12| Making directory /srv/home/nitin/builds/build-gcc47/tmp/work/x86_64-poky-linux/tcl-8.5.11-r5/image/usr/bin
13| make: *** [install-msgs] Error 1
14
15Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com>
162012/04/26
17
18Index: unix/Makefile.in
19===================================================================
20--- unix.orig/Makefile.in 2013-11-10 23:38:01.787425628 -0800
21+++ unix/Makefile.in 2013-11-10 23:37:59.807425578 -0800
22@@ -686,7 +686,7 @@
23 # tcltest executable gets the build directory burned into its ld search path.
24 # This keeps tcltest from picking up an already installed version of the Tcl
25 # library.
26-SHELL_ENV = @LD_LIBRARY_PATH_VAR@=`pwd`:${@LD_LIBRARY_PATH_VAR@} \
27+SHELL_ENV = @LD_LIBRARY_PATH_VAR@=${@LD_LIBRARY_PATH_VAR@} \
28 TCLLIBPATH="@abs_builddir@/pkgs" \
29 TCL_LIBRARY="${TCL_BUILDTIME_LIBRARY}"
30
31@@ -712,7 +712,7 @@
32 $(SHELL_ENV) ${TCLTEST_EXE} $(TOP_DIR)/tests/all.tcl $(TESTFLAGS)
33
34 gdb-test: ${TCLTEST_EXE}
35- @echo "set env @LD_LIBRARY_PATH_VAR@=`pwd`:$${@LD_LIBRARY_PATH_VAR@}" > gdb.run
36+ @echo "set env @LD_LIBRARY_PATH_VAR@=$${@LD_LIBRARY_PATH_VAR@}" > gdb.run
37 @echo "set env TCL_LIBRARY=${TCL_BUILDTIME_LIBRARY}" >> gdb.run
38 @echo "set args $(TOP_DIR)/tests/all.tcl $(TESTFLAGS) -singleproc 1" >> gdb.run
39 $(GDB) ${TCLTEST_EXE} --command=gdb.run
diff --git a/meta/recipes-devtools/tcltk/tcl/fix_non_native_build_issue.patch b/meta/recipes-devtools/tcltk/tcl/fix_non_native_build_issue.patch
new file mode 100644
index 0000000000..c60eb75379
--- /dev/null
+++ b/meta/recipes-devtools/tcltk/tcl/fix_non_native_build_issue.patch
@@ -0,0 +1,64 @@
1Upstream-Status: Pending
2
3Index: unix/Makefile.in
4===================================================================
5--- unix.orig/Makefile.in 2013-11-10 23:37:34.243424934 -0800
6+++ unix/Makefile.in 2013-11-10 23:37:34.243424934 -0800
7@@ -709,23 +709,23 @@
8 test: test-tcl test-packages
9
10 test-tcl: ${TCLTEST_EXE}
11- $(SHELL_ENV) ./${TCLTEST_EXE} $(TOP_DIR)/tests/all.tcl $(TESTFLAGS)
12+ $(SHELL_ENV) ${TCLTEST_EXE} $(TOP_DIR)/tests/all.tcl $(TESTFLAGS)
13
14 gdb-test: ${TCLTEST_EXE}
15 @echo "set env @LD_LIBRARY_PATH_VAR@=`pwd`:$${@LD_LIBRARY_PATH_VAR@}" > gdb.run
16 @echo "set env TCL_LIBRARY=${TCL_BUILDTIME_LIBRARY}" >> gdb.run
17 @echo "set args $(TOP_DIR)/tests/all.tcl $(TESTFLAGS) -singleproc 1" >> gdb.run
18- $(GDB) ./${TCLTEST_EXE} --command=gdb.run
19+ $(GDB) ${TCLTEST_EXE} --command=gdb.run
20 rm gdb.run
21
22 # Useful target to launch a built tcltest with the proper path,...
23 runtest: ${TCLTEST_EXE}
24- $(SHELL_ENV) ./${TCLTEST_EXE}
25+ $(SHELL_ENV) ${TCLTEST_EXE}
26
27 # Useful target for running the test suite with an unwritable current
28 # directory...
29 ro-test: ${TCLTEST_EXE}
30- echo 'exec chmod -w .;package require tcltest;tcltest::temporaryDirectory /tmp;source ../tests/all.tcl;exec chmod +w .' | $(SHELL_ENV) ./${TCLTEST_EXE}
31+ echo 'exec chmod -w .;package require tcltest;tcltest::temporaryDirectory /tmp;source ../tests/all.tcl;exec chmod +w .' | $(SHELL_ENV) ${TCLTEST_EXE}
32
33 # The following target generates the shared libraries in dltest/ that are used
34 # for testing; they are included as part of the "tcltest" target (via the
35@@ -743,23 +743,23 @@
36 # This target can be used to run tclsh from the build directory
37 # via `make shell SCRIPT=/tmp/foo.tcl`
38 shell: ${TCL_EXE}
39- $(SHELL_ENV) ./${TCL_EXE} $(SCRIPT)
40+ $(SHELL_ENV) ${TCL_EXE} $(SCRIPT)
41
42 # This target can be used to run tclsh inside either gdb or insight
43 gdb: ${TCL_EXE}
44- $(SHELL_ENV) $(GDB) ./${TCL_EXE}
45+ $(SHELL_ENV) $(GDB) ${TCL_EXE}
46
47 valgrind: ${TCL_EXE} ${TCLTEST_EXE}
48- $(SHELL_ENV) $(VALGRIND) $(VALGRINDARGS) ./${TCLTEST_EXE} $(TOP_DIR)/tests/all.tcl -singleproc 1 -constraints valgrind $(TESTFLAGS)
49+ $(SHELL_ENV) $(VALGRIND) $(VALGRINDARGS) ${TCLTEST_EXE} $(TOP_DIR)/tests/all.tcl -singleproc 1 -constraints valgrind $(TESTFLAGS)
50
51 valgrindshell: ${TCL_EXE}
52- $(SHELL_ENV) $(VALGRIND) $(VALGRINDARGS) ./${TCL_EXE} $(SCRIPT)
53+ $(SHELL_ENV) $(VALGRIND) $(VALGRINDARGS) ${TCL_EXE} $(SCRIPT)
54
55 trace-shell: ${TCL_EXE}
56- $(SHELL_ENV) ${TRACE} $(TRACE_OPTS) ./${TCL_EXE} $(SCRIPT)
57+ $(SHELL_ENV) ${TRACE} $(TRACE_OPTS) ${TCL_EXE} $(SCRIPT)
58
59 trace-test: ${TCLTEST_EXE}
60- $(SHELL_ENV) ${TRACE} $(TRACE_OPTS) ./${TCLTEST_EXE} $(TOP_DIR)/tests/all.tcl -singleproc 1 $(TESTFLAGS)
61+ $(SHELL_ENV) ${TRACE} $(TRACE_OPTS) ${TCLTEST_EXE} $(TOP_DIR)/tests/all.tcl -singleproc 1 $(TESTFLAGS)
62
63 #--------------------------------------------------------------------------
64 # Installation rules
diff --git a/meta/recipes-devtools/tcltk/tcl/no_packages.patch b/meta/recipes-devtools/tcltk/tcl/no_packages.patch
new file mode 100644
index 0000000000..ab6cc43169
--- /dev/null
+++ b/meta/recipes-devtools/tcltk/tcl/no_packages.patch
@@ -0,0 +1,53 @@
1tcl 8.6.0 builds by default a number of packages that are not needed in Yocto.
2This patch changes the makefile so that these packages are not built by default.
3
4Upstream-Status:Inappropriate [embedded specific]
5
6Signed-off-by: Bogdan Marinescu <bogdan.a.marinescu@intel.com>
7
8Index: unix/Makefile.in
9===================================================================
10--- unix.orig/Makefile.in 2013-11-10 23:38:12.235425891 -0800
11+++ unix/Makefile.in 2013-11-10 23:38:12.231425891 -0800
12@@ -611,7 +611,7 @@
13 # Start of rules
14 #--------------------------------------------------------------------------
15
16-all: binaries libraries doc packages
17+all: binaries libraries doc
18
19 binaries: ${LIB_FILE} $(STUB_LIB_FILE) ${TCL_EXE}
20
21@@ -653,12 +653,12 @@
22 #tclConfig.h: $(UNIX_DIR)/tclConfig.h.in
23 # $(SHELL) config.status
24
25-clean: clean-packages
26+clean:
27 rm -f *.a *.o libtcl* core errs *~ \#* TAGS *.E a.out \
28 errors ${TCL_EXE} ${TCLTEST_EXE} lib.exp Tcl @DTRACE_HDR@
29 cd dltest ; $(MAKE) clean
30
31-distclean: distclean-packages clean
32+distclean: clean
33 rm -rf Makefile config.status config.cache config.log tclConfig.sh \
34 tclConfig.h *.plist Tcl.framework tcl.pc
35 cd dltest ; $(MAKE) distclean
36@@ -706,7 +706,7 @@
37 # tcltest, ie:
38 # % make test TESTFLAGS="-verbose bps -file fileName.test"
39
40-test: test-tcl test-packages
41+test: test-tcl
42
43 test-tcl: ${TCLTEST_EXE}
44 $(SHELL_ENV) ${TCLTEST_EXE} $(TOP_DIR)/tests/all.tcl $(TESTFLAGS)
45@@ -771,7 +771,7 @@
46 INSTALL_DEV_TARGETS = install-headers
47 INSTALL_EXTRA_TARGETS = @EXTRA_INSTALL@
48 INSTALL_TARGETS = $(INSTALL_BASE_TARGETS) $(INSTALL_DOC_TARGETS) $(INSTALL_DEV_TARGETS) \
49- $(INSTALL_PACKAGE_TARGETS) $(INSTALL_EXTRA_TARGETS)
50+ $(INSTALL_EXTRA_TARGETS)
51
52 install: $(INSTALL_TARGETS)
53
diff --git a/meta/recipes-devtools/tcltk/tcl/run-ptest b/meta/recipes-devtools/tcltk/tcl/run-ptest
new file mode 100644
index 0000000000..dadba655f2
--- /dev/null
+++ b/meta/recipes-devtools/tcltk/tcl/run-ptest
@@ -0,0 +1,8 @@
1#!/bin/sh
2
3for i in `ls tests/*.test |awk -F/ '{print $2}'`; \
4 do TCL_LIBRARY=library ./tcltest tests/all.tcl -file $i >$i.tmp 2>&1; \
5 grep -q "^Files with failing tests:" $i.tmp; \
6 if [ $? -eq 0 ]; then echo "FAIL: $i"; \
7 else echo "PASS: $i"; rm -f $i.tmp; fi; \
8done
diff --git a/meta/recipes-devtools/tcltk/tcl/tcl-add-soname.patch b/meta/recipes-devtools/tcltk/tcl/tcl-add-soname.patch
new file mode 100644
index 0000000000..96276eab0e
--- /dev/null
+++ b/meta/recipes-devtools/tcltk/tcl/tcl-add-soname.patch
@@ -0,0 +1,46 @@
1Upstream-Status: Pending
2
3Index: unix/configure
4===================================================================
5--- unix.orig/configure 2013-09-19 13:17:13.000000000 -0700
6+++ unix/configure 2013-11-11 00:20:51.519490342 -0800
7@@ -7599,6 +7599,9 @@
8 # get rid of the warnings.
9 #CFLAGS_OPTIMIZE="${CFLAGS_OPTIMIZE} -D__NO_STRING_INLINES -D__NO_MATH_INLINES"
10
11+ # following line added by CW for Debian GNU/Linux
12+ TCL_SHLIB_LD_EXTRAS="-Wl,-soname,\${TCL_LIB_FILE}.0"
13+
14 SHLIB_LD='${CC} -shared ${CFLAGS} ${LDFLAGS}'
15 DL_OBJS="tclLoadDl.o"
16 DL_LIBS="-ldl"
17Index: unix/tcl.m4
18===================================================================
19--- unix.orig/tcl.m4 2013-09-19 13:17:13.000000000 -0700
20+++ unix/tcl.m4 2013-11-11 00:17:24.263485123 -0800
21@@ -1415,6 +1415,9 @@
22 # get rid of the warnings.
23 #CFLAGS_OPTIMIZE="${CFLAGS_OPTIMIZE} -D__NO_STRING_INLINES -D__NO_MATH_INLINES"
24
25+ # following line added by CW for Debian GNU/Linux
26+ TCL_SHLIB_LD_EXTRAS="-Wl,-soname,\${TCL_LIB_FILE}.0"
27+
28 SHLIB_LD='${CC} -shared ${CFLAGS} ${LDFLAGS}'
29 DL_OBJS="tclLoadDl.o"
30 DL_LIBS="-ldl"
31Index: unix/Makefile.in
32===================================================================
33--- unix.orig/Makefile.in 2013-09-19 13:17:13.000000000 -0700
34+++ unix/Makefile.in 2013-11-11 00:20:32.423489861 -0800
35@@ -796,7 +796,10 @@
36 done;
37 @echo "Installing $(LIB_FILE) to $(DLL_INSTALL_DIR)/"
38 @@INSTALL_LIB@
39- @chmod 555 "$(DLL_INSTALL_DIR)/$(LIB_FILE)"
40+ mv "$(DLL_INSTALL_DIR)"/$(LIB_FILE) "$(DLL_INSTALL_DIR)"/$(LIB_FILE).0
41+ ln -sf $(LIB_FILE).0 "$(DLL_INSTALL_DIR)"/$(LIB_FILE)
42+ ln -sf "$(DLL_INSTALL_DIR)"/$(LIB_FILE).0 ./
43+ @chmod 555 "$(DLL_INSTALL_DIR)"/$(LIB_FILE).0
44 @echo "Installing ${TCL_EXE} as $(BIN_INSTALL_DIR)/tclsh$(VERSION)${EXE_SUFFIX}"
45 @$(INSTALL_PROGRAM) ${TCL_EXE} "$(BIN_INSTALL_DIR)/tclsh$(VERSION)${EXE_SUFFIX}"
46 @echo "Installing tclConfig.sh to $(CONFIG_INSTALL_DIR)/"
diff --git a/meta/recipes-devtools/tcltk/tcl/tcl-remove-hardcoded-install-path.patch b/meta/recipes-devtools/tcltk/tcl/tcl-remove-hardcoded-install-path.patch
new file mode 100644
index 0000000000..16f7c80516
--- /dev/null
+++ b/meta/recipes-devtools/tcltk/tcl/tcl-remove-hardcoded-install-path.patch
@@ -0,0 +1,47 @@
1From 6efc98774681795712073c2b91e5e9d1763239b8 Mon Sep 17 00:00:00 2001
2From: "Song.Li" <Song.Li@windriver.com>
3Date: Wed, 1 Aug 2012 19:05:51 +0800
4Subject: [PATCH] tcl:install tcl to lib64 instead of lib on 64bit target
5
6Remove hardcoded library install path. Change $(prefix)/lib/ to ${libdir}.
7
8[YOCTO #2876]
9
10This is not a bug, but libraries should be installed into directory .../lib/.
11On 64bit target that should be lib64/.
12
13Upstream-Status: Inappropriate [configuration]
14
15Signed-off-by: Song.Li <Song.Li@windriver.com>
16Signed-off-by: Kai Kang <kai.kang@windriver.com>
17
18---
19 configure | 2 +-
20 1 file changed, 1 insertion(+), 1 deletion(-)
21
22Index: unix/configure
23===================================================================
24--- unix.orig/configure 2013-11-10 23:38:33.643426430 -0800
25+++ unix/configure 2013-11-10 23:39:51.347428387 -0800
26@@ -19134,7 +19134,7 @@
27
28 eval "TCL_LIB_FILE=${TCL_LIB_FILE}"
29
30-TCL_LIBRARY='$(prefix)/lib/tcl$(VERSION)'
31+TCL_LIBRARY='$(libdir)/tcl$(VERSION)'
32 PRIVATE_INCLUDE_DIR='$(includedir)'
33 HTML_DIR='$(DISTDIR)/html'
34
35Index: unix/configure.in
36===================================================================
37--- unix.orig/configure.in 2013-11-10 23:20:50.000000000 -0800
38+++ unix/configure.in 2013-11-10 23:39:41.199428131 -0800
39@@ -790,7 +790,7 @@
40
41 eval "TCL_LIB_FILE=${TCL_LIB_FILE}"
42
43-TCL_LIBRARY='$(prefix)/lib/tcl$(VERSION)'
44+TCL_LIBRARY='$(libdir)/tcl$(VERSION)'
45 PRIVATE_INCLUDE_DIR='$(includedir)'
46 HTML_DIR='$(DISTDIR)/html'
47
diff --git a/meta/recipes-devtools/tcltk/tcl_8.6.1.bb b/meta/recipes-devtools/tcltk/tcl_8.6.1.bb
new file mode 100644
index 0000000000..27f73f2ce2
--- /dev/null
+++ b/meta/recipes-devtools/tcltk/tcl_8.6.1.bb
@@ -0,0 +1,101 @@
1SUMMARY = "Tool Command Language"
2HOMEPAGE = "http://tcl.sourceforge.net"
3SECTION = "devel/tcltk"
4
5# http://www.tcl.tk/software/tcltk/license.html
6LICENSE = "tcl & BSD-3-Clause"
7LIC_FILES_CHKSUM = "file://../license.terms;md5=3c6f62c07835353e36f0db550ccfb65a \
8 file://../compat/license.terms;md5=3c6f62c07835353e36f0db550ccfb65a \
9 file://../library/license.terms;md5=3c6f62c07835353e36f0db550ccfb65a \
10 file://../macosx/license.terms;md5=3c6f62c07835353e36f0db550ccfb65a \
11 file://../tests/license.terms;md5=3c6f62c07835353e36f0db550ccfb65a \
12 file://../win/license.terms;md5=3c6f62c07835353e36f0db550ccfb65a \
13"
14
15DEPENDS = "tcl-native zlib"
16
17BASE_SRC_URI = "${SOURCEFORGE_MIRROR}/tcl/${BPN}${PV}-src.tar.gz \
18 file://tcl-add-soname.patch"
19SRC_URI = "${BASE_SRC_URI} \
20 file://fix_non_native_build_issue.patch \
21 file://fix_issue_with_old_distro_glibc.patch \
22 file://no_packages.patch \
23 file://tcl-remove-hardcoded-install-path.patch \
24 file://alter-includedir.patch \
25 file://run-ptest \
26"
27SRC_URI[md5sum] = "aae4b701ee527c6e4e1a6f9c7399882e"
28SRC_URI[sha256sum] = "16ee769248e64ba1cae6b4834fcc4e4edd7470d881410e8d58f7dd1434343514"
29
30SRC_URI_class-native = "${BASE_SRC_URI}"
31
32S = "${WORKDIR}/${BPN}${PV}/unix"
33
34VER = "${PV}"
35
36inherit autotools ptest binconfig
37
38DEPENDS_class-native = "zlib-native"
39
40EXTRA_OECONF = "--enable-threads --disable-rpath --libdir=${libdir}"
41
42do_configure() {
43 cd ${S}
44 gnu-configize
45 cd ${B}
46 oe_runconf
47}
48
49do_compile_prepend() {
50 echo > ${S}/../compat/fixstrtod.c
51}
52
53do_install() {
54 autotools_do_install install-private-headers
55 ln -sf ./tclsh${VER} ${D}${bindir}/tclsh
56 ln -sf tclsh8.6 ${D}${bindir}/tclsh${VER}
57 sed -i "s+-L${B}+-L${STAGING_LIBDIR}+g" tclConfig.sh
58 sed -i "s+${WORKDIR}+${STAGING_INCDIR}+g" tclConfig.sh
59 sed -i "s,-L${libdir},-L=${libdir},g" tclConfig.sh
60 sed -i "s,-I${includedir},-I=${includedir},g" tclConfig.sh
61 install -d ${D}${bindir_crossscripts}
62 install -m 0755 tclConfig.sh ${D}${bindir_crossscripts}
63 install -m 0755 tclConfig.sh ${D}${libdir}
64 cd ..
65 for dir in compat generic unix; do
66 install -d ${D}${includedir}/${BPN}${VER}/$dir
67 install -m 0644 ${S}/../$dir/*.h ${D}${includedir}/${BPN}${VER}/$dir/
68 done
69}
70
71SYSROOT_PREPROCESS_FUNCS += "tcl_sysroot_preprocess"
72tcl_sysroot_preprocess () {
73 sysroot_stage_dir ${D}${bindir_crossscripts} ${SYSROOT_DESTDIR}${bindir_crossscripts}
74}
75
76PACKAGES =+ "tcl-lib"
77FILES_tcl-lib = "${libdir}/libtcl8.6.so.*"
78FILES_${PN} += "${libdir}/tcl${VER} ${libdir}/tcl8.6 ${libdir}/tcl8"
79FILES_${PN}-dev += "${libdir}/tclConfig.sh ${libdir}/tclooConfig.sh"
80
81# isn't getting picked up by shlibs code
82RDEPENDS_${PN} += "tcl-lib"
83RDEPENDS_${PN}_class-native = ""
84
85BBCLASSEXTEND = "native"
86
87do_compile_ptest() {
88 oe_runmake tcltest
89}
90
91do_install_ptest() {
92 cp ${B}/tcltest ${D}${PTEST_PATH}
93 cp -r ${S}/../library ${D}${PTEST_PATH}
94 cp -r ${S}/../tests ${D}${PTEST_PATH}
95}
96
97# Fix some paths that might be used by Tcl extensions
98BINCONFIG_GLOB = "*Config.sh"
99
100# Fix the path in sstate
101SSTATE_SCAN_FILES += "*Config.sh"