summaryrefslogtreecommitdiffstats
path: root/source/tcl
diff options
context:
space:
mode:
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
+