the Fink project is an effort to port
popular Unix programs to Mac OS X
Package: tcltk
Epoch: 1
Version: 8.4.19
Revision: 7
BuildDepends: x11-dev
Depends: %N-shlibs (= %e:%v-%r)
Source: mirror:sourceforge:tcl/tcl%v-src.tar.gz
Source-MD5: ade2c033a7b545ee108f3fdfeb629fcf
SourceDirectory: tcl%v
Source2: mirror:sourceforge:tcl/tk%v-src.tar.gz
Source2-MD5: 9b998d0456d1b956eb9da610837a9c47
NoSourceDirectory: true
PatchFile: %n.patch
PatchFile-MD5: ef1fff3077a578894b0c176aedb4f2e8
ConfigureParams: --enable-shared --disable-corefoundation --exec-prefix=%p --mandir=%p/share/man --x-includes=/usr/X11R6/include --x-libraries=/usr/X11R6/lib
CompileScript: <<
#!/bin/sh -ev
pushd tcl%v/unix
export COMMAND_MODE=legacy
./configure %c
make
popd
pushd tk%v/unix
export DYLD_FALLBACK_LIBRARY_PATH=%b/tcl%v/unix
ac_cv_path_tclsh=%b/tcl%v/unix/tclsh ./configure %c
make genstubs
make
popd
<<
InstallScript: <<
#!/bin/sh -ev
MAJORVER=8.4
mkdir -p %i/share/doc/%n
make -C tcl%v/unix INSTALL_ROOT=%d install
make -C tk%v/unix INSTALL_ROOT=%d install
ln -s wish${MAJORVER} %i/bin/wish
ln -s tclsh${MAJORVER} %i/bin/tclsh
ln -s tk${MAJORVER} %i/lib/tk
ln -s libtk${MAJORVER}.dylib %i/lib/libtk.dylib
ln -s libtkstub${MAJORVER}.a %i/lib/libtkstub.a
/usr/bin/ranlib %i/lib/libtclstub${MAJORVER}.a
ln -s tcl${MAJORVER} %i/lib/tcl
ln -s libtcl${MAJORVER}.dylib %i/lib/libtcl.dylib
ln -s libtclstub${MAJORVER}.a %i/lib/libtclstub.a
/usr/bin/ranlib %i/lib/libtkstub${MAJORVER}.a
for pkg in tcl tk; do
mkdir -p %i/include/tcltk-private/${pkg}${MAJORVER}/{generic,unix}
cp ${pkg}%v/generic/*.h %i/include/tcltk-private/${pkg}${MAJORVER}/generic
cp ${pkg}%v/unix/*.h %i/include/tcltk-private/${pkg}${MAJORVER}/unix
pushd %i/include
for hdr in *.h ; do
if [ -f tcltk-private/${pkg}${MAJORVER}/generic/${hdr} ]; then
ln -sf ../../../${hdr} tcltk-private/${pkg}${MAJORVER}/generic
fi
done
popd
perl -pi -e "s,%b/${pkg}%v/unix,%p/lib,; s,%b,%p/include/tcltk-private,; s,/${pkg}%v,/${pkg}${MAJORVER},g" %i/lib/${pkg}Config.sh
done
<<
SplitOff: <<
Package: %N-shlibs
Depends: x11
Replaces: %N (<= 8.3.3-6)
Files: lib/libtcl8.4.dylib lib/libtk8.4.dylib
Shlibs: <<
%p/lib/libtcl8.4.dylib 8.4.0 %n (>= 8.4.1-1)
%p/lib/libtk8.4.dylib 8.4.0 %n (>= 8.4.1-1)
<<
DocFiles: <<
tcl%v/license.terms:LICENSE.tcl
tcl%v/README:README.tcl
tcl%v/ChangeLog:ChangeLog.tcl
tk%v/license.terms:LICENSE.tk
tk%v/README:README.tk
tk%v/ChangeLog:ChangeLog.tk
<<
<<
SplitOff2: <<
Package: %N-dev
BuildDependsOnly: True
Depends: %N (= %e:%v-%r), %N-shlibs (= %e:%v-%r)
Replaces: %N (<= 8.4.13-2)
Files: <<
lib/tclConfig.sh
lib/tkConfig.sh
include
lib/libtcl*
lib/libtk*
share/man/man3
share/man/mann
<<
DocFiles: <<
tcl%v/license.terms:LICENSE.tcl
tcl%v/README:README.tcl
tcl%v/ChangeLog:ChangeLog.tcl
tk%v/license.terms:LICENSE.tk
tk%v/README:README.tk
tk%v/ChangeLog:ChangeLog.tk
<<
DescUsage: <<
Packages that want to use the supplied internal-interface headers
should BuildDepends on %n of at least epoch 1 or higher.
<<
<<
DocFiles: <<
tcl%v/license.terms:LICENSE.tcl
tcl%v/README:README.tcl
tcl%v/ChangeLog:ChangeLog.tcl
tk%v/license.terms:LICENSE.tk
tk%v/README:README.tk
tk%v/ChangeLog:ChangeLog.tk
<<
Description: Tool Command Language and the Tk toolkit
DescPort: <<
We add /System/Library/Tcl and /usr/lib to TCL_PACKAGE_PATH so that
Tcl packages (such as darwinports) installed in the standard system
locations will be found.
What is COMMAND_MODE?
Pass CPPFLAGS so it works as everyone expects (*after* local flags),
despite how build system incorrectly reimplements it differently.
<<
DescPackaging: <<
Patch added for crash caused by changed LASTEvent definition in
the xquartz-2.3.0 update. Does not affect binary compatibility.
tcl and tk are build in separate/parallel dirs. Clearer to do
NoSourceDirectory and have them both subdirs of %b than to
have one be %b and keep having to 'cd ..'
Make sure tk build finds tclsh from current build rather than
different-version one from installed fink package or different
arch and build-options one from OS X. Thanks pogma for helping
make sure tclsh finds its libtcl
Installed *Config.sh scripts encode build-dir paths as well as
runtime paths, which other packages may read and then try to
access. We cannot allow that (no guarantee that they exist, or
where they exist, or that they are the correct arch or build-
options, etc), so adjust to point to the installed locations.
Building extensions sometimes needs access to internal
headers, so install them in a private location. Point
*Config.sh vars accordingly. Thanks fedora!
<<
DescDetail: <<
Tcl provides a portable scripting environment for Unix, Windows,
and Macintosh that supports string processing and pattern matching,
native file system access, shell-like control over other programs,
TCP/IP networking, timers, and event-driven I/O.
Tcl has traditional programming constructs like variables, loops,
procedures, namespaces, error handling, script packages,
and dynamic loading of DLLs.
Tk provides portable GUIs on UNIX, Windows, and Macintosh.
A powerful widget set and the concise scripting interface to Tk make
it a breeze to develop sophisticated user interfaces.
<<
PostInstScript: <<
update-alternatives --remove Object.3 %p/share/man/man3/Object.3.tcltk
<<
License: BSD
Homepage: http://www.tcl.tk
Maintainer: Daniel Macks
diff -Nurd -x'*~' tcltk-8.4.19.orig/tcl8.4.19/unix/configure tcltk-8.4.19/tcl8.4.19/unix/configure
--- tcltk-8.4.19.orig/tcl8.4.19/unix/configure 2008-04-17 16:29:49.000000000 -0400
+++ tcltk-8.4.19/tcl8.4.19/unix/configure 2008-07-28 18:15:21.000000000 -0400
@@ -9246,7 +9246,7 @@
else
TCL_LIB_FLAG="-ltcl`echo ${TCL_VERSION} | tr -d .`\${TCL_DBGX}"
fi
- TCL_BUILD_LIB_SPEC="-L`pwd` ${TCL_LIB_FLAG}"
+ TCL_BUILD_LIB_SPEC="`pwd`/${TCL_LIB_FILE}"
TCL_LIB_SPEC="-L${libdir} ${TCL_LIB_FLAG}"
else
TCL_BUILD_EXP_FILE="lib.exp"
@@ -9303,7 +9303,7 @@
TCL_STUB_LIB_FLAG="-ltclstub`echo ${TCL_VERSION} | tr -d .`\${TCL_DBGX}"
fi
-TCL_BUILD_STUB_LIB_SPEC="-L`pwd` ${TCL_STUB_LIB_FLAG}"
+TCL_BUILD_STUB_LIB_SPEC="`pwd`/${TCL_STUB_LIB_FILE}"
TCL_STUB_LIB_SPEC="-L${TCL_STUB_LIB_DIR} ${TCL_STUB_LIB_FLAG}"
TCL_BUILD_STUB_LIB_PATH="`pwd`/${TCL_STUB_LIB_FILE}"
TCL_STUB_LIB_PATH="${TCL_STUB_LIB_DIR}/${TCL_STUB_LIB_FILE}"
@@ -9372,7 +9372,7 @@
-CFLAGS="${CFLAGS} ${CPPFLAGS}"; CPPFLAGS=""
+EXTRA_CC_SWITCHES="${EXTRA_CC_SWITCHES} ${CPPFLAGS}"; CPPFLAGS=""
tcl_config_files="${tcl_config_files} Makefile dltest/Makefile tclConfig.sh"
diff -Nurd -x'*~' tcltk-8.4.19.orig/tk8.4.19/unix/configure tcltk-8.4.19/tk8.4.19/unix/configure
--- tcltk-8.4.19.orig/tk8.4.19/unix/configure 2008-04-17 11:14:08.000000000 -0400
+++ tcltk-8.4.19/tk8.4.19/unix/configure 2008-07-28 18:15:21.000000000 -0400
@@ -6012,7 +6012,7 @@
else
eval TK_LIB_FLAG="-ltk`echo ${VERSION} | tr -d .`\${TK_DBGX}"
fi
- TK_BUILD_LIB_SPEC="-L`pwd` ${TK_LIB_FLAG}"
+ TK_BUILD_LIB_SPEC="`pwd`/${TK_LIB_FILE}"
TK_LIB_SPEC="-L${libdir} ${TK_LIB_FLAG}"
else
TK_BUILD_EXP_FILE="lib.exp"
@@ -6058,7 +6058,7 @@
eval TK_STUB_LIB_FLAG="-ltkstub`echo ${TK_VERSION} | tr -d .`\${TK_DBGX}"
fi
-TK_BUILD_STUB_LIB_SPEC="-L`pwd` ${TK_STUB_LIB_FLAG}"
+TK_BUILD_STUB_LIB_SPEC="`pwd`/${TK_STUB_LIB_FILE}"
TK_STUB_LIB_SPEC="-L${TK_STUB_LIB_DIR} ${TK_STUB_LIB_FLAG}"
TK_BUILD_STUB_LIB_PATH="`pwd`/${TK_STUB_LIB_FILE}"
TK_STUB_LIB_PATH="${TK_STUB_LIB_DIR}/${TK_STUB_LIB_FILE}"
@@ -6126,7 +6126,7 @@
-CFLAGS="${CFLAGS} ${CPPFLAGS}"; CPPFLAGS=""
+EXTRA_CC_SWITCHES="${EXTRA_CC_SWITCHES} ${CPPFLAGS}"; CPPFLAGS=""
tk_config_files="${tk_config_files} Makefile tkConfig.sh"
diff -Nurd -x'*~' tcltk-8.4.19.orig/tk8.4.19/generic/tk.h tcltk-8.4.19/tk8.4.19/generic/tk.h
--- tcltk-8.4.19.orig/tk8.4.19/generic/tk.h 2008-04-07 15:17:54.000000000 -0400
+++ tcltk-8.4.19/tk8.4.19/generic/tk.h 2008-07-28 18:15:21.000000000 -0400
@@ -635,17 +635,18 @@
*
*---------------------------------------------------------------------------
*/
-#define VirtualEvent (LASTEvent)
-#define ActivateNotify (LASTEvent + 1)
-#define DeactivateNotify (LASTEvent + 2)
-#define MouseWheelEvent (LASTEvent + 3)
-#define TK_LASTEVENT (LASTEvent + 4)
+
+#define VirtualEvent 35
+#define ActivateNotify (VirtualEvent + 1)
+#define DeactivateNotify (VirtualEvent + 2)
+#define MouseWheelEvent (VirtualEvent + 3)
+#define TK_LASTEVENT (VirtualEvent + 4)
#define MouseWheelMask (1L << 28)
#define ActivateMask (1L << 29)
#define VirtualEventMask (1L << 30)
-#define TK_LASTEVENT (LASTEvent + 4)
+
/*