diff --git a/tcl-8.5.14-autopath.patch b/tcl-8.6.0-autopath.patch similarity index 84% rename from tcl-8.5.14-autopath.patch rename to tcl-8.6.0-autopath.patch index cad89f0..7d7dc63 100644 --- a/tcl-8.5.14-autopath.patch +++ b/tcl-8.6.0-autopath.patch @@ -1,9 +1,9 @@ diff --git a/library/auto.tcl b/library/auto.tcl -index f7cf5f0..feb0a22 100644 +index 4bd860d..edc09ee 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 +@@ -80,6 +80,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 @@ -17,10 +17,10 @@ index f7cf5f0..feb0a22 100644 # 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 +index e836df9..2ebded6 100644 --- a/library/init.tcl +++ b/library/init.tcl -@@ -47,16 +47,11 @@ if {![info exists auto_path]} { +@@ -46,16 +46,11 @@ if {![info exists auto_path]} { } namespace eval tcl { variable Dir @@ -39,10 +39,10 @@ index 071e6df..7713d3e 100644 foreach Dir $::tcl_pkgPath { if {$Dir ni $::auto_path} { diff --git a/unix/configure.in b/unix/configure.in -index e22a7d3..658b3ed 100755 +index 087bb05..7b9025c 100755 --- a/unix/configure.in +++ b/unix/configure.in -@@ -840,9 +840,9 @@ if test "$FRAMEWORK_BUILD" = "1" ; then +@@ -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 diff --git a/tcl-8.5.14-conf.patch b/tcl-8.6.0-conf.patch similarity index 65% rename from tcl-8.5.14-conf.patch rename to tcl-8.6.0-conf.patch index bbd3915..ac0da06 100644 --- a/tcl-8.5.14-conf.patch +++ b/tcl-8.6.0-conf.patch @@ -1,8 +1,8 @@ diff --git a/unix/tcl.m4 b/unix/tcl.m4 -index 668fa2f..a50e4d1 100644 +index b13fddd..0797893 100644 --- a/unix/tcl.m4 +++ b/unix/tcl.m4 -@@ -1420,12 +1420,12 @@ AC_DEFUN([SC_CONFIG_CFLAGS], [ +@@ -1408,12 +1408,12 @@ AC_DEFUN([SC_CONFIG_CFLAGS], [ # get rid of the warnings. #CFLAGS_OPTIMIZE="${CFLAGS_OPTIMIZE} -D__NO_STRING_INLINES -D__NO_MATH_INLINES" @@ -17,3 +17,12 @@ index 668fa2f..a50e4d1 100644 LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS} AS_IF([test "`uname -m`" = "alpha"], [CFLAGS="$CFLAGS -mieee"]) AS_IF([test $do64bit = yes], [ +@@ -1440,7 +1440,7 @@ AC_DEFUN([SC_CONFIG_CFLAGS], [ + SHLIB_CFLAGS="-fPIC" + SHLIB_SUFFIX=".so" + +- SHLIB_LD='${CC} -shared' ++ SHLIB_LD='${CC} ${CFLAGS} -shared -fPIC' + DL_OBJS="" + DL_LIBS="-ldl" + LDFLAGS="$LDFLAGS -Wl,--export-dynamic" diff --git a/tcl-8.5.14-hidden.patch b/tcl-8.6.0-hidden.patch similarity index 75% rename from tcl-8.5.14-hidden.patch rename to tcl-8.6.0-hidden.patch index aa977d0..44d8be1 100644 --- a/tcl-8.5.14-hidden.patch +++ b/tcl-8.6.0-hidden.patch @@ -1,8 +1,8 @@ diff --git a/generic/tclInt.h b/generic/tclInt.h -index 92251fe..b79edf6 100644 +index 1d04c82..3127024 100644 --- a/generic/tclInt.h +++ b/generic/tclInt.h -@@ -2807,7 +2807,7 @@ MODULE_SCOPE void TclClockInit(Tcl_Interp *interp); +@@ -3232,7 +3232,7 @@ MODULE_SCOPE void TclClockInit(Tcl_Interp *interp); MODULE_SCOPE int TclClockOldscanObjCmd( ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); @@ -11,8 +11,8 @@ index 92251fe..b79edf6 100644 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, +@@ -3415,7 +3415,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, @@ -21,15 +21,15 @@ index 92251fe..b79edf6 100644 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 +index 7021b8d..9ac1959 100644 --- a/generic/tclPort.h +++ b/generic/tclPort.h -@@ -20,7 +20,7 @@ - #if defined(_WIN32) - # include "tclWinPort.h" - #else +@@ -22,7 +22,7 @@ + #endif + #include "tcl.h" + #if !defined(_WIN32) -# include "tclUnixPort.h" +# include "../unix/tclUnixPort.h" #endif - #include "tcl.h" + #if !defined(LLONG_MIN) diff --git a/tcl.spec b/tcl.spec index 0a88fa4..5de3f08 100644 --- a/tcl.spec +++ b/tcl.spec @@ -1,5 +1,5 @@ -%define majorver 8.5 -%define vers %{majorver}.14 +%define majorver 8.6 +%define vers %{majorver}.0 %{!?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.0-autopath.patch +Patch1: tcl-8.6.0-conf.patch +Patch2: tcl-8.6.0-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,17 @@ 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 Aug 15 2013 Jaroslav Škarvada - 1:8.6.0-1 +- New version + Resolves: rhbz#889201 +- Minor cleanups + * Thu Aug 15 2013 Jaroslav Škarvada - 1:8.5.14-1 - New version @@ -241,7 +243,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. @@ -261,7 +263,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 -> @@ -322,13 +324,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 @@ -553,7 +555,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.