From 888e2b64b61a00bc94e0c57f1c08153b6c54753c Mon Sep 17 00:00:00 2001 From: Koen Kooi Date: Wed, 17 Aug 2011 22:52:35 +0200 Subject: tk 8.5.8: import from OE rev 5350bbef01b8979617e3d0fd38939f94f1fa5315 Signed-off-by: Koen Kooi --- .../tcltk/tk-8.5.8/confsearch.diff | 32 +++++++++++++++ .../recipes-devtools/tcltk/tk-8.5.8/fix-xft.diff | 16 ++++++++ .../recipes-devtools/tcltk/tk-8.5.8/manpages.diff | 23 +++++++++++ .../recipes-devtools/tcltk/tk-8.5.8/non-linux.diff | 45 ++++++++++++++++++++++ meta-oe/recipes-devtools/tcltk/tk-8.5.8/rpath.diff | 40 +++++++++++++++++++ .../recipes-devtools/tcltk/tk-8.5.8/tklibrary.diff | 22 +++++++++++ .../recipes-devtools/tcltk/tk-8.5.8/tkprivate.diff | 41 ++++++++++++++++++++ meta-oe/recipes-devtools/tcltk/tk_8.5.8.bb | 44 +++++++++++++++++++++ 8 files changed, 263 insertions(+) create mode 100644 meta-oe/recipes-devtools/tcltk/tk-8.5.8/confsearch.diff create mode 100644 meta-oe/recipes-devtools/tcltk/tk-8.5.8/fix-xft.diff create mode 100644 meta-oe/recipes-devtools/tcltk/tk-8.5.8/manpages.diff create mode 100644 meta-oe/recipes-devtools/tcltk/tk-8.5.8/non-linux.diff create mode 100644 meta-oe/recipes-devtools/tcltk/tk-8.5.8/rpath.diff create mode 100644 meta-oe/recipes-devtools/tcltk/tk-8.5.8/tklibrary.diff create mode 100644 meta-oe/recipes-devtools/tcltk/tk-8.5.8/tkprivate.diff create mode 100644 meta-oe/recipes-devtools/tcltk/tk_8.5.8.bb (limited to 'meta-oe') diff --git a/meta-oe/recipes-devtools/tcltk/tk-8.5.8/confsearch.diff b/meta-oe/recipes-devtools/tcltk/tk-8.5.8/confsearch.diff new file mode 100644 index 0000000000..c51e475426 --- /dev/null +++ b/meta-oe/recipes-devtools/tcltk/tk-8.5.8/confsearch.diff @@ -0,0 +1,32 @@ +Patch by Sergei Golovan allows to find tclConfig.sh in /usr/share/tcltk/tcl8.5 +and tkConfig.sh in /usr/share/tcltk/tk8.5 where they are located in Debian +installation. + +--- tk8.5-8.5.8.orig/unix/configure ++++ tk8.5-8.5.8/unix/configure +@@ -1431,6 +1431,7 @@ + `ls -d ${prefix}/lib 2>/dev/null` \ + `ls -d /usr/local/lib 2>/dev/null` \ + `ls -d /usr/contrib/lib 2>/dev/null` \ ++ `ls -d /usr/share/tcltk/tcl8.5 2>/dev/null` \ + `ls -d /usr/lib 2>/dev/null` \ + ; do + if test -f "$i/tclConfig.sh" ; then +--- tk8.5-8.5.8.orig/unix/tcl.m4 ++++ tk8.5-8.5.8/unix/tcl.m4 +@@ -93,6 +93,7 @@ + `ls -d ${prefix}/lib 2>/dev/null` \ + `ls -d /usr/local/lib 2>/dev/null` \ + `ls -d /usr/contrib/lib 2>/dev/null` \ ++ `ls -d /usr/share/tcltk/tcl8.5 2>/dev/null` \ + `ls -d /usr/lib 2>/dev/null` \ + ; do + if test -f "$i/tclConfig.sh" ; then +@@ -223,6 +224,7 @@ + `ls -d ${prefix}/lib 2>/dev/null` \ + `ls -d /usr/local/lib 2>/dev/null` \ + `ls -d /usr/contrib/lib 2>/dev/null` \ ++ `ls -d /usr/share/tcltk/tk8.5 2>/dev/null` \ + `ls -d /usr/lib 2>/dev/null` \ + ; do + if test -f "$i/tkConfig.sh" ; then diff --git a/meta-oe/recipes-devtools/tcltk/tk-8.5.8/fix-xft.diff b/meta-oe/recipes-devtools/tcltk/tk-8.5.8/fix-xft.diff new file mode 100644 index 0000000000..d1bb7105c6 --- /dev/null +++ b/meta-oe/recipes-devtools/tcltk/tk-8.5.8/fix-xft.diff @@ -0,0 +1,16 @@ +--- /tmp/configure.in 2010-05-19 13:29:03.000000000 +0200 ++++ unix/configure.in 2010-05-19 13:42:05.000000000 +0200 +@@ -526,13 +526,9 @@ + found_xft="yes" + dnl make sure package configurator (xft-config or pkg-config + dnl says that xft is present. +- XFT_CFLAGS=`xft-config --cflags 2>/dev/null` || found_xft="no" +- XFT_LIBS=`xft-config --libs 2>/dev/null` || found_xft="no" +- if test "$found_xft" = "no" ; then + found_xft=yes + XFT_CFLAGS=`pkg-config --cflags xft 2>/dev/null` || found_xft="no" + XFT_LIBS=`pkg-config --libs xft 2>/dev/null` || found_xft="no" +- fi + AC_MSG_RESULT([$found_xft]) + dnl make sure that compiling against Xft header file doesn't bomb + if test "$found_xft" = "yes" ; then diff --git a/meta-oe/recipes-devtools/tcltk/tk-8.5.8/manpages.diff b/meta-oe/recipes-devtools/tcltk/tk-8.5.8/manpages.diff new file mode 100644 index 0000000000..a0620bd2ce --- /dev/null +++ b/meta-oe/recipes-devtools/tcltk/tk-8.5.8/manpages.diff @@ -0,0 +1,23 @@ +Patch by Chris Waters fixes installing of several manual pages which +aren't installed by upstream script but are referenced inside other +manual pages. + +--- tk8.5-8.5.8.orig/unix/installManPage ++++ tk8.5-8.5.8/unix/installManPage +@@ -51,7 +51,16 @@ + }' $MANPAGE` + + SECTION=`echo $MANPAGE | sed 's/.*\(.\)$/\1/'` ++NAME=`basename $MANPAGE .$SECTION` + SRCDIR=`dirname $MANPAGE` ++ ++SPECIALS="FindPhoto" ++for n in $SPECIALS; do ++ if [ "$NAME" = "$n" ] ; then ++ NAMES="$n $NAMES" ++ fi ++done ++ + FIRST="" + for f in $NAMES; do + f=$f.$SECTION$SUFFIX diff --git a/meta-oe/recipes-devtools/tcltk/tk-8.5.8/non-linux.diff b/meta-oe/recipes-devtools/tcltk/tk-8.5.8/non-linux.diff new file mode 100644 index 0000000000..9309fc48e1 --- /dev/null +++ b/meta-oe/recipes-devtools/tcltk/tk-8.5.8/non-linux.diff @@ -0,0 +1,45 @@ +Patch by Sergei Golovan (originally by Mike Markley and Chris Waters) fixes +building on non-linux Debian architectures. + +--- tk8.5-8.5.8.orig/unix/configure ++++ tk8.5-8.5.8/unix/configure +@@ -4742,6 +4742,9 @@ + if test "`uname -s`" = "AIX" ; then + tcl_cv_sys_version=AIX-`uname -v`.`uname -r` + fi ++ if test "`uname -s`" = "NetBSD" -a -f /etc/debian_version ; then ++ tcl_cv_sys_version=NetBSD-Debian ++ fi + fi + fi + +@@ -5546,7 +5549,7 @@ + fi + + ;; +- Linux*) ++ Linux*|GNU*|NetBSD-Debian) + SHLIB_CFLAGS="-fPIC" + SHLIB_LD_LIBS='${LIBS}' + SHLIB_SUFFIX=".so" +--- tk8.5-8.5.8.orig/unix/tcl.m4 ++++ tk8.5-8.5.8/unix/tcl.m4 +@@ -962,6 +962,9 @@ + if test "`uname -s`" = "AIX" ; then + tcl_cv_sys_version=AIX-`uname -v`.`uname -r` + fi ++ if test "`uname -s`" = "NetBSD" -a -f /etc/debian_version ; then ++ tcl_cv_sys_version=NetBSD-Debian ++ fi + fi + fi + ]) +@@ -1422,7 +1425,7 @@ + ]) + ]) + ;; +- Linux*) ++ Linux*|GNU*|NetBSD-Debian) + SHLIB_CFLAGS="-fPIC" + SHLIB_LD_LIBS='${LIBS}' + SHLIB_SUFFIX=".so" diff --git a/meta-oe/recipes-devtools/tcltk/tk-8.5.8/rpath.diff b/meta-oe/recipes-devtools/tcltk/tk-8.5.8/rpath.diff new file mode 100644 index 0000000000..81169aab25 --- /dev/null +++ b/meta-oe/recipes-devtools/tcltk/tk-8.5.8/rpath.diff @@ -0,0 +1,40 @@ +Patch by Chris Waters removes -rpath from search flags and adds -soname +to library build options. + +Also, it fixes Makefile.in to put correct Tk library filename to pkgIndex.tcl + +--- tk8.5-8.5.8.orig/unix/configure ++++ tk8.5-8.5.8/unix/configure +@@ -5557,6 +5557,9 @@ + # 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 ++ TK_SHLIB_LD_EXTRAS="-Wl,-soname,\${TK_LIB_FILE}.0" ++ + SHLIB_LD='${CC} -shared ${CFLAGS} ${LDFLAGS}' + DL_OBJS="tclLoadDl.o" + DL_LIBS="-ldl" +--- tk8.5-8.5.8.orig/unix/Makefile.in ++++ tk8.5-8.5.8/unix/Makefile.in +@@ -713,7 +713,7 @@ + echo "if {[catch {package present Tcl 8.5.0}]} { return }";\ + relative=`echo | awk '{ORS=" "; split("$(TK_PKG_DIR)",a,"/"); for (f in a) {print ".."}}'`;\ + echo "package ifneeded Tk $(MAJOR_VERSION).$(MINOR_VERSION)$(PATCH_LEVEL)\ +- [list load [file join \$$dir $${relative}$(TK_LIB_FILE)] Tk]";\ ++ [list load [file join $(LIB_RUNTIME_DIR) $(TK_LIB_FILE).0] Tk]";\ + ) > "$(PKG_INDEX)"; \ + fi + @echo "Installing $(LIB_FILE) to $(LIB_INSTALL_DIR)/" +--- tk8.5-8.5.8.orig/unix/tcl.m4 ++++ tk8.5-8.5.8/unix/tcl.m4 +@@ -1433,6 +1433,9 @@ + # 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 ++ TK_SHLIB_LD_EXTRAS="-Wl,-soname,\${TK_LIB_FILE}.0" ++ + SHLIB_LD='${CC} -shared ${CFLAGS} ${LDFLAGS}' + DL_OBJS="tclLoadDl.o" + DL_LIBS="-ldl" diff --git a/meta-oe/recipes-devtools/tcltk/tk-8.5.8/tklibrary.diff b/meta-oe/recipes-devtools/tcltk/tk-8.5.8/tklibrary.diff new file mode 100644 index 0000000000..ee38c2a1a5 --- /dev/null +++ b/meta-oe/recipes-devtools/tcltk/tk-8.5.8/tklibrary.diff @@ -0,0 +1,22 @@ +--- tk8.5-8.5.8.orig/unix/configure ++++ tk8.5-8.5.8/unix/configure +@@ -11070,7 +11070,7 @@ + TCL_STUB_FLAGS="-DUSE_TCL_STUBS" + fi + +-TK_LIBRARY='$(prefix)/lib/tk$(VERSION)' ++test -z "$TK_LIBRARY" && TK_LIBRARY='$(prefix)/lib/tk$(VERSION)' + PRIVATE_INCLUDE_DIR='$(includedir)' + HTML_DIR='$(DISTDIR)/html' + TK_PKG_DIR='tk$(VERSION)' +--- tk8.5-8.5.8.orig/unix/configure.in ++++ tk8.5-8.5.8/unix/configure.in +@@ -607,7 +607,7 @@ + TCL_STUB_FLAGS="-DUSE_TCL_STUBS" + fi + +-TK_LIBRARY='$(prefix)/lib/tk$(VERSION)' ++test -z "$TK_LIBRARY" && TK_LIBRARY='$(prefix)/lib/tk$(VERSION)' + PRIVATE_INCLUDE_DIR='$(includedir)' + HTML_DIR='$(DISTDIR)/html' + TK_PKG_DIR='tk$(VERSION)' diff --git a/meta-oe/recipes-devtools/tcltk/tk-8.5.8/tkprivate.diff b/meta-oe/recipes-devtools/tcltk/tk-8.5.8/tkprivate.diff new file mode 100644 index 0000000000..4e15469736 --- /dev/null +++ b/meta-oe/recipes-devtools/tcltk/tk-8.5.8/tkprivate.diff @@ -0,0 +1,41 @@ +Patch by Chris Waters sets path which are normally point to a directory +with Tk sources to a subdirectory of /usr/include/tcl8.4 (debian/rules +puts private Tk headers there). + +--- tk8.5-8.5.8.orig/unix/tkConfig.sh.in ++++ tk8.5-8.5.8/unix/tkConfig.sh.in +@@ -55,7 +55,7 @@ + + # String to pass to linker to pick up the Tk library from its + # build directory. +-TK_BUILD_LIB_SPEC='@TK_BUILD_LIB_SPEC@' ++TK_BUILD_LIB_SPEC='@TK_LIB_SPEC@' + + # String to pass to linker to pick up the Tk library from its + # installed directory. +@@ -71,7 +71,7 @@ + # different place than the directory containing the source files, this + # points to the location of the sources, not the location where Tk was + # compiled. +-TK_SRC_DIR='@TK_SRC_DIR@' ++TK_SRC_DIR='@includedir@/tk-private' + + # Needed if you want to make a 'fat' shared library library + # containing tk objects or link a different wish. +@@ -86,14 +86,14 @@ + + # String to pass to linker to pick up the Tk stub library from its + # build directory. +-TK_BUILD_STUB_LIB_SPEC='@TK_BUILD_STUB_LIB_SPEC@' ++TK_BUILD_STUB_LIB_SPEC='@TK_STUB_LIB_SPEC@' + + # String to pass to linker to pick up the Tk stub library from its + # installed directory. + TK_STUB_LIB_SPEC='@TK_STUB_LIB_SPEC@' + + # Path to the Tk stub library in the build directory. +-TK_BUILD_STUB_LIB_PATH='@TK_BUILD_STUB_LIB_PATH@' ++TK_BUILD_STUB_LIB_PATH='@TK_STUB_LIB_PATH@' + + # Path to the Tk stub library in the install directory. + TK_STUB_LIB_PATH='@TK_STUB_LIB_PATH@' diff --git a/meta-oe/recipes-devtools/tcltk/tk_8.5.8.bb b/meta-oe/recipes-devtools/tcltk/tk_8.5.8.bb new file mode 100644 index 0000000000..247e55b69a --- /dev/null +++ b/meta-oe/recipes-devtools/tcltk/tk_8.5.8.bb @@ -0,0 +1,44 @@ +DESCRIPTION = "Tool Command Language ToolKit Extension" +HOMEPAGE = "http://tcl.sourceforge.net" +SECTION = "devel/tcltk" +LICENSE = "tcl" +LIC_FILES_CHKSUM = "file://license.terms;md5=24954e7e6b54c1b4e16de861b9d392fc" +DEPENDS = "tcl virtual/libx11 libxt" + +SRC_URI = "\ + ${SOURCEFORGE_MIRROR}/tcl/tk${PV}-src.tar.gz \ + file://confsearch.diff;striplevel=2 \ + file://manpages.diff;striplevel=2 \ + file://non-linux.diff;striplevel=2 \ + file://rpath.diff;striplevel=2 \ + file://tklibrary.diff;striplevel=2 \ + file://tkprivate.diff;striplevel=2 \ + file://fix-xft.diff \ +" +SRC_URI[md5sum] = "13bf90602e16fc530e05196431021dc6" +SRC_URI[sha256sum] = "9737da5c30e631281062b6acbb4753840f9e95657c78e37657d9c520589ab2d4" + +S = "${WORKDIR}/tk${PV}/unix" + +inherit autotools + +EXTRA_OECONF = "\ + --enable-threads \ + --with-tcl=${STAGING_BINDIR_CROSS} \ + --x-includes=${STAGING_INCDIR} \ + --x-libraries=${STAGING_LIBDIR} \ +" + +do_install_append() { + mv libtk8.5.so libtk8.5.so.0 + oe_libinstall -so libtk8.5 ${D}${libdir} + ln -sf wish8.5 ${D}${bindir}/wish +} + +PACKAGES =+ "${PN}-lib" + +FILES_${PN}-lib = "${libdir}/libtk8.5.so.*" +FILES_${PN} += "${libdir}/tk*" + +BINCONFIG_GLOB = "*Config.sh" +BBCLASSEXTEND = "native" -- cgit 1.2.3-korg