tk 8.5.8: import from OE rev 5350bbef01b8979617e3d0fd38939f94f1fa5315

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
This commit is contained in:
Koen Kooi
2011-08-17 22:52:35 +02:00
parent 924021a825
commit 888e2b64b6
8 changed files with 263 additions and 0 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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"

View File

@@ -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"

View File

@@ -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)'

View File

@@ -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@'

View File

@@ -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"