aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/tcltk
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-devtools/tcltk')
-rw-r--r--meta/recipes-devtools/tcltk/tcl/fix-configure.patch44
-rw-r--r--meta/recipes-devtools/tcltk/tcl/fix_non_native_build_issue.patch63
-rw-r--r--meta/recipes-devtools/tcltk/tcl/tcl-add-soname.patch50
-rw-r--r--meta/recipes-devtools/tcltk/tcl_8.5.8.bb62
4 files changed, 219 insertions, 0 deletions
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..8b2654bae0
--- /dev/null
+++ b/meta/recipes-devtools/tcltk/tcl/fix-configure.patch
@@ -0,0 +1,44 @@
+Index: unix/tcl.m4
+===================================================================
+--- tcl8.4.11/unix.orig/tcl.m4
++++ tcl8.4.11/unix/tcl.m4
+@@ -845,7 +845,7 @@ AC_DEFUN(SC_CONFIG_CFLAGS, [
+ # results, and the version is kept in special file).
+
+ if test -r /etc/.relid -a "X`uname -n`" = "X`uname -s`" ; then
+- system=MP-RAS-`awk '{print $3}' /etc/.relid'`
++ system=MP-RAS-`awk '{print $3}' /etc/.relid`
+ fi
+ if test "`uname -s`" = "AIX" ; then
+ system=AIX-`uname -v`.`uname -r`
+@@ -2250,7 +2250,7 @@ AC_DEFUN(SC_BLOCKING_STYLE, [
+ # results, and the version is kept in special file).
+
+ if test -r /etc/.relid -a "X`uname -n`" = "X`uname -s`" ; then
+- system=MP-RAS-`awk '{print $3}' /etc/.relid'`
++ system=MP-RAS-`awk '{print $3}' /etc/.relid`
+ fi
+ if test "`uname -s`" = "AIX" ; then
+ system=AIX-`uname -v`.`uname -r`
+Index: unix/configure
+===================================================================
+--- tcl8.4.11/unix.orig/configure
++++ tcl8.4.11/unix/configure
+@@ -2130,7 +2130,7 @@ echo "configure:2121: checking system ve
+ # results, and the version is kept in special file).
+
+ if test -r /etc/.relid -a "X`uname -n`" = "X`uname -s`" ; then
+- system=MP-RAS-`awk '{print }' /etc/.relid'`
++ system=MP-RAS-`awk '{print }' /etc/.relid`
+ fi
+ if test "`uname -s`" = "AIX" ; then
+ system=AIX-`uname -v`.`uname -r`
+@@ -7608,7 +7608,7 @@ echo "configure:7600: checking FIONBIO v
+ # results, and the version is kept in special file).
+
+ if test -r /etc/.relid -a "X`uname -n`" = "X`uname -s`" ; then
+- system=MP-RAS-`awk '{print }' /etc/.relid'`
++ system=MP-RAS-`awk '{print }' /etc/.relid`
+ fi
+ if test "`uname -s`" = "AIX" ; then
+ system=AIX-`uname -v`.`uname -r`
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..b2d98c131c
--- /dev/null
+++ b/meta/recipes-devtools/tcltk/tcl/fix_non_native_build_issue.patch
@@ -0,0 +1,63 @@
+Index: unix/Makefile.in
+===================================================================
+--- unix.orig/Makefile.in
++++ unix/Makefile.in
+@@ -622,20 +622,20 @@ ro-test: tcltest
+ shell: tclsh
+ @LD_LIBRARY_PATH_VAR@="`pwd`:$${@LD_LIBRARY_PATH_VAR@}"; export @LD_LIBRARY_PATH_VAR@; \
+ TCL_LIBRARY="${TCL_BUILDTIME_LIBRARY}"; export TCL_LIBRARY; \
+- ./tclsh $(SCRIPT)
++ tclsh $(SCRIPT)
+
+ # This target can be used to run tclsh inside either gdb or insight
+ gdb: tclsh
+ @echo "set env @LD_LIBRARY_PATH_VAR@=\"`pwd`:$${@LD_LIBRARY_PATH_VAR@}\"" > gdb.run
+ @echo "set env TCL_LIBRARY=${TCL_BUILDTIME_LIBRARY}" >> gdb.run
+- $(GDB) ./tclsh --command=gdb.run
++ $(GDB) tclsh --command=gdb.run
+ rm gdb.run
+
+ # This target can be used to run tclsh inside ddd
+ ddd: tclsh
+ @echo "set env @LD_LIBRARY_PATH_VAR@=\"`pwd`:$${@LD_LIBRARY_PATH_VAR@}\"" > gdb.run
+ @echo "set env TCL_LIBRARY=${TCL_BUILDTIME_LIBRARY}" >> gdb.run
+- $(DDD) -command=gdb.run ./tclsh
++ $(DDD) -command=gdb.run tclsh
+ rm gdb.run
+
+ VALGRINDARGS=--tool=memcheck --num-callers=8 --leak-resolution=high --leak-check=yes --show-reachable=yes -v
+@@ -648,7 +648,7 @@ valgrind: tclsh tcltest
+ valgrindshell: tclsh
+ @LD_LIBRARY_PATH_VAR@="`pwd`:$${@LD_LIBRARY_PATH_VAR@}"; export @LD_LIBRARY_PATH_VAR@; \
+ TCL_LIBRARY="${TCL_BUILDTIME_LIBRARY}"; export TCL_LIBRARY; \
+- valgrind $(VALGRINDARGS) ./tclsh $(SCRIPT)
++ valgrind $(VALGRINDARGS) tclsh $(SCRIPT)
+
+ # The following target outputs the name of the top-level source directory for
+ # Tcl (it is used by Tk's configure script, for example). The .NO_PARALLEL
+@@ -817,14 +817,14 @@ install-tzdata: tclsh
+ @echo "Installing time zone data"
+ @@LD_LIBRARY_PATH_VAR@="`pwd`:$${@LD_LIBRARY_PATH_VAR@}"; export @LD_LIBRARY_PATH_VAR@; \
+ TCL_LIBRARY="${TCL_BUILDTIME_LIBRARY}"; export TCL_LIBRARY; \
+- ./tclsh $(TOOL_DIR)/installData.tcl \
++ tclsh $(TOOL_DIR)/installData.tcl \
+ $(TOP_DIR)/library/tzdata "$(SCRIPT_INSTALL_DIR)"/tzdata
+
+ install-msgs: tclsh
+ @echo "Installing message catalogs"
+ @@LD_LIBRARY_PATH_VAR@="`pwd`:$${@LD_LIBRARY_PATH_VAR@}"; export @LD_LIBRARY_PATH_VAR@; \
+ TCL_LIBRARY="${TCL_BUILDTIME_LIBRARY}"; export TCL_LIBRARY; \
+- ./tclsh $(TOOL_DIR)/installData.tcl \
++ tclsh $(TOOL_DIR)/installData.tcl \
+ $(TOP_DIR)/library/msgs "$(SCRIPT_INSTALL_DIR)"/msgs
+
+ install-doc: doc
+@@ -1764,7 +1764,7 @@ html-tk: tclsh
+ BUILD_HTML = \
+ @@LD_LIBRARY_PATH_VAR@="`pwd`:$${@LD_LIBRARY_PATH_VAR@}"; export @LD_LIBRARY_PATH_VAR@; \
+ TCL_LIBRARY="${TCL_BUILDTIME_LIBRARY}"; export TCL_LIBRARY; \
+- ./tclsh $(TOOL_DIR)/tcltk-man2html.tcl --htmldir="$(HTML_INSTALL_DIR)" \
++ tclsh $(TOOL_DIR)/tcltk-man2html.tcl --htmldir="$(HTML_INSTALL_DIR)" \
+ --srcdir=$(TOP_DIR)/.. $(BUILD_HTML_FLAGS)
+
+ #
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..9cb816da51
--- /dev/null
+++ b/meta/recipes-devtools/tcltk/tcl/tcl-add-soname.patch
@@ -0,0 +1,50 @@
+Index: unix/configure
+===================================================================
+--- unix.orig/configure
++++ unix/configure
+@@ -6726,6 +6726,7 @@ fi
+ # symbols when dynamically loaded into tclsh.
+ SHLIB_LD_LIBS='${LIBS}'
+ SHLIB_SUFFIX=".so"
++ SHARED_LIB_SUFFIX='${VERSION}\$\{DBGX\}.so.0'
+
+ DL_OBJS="tclLoadDl.o"
+ LD_LIBRARY_PATH_VAR="LIBPATH"
+Index: unix/tcl.m4
+===================================================================
+--- unix.orig/tcl.m4
++++ unix/tcl.m4
+@@ -1424,6 +1424,7 @@ dnl AC_CHECK_TOOL(AR, ar)
+ SHLIB_CFLAGS="-fPIC"
+ SHLIB_LD_LIBS='${LIBS}'
+ SHLIB_SUFFIX=".so"
++ SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.so.0'
+
+ CFLAGS_OPTIMIZE="-O2"
+ # egcs-2.91.66 on Redhat Linux 6.0 generates lots of warnings
+@@ -1431,12 +1432,15 @@ dnl AC_CHECK_TOOL(AR, ar)
+ # get rid of the warnings.
+ #CFLAGS_OPTIMIZE="${CFLAGS_OPTIMIZE} -D__NO_STRING_INLINES -D__NO_MATH_INLINES"
+
++ # following line added by CW for Debian GNU/Linux
++ TCL_SHLIB_LD_EXTRAS="-Wl,-soname,\${TCL_LIB_FILE}.0"
++
+ SHLIB_LD='${CC} -shared ${CFLAGS} ${LDFLAGS}'
+ DL_OBJS="tclLoadDl.o"
+ DL_LIBS="-ldl"
+ LDFLAGS="$LDFLAGS -Wl,--export-dynamic"
+ AS_IF([test $doRpath = yes], [
+- CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'])
++ CC_SEARCH_FLAGS=''])
+ LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS}
+ AS_IF([test "`uname -m`" = "alpha"], [CFLAGS="$CFLAGS -mieee"])
+ AS_IF([test $do64bit = yes], [
+@@ -2079,7 +2083,7 @@ dnl # preprocessing tests use only CPPFL
+
+ AS_IF([test "${SHARED_BUILD}" = 1 -a "${SHLIB_SUFFIX}" != ""], [
+ LIB_SUFFIX=${SHARED_LIB_SUFFIX}
+- MAKE_LIB='${SHLIB_LD} -o [$]@ ${OBJS} ${SHLIB_LD_LIBS} ${TCL_SHLIB_LD_EXTRAS} ${TK_SHLIB_LD_EXTRAS} ${LD_SEARCH_FLAGS}'
++ MAKE_LIB='${SHLIB_LD} -o $@ ${OBJS} ${SHLIB_LD_LIBS} ${TCL_SHLIB_LD_EXTRAS} ${TK_SHLIB_LD_EXTRAS} ${LD_SEARCH_FLAGS}'
+ INSTALL_LIB='$(INSTALL_LIBRARY) $(LIB_FILE) "$(LIB_INSTALL_DIR)"/$(LIB_FILE)'
+ ], [
+ LIB_SUFFIX=${UNSHARED_LIB_SUFFIX}
diff --git a/meta/recipes-devtools/tcltk/tcl_8.5.8.bb b/meta/recipes-devtools/tcltk/tcl_8.5.8.bb
new file mode 100644
index 0000000000..880340067c
--- /dev/null
+++ b/meta/recipes-devtools/tcltk/tcl_8.5.8.bb
@@ -0,0 +1,62 @@
+DESCRIPTION = "Tool Command Language"
+LICENSE = "tcl"
+SECTION = "devel/tcltk"
+HOMEPAGE = "http://tcl.sourceforge.net"
+DEPENDS = "tcl-native"
+LIC_CHKSUM_FILES = "file://../license.terms;md5=7b4d3c71b2d9a8c1b373609867975570 \
+ file://../compat/license.terms;md5=7b4d3c71b2d9a8c1b373609867975570 \
+ file://../library/license.terms;md5=7b4d3c71b2d9a8c1b373609867975570 \
+ file://../macosx/license.terms;md5=7b4d3c71b2d9a8c1b373609867975570 \
+ file://../tests/license.terms;md5=7b4d3c71b2d9a8c1b373609867975570 \
+ file://../win/license.terms;md5=7b4d3c71b2d9a8c1b373609867975570 \
+ "
+
+PR = "r2"
+
+BASE_SRC_URI = "${SOURCEFORGE_MIRROR}/tcl/tcl${PV}-src.tar.gz \
+ file://tcl-add-soname.patch"
+
+SRC_URI = "${BASE_SRC_URI} \
+ file://fix_non_native_build_issue.patch"
+
+SRC_URI_virtclass-native = "${BASE_SRC_URI}"
+
+S = "${WORKDIR}/tcl${PV}/unix"
+
+inherit autotools
+
+DEPENDS_virtclass-native = ""
+
+EXTRA_OECONF = "--enable-threads"
+
+do_configure() {
+ gnu-configize
+ oe_runconf
+}
+
+do_compile_prepend() {
+ echo > ../compat/fixstrtod.c
+}
+
+do_install() {
+ autotools_do_install
+ oe_libinstall -so libtcl8.5 ${STAGING_LIBDIR}
+ ln -sf ./tclsh8.5 ${D}${bindir}/tclsh
+ sed -i "s+${WORKDIR}+${STAGING_INCDIR}+g" tclConfig.sh
+ sed -i "s,-L${libdir},," tclConfig.sh
+ install -d ${STAGING_BINDIR_CROSS}/
+ install -m 0755 tclConfig.sh ${STAGING_BINDIR_CROSS}
+ cd ..
+ for dir in compat generic unix
+ do
+ install -d ${STAGING_INCDIR}/tcl${PV}/$dir
+ install -m 0644 $dir/*.h ${STAGING_INCDIR}/tcl${PV}/$dir/
+ done
+}
+
+PACKAGES =+ "${PN}-lib"
+FILES_${PN}-lib = "${libdir}/libtcl8.5.so.*"
+FILES_${PN} += "${libdir}/tcl8.5"
+FILES_${PN}-dev += "${libdir}/tclConfig.sh"
+
+BBCLASSEXTEND = "native"