summaryrefslogtreecommitdiffstats
path: root/source/tcl
diff options
context:
space:
mode:
author Patrick J Volkerding <volkerdi@slackware.com>2009-08-26 10:00:38 -0500
committer Eric Hameleers <alien@slackware.com>2018-05-31 22:41:17 +0200
commit5a12e7c134274dba706667107d10d231517d3e05 (patch)
tree55718d5acb710fde798d9f38d0bbaf594ed4b296 /source/tcl
downloadcurrent-5a12e7c134274dba706667107d10d231517d3e05.tar.gz
current-5a12e7c134274dba706667107d10d231517d3e05.tar.xz
Slackware 13.0slackware-13.0
Wed Aug 26 10:00:38 CDT 2009 Slackware 13.0 x86_64 is released as stable! Thanks to everyone who helped make this release possible -- see the RELEASE_NOTES for the credits. The ISOs are off to the replicator. This time it will be a 6 CD-ROM 32-bit set and a dual-sided 32-bit/64-bit x86/x86_64 DVD. We're taking pre-orders now at store.slackware.com. Please consider picking up a copy to help support the project. Once again, thanks to the entire Slackware community for all the help testing and fixing things and offering suggestions during this development cycle. As always, have fun and enjoy! -P.
Diffstat (limited to 'source/tcl')
-rwxr-xr-xsource/tcl/expect/expect.SlackBuild132
-rw-r--r--source/tcl/expect/expect.exp_main_tk.c.version.require.diff11
-rw-r--r--source/tcl/expect/slack-desc19
-rw-r--r--source/tcl/hfsutils/hfsutils-3.2.6.tar.gz.sign9
-rwxr-xr-xsource/tcl/hfsutils/hfsutils.SlackBuild145
-rw-r--r--source/tcl/hfsutils/hfsutils.errno.diff11
-rw-r--r--source/tcl/hfsutils/slack-desc19
-rw-r--r--source/tcl/tcl/slack-desc19
-rwxr-xr-xsource/tcl/tcl/tcl.SlackBuild117
-rw-r--r--source/tcl/tclx/slack-desc19
-rw-r--r--source/tcl/tclx/tclx-8.4.configure.diff31
-rw-r--r--source/tcl/tclx/tclx-8.4.gcc4.diff11
-rwxr-xr-xsource/tcl/tclx/tclx.SlackBuild115
-rw-r--r--source/tcl/tix/slack-desc19
-rwxr-xr-xsource/tcl/tix/tix.SlackBuild97
-rw-r--r--source/tcl/tix/tix.soname.patch11
-rw-r--r--source/tcl/tix/tix.tcl8.5.patch186
-rw-r--r--source/tcl/tk/slack-desc19
-rwxr-xr-xsource/tcl/tk/tk.SlackBuild117
19 files changed, 1107 insertions, 0 deletions
diff --git a/source/tcl/expect/expect.SlackBuild b/source/tcl/expect/expect.SlackBuild
new file mode 100755
index 000000000..27562037b
--- /dev/null
+++ b/source/tcl/expect/expect.SlackBuild
@@ -0,0 +1,132 @@
+#!/bin/sh
+
+# Copyright 2006, 2008, 2009 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+PKGNAM=expect
+VERSION=5.44.1.11
+TCLVER=8.5.7
+ARCH=${ARCH:-x86_64}
+NUMJOBS=${NUMJOBS:-" -j7 "}
+BUILD=${BUILD:-4}
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-${PKGNAM}
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+fi
+
+if [ ! -d $TMP/tcl${TCLVER} ]; then
+ echo "ERROR: no $TMP/tcl${TCLVER} -- this is needed for Tcl internal headers"
+ exit 1
+fi
+
+cd $TMP
+rm -rf ${PKGNAM}-${VERSION}
+tar xvf $CWD/${PKGNAM}-$VERSION.tar.bz2 || exit 1
+cd ${PKGNAM}-$VERSION || exit 1
+
+zcat $CWD/expect.exp_main_tk.c.version.require.diff.gz | patch -p1 --verbose || exit 1
+
+# Make sure ownerships and permissions are sane:
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+# Configure:
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --disable-static \
+ --with-tclconfig=/usr/lib${LIBDIRSUFFIX} \
+ --with-tclinclude=/usr/include/tcl-private/generic \
+ --with-tkconfig=/usr/lib${LIBDIRSUFFIX} \
+ --with-tkinclude=/usr/include/tk-private/generic \
+ --build=$ARCH-slackware-linux
+
+# Build and install:
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+# expectk will not work correctly if called from /bin/sh,
+# but using /usr/bin/tclsh will work:
+( cd $PKG/usr/bin
+ for file in multixterm tknewsbiff tkpasswd xpstat ; do
+ sed -i "s/bin\/sh/usr\/bin\/tclsh/g" $file
+ done
+)
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" \
+ | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Compress and link manpages, if any:
+if [ -d $PKG/usr/man ]; then
+ ( cd $PKG/usr/man
+ for manpagedir in $(find . -type d -name "man*") ; do
+ ( cd $manpagedir
+ for eachpage in $( find . -type l -maxdepth 1) ; do
+ ln -s $( readlink $eachpage ).gz $eachpage.gz
+ rm $eachpage
+ done
+ gzip -9 *.?
+ )
+ done
+ )
+fi
+
+# Compress info files, if any:
+if [ -d $PKG/usr/info ]; then
+ ( cd $PKG/usr/info
+ rm -f dir
+ gzip -9 *
+ )
+fi
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ FAQ HISTORY INSTALL NEWS README* example \
+ $PKG/usr/doc/expect-$VERSION
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $TMP/package-${PKGNAM}
+/sbin/makepkg -l y -c n $TMP/${PKGNAM}-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/source/tcl/expect/expect.exp_main_tk.c.version.require.diff b/source/tcl/expect/expect.exp_main_tk.c.version.require.diff
new file mode 100644
index 000000000..3b4e3eb3a
--- /dev/null
+++ b/source/tcl/expect/expect.exp_main_tk.c.version.require.diff
@@ -0,0 +1,11 @@
+--- ./exp_main_tk.c.orig 2007-07-11 15:22:10.000000000 -0500
++++ ./exp_main_tk.c 2009-05-11 16:26:15.000000000 -0500
+@@ -374,7 +374,7 @@
+ goto done;
+ }
+ }
+- if (Tcl_PkgRequire(interp, "Tcl", TCL_VERSION, 1) == NULL) {
++ if (Tcl_PkgRequire(interp, "Tcl", TCL_VERSION, 0) == NULL) {
+ code = TCL_ERROR;
+ goto done;
+ }
diff --git a/source/tcl/expect/slack-desc b/source/tcl/expect/slack-desc
new file mode 100644
index 000000000..585bcd571
--- /dev/null
+++ b/source/tcl/expect/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+expect: expect (program that talks to other interactive programs)
+expect:
+expect: Expect is a program that talks to other interactive programs according
+expect: to a script. Following the script, Expect knows what can be expected
+expect: from a program and what the correct response should be. An
+expect: interpreted language provides branching and high-level control
+expect: structures to direct the dialogue.
+expect:
+expect: Expect was written by Don Libes of the National Institute of Standards
+expect: and Technology.
+expect:
diff --git a/source/tcl/hfsutils/hfsutils-3.2.6.tar.gz.sign b/source/tcl/hfsutils/hfsutils-3.2.6.tar.gz.sign
new file mode 100644
index 000000000..cddb1f0cb
--- /dev/null
+++ b/source/tcl/hfsutils/hfsutils-3.2.6.tar.gz.sign
@@ -0,0 +1,9 @@
+-----BEGIN PGP MESSAGE-----
+Version: 2.6.3ia
+
+iQCVAwUANj5CwW2QJIfwC8CVAQG/3gP9HvDYDVzlIGYDhQCZIXg9QTg+N3Fw1vhr
+j28m4Y2HmrNnAKym/zsb1vLwArIQUNdAvJy6WQheJEBcDz2d8EHjmD9ZNUIaM1G+
+YstDXn7eLEMgraQBhYoMgVQ94hBfo2AhlOTBm8kvmI8dE2mh1xo091bAv0AZNdHR
+xSNY6+GgNig=
+=FEV0
+-----END PGP MESSAGE-----
diff --git a/source/tcl/hfsutils/hfsutils.SlackBuild b/source/tcl/hfsutils/hfsutils.SlackBuild
new file mode 100755
index 000000000..7a813e99e
--- /dev/null
+++ b/source/tcl/hfsutils/hfsutils.SlackBuild
@@ -0,0 +1,145 @@
+#!/bin/sh
+
+# Copyright 2008, 2009 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+PKGNAM=hfsutils
+VERSION=${VERSION:-3.2.6}
+ARCH=${ARCH:-x86_64}
+NUMJOBS=${NUMJOBS:-" -j7 "}
+BUILD=${BUILD:-4}
+
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-${PKGNAM}
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+fi
+
+cd $TMP
+rm -rf ${PKGNAM}-${VERSION}
+tar xvf $CWD/${PKGNAM}-$VERSION.tar.gz || exit 1
+cd ${PKGNAM}-$VERSION || exit 1
+zcat $CWD/hfsutils.errno.diff.gz | patch -p1 --verbose || exit 1
+
+# Make sure ownerships and permissions are sane:
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+# Configure:
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --mandir=/usr/man \
+ --with-tcl=/usr/lib${LIBDIRSUFFIX} \
+ --with-tk=/usr/lib${LIBDIRSUFFIX} \
+ --enable-devlibs \
+ --build=$ARCH-slackware-linux
+
+make $NUMJOBS || make || exit 1
+make hfsck/hfsck || exit 1
+
+mkdir -p $PKG/usr/{bin,include,man/man1} $PKG/usr/lib${LIBDIRSUFFIX}
+make BINDEST=$PKG/usr/bin \
+ LIBDEST=$PKG/usr/lib${LIBDIRSUFFIX} \
+ INCDEST=$PKG/usr/include \
+ MANDEST=$PKG/usr/man \
+ install install_lib
+install -m0755 hfsck/hfsck $PKG/usr/bin
+ln -sf hfsck $PKG/usr/bin/fsck.hfs
+
+# Get rid of all the hard links:
+( cd $PKG
+ ( cd usr/bin ; rm -rf hattrib )
+ ( cd usr/bin ; ln -sf hmount hattrib )
+ ( cd usr/bin ; rm -rf hcd )
+ ( cd usr/bin ; ln -sf hmount hcd )
+ ( cd usr/bin ; rm -rf hcopy )
+ ( cd usr/bin ; ln -sf hmount hcopy )
+ ( cd usr/bin ; rm -rf hdel )
+ ( cd usr/bin ; ln -sf hmount hdel )
+ ( cd usr/bin ; rm -rf hdir )
+ ( cd usr/bin ; ln -sf hmount hdir )
+ ( cd usr/bin ; rm -rf hformat )
+ ( cd usr/bin ; ln -sf hmount hformat )
+ ( cd usr/bin ; rm -rf hls )
+ ( cd usr/bin ; ln -sf hmount hls )
+ ( cd usr/bin ; rm -rf hmkdir )
+ ( cd usr/bin ; ln -sf hmount hmkdir )
+ ( cd usr/bin ; rm -rf hpwd )
+ ( cd usr/bin ; ln -sf hmount hpwd )
+ ( cd usr/bin ; rm -rf hrename )
+ ( cd usr/bin ; ln -sf hmount hrename )
+ ( cd usr/bin ; rm -rf hrmdir )
+ ( cd usr/bin ; ln -sf hmount hrmdir )
+ ( cd usr/bin ; rm -rf humount )
+ ( cd usr/bin ; ln -sf hmount humount )
+ ( cd usr/bin ; rm -rf hvol )
+ ( cd usr/bin ; ln -sf hmount hvol )
+)
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" \
+ | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Compress and link manpages, if any:
+if [ -d $PKG/usr/man ]; then
+ ( cd $PKG/usr/man
+ for manpagedir in $(find . -type d -name "man*") ; do
+ ( cd $manpagedir
+ for eachpage in $( find . -type l -maxdepth 1) ; do
+ ln -s $( readlink $eachpage ).gz $eachpage.gz
+ rm $eachpage
+ done
+ gzip -9 *.*
+ )
+ done
+ )
+fi
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ CHANGES COPYING COPYRIGHT CREDITS INSTALL README TODO \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/${PKGNAM}-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/source/tcl/hfsutils/hfsutils.errno.diff b/source/tcl/hfsutils/hfsutils.errno.diff
new file mode 100644
index 000000000..e291bfabf
--- /dev/null
+++ b/source/tcl/hfsutils/hfsutils.errno.diff
@@ -0,0 +1,11 @@
+--- ./tclhfs.c.orig 1998-11-02 14:08:32.000000000 -0800
++++ ./tclhfs.c 2005-07-10 19:17:31.000000000 -0700
+@@ -44,7 +44,7 @@
+ # include "suid.h"
+ # include "version.h"
+
+-extern int errno;
++#include <errno.h>;
+
+ # define ERROR(code, str) (hfs_error = (str), errno = (code))
+
diff --git a/source/tcl/hfsutils/slack-desc b/source/tcl/hfsutils/slack-desc
new file mode 100644
index 000000000..1b53276b8
--- /dev/null
+++ b/source/tcl/hfsutils/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+hfsutils: hfsutils (HFS volume utilities)
+hfsutils:
+hfsutils: hfsutils is a collection of tools for reading and writing Macintosh
+hfsutils: HFS volumes. These utilities can manipulate HFS volumes on nearly any
+hfsutils: medium. Since hfs and xhfs are linked with Tcl/Tk shared libraries,
+hfsutils: the hfsutils package is included here in the TCL software series.
+hfsutils:
+hfsutils: hfsutils was written by Robert Leslie <rob@mars.org>
+hfsutils:
+hfsutils:
+hfsutils:
diff --git a/source/tcl/tcl/slack-desc b/source/tcl/tcl/slack-desc
new file mode 100644
index 000000000..75c89979b
--- /dev/null
+++ b/source/tcl/tcl/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+tcl: tcl (Tool Command Language)
+tcl:
+tcl: Tcl, developed by Dr. John Ousterhout, is a simple to use text-based
+tcl: script language with many built-in features which make it especially
+tcl: nice for writing interactive scripts.
+tcl:
+tcl:
+tcl:
+tcl:
+tcl:
+tcl:
diff --git a/source/tcl/tcl/tcl.SlackBuild b/source/tcl/tcl/tcl.SlackBuild
new file mode 100755
index 000000000..2d65ec5fa
--- /dev/null
+++ b/source/tcl/tcl/tcl.SlackBuild
@@ -0,0 +1,117 @@
+#!/bin/sh
+
+# Copyright 2008, 2009 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+VERSION=${VERSION:-8.5.7}
+# See also version number 8.5 in the symlinks below...)
+ARCH=${ARCH:-x86_64}
+BUILD=1
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-tcl
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+ CONFARGS="--enable-64bit"
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+ CONFARGS="--enable-64bit"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+ CONFARGS=""
+elif [ "$ARCH" = "arm" ]; then
+ SLKCFLAGS="-O2 -march=armv4 -mtune=xscale"
+ LIBDIRSUFFIX=""
+ CONFARGS=""
+elif [ "$ARCH" = "armel" ]; then
+ SLKCFLAGS="-O2 -march=armv4t"
+ LIBDIRSUFFIX=""
+ CONFARGS=""
+fi
+
+cd $TMP
+rm -rf tcl$VERSION
+tar xvf $CWD/tcl$VERSION-src.tar.?z* || exit 1
+cd tcl$VERSION || exit 1
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+mkdir -p $PKG/usr/doc/tcl$VERSION
+cp -a README license.terms $PKG/usr/doc/tcl$VERSION
+cd unix
+# Fix 64bit path names:
+sed -i -e "s#TCL_LIBRARY='\$(prefix)/lib/tcl\$(VERSION)'#TCL_LIBRARY='\$(prefix)/lib$LIBDIRSUFFIX/tcl\$(VERSION)'#" configure
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --enable-shared \
+ --enable-man-symlinks \
+ --enable-man-compression=gzip \
+ ${CONFARGS} \
+ --build=$ARCH-slackware-linux
+make -j4 || exit 1
+make install DESTDIR=$PKG
+
+# Some sources require Tcl's private headers, which might not be the
+# best thing but we'll include them where we've seen other teams
+# doing the same thing:
+mkdir -p $PKG/usr/include/tcl-private/{generic,unix}
+cp -a ../generic/*.h $PKG/usr/include/tcl-private/generic
+cp -a ../unix/*.h $PKG/usr/include/tcl-private/unix
+( cd $PKG/usr/include/tcl-private/generic
+ rm -f tcl.h tclDecls.h tclPlatDecls.h
+ ln -sf ../../tcl.h .
+ ln -sf ../../tclDecls.h .
+ ln -sf ../../tclPlatDecls.h
+ ln -sf ../unix/tclUnixPort.h
+ ln -sf ../unix/tclUnixThrd.h
+)
+
+( cd $PKG/usr/bin
+ rm -f tclsh
+ ln -sf tclsh8.5 tclsh
+)
+( cd $PKG/usr/lib${LIBDIRSUFFIX}
+ rm -f libtcl.so
+ ln -sf libtcl8.5.so libtcl.so
+)
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" \
+ | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/tcl-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/source/tcl/tclx/slack-desc b/source/tcl/tclx/slack-desc
new file mode 100644
index 000000000..8c10bab96
--- /dev/null
+++ b/source/tcl/tclx/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+tclx: tclx (Extended Tcl)
+tclx:
+tclx: Extended Tcl (TclX), is a set of extensions to Tcl, the Tool Command
+tclx: Language invented by Dr. John Ousterhout. Extended Tcl is oriented
+tclx: towards Unix system programming tasks and large application
+tclx: development. Many additional interfaces to the Unix operating system
+tclx: are provided. Extended Tcl was designed and implemented by Karl
+tclx: Lehenbauer (karl@NeoSoft.com) and Mark Diekhans (markd@Grizzly.com),
+tclx: with help in the early stages from Peter da Silva (peter@NeoSoft.com).
+tclx:
+tclx:
diff --git a/source/tcl/tclx/tclx-8.4.configure.diff b/source/tcl/tclx/tclx-8.4.configure.diff
new file mode 100644
index 000000000..45fe68760
--- /dev/null
+++ b/source/tcl/tclx/tclx-8.4.configure.diff
@@ -0,0 +1,31 @@
+--- tclx8.4/configure.relid 2006-02-03 16:13:25.000000000 -0500
++++ tclx8.4/configure 2006-02-03 16:13:33.000000000 -0500
+@@ -6999,7 +6999,7 @@
+ # 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`
+--- tclx8.4/tclconfig/tcl.m4.relid 2006-02-03 16:13:43.000000000 -0500
++++ tclx8.4/tclconfig/tcl.m4 2006-02-03 16:13:57.000000000 -0500
+@@ -859,7 +859,7 @@
+ # 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`
+@@ -2302,7 +2302,7 @@
+ # 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`
diff --git a/source/tcl/tclx/tclx-8.4.gcc4.diff b/source/tcl/tclx/tclx-8.4.gcc4.diff
new file mode 100644
index 000000000..08fe7d881
--- /dev/null
+++ b/source/tcl/tclx/tclx-8.4.gcc4.diff
@@ -0,0 +1,11 @@
+--- tclx8.4/generic/tclXdup.c.varinit 2006-02-03 15:54:38.000000000 -0500
++++ tclx8.4/generic/tclXdup.c 2006-02-03 15:54:53.000000000 -0500
+@@ -202,7 +202,7 @@
+ {
+ Tcl_Channel newChannel;
+ int bindFnum, fnum;
+- char *srcChannelId, *targetChannelId;
++ char *srcChannelId = NULL, *targetChannelId;
+
+ if ((objc < 2) || (objc > 3)) {
+ return TclX_WrongArgs (interp, objv [0],
diff --git a/source/tcl/tclx/tclx.SlackBuild b/source/tcl/tclx/tclx.SlackBuild
new file mode 100755
index 000000000..b8ca23e9c
--- /dev/null
+++ b/source/tcl/tclx/tclx.SlackBuild
@@ -0,0 +1,115 @@
+#!/bin/sh
+
+# Copyright 2006, 2007, 2008, 2009 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+PKGNAM=tclx
+VERSION=${VERSION:-8.4}
+ARCH=${ARCH:-x86_64}
+NUMJOBS=${NUMJOBS:-" -j7 "}
+BUILD=${BUILD:-2}
+
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-${PKGNAM}
+rm -rf $PKG
+mkdir -p $PKG
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686 -I/usr/include/tcl-private/generic -I/usr/include/tcl-private/unix"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2 -I/usr/include/tcl-private/generic -I/usr/include/tcl-private/unix"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC -I/usr/include/tcl-private/generic -I/usr/include/tcl-private/unix"
+ LIBDIRSUFFIX="64"
+fi
+
+cd $TMP
+rm -rf ${PKGNAM}${VERSION}
+tar xvf $CWD/${PKGNAM}$VERSION.tar.bz2 || exit 1
+cd ${PKGNAM}$VERSION || exit 1
+
+zcat $CWD/tclx-8.4.configure.diff.gz | patch -p1 --verbose || exit 1
+zcat $CWD/tclx-8.4.gcc4.diff.gz | patch -p1 --verbose || exit 1
+
+# Make sure ownerships and permissions are sane:
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+# Configure:
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --with-tcl=/usr/lib${LIBDIRSUFFIX} \
+ --enable-tk=YES \
+ --enable-shared \
+ --enable-64bit \
+ --build=$ARCH-slackware-linux
+
+# Build and install:
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+( cd $PKG/usr/lib${LIBDIRSUFFIX}
+ ln -sf tclx8.4/libtclx8.4.so .
+ ln -sf libtclx8.4.so libtclx.so
+)
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" \
+ | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Compress and link manpages, if any:
+if [ -d $PKG/usr/man ]; then
+ ( cd $PKG/usr/man
+ for manpagedir in $(find . -type d -name "man*") ; do
+ ( cd $manpagedir
+ for eachpage in $( find . -type l -maxdepth 1) ; do
+ ln -s $( readlink $eachpage ).gz $eachpage.gz
+ rm $eachpage
+ done
+ gzip -9 *.*
+ )
+ done
+ )
+fi
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ ChangeLog README license.terms \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+mkdir -p $PKG/install
+#zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/${PKGNAM}-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/source/tcl/tix/slack-desc b/source/tcl/tix/slack-desc
new file mode 100644
index 000000000..9eb28dd6b
--- /dev/null
+++ b/source/tcl/tix/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+tix: tix (an extension to the Tk toolkit)
+tix:
+tix: Tix, which stands for Tk Interface Extension, is an extension library
+tix: for Tcl/Tk. Tix adds many new widgets, image types and other commands
+tix: that allows you to create compelling Tcl/Tk-based GUI applications.
+tix: With these new widgets, your applications will look great and interact
+tix: with your users in intuitive ways.
+tix:
+tix:
+tix:
+tix:
diff --git a/source/tcl/tix/tix.SlackBuild b/source/tcl/tix/tix.SlackBuild
new file mode 100755
index 000000000..2f83a6d65
--- /dev/null
+++ b/source/tcl/tix/tix.SlackBuild
@@ -0,0 +1,97 @@
+#!/bin/sh
+
+# Copyright 2008, 2009 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+# Build/install Tix the way Slackware's binary package is made:
+
+PKGNAM=tix
+VERSION=8.4.3
+ARCH=${ARCH:-x86_64}
+NUMJOBS=${NUMJOBS:-" -j7 "}
+BUILD=${BUILD:-1}
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-${PKGNAM}
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf Tix$VERSION
+tar xvf $CWD/Tix$VERSION.tar.gz || exit 1
+cd Tix$VERSION || exit 1
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+zcat $CWD/tix.tcl8.5.patch.gz | patch -p1 --backup --suffix=.orig || exit 1
+zcat $CWD/tix.soname.patch.gz | patch -p1 || exit 1
+
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --enable-shared \
+ --with-tcl=/usr/lib${LIBDIRSUFFIX} \
+ --with-tk=/usr/lib${LIBDIRSUFFIX} \
+ --build=$ARCH-slackware-linux
+
+# Build and install:
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" \
+ | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+find man -type f -exec chmod 644 {} \;
+mkdir -p $PKG/usr/man/mann
+cp -a man/*.n $PKG/usr/man/mann
+gzip -9 $PKG/usr/man/mann/*.n
+
+mkdir -p $PKG/usr/doc/tix-$VERSION
+cp -a \
+ ABOUT.* README.* license.terms \
+ docs/FAQ.txt docs/Files.* \
+ docs/Release-8.4* docs/license* docs/html \
+ $PKG/usr/doc/tix-$VERSION
+find $PKG/usr/doc/tix-$VERSION -type f -exec chmod 644 {} \;
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/${PKGNAM}-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/source/tcl/tix/tix.soname.patch b/source/tcl/tix/tix.soname.patch
new file mode 100644
index 000000000..d2d402dc8
--- /dev/null
+++ b/source/tcl/tix/tix.soname.patch
@@ -0,0 +1,11 @@
+--- Tix8.4.2/Makefile.in.link 2006-11-18 04:41:06.000000000 +0100
++++ Tix8.4.2/Makefile.in 2006-11-18 04:43:13.000000000 +0100
+@@ -124,7 +124,7 @@
+ RANLIB = @RANLIB@
+ RANLIB_STUB = @RANLIB_STUB@
+ SHLIB_CFLAGS = @SHLIB_CFLAGS@
+-SHLIB_LD = @SHLIB_LD@
++SHLIB_LD = @SHLIB_LD@ $(CFLAGS) -Wl,-soname=$(PKG_LIB_FILE)
+ SHLIB_LD_FLAGS = @SHLIB_LD_FLAGS@
+ SHLIB_LD_LIBS = @SHLIB_LD_LIBS@
+ STLIB_LD = @STLIB_LD@
diff --git a/source/tcl/tix/tix.tcl8.5.patch b/source/tcl/tix/tix.tcl8.5.patch
new file mode 100644
index 000000000..80b8cf88b
--- /dev/null
+++ b/source/tcl/tix/tix.tcl8.5.patch
@@ -0,0 +1,186 @@
+--- ./Makefile.in.orig 2006-11-16 16:33:42.000000000 -0600
++++ ./Makefile.in 2008-09-08 19:43:36.000000000 -0500
+@@ -128,6 +128,7 @@
+ SHLIB_LD_FLAGS = @SHLIB_LD_FLAGS@
+ SHLIB_LD_LIBS = @SHLIB_LD_LIBS@
+ STLIB_LD = @STLIB_LD@
++TCL_VERSION = @TCL_VERSION@
+ TCL_DEFS = @TCL_DEFS@
+ TCL_SRC_DIR = @TCL_SRC_DIR@
+ TCL_BIN_DIR = @TCL_BIN_DIR@
+@@ -294,7 +295,7 @@
+
+ pkgIndex.tcl:
+ (\
+- echo 'if {[catch {package require Tcl 8.4}]} return';\
++ echo 'if {[catch {package require Tcl $(TCL_VERSION)}]} return';\
+ echo 'package ifneeded $(PACKAGE_NAME) $(PACKAGE_VERSION) \
+ [list load [file join $$dir $(PKG_LIB_FILE)] $(PACKAGE_NAME)]'\
+ ) > pkgIndex.tcl
+--- ./generic/tixImgXpm.h.orig 2000-05-17 06:08:42.000000000 -0500
++++ ./generic/tixImgXpm.h 2008-09-08 19:43:36.000000000 -0500
+@@ -55,7 +55,7 @@
+ int size[2]; /* width and height */
+ int ncolors; /* number of colors */
+ int cpp; /* characters per pixel */
+- char ** data; /* The data that defines this pixmap
++ CONST84 char ** data; /* The data that defines this pixmap
+ * image (array of strings). It is
+ * converted into an X Pixmap when this
+ * image is instanciated
+--- ./generic/tixImgXpm.c.orig 2008-02-27 22:05:29.000000000 -0600
++++ ./generic/tixImgXpm.c 2008-09-08 19:43:36.000000000 -0500
+@@ -45,19 +45,19 @@
+ int flags));
+ static int ImgXpmGetData _ANSI_ARGS_((Tcl_Interp *interp,
+ PixmapMaster *masterPtr));
+-static char ** ImgXpmGetDataFromFile _ANSI_ARGS_((Tcl_Interp * interp,
++static CONST84 char ** ImgXpmGetDataFromFile _ANSI_ARGS_((Tcl_Interp * interp,
+ char * string, int * numLines_return));
+-static char ** ImgXpmGetDataFromId _ANSI_ARGS_((Tcl_Interp * interp,
++static CONST84 char ** ImgXpmGetDataFromId _ANSI_ARGS_((Tcl_Interp * interp,
+ CONST84 char * id));
+-static char ** ImgXpmGetDataFromString _ANSI_ARGS_((Tcl_Interp*interp,
++static CONST84 char ** ImgXpmGetDataFromString _ANSI_ARGS_((Tcl_Interp*interp,
+ char * string, int * numLines_return));
+ static void ImgXpmGetPixmapFromData _ANSI_ARGS_((
+ Tcl_Interp * interp,
+ PixmapMaster *masterPtr,
+ PixmapInstance *instancePtr));
+-static char * GetType _ANSI_ARGS_((char * colorDefn,
++static CONST84 char * GetType _ANSI_ARGS_((CONST84 char * colorDefn,
+ int * type_ret));
+-static char * GetColor _ANSI_ARGS_((char * colorDefn,
++static CONST84 char * GetColor _ANSI_ARGS_((CONST84 char * colorDefn,
+ char * colorName, int * type_ret));
+
+ /*
+@@ -286,7 +286,7 @@
+ Tcl_Interp *interp; /* For reporting errors. */
+ PixmapMaster *masterPtr;
+ {
+- char ** data = NULL;
++ CONST84 char ** data = NULL;
+ int isAllocated = 0; /* do we need to free "data"? */
+ int listArgc;
+ CONST84 char ** listArgv = NULL;
+@@ -363,7 +363,7 @@
+ return code;
+ }
+
+-static char ** ImgXpmGetDataFromId(interp, id)
++static CONST84 char ** ImgXpmGetDataFromId(interp, id)
+ Tcl_Interp * interp;
+ CONST84 char * id;
+ {
+@@ -378,13 +378,13 @@
+ if (hashPtr == NULL) {
+ Tcl_AppendResult(interp, "unknown pixmap ID \"", id,
+ "\"", NULL);
+- return (char**)NULL;
++ return NULL;
+ } else {
+- return (char**)Tcl_GetHashValue(hashPtr);
++ return (CONST84 char**)Tcl_GetHashValue(hashPtr);
+ }
+ }
+
+-static char ** ImgXpmGetDataFromString(interp, string, numLines_return)
++static CONST84 char ** ImgXpmGetDataFromString(interp, string, numLines_return)
+ Tcl_Interp * interp;
+ char * string;
+ int * numLines_return;
+@@ -392,7 +392,7 @@
+ int quoted;
+ char * p, * list;
+ int numLines;
+- char ** data;
++ CONST84 char ** data;
+
+ /* skip the leading blanks (leading blanks are not defined in the
+ * the XPM definition, but skipping them shouldn't hurt. Also, the ability
+@@ -510,17 +510,17 @@
+
+ error:
+ Tcl_AppendResult(interp, "File format error", NULL);
+- return (char**) NULL;
++ return NULL;
+ }
+
+-static char ** ImgXpmGetDataFromFile(interp, fileName, numLines_return)
++static CONST84 char ** ImgXpmGetDataFromFile(interp, fileName, numLines_return)
+ Tcl_Interp * interp;
+ char * fileName;
+ int * numLines_return;
+ {
+ FILE * fd = NULL;
+ int size, n;
+- char ** data;
++ CONST84 char ** data;
+ char *cmdBuffer = NULL;
+ Tcl_DString buffer; /* initialized by Tcl_TildeSubst */
+
+@@ -588,16 +588,16 @@
+ ckfree(cmdBuffer);
+ }
+ Tcl_DStringFree(&buffer);
+- return (char**)NULL;
++ return NULL;
+ }
+
+
+-static char *
++static CONST84 char *
+ GetType(colorDefn, type_ret)
+- char * colorDefn;
++ CONST84 char * colorDefn;
+ int * type_ret;
+ {
+- char * p = colorDefn;
++ CONST84 char * p = colorDefn;
+
+ /* skip white spaces */
+ while (*p && isspace(*p)) {
+@@ -642,9 +642,9 @@
+ /*
+ * colorName is guaranteed to be big enough
+ */
+-static char *
++static CONST84 char *
+ GetColor(colorDefn, colorName, type_ret)
+- char * colorDefn;
++ CONST84 char * colorDefn;
+ char * colorName; /* if found, name is copied to this array */
+ int * type_ret;
+ {
+@@ -751,7 +751,7 @@
+ }
+
+ for (i=0; i<masterPtr->ncolors; i++) {
+- char * colorDefn; /* the color definition line */
++ CONST84 char * colorDefn; /* the color definition line */
+ char * colorName; /* temp place to hold the color name
+ * defined for one type of visual */
+ char * useName; /* the color name used for this
+@@ -842,7 +842,7 @@
+ * Parse the main body of the image
+ */
+ for (i=0; i<masterPtr->size[1]; i++) {
+- char * p = masterPtr->data[i+lOffset];
++ CONST84 char * p = masterPtr->data[i+lOffset];
+
+ for (j=0; j<masterPtr->size[0]; j++) {
+ if (masterPtr->cpp == 1) {
+--- ./generic/tixInt.h.orig 2008-02-27 22:29:17.000000000 -0600
++++ ./generic/tixInt.h 2008-09-08 19:43:36.000000000 -0500
+@@ -23,6 +23,10 @@
+ #include <tixPort.h>
+ #endif
+
++#include <stdlib.h>
++#include <string.h>
++#include <ctype.h>
++
+ /*----------------------------------------------------------------------
+ *
+ * Tix Display Item Types
diff --git a/source/tcl/tk/slack-desc b/source/tcl/tk/slack-desc
new file mode 100644
index 000000000..021e2fb82
--- /dev/null
+++ b/source/tcl/tk/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+tk: tk (Tk toolkit for Tcl)
+tk:
+tk: Tk is an extension to Tcl that allows you to quickly and easily build
+tk: X11 applications that have the look and feel of Motif apps.
+tk:
+tk:
+tk:
+tk:
+tk:
+tk:
+tk:
diff --git a/source/tcl/tk/tk.SlackBuild b/source/tcl/tk/tk.SlackBuild
new file mode 100755
index 000000000..90f191ceb
--- /dev/null
+++ b/source/tcl/tk/tk.SlackBuild
@@ -0,0 +1,117 @@
+#!/bin/sh
+
+# Copyright 2008, 2009 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+VERSION=${VERSION:-8.5.7}
+# See also version number 8.5 in the symlinks below...)
+ARCH=${ARCH:-x86_64}
+BUILD=${BUILD:-1}
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "arm" ]; then
+ SLKCFLAGS="-O2 -march=armv4 -mtune=xscale"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "armel" ]; then
+ SLKCFLAGS="-O2 -march=armv4t"
+ LIBDIRSUFFIX=""
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-tk
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf tk$VERSION
+tar xvf $CWD/tk$VERSION-src.tar.?z* || exit 1
+cd tk$VERSION || exit 1
+sed -i -e "s#^TK_LIBRARY='\$(prefix)/lib/#TK_LIBRARY='\$(libdir)/#" \
+ unix/configure
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+mkdir -p $PKG/usr/doc/tk$VERSION
+cp -a README license.terms $PKG/usr/doc/tk$VERSION
+
+cd unix
+make clean
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --enable-shared \
+ --enable-64bit \
+ --enable-man-symlinks \
+ --enable-man-compression=gzip \
+ --build=$ARCH-slackware-linux
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+# Some sources require Tk's private headers, which might not be the
+# best thing but we'll include them where we've seen other teams
+# doing the same thing:
+mkdir -p $PKG/usr/include/tk-private/{generic,unix}
+cp -a ../generic/*.h $PKG/usr/include/tk-private/generic
+cp -a ../unix/*.h $PKG/usr/include/tk-private/unix
+( cd $PKG/usr/include/tk-private/generic
+ rm -f tk.h tkDecls.h tkPlatDecls.h
+ ln -sf ../../tk.h .
+ ln -sf ../../tkDecls.h .
+ ln -sf ../../tkPlatDecls.h
+ for file in $(ls ../unix/*.h) ; do ln -sf $file ; done
+)
+
+( cd $PKG/usr/bin
+ rm -f wish
+ ln -sf wish8.5 wish
+)
+( cd $PKG/usr/lib${LIBDIRSUFFIX}
+ rm -f libtk.so
+ ln -sf libtk8.5.so libtk.so
+)
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/tk-$VERSION-$ARCH-$BUILD.txz
+