summaryrefslogtreecommitdiff
path: root/recipes/tcltk
diff options
context:
space:
mode:
authorKoen Kooi <koen@openembedded.org>2010-05-19 13:59:59 +0200
committerKoen Kooi <koen@openembedded.org>2010-05-19 14:20:54 +0200
commite92042a4e03b0d40dab3886867340059e6fafcb3 (patch)
tree732ab8b0d0586f6cf7e8d307e644cea2e94503a8 /recipes/tcltk
parent0ad7f1f257fa28707329dd1ade790335b5a1882e (diff)
tk: add 8.5.8
Diffstat (limited to 'recipes/tcltk')
-rw-r--r--recipes/tcltk/tk-8.5.8/canvasps.diff23
-rw-r--r--recipes/tcltk/tk-8.5.8/confsearch.diff32
-rw-r--r--recipes/tcltk/tk-8.5.8/fix-xft.diff16
-rw-r--r--recipes/tcltk/tk-8.5.8/fontsize.diff21
-rw-r--r--recipes/tcltk/tk-8.5.8/manpages.diff23
-rw-r--r--recipes/tcltk/tk-8.5.8/non-linux.diff45
-rw-r--r--recipes/tcltk/tk-8.5.8/rpath.diff40
-rw-r--r--recipes/tcltk/tk-8.5.8/tklibrary.diff22
-rw-r--r--recipes/tcltk/tk-8.5.8/tkport.diff14
-rw-r--r--recipes/tcltk/tk-8.5.8/tkprivate.diff41
-rw-r--r--recipes/tcltk/tk_8.5.8.bb42
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*"
+