diff options
| author | Tudor Florea <tudor.florea@enea.com> | 2015-10-09 22:59:03 +0200 |
|---|---|---|
| committer | Tudor Florea <tudor.florea@enea.com> | 2015-10-09 22:59:03 +0200 |
| commit | 972dcfcdbfe75dcfeb777150c136576cf1a71e99 (patch) | |
| tree | 97a61cd7e293d7ae9d56ef7ed0f81253365bb026 /meta/recipes-devtools/tcltk | |
| download | poky-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')
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 @@ | |||
| 1 | Lets install the include header and private header files into | ||
| 2 | usr/include/tcl8.6 when version of tcl is 8.6.x | ||
| 3 | |||
| 4 | Upstream-Status: Inappropriate [Configuration Specific] | ||
| 5 | |||
| 6 | Signed-off-by: Khem Raj <raj.khem@gmai.com> | ||
| 7 | |||
| 8 | Fixed the TCL_INCLUDE_SPEC | ||
| 9 | |||
| 10 | Signed-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 | |||
| 17 | diff --git a/Makefile.in b/Makefile.in | ||
| 18 | index 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@ | ||
| 30 | diff --git a/configure b/configure | ||
| 31 | index 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 | ||
| 52 | diff --git a/configure.in b/configure.in | ||
| 53 | index 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 | -- | ||
| 75 | 1.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 @@ | |||
| 1 | Upstream-Status: Pending | ||
| 2 | |||
| 3 | Index: 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` | ||
| 25 | Index: 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 @@ | |||
| 1 | Upstream-Status: inappropriate [embedded specific] | ||
| 2 | |||
| 3 | Fixes 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 | |||
| 15 | Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com> | ||
| 16 | 2012/04/26 | ||
| 17 | |||
| 18 | Index: 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 @@ | |||
| 1 | Upstream-Status: Pending | ||
| 2 | |||
| 3 | Index: 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 @@ | |||
| 1 | tcl 8.6.0 builds by default a number of packages that are not needed in Yocto. | ||
| 2 | This patch changes the makefile so that these packages are not built by default. | ||
| 3 | |||
| 4 | Upstream-Status:Inappropriate [embedded specific] | ||
| 5 | |||
| 6 | Signed-off-by: Bogdan Marinescu <bogdan.a.marinescu@intel.com> | ||
| 7 | |||
| 8 | Index: 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 | |||
| 3 | for 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; \ | ||
| 8 | done | ||
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 @@ | |||
| 1 | Upstream-Status: Pending | ||
| 2 | |||
| 3 | Index: 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" | ||
| 17 | Index: 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" | ||
| 31 | Index: 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 @@ | |||
| 1 | From 6efc98774681795712073c2b91e5e9d1763239b8 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: "Song.Li" <Song.Li@windriver.com> | ||
| 3 | Date: Wed, 1 Aug 2012 19:05:51 +0800 | ||
| 4 | Subject: [PATCH] tcl:install tcl to lib64 instead of lib on 64bit target | ||
| 5 | |||
| 6 | Remove hardcoded library install path. Change $(prefix)/lib/ to ${libdir}. | ||
| 7 | |||
| 8 | [YOCTO #2876] | ||
| 9 | |||
| 10 | This is not a bug, but libraries should be installed into directory .../lib/. | ||
| 11 | On 64bit target that should be lib64/. | ||
| 12 | |||
| 13 | Upstream-Status: Inappropriate [configuration] | ||
| 14 | |||
| 15 | Signed-off-by: Song.Li <Song.Li@windriver.com> | ||
| 16 | Signed-off-by: Kai Kang <kai.kang@windriver.com> | ||
| 17 | |||
| 18 | --- | ||
| 19 | configure | 2 +- | ||
| 20 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
| 21 | |||
| 22 | Index: 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 | |||
| 35 | Index: 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 @@ | |||
| 1 | SUMMARY = "Tool Command Language" | ||
| 2 | HOMEPAGE = "http://tcl.sourceforge.net" | ||
| 3 | SECTION = "devel/tcltk" | ||
| 4 | |||
| 5 | # http://www.tcl.tk/software/tcltk/license.html | ||
| 6 | LICENSE = "tcl & BSD-3-Clause" | ||
| 7 | LIC_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 | |||
| 15 | DEPENDS = "tcl-native zlib" | ||
| 16 | |||
| 17 | BASE_SRC_URI = "${SOURCEFORGE_MIRROR}/tcl/${BPN}${PV}-src.tar.gz \ | ||
| 18 | file://tcl-add-soname.patch" | ||
| 19 | SRC_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 | " | ||
| 27 | SRC_URI[md5sum] = "aae4b701ee527c6e4e1a6f9c7399882e" | ||
| 28 | SRC_URI[sha256sum] = "16ee769248e64ba1cae6b4834fcc4e4edd7470d881410e8d58f7dd1434343514" | ||
| 29 | |||
| 30 | SRC_URI_class-native = "${BASE_SRC_URI}" | ||
| 31 | |||
| 32 | S = "${WORKDIR}/${BPN}${PV}/unix" | ||
| 33 | |||
| 34 | VER = "${PV}" | ||
| 35 | |||
| 36 | inherit autotools ptest binconfig | ||
| 37 | |||
| 38 | DEPENDS_class-native = "zlib-native" | ||
| 39 | |||
| 40 | EXTRA_OECONF = "--enable-threads --disable-rpath --libdir=${libdir}" | ||
| 41 | |||
| 42 | do_configure() { | ||
| 43 | cd ${S} | ||
| 44 | gnu-configize | ||
| 45 | cd ${B} | ||
| 46 | oe_runconf | ||
| 47 | } | ||
| 48 | |||
| 49 | do_compile_prepend() { | ||
| 50 | echo > ${S}/../compat/fixstrtod.c | ||
| 51 | } | ||
| 52 | |||
| 53 | do_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 | |||
| 71 | SYSROOT_PREPROCESS_FUNCS += "tcl_sysroot_preprocess" | ||
| 72 | tcl_sysroot_preprocess () { | ||
| 73 | sysroot_stage_dir ${D}${bindir_crossscripts} ${SYSROOT_DESTDIR}${bindir_crossscripts} | ||
| 74 | } | ||
| 75 | |||
| 76 | PACKAGES =+ "tcl-lib" | ||
| 77 | FILES_tcl-lib = "${libdir}/libtcl8.6.so.*" | ||
| 78 | FILES_${PN} += "${libdir}/tcl${VER} ${libdir}/tcl8.6 ${libdir}/tcl8" | ||
| 79 | FILES_${PN}-dev += "${libdir}/tclConfig.sh ${libdir}/tclooConfig.sh" | ||
| 80 | |||
| 81 | # isn't getting picked up by shlibs code | ||
| 82 | RDEPENDS_${PN} += "tcl-lib" | ||
| 83 | RDEPENDS_${PN}_class-native = "" | ||
| 84 | |||
| 85 | BBCLASSEXTEND = "native" | ||
| 86 | |||
| 87 | do_compile_ptest() { | ||
| 88 | oe_runmake tcltest | ||
| 89 | } | ||
| 90 | |||
| 91 | do_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 | ||
| 98 | BINCONFIG_GLOB = "*Config.sh" | ||
| 99 | |||
| 100 | # Fix the path in sstate | ||
| 101 | SSTATE_SCAN_FILES += "*Config.sh" | ||
