blob: d4fa3490ec6b67fdcee2923f68b72c56c8035bf5 [file] [log] [blame]
#!/bin/sh
# This is the Tcl/Tk updating script for msysGit
cd "$(dirname "$0")"
srcdir=$(pwd)
mirror=http://kent.dl.sourceforge.net/project/tcl/Tcl/
version=8.5.13
for p in tcl tk
do
# get the package
u=$mirror$version/$p$version-src.tar.gz
b=$(basename $u)
test -f $b || curl $u > $b || exit
# unpack it
d=$p$version
test -d $d || tar xzvf $b || exit
# compile it
shortversion=$(echo $version |
sed -n "s/^[^0-9]*\([0-9][0-9]*\)\.\([0-9][0-9]*\).*/\1\2/p")
case $p in
tcl) prog=tclsh$shortversion.exe;;
tk) prog=wish$shortversion.exe;;
esac
test -f $d/win/$prog || (
cd $d/win &&
./configure --prefix=/mingw &&
make ||
exit
)
# install it
test -f /mingw/bin/$prog && test /mingw/bin/$prog -nt $d/win/$prog || (
cd $d/win &&
# Record pre-install state
index=$(/share/msysGit/pre-install.sh) &&
# Remove old Tcl/Tk files stored in fileList.txt
list=$srcdir/fileList-$p.txt
cat "$list" | grep -v 'release\.sh$' | (cd / && xargs git rm) &&
make install &&
shortprog=$(echo $prog | tr -d '0-9') &&
if test ! -f /mingw/bin/$shortprog
then
ln /mingw/bin/$prog /mingw/bin/$shortprog
fi &&
/share/msysGit/post-install.sh $index \
"Update $p to version $version" &&
git diff --diff-filter=AM --name-only HEAD^! |
sed -e "s/^/\//" > "$list" &&
(cd / && git commit -C HEAD --amend -- "$list") ||
exit
)
done
echo "Successfully built and installed Tcl/Tk $version"
echo