From: Michael Tremer Date: Sun, 12 Feb 2012 16:16:56 +0000 (+0100) Subject: tcl: Update to 5.8.11. X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=98d0d55975f4ff36d7a4b0194ebb414dca0d8f68;p=ipfire-3.x.git tcl: Update to 5.8.11. Adds the tclstub library and a development package with all the header files that are needed to use tcl. --- diff --git a/tcl/patches/tcl-8.5.8-autopath.patch b/tcl/patches/tcl-8.5.1-autopath.patch similarity index 100% rename from tcl/patches/tcl-8.5.8-autopath.patch rename to tcl/patches/tcl-8.5.1-autopath.patch diff --git a/tcl/patches/tcl-8.5.8-conf.patch b/tcl/patches/tcl-8.5.10-conf.patch similarity index 100% rename from tcl/patches/tcl-8.5.8-conf.patch rename to tcl/patches/tcl-8.5.10-conf.patch diff --git a/tcl/patches/tcl-8.5.9-hidden.patch b/tcl/patches/tcl-8.5.9-hidden.patch new file mode 100644 index 000000000..451cda24c --- /dev/null +++ b/tcl/patches/tcl-8.5.9-hidden.patch @@ -0,0 +1,33 @@ +diff -up tcl8.5.6/generic/tclPort.h.old tcl8.5.6/generic/tclPort.h +--- tcl8.5.6/generic/tclPort.h.old 2009-02-09 16:40:08.000000000 +0100 ++++ tcl8.5.6/generic/tclPort.h 2009-02-09 16:40:26.000000000 +0100 +@@ -24,7 +24,7 @@ + #endif + #include "tcl.h" + #if !defined(_WIN32) +-# include "tclUnixPort.h" ++# include "../unix/tclUnixPort.h" + #endif + + #if defined(__CYGWIN__) +diff -up tcl8.5.6/generic/tclInt.h.bbb tcl8.5.6/generic/tclInt.h +--- tcl8.5.6/generic/tclInt.h.bbb 2008-11-14 01:22:39.000000000 +0100 ++++ tcl8.5.6/generic/tclInt.h 2009-02-11 13:05:13.000000000 +0100 +@@ -2773,7 +2773,7 @@ MODULE_SCOPE void TclClockInit(Tcl_Inter + MODULE_SCOPE int TclClockOldscanObjCmd( + ClientData clientData, Tcl_Interp *interp, + int objc, Tcl_Obj *const objv[]); +-MODULE_SCOPE int Tcl_CloseObjCmd(ClientData clientData, ++extern int Tcl_CloseObjCmd(ClientData clientData, + Tcl_Interp *interp, int objc, + Tcl_Obj *const objv[]); + MODULE_SCOPE int Tcl_ConcatObjCmd(ClientData clientData, +@@ -2934,7 +2934,7 @@ MODULE_SCOPE int Tcl_RegsubObjCmd(Client + MODULE_SCOPE int Tcl_RenameObjCmd(ClientData clientData, + Tcl_Interp *interp, int objc, + Tcl_Obj *const objv[]); +-MODULE_SCOPE int Tcl_ReturnObjCmd(ClientData clientData, ++extern int Tcl_ReturnObjCmd(ClientData clientData, + Tcl_Interp *interp, int objc, + Tcl_Obj *const objv[]); + MODULE_SCOPE int Tcl_ScanObjCmd(ClientData clientData, diff --git a/tcl/tcl.nm b/tcl/tcl.nm index 0ce3438a8..11a928772 100644 --- a/tcl/tcl.nm +++ b/tcl/tcl.nm @@ -4,8 +4,10 @@ ############################################################################### name = tcl -version = 8.5.10 -release = 2 +major_ver = 8.5 +version = %{major_ver}.11 +release = 1 +thisapp = tcl%{version} groups = Development/Languages url = http://tcl.sourceforge.net/ @@ -18,47 +20,78 @@ description applications, protocols, devices, and frameworks. end -source_dl = http://downloads.sourceforge.net/project/%{name}/%{name}/%{thisapp} +source_dl = http://downloads.sourceforge.net/project/%{name}/Tcl/%{version}/ sources = tcl%{version}-src.tar.gz build requires - perl>=5.14.2-9.ip3 autoconf automake + perl >= 5.14.2-9.ip3 end - DIR_APP = %{DIR_SRC}/tcl%{version}/unix CFLAGS += -DTCL_NO_STACK_CHECK=1 + make_extra = TCL_LIBRARY=%{datadir}/%{name}%{major_ver} - configure_options +=\ + configure_options += \ + --disable-threads \ + --enable-symbols \ --enable-shared - prepare - cd %{DIR_SRC} && %{MACRO_EXTRACT} %{DIR_DL}/${source}/%{sources} - cd %{DIR_APP} && cd .. + prepare_cmds + cd unix && autoconf + end - %{MACRO_PATCHES} + build + cd unix + ./configure \ + %{configure_options} - cd %{DIR_APP} && autoconf + make %{PARALLELISMFLAGS} %{make_extra} end - test - # Skip remote tests http, httpold and socket. - # Also skip unixInit-1.1. This test fails because "kill -PIPE" - # will be executed and we don't support that. - make test TESTFLAGS="-skip 'http* socket* unixInit-1.1'" + install + cd unix + make install %{make_extra} INSTALL_ROOT=%{BUILDROOT} + cd .. + + ln -svf tclsh%{major_ver} %{BUILDROOT}/usr/bin/tclsh + + # for linking with -lib%{name} + ln -svf lib%{name}%{major_ver}.so %{BUILDROOT}%{libdir}/lib%{name}.so + + # paths don't look at /usr/lib for efficiency, so we symlink into tcl8.5 for now + mkdir -pv %{BUILDROOT}%{libdir}/%{name}%{major_ver} + ln -svf ../%{name}Config.sh %{BUILDROOT}%{libdir}/%{name}%{major_ver}/%{name}Config.sh + + mkdir -pv %{BUILDROOT}%{includedir}/%{name}-private/{generic,unix} + find generic unix -name "*.h" -exec cp -p '{}' %{BUILDROOT}%{includedir}/%{name}-private/'{}' ';' + ( + cd %{BUILDROOT}%{includedir} + for i in *.h; do + [ -f %{BUILDROOT}%{includedir}/%{name}-private/generic/${i} ] && ln -sf ../../${i} \ + %{BUILDROOT}%{includedir}/%{name}-private/generic; + done + ) + + # remove buildroot traces + sed -i -e "s|$PWD/unix|%{libdir}|; s|$PWD|%{includedir}/%{name}-private|" %{BUILDROOT}%{libdir}/%{name}Config.sh + rm -rf %{BUILDROOT}%{datadir}/%{name}%{major_ver}/ldAix end - install_cmds - cd %{DIR_APP} && make install-private-headers DESTDIR=%{BUILDROOT} - ln -sf tclsh8.5 %{BUILDROOT}/usr/bin/tclsh + # Keep libtclstub*.a. + keep_libraries + %{libdir}/lib%{name}stub%{major_ver}.a end end packages package %{name} + package %{name}-devel + template DEVEL + end + package %{name}-debuginfo template DEBUGINFO end