From 058a7651b18a85f3460c7feeffdf39424f6ae2f0 Mon Sep 17 00:00:00 2001 From: Jaroslav Škarvada Date: Apr 30 2014 15:53:53 +0000 Subject: Merge remote-tracking branch 'origin/private-master-8.6' Conflicts: tcl.spec --- diff --git a/tcl-8.5.14-autopath.patch b/tcl-8.5.14-autopath.patch deleted file mode 100644 index cad89f0..0000000 --- a/tcl-8.5.14-autopath.patch +++ /dev/null @@ -1,56 +0,0 @@ -diff --git a/library/auto.tcl b/library/auto.tcl -index f7cf5f0..feb0a22 100644 ---- a/library/auto.tcl -+++ b/library/auto.tcl -@@ -84,6 +84,13 @@ proc tcl_findLibrary {basename version patch initScript enVarName varName} { - lappend dirs $value - } - -+ # 2a. As a sibling of Tcl's script directory -+ if {[catch { -+ ::tcl::pkgconfig get scriptdir,runtime -+ } value] == 0} { -+ lappend dirs [file join [file dirname $value] $basename$version] -+ } -+ - # 3. Relative to auto_path directories. This checks relative to the - # Tcl library as well as allowing loading of libraries added to the - # auto_path that is not relative to the core library or binary paths. -diff --git a/library/init.tcl b/library/init.tcl -index 071e6df..7713d3e 100644 ---- a/library/init.tcl -+++ b/library/init.tcl -@@ -47,16 +47,11 @@ if {![info exists auto_path]} { - } - namespace eval tcl { - variable Dir -- foreach Dir [list $::tcl_library [file dirname $::tcl_library]] { -+ foreach Dir [list $::tcl_library] { - if {$Dir ni $::auto_path} { - lappend ::auto_path $Dir - } - } -- set Dir [file join [file dirname [file dirname \ -- [info nameofexecutable]]] lib] -- if {$Dir ni $::auto_path} { -- lappend ::auto_path $Dir -- } - catch { - foreach Dir $::tcl_pkgPath { - if {$Dir ni $::auto_path} { -diff --git a/unix/configure.in b/unix/configure.in -index e22a7d3..658b3ed 100755 ---- a/unix/configure.in -+++ b/unix/configure.in -@@ -840,9 +840,9 @@ if test "$FRAMEWORK_BUILD" = "1" ; then - test -z "$TCL_MODULE_PATH" && \ - TCL_MODULE_PATH="~/Library/Tcl /Library/Tcl /System/Library/Tcl" - elif test "$prefix/lib" != "$libdir"; then -- TCL_PACKAGE_PATH="${libdir} ${prefix}/lib ${TCL_PACKAGE_PATH}" -+ TCL_PACKAGE_PATH="${libdir}/tcl8.5 ${prefix}/share/tcl8.5 ${libdir}/tk8.5 ${prefix}/share/tk8.5 ${TCL_PACKAGE_PATH}" - else -- TCL_PACKAGE_PATH="${prefix}/lib ${TCL_PACKAGE_PATH}" -+ TCL_PACKAGE_PATH="${libdir}/tcl8.5 ${prefix}/share/tcl8.5 ${libdir}/tk8.5 ${prefix}/share/tk8.5 ${TCL_PACKAGE_PATH}" - fi - - #-------------------------------------------------------------------- diff --git a/tcl-8.5.14-conf.patch b/tcl-8.5.14-conf.patch deleted file mode 100644 index bbd3915..0000000 --- a/tcl-8.5.14-conf.patch +++ /dev/null @@ -1,19 +0,0 @@ -diff --git a/unix/tcl.m4 b/unix/tcl.m4 -index 668fa2f..a50e4d1 100644 ---- a/unix/tcl.m4 -+++ b/unix/tcl.m4 -@@ -1420,12 +1420,12 @@ AC_DEFUN([SC_CONFIG_CFLAGS], [ - # get rid of the warnings. - #CFLAGS_OPTIMIZE="${CFLAGS_OPTIMIZE} -D__NO_STRING_INLINES -D__NO_MATH_INLINES" - -- SHLIB_LD='${CC} -shared ${CFLAGS} ${LDFLAGS}' -+ SHLIB_LD='${CC} -shared ${CFLAGS} ${LDFLAGS} -fPIC -Wl,-soname,${@}' - DL_OBJS="tclLoadDl.o" - DL_LIBS="-ldl" - LDFLAGS="$LDFLAGS -Wl,--export-dynamic" - AS_IF([test $doRpath = yes], [ -- CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}']) -+ CC_SEARCH_FLAGS='']) - LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS} - AS_IF([test "`uname -m`" = "alpha"], [CFLAGS="$CFLAGS -mieee"]) - AS_IF([test $do64bit = yes], [ diff --git a/tcl-8.5.14-hidden.patch b/tcl-8.5.14-hidden.patch deleted file mode 100644 index aa977d0..0000000 --- a/tcl-8.5.14-hidden.patch +++ /dev/null @@ -1,35 +0,0 @@ -diff --git a/generic/tclInt.h b/generic/tclInt.h -index 92251fe..b79edf6 100644 ---- a/generic/tclInt.h -+++ b/generic/tclInt.h -@@ -2807,7 +2807,7 @@ MODULE_SCOPE void TclClockInit(Tcl_Interp *interp); - 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, -@@ -2968,7 +2968,7 @@ MODULE_SCOPE int Tcl_RegsubObjCmd(ClientData clientData, - 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/generic/tclPort.h b/generic/tclPort.h -index 12a60db..d817154 100644 ---- a/generic/tclPort.h -+++ b/generic/tclPort.h -@@ -20,7 +20,7 @@ - #if defined(_WIN32) - # include "tclWinPort.h" - #else --# include "tclUnixPort.h" -+# include "../unix/tclUnixPort.h" - #endif - #include "tcl.h" - diff --git a/tcl-8.6.1-autopath.patch b/tcl-8.6.1-autopath.patch new file mode 100644 index 0000000..80b2c97 --- /dev/null +++ b/tcl-8.6.1-autopath.patch @@ -0,0 +1,56 @@ +diff --git a/library/auto.tcl b/library/auto.tcl +index 02edcc4..cd3b587 100644 +--- a/library/auto.tcl ++++ b/library/auto.tcl +@@ -81,6 +81,13 @@ proc tcl_findLibrary {basename version patch initScript enVarName varName} { + lappend dirs [::${basename}::pkgconfig get scriptdir,runtime] + } + ++ # 2a. As a sibling of Tcl's script directory ++ if {[catch { ++ ::tcl::pkgconfig get scriptdir,runtime ++ } value] == 0} { ++ lappend dirs [file join [file dirname $value] $basename$version] ++ } ++ + # 3. Relative to auto_path directories. This checks relative to the + # Tcl library as well as allowing loading of libraries added to the + # auto_path that is not relative to the core library or binary paths. +diff --git a/library/init.tcl b/library/init.tcl +index 1ca6413..1aba664 100644 +--- a/library/init.tcl ++++ b/library/init.tcl +@@ -47,16 +47,11 @@ if {![info exists auto_path]} { + } + namespace eval tcl { + variable Dir +- foreach Dir [list $::tcl_library [file dirname $::tcl_library]] { ++ foreach Dir [list $::tcl_library] { + if {$Dir ni $::auto_path} { + lappend ::auto_path $Dir + } + } +- set Dir [file join [file dirname [file dirname \ +- [info nameofexecutable]]] lib] +- if {$Dir ni $::auto_path} { +- lappend ::auto_path $Dir +- } + catch { + foreach Dir $::tcl_pkgPath { + if {$Dir ni $::auto_path} { +diff --git a/unix/configure.in b/unix/configure.in +index 61ad30f..8b327c4 100755 +--- a/unix/configure.in ++++ b/unix/configure.in +@@ -883,9 +883,9 @@ if test "$FRAMEWORK_BUILD" = "1" ; then + test -z "$TCL_MODULE_PATH" && \ + TCL_MODULE_PATH="~/Library/Tcl /Library/Tcl /System/Library/Tcl" + elif test "$prefix/lib" != "$libdir"; then +- TCL_PACKAGE_PATH="${libdir} ${prefix}/lib ${TCL_PACKAGE_PATH}" ++ TCL_PACKAGE_PATH="${libdir}/tcl8.5 ${prefix}/share/tcl8.5 ${libdir}/tk8.5 ${prefix}/share/tk8.5 ${TCL_PACKAGE_PATH}" + else +- TCL_PACKAGE_PATH="${prefix}/lib ${TCL_PACKAGE_PATH}" ++ TCL_PACKAGE_PATH="${libdir}/tcl8.5 ${prefix}/share/tcl8.5 ${libdir}/tk8.5 ${prefix}/share/tk8.5 ${TCL_PACKAGE_PATH}" + fi + + #-------------------------------------------------------------------- diff --git a/tcl-8.6.1-conf.patch b/tcl-8.6.1-conf.patch new file mode 100644 index 0000000..c2588dc --- /dev/null +++ b/tcl-8.6.1-conf.patch @@ -0,0 +1,19 @@ +diff --git a/unix/tcl.m4 b/unix/tcl.m4 +index 194cf90..76773f3 100644 +--- a/unix/tcl.m4 ++++ b/unix/tcl.m4 +@@ -1415,12 +1415,12 @@ AC_DEFUN([SC_CONFIG_CFLAGS], [ + # get rid of the warnings. + #CFLAGS_OPTIMIZE="${CFLAGS_OPTIMIZE} -D__NO_STRING_INLINES -D__NO_MATH_INLINES" + +- SHLIB_LD='${CC} -shared ${CFLAGS} ${LDFLAGS}' ++ SHLIB_LD='${CC} -shared ${CFLAGS} ${LDFLAGS} -fPIC -Wl,-soname,${@}' + DL_OBJS="tclLoadDl.o" + DL_LIBS="-ldl" + LDFLAGS="$LDFLAGS -Wl,--export-dynamic" + AS_IF([test $doRpath = yes], [ +- CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}']) ++ CC_SEARCH_FLAGS='']) + LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS} + AS_IF([test "`uname -m`" = "alpha"], [CFLAGS="$CFLAGS -mieee"]) + AS_IF([test $do64bit = yes], [ diff --git a/tcl-8.6.1-hidden.patch b/tcl-8.6.1-hidden.patch new file mode 100644 index 0000000..a37aabf --- /dev/null +++ b/tcl-8.6.1-hidden.patch @@ -0,0 +1,35 @@ +diff --git a/generic/tclInt.h b/generic/tclInt.h +index 380284f..7bb5eb9 100644 +--- a/generic/tclInt.h ++++ b/generic/tclInt.h +@@ -3160,7 +3160,7 @@ MODULE_SCOPE void TclClockInit(Tcl_Interp *interp); + 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, +@@ -3343,7 +3343,7 @@ MODULE_SCOPE int Tcl_RenameObjCmd(ClientData clientData, + MODULE_SCOPE int Tcl_RepresentationCmd(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/generic/tclPort.h b/generic/tclPort.h +index 12a60db..d817154 100644 +--- a/generic/tclPort.h ++++ b/generic/tclPort.h +@@ -20,7 +20,7 @@ + #if defined(_WIN32) + # include "tclWinPort.h" + #else +-# include "tclUnixPort.h" ++# include "../unix/tclUnixPort.h" + #endif + #include "tcl.h" + diff --git a/tcl.spec b/tcl.spec index 8e690c3..396bf14 100644 --- a/tcl.spec +++ b/tcl.spec @@ -1,5 +1,5 @@ -%define majorver 8.5 -%define vers %{majorver}.15 +%define majorver 8.6 +%define vers %{majorver}.1 %{!?sdt:%define sdt 1} Summary: Tool Command Language, pronounced tickle @@ -10,15 +10,14 @@ Epoch: 1 License: TCL Group: Development/Languages URL: http://tcl.sourceforge.net/ -Source0: http://downloads.sourceforge.net/sourceforge/tcl/tcl%{version}-src.tar.gz -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +Source0: http://downloads.sourceforge.net/sourceforge/tcl/tcl-core%{version}-src.tar.gz Buildrequires: autoconf Provides: tcl(abi) = %{majorver} Obsoletes: tcl-tcldict <= %{vers} Provides: tcl-tcldict = %{vers} -Patch0: tcl-8.5.14-autopath.patch -Patch1: tcl-8.5.14-conf.patch -Patch2: tcl-8.5.14-hidden.patch +Patch0: tcl-8.6.1-autopath.patch +Patch1: tcl-8.6.1-conf.patch +Patch2: tcl-8.6.1-hidden.patch %if %sdt BuildRequires: systemtap-sdt-devel @@ -51,7 +50,7 @@ The package contains the development files and man pages for tcl. %prep %setup -q -n %{name}%{version} -chmod -x generic/tclThreadAlloc.c +chmod -x generic/tclStrToD.c %patch0 -p1 -b .autopath %patch1 -p1 -b .conf @@ -68,7 +67,7 @@ autoconf --enable-symbols \ --enable-shared -make %{?_smp_mflags} CFLAGS="$RPM_OPT_FLAGS" TCL_LIBRARY=%{_datadir}/%{name}%{majorver} +make %{?_smp_mflags} CFLAGS="%{optflags}" TCL_LIBRARY=%{_datadir}/%{name}%{majorver} %check %{?_without_check: %define _without_check 1} @@ -80,34 +79,30 @@ make %{?_smp_mflags} CFLAGS="$RPM_OPT_FLAGS" TCL_LIBRARY=%{_datadir}/%{name}%{ma %endif %install -rm -rf $RPM_BUILD_ROOT -make install -C unix INSTALL_ROOT=$RPM_BUILD_ROOT TCL_LIBRARY=%{_datadir}/%{name}%{majorver} +make install -C unix INSTALL_ROOT=%{buildroot} TCL_LIBRARY=%{_datadir}/%{name}%{majorver} -ln -s tclsh%{majorver} $RPM_BUILD_ROOT%{_bindir}/tclsh +ln -s tclsh%{majorver} %{buildroot}%{_bindir}/tclsh # for linking with -lib%%{name} -ln -s lib%{name}%{majorver}.so $RPM_BUILD_ROOT%{_libdir}/lib%{name}.so +ln -s lib%{name}%{majorver}.so %{buildroot}%{_libdir}/lib%{name}.so -mkdir -p $RPM_BUILD_ROOT/%{_libdir}/%{name}%{majorver} +mkdir -p %{buildroot}/%{_libdir}/%{name}%{majorver} # postgresql and maybe other packages too need tclConfig.sh # paths don't look at /usr/lib for efficiency, so we symlink into tcl8.5 for now -ln -s %{_libdir}/%{name}Config.sh $RPM_BUILD_ROOT/%{_libdir}/%{name}%{majorver}/%{name}Config.sh +ln -s %{_libdir}/%{name}Config.sh %{buildroot}/%{_libdir}/%{name}%{majorver}/%{name}Config.sh -mkdir -p $RPM_BUILD_ROOT/%{_includedir}/%{name}-private/{generic,unix} -find generic unix -name "*.h" -exec cp -p '{}' $RPM_BUILD_ROOT/%{_includedir}/%{name}-private/'{}' ';' -( cd $RPM_BUILD_ROOT/%{_includedir} +mkdir -p %{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 $RPM_BUILD_ROOT/%{_includedir}/%{name}-private/generic/$i ] && ln -sf ../../$i $RPM_BUILD_ROOT/%{_includedir}/%{name}-private/generic ; + [ -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|" $RPM_BUILD_ROOT/%{_libdir}/%{name}Config.sh -rm -rf $RPM_BUILD_ROOT/%{_datadir}/%{name}%{majorver}/ldAix - -%clean -rm -rf $RPM_BUILD_ROOT +sed -i -e "s|$PWD/unix|%{_libdir}|; s|$PWD|%{_includedir}/%{name}-private|" %{buildroot}/%{_libdir}/%{name}Config.sh +rm -rf %{buildroot}/%{_datadir}/%{name}%{majorver}/ldAix %post -p /sbin/ldconfig @@ -133,10 +128,21 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/lib%{name}stub%{majorver}.a %{_libdir}/lib%{name}.so %{_libdir}/%{name}Config.sh -%{_libdir}/%{name}8.5/%{name}Config.sh +%{_libdir}/%{name}ooConfig.sh +%{_libdir}/%{name}%{majorver}/%{name}Config.sh +%{_libdir}/pkgconfig/tcl.pc %{_datadir}/%{name}%{majorver}/tclAppInit.c %changelog +* Thu Apr 24 2014 Jaroslav Škarvada - 1:8.6.1-1 +- New version +- Defuzzified patches + +* Thu Aug 15 2013 Jaroslav Škarvada - 1:8.6.0-1 +- New version + Resolves: rhbz#889201 +- Minor cleanups + * Fri Dec 6 2013 Peter Robinson 1:8.5.15-1 - Update to 8.5.15 @@ -244,7 +250,7 @@ rm -rf $RPM_BUILD_ROOT - update to 8.5.3 - create vers macro for provides, obsoletes -* Mon Jul 2 2008 Marcela Maslanova - 1:8.5.2-3 +* Mon Jul 21 2008 Marcela Maslanova - 1:8.5.2-3 - tclConfig.sh was fixed again with symlink into libdir/tcl8.5. Many packages are looking in /usr/lib, because tcl dir is versioned. @@ -264,7 +270,7 @@ Many packages are looking in /usr/lib, because tcl dir is versioned. * Tue Feb 19 2008 Fedora Release Engineering - 1:8.5.1-2 - Autorebuild for GCC 4.3 -* Mon Jan 18 2008 Marcela Maslanova - 1:8.5.1-1 +* Fri Jan 18 2008 Marcela Maslanova - 1:8.5.1-1 - new version tcl8.5.1 - fix 433151 problem with regular expression - Version 2.5.3 of the http package requires Tcl 8.4 or better -> @@ -325,13 +331,13 @@ Many packages are looking in /usr/lib, because tcl dir is versioned. * Tue Apr 3 2007 Marcela Maslanova - 1:8.4.13-15 - cleaning spec -* Tue Mar 21 2007 Marcela Maslanova - 1:8.4.13-14 +* Wed Mar 21 2007 Marcela Maslanova - 1:8.4.13-14 - multilib problem, rhbz#227200 * Tue Feb 27 2007 Marcela Maslanova - 1:8.4.13-12 - review -* Thu Feb 21 2007 Marcela Maslanova - 1:8.4.13-11 +* Wed Feb 21 2007 Marcela Maslanova - 1:8.4.13-11 - review * Thu Feb 15 2007 Marcela Maslanova - 1:8.4.13-10 @@ -556,7 +562,7 @@ Many packages are looking in /usr/lib, because tcl dir is versioned. * Mon Jan 07 2002 Florian La Roche - fix config.guess and config.sub to newer versions -* Mon Aug 29 2001 Adrian Havill +* Wed Aug 29 2001 Adrian Havill * Mon Aug 8 2001 Adrian Havill - re-enable glibc string and math inlines; recent gcc is a-ok.