From f4674faeaa7b2f0c3b8516f802e414fdf0a44e93 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Wed, 9 Dec 2009 23:59:44 +0000 Subject: tcl: Add tcltk from OE.dev but with legacy staging function removed and converted to BBCLASSEXTEND Signed-off-by: Richard Purdie --- meta/packages/tcltk/tcl/fix-configure.patch | 44 +++++++++++++++++ meta/packages/tcltk/tcl/tcl-add-soname.patch | 72 ++++++++++++++++++++++++++++ meta/packages/tcltk/tcl_8.4.19.bb | 47 ++++++++++++++++++ 3 files changed, 163 insertions(+) create mode 100644 meta/packages/tcltk/tcl/fix-configure.patch create mode 100644 meta/packages/tcltk/tcl/tcl-add-soname.patch create mode 100644 meta/packages/tcltk/tcl_8.4.19.bb (limited to 'meta/packages') diff --git a/meta/packages/tcltk/tcl/fix-configure.patch b/meta/packages/tcltk/tcl/fix-configure.patch new file mode 100644 index 000000000..8b2654bae --- /dev/null +++ b/meta/packages/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/packages/tcltk/tcl/tcl-add-soname.patch b/meta/packages/tcltk/tcl/tcl-add-soname.patch new file mode 100644 index 000000000..38762644c --- /dev/null +++ b/meta/packages/tcltk/tcl/tcl-add-soname.patch @@ -0,0 +1,72 @@ +--- clean/tcl8.4.19/unix/configure 2008-04-17 21:29:49.000000000 +0100 ++++ tcl8.4.19/unix/configure 2009-11-13 11:46:36.000000000 +0000 +@@ -3065,6 +3065,7 @@ + SHLIB_CFLAGS="-fPIC" + SHLIB_LD_LIBS='${LIBS}' + SHLIB_SUFFIX=".so" ++ SHARED_LIB_SUFFIX='${VERSION}\$\{DBGX\}.so.0' + + CFLAGS_OPTIMIZE=-O2 + # egcs-2.91.66 on Redhat Linux 6.0 generates lots of warnings +@@ -3072,12 +3073,15 @@ + # 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}" ++ + if test "$have_dl" = yes; then + SHLIB_LD='${CC} -shared ${CFLAGS} ${LDFLAGS}' + DL_OBJS="tclLoadDl.o" + DL_LIBS="-ldl" + LDFLAGS="$LDFLAGS -Wl,--export-dynamic" +- CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}' ++ CC_SEARCH_FLAGS="" + LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS} + else + ac_safe=`echo "dld.h" | sed 'y%./+-%__p_%'` +@@ -4299,7 +4303,7 @@ + + if test "${SHARED_BUILD}" = "1" && test "${SHLIB_SUFFIX}" != "" ; then + 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} ; ln -s $(LIB_FILE) `basename $(LIB_FILE) .so.0`\${SHLIB_SUFFIX}' + INSTALL_LIB='$(INSTALL_LIBRARY) $(LIB_FILE) $(LIB_INSTALL_DIR)/$(LIB_FILE)' + else + LIB_SUFFIX=${UNSHARED_LIB_SUFFIX} +--- clean/tcl8.4.19/unix/tcl.m4 2008-04-17 21:29:49.000000000 +0100 ++++ tcl8.4.19/unix/tcl.m4 2009-11-13 11:53:57.000000000 +0000 +@@ -1337,6 +1337,7 @@ + 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 +@@ -1344,12 +1345,15 @@ + # 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" ++ + if test "$have_dl" = yes; then + SHLIB_LD='${CC} -shared ${CFLAGS} ${LDFLAGS}' + DL_OBJS="tclLoadDl.o" + DL_LIBS="-ldl" + LDFLAGS="$LDFLAGS -Wl,--export-dynamic" +- CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}' ++ CC_SEARCH_FLAGS="" + LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS} + else + AC_CHECK_HEADER(dld.h, [ +@@ -2117,7 +2121,7 @@ + + if test "${SHARED_BUILD}" = "1" && test "${SHLIB_SUFFIX}" != "" ; then + 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} ; ln -s $(LIB_FILE) `basename $(LIB_FILE) .so.0`\${SHLIB_SUFFIX}' + INSTALL_LIB='$(INSTALL_LIBRARY) $(LIB_FILE) $(LIB_INSTALL_DIR)/$(LIB_FILE)' + else + LIB_SUFFIX=${UNSHARED_LIB_SUFFIX} diff --git a/meta/packages/tcltk/tcl_8.4.19.bb b/meta/packages/tcltk/tcl_8.4.19.bb new file mode 100644 index 000000000..33d600bc7 --- /dev/null +++ b/meta/packages/tcltk/tcl_8.4.19.bb @@ -0,0 +1,47 @@ +DESCRIPTION = "Tool Command Language" +LICENSE = "tcl" +SECTION = "devel/tcltk" +HOMEPAGE = "http://tcl.sourceforge.net" +PR = "r3" + +SRC_URI = "\ + ${SOURCEFORGE_MIRROR}/tcl/tcl${PV}-src.tar.gz \ + file://tcl-add-soname.patch;patch=1;pnum=2" + +S = "${WORKDIR}/tcl${PV}/unix" + +inherit autotools + +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.4 ${STAGING_LIBDIR} + ln -sf ./tclsh8.4 ${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.4.so.*" +FILES_${PN} += "${libdir}/tcl8.4" +FILES_${PN}-dev += "${libdir}/tclConfig.sh" + +BBCLASSEXTEND = "native" -- cgit v1.2.3