diff options
author | Koen Kooi <koen@openembedded.org> | 2010-05-19 13:59:59 +0200 |
---|---|---|
committer | Koen Kooi <koen@openembedded.org> | 2010-05-19 14:20:54 +0200 |
commit | e92042a4e03b0d40dab3886867340059e6fafcb3 (patch) | |
tree | 732ab8b0d0586f6cf7e8d307e644cea2e94503a8 /recipes/tcltk | |
parent | 0ad7f1f257fa28707329dd1ade790335b5a1882e (diff) |
tk: add 8.5.8
Diffstat (limited to 'recipes/tcltk')
-rw-r--r-- | recipes/tcltk/tk-8.5.8/canvasps.diff | 23 | ||||
-rw-r--r-- | recipes/tcltk/tk-8.5.8/confsearch.diff | 32 | ||||
-rw-r--r-- | recipes/tcltk/tk-8.5.8/fix-xft.diff | 16 | ||||
-rw-r--r-- | recipes/tcltk/tk-8.5.8/fontsize.diff | 21 | ||||
-rw-r--r-- | recipes/tcltk/tk-8.5.8/manpages.diff | 23 | ||||
-rw-r--r-- | recipes/tcltk/tk-8.5.8/non-linux.diff | 45 | ||||
-rw-r--r-- | recipes/tcltk/tk-8.5.8/rpath.diff | 40 | ||||
-rw-r--r-- | recipes/tcltk/tk-8.5.8/tklibrary.diff | 22 | ||||
-rw-r--r-- | recipes/tcltk/tk-8.5.8/tkport.diff | 14 | ||||
-rw-r--r-- | recipes/tcltk/tk-8.5.8/tkprivate.diff | 41 | ||||
-rw-r--r-- | recipes/tcltk/tk_8.5.8.bb | 42 |
11 files changed, 319 insertions, 0 deletions
diff --git a/recipes/tcltk/tk-8.5.8/canvasps.diff b/recipes/tcltk/tk-8.5.8/canvasps.diff new file mode 100644 index 0000000000..5cb9a6ae43 --- /dev/null +++ b/recipes/tcltk/tk-8.5.8/canvasps.diff @@ -0,0 +1,23 @@ +Patch by Sergei Golovan. + +It ensures that font size is positive (measured in pixels). This fixes +mirrored text problem in canvas postscript output. + +--- tk8.5-8.5.5.orig/unix/tkUnixRFont.c ++++ tk8.5-8.5.5/unix/tkUnixRFont.c +@@ -260,6 +260,7 @@ + ftFont = GetFont(fontPtr, 0); + fontPtr->font.fid = XLoadFont(Tk_Display(tkwin), "fixed"); + GetTkFontAttributes(ftFont, &fontPtr->font.fa); ++ fontPtr->font.fa.size = TkFontGetPoints(tkwin, fontPtr->font.fa.size); + GetTkFontMetrics(ftFont, &fontPtr->font.fm); + + return fontPtr; +@@ -518,6 +519,7 @@ + + GetTkFontAttributes(ftFont, faPtr); + faPtr->underline = fontPtr->font.fa.underline; ++ faPtr->size = TkFontGetPoints(tkwin, faPtr->size); + faPtr->overstrike = fontPtr->font.fa.overstrike; + } + diff --git a/recipes/tcltk/tk-8.5.8/confsearch.diff b/recipes/tcltk/tk-8.5.8/confsearch.diff new file mode 100644 index 0000000000..c51e475426 --- /dev/null +++ b/recipes/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/recipes/tcltk/tk-8.5.8/fix-xft.diff b/recipes/tcltk/tk-8.5.8/fix-xft.diff new file mode 100644 index 0000000000..d1bb7105c6 --- /dev/null +++ b/recipes/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/recipes/tcltk/tk-8.5.8/fontsize.diff b/recipes/tcltk/tk-8.5.8/fontsize.diff new file mode 100644 index 0000000000..a3df0bc29a --- /dev/null +++ b/recipes/tcltk/tk-8.5.8/fontsize.diff @@ -0,0 +1,21 @@ +Patch by Sergei Golovan fixes mirroring font in canvas postscript when its +size is specified in pixels (negative). + +--- tk8.5-8.5.4.orig/unix/tkUnixRFont.c ++++ tk8.5-8.5.4/unix/tkUnixRFont.c +@@ -260,6 +260,7 @@ + ftFont = GetFont(fontPtr, 0); + fontPtr->font.fid = XLoadFont(Tk_Display(tkwin), "fixed"); + GetTkFontAttributes(ftFont, &fontPtr->font.fa); ++ fontPtr->font.fa.size = TkFontGetPoints(tkwin, fontPtr->font.fa.size); + GetTkFontMetrics(ftFont, &fontPtr->font.fm); + + return fontPtr; +@@ -517,6 +518,7 @@ + /* Actual font used to render the character */ + + GetTkFontAttributes(ftFont, faPtr); ++ faPtr->size = TkFontGetPoints(tkwin, faPtr->size); + faPtr->underline = fontPtr->font.fa.underline; + faPtr->overstrike = fontPtr->font.fa.overstrike; + } diff --git a/recipes/tcltk/tk-8.5.8/manpages.diff b/recipes/tcltk/tk-8.5.8/manpages.diff new file mode 100644 index 0000000000..a0620bd2ce --- /dev/null +++ b/recipes/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/recipes/tcltk/tk-8.5.8/non-linux.diff b/recipes/tcltk/tk-8.5.8/non-linux.diff new file mode 100644 index 0000000000..9309fc48e1 --- /dev/null +++ b/recipes/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/recipes/tcltk/tk-8.5.8/rpath.diff b/recipes/tcltk/tk-8.5.8/rpath.diff new file mode 100644 index 0000000000..81169aab25 --- /dev/null +++ b/recipes/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/recipes/tcltk/tk-8.5.8/tklibrary.diff b/recipes/tcltk/tk-8.5.8/tklibrary.diff new file mode 100644 index 0000000000..ee38c2a1a5 --- /dev/null +++ b/recipes/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/recipes/tcltk/tk-8.5.8/tkport.diff b/recipes/tcltk/tk-8.5.8/tkport.diff new file mode 100644 index 0000000000..1f7d072d26 --- /dev/null +++ b/recipes/tcltk/tk-8.5.8/tkport.diff @@ -0,0 +1,14 @@ +Patch by Stanislav Maslovski <stanislav.maslovski@gmail.com>. +See http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=488501 + +--- tk8.5-8.5.8.orig/generic/tkPort.h ++++ tk8.5-8.5.8/generic/tkPort.h +@@ -29,7 +29,7 @@ + # if defined(MAC_OSX_TK) + # include "tkMacOSXPort.h" + # else +-# include "tkUnixPort.h" ++# include "../unix/tkUnixPort.h" + # endif + #endif + diff --git a/recipes/tcltk/tk-8.5.8/tkprivate.diff b/recipes/tcltk/tk-8.5.8/tkprivate.diff new file mode 100644 index 0000000000..4e15469736 --- /dev/null +++ b/recipes/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/recipes/tcltk/tk_8.5.8.bb b/recipes/tcltk/tk_8.5.8.bb new file mode 100644 index 0000000000..4e14937749 --- /dev/null +++ b/recipes/tcltk/tk_8.5.8.bb @@ -0,0 +1,42 @@ +DESCRIPTION = "Tool Command Language ToolKit Extension" +LICENSE = "tcl" +SECTION = "devel/tcltk" +HOMEPAGE = "http://tcl.sourceforge.net" +DEPENDS = "tcl virtual/libx11 libxt" + +SRC_URI = "\ + ${SOURCEFORGE_MIRROR}/tcl/tk${PV}-src.tar.gz \ + file://confsearch.diff;patch=1;pnum=2 \ + file://manpages.diff;patch=1;pnum=2 \ + file://non-linux.diff;patch=1;pnum=2 \ + file://rpath.diff;patch=1;pnum=2 \ + file://tklibrary.diff;patch=1;pnum=2 \ + file://tkprivate.diff;patch=1;pnum=2 \ + file://fix-xft.diff;patch=1 \ +" + +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} \ +" + +BINCONFIG_GLOB = "*Config.sh" + +do_install() { + autotools_do_install + ln -sf wish8.5 ${D}${bindir}/wish +} + +PACKAGES =+ "${PN}-lib" +FILES_${PN}-lib = "${libdir}/libtk8.5.so" +FILES_${PN} += "${libdir}/tk*" + |