Browse Source

tcl 8.5.7-1

git-svn-id: http://trac.vinelinux.org/repos/projects/specs@7288 ec354946-7b23-47d6-9f5a-488ba84defc7
iwaim 11 years ago
parent
commit
6ee9811223
1 changed files with 66 additions and 41 deletions
  1. 66 41
      t/tcl/tcl-vl.spec

+ 66 - 41
t/tcl/tcl-vl.spec

@@ -1,28 +1,32 @@
-%define majorver 8.4
-%define minorver 19
+%define majorver 8.5
+%define minorver 7
 %define version %{majorver}.%{minorver}
-%define htmlver %{majorver}.18
+%define htmlver %{majorver}.7
+
+%{!?sdt:%define sdt 0}
 
 Summary: A Tcl/Tk development environment: tcl
 Summary(ja): Tcl/Tk 開発環境: tcl
 Name: tcl
 Version: %{version}
-Release: 4%{?_dist_release}
+Release: 1%{?_dist_release}
 Group: Development/Languages
-License: BSD
+License: TCL
 URL:     http://tcl.sourceforge.net/
 
 Source0: http://prdownloads.sourceforge.net/tcl/%{name}%{version}-src.tar.gz
 Source1: http://prdownloads.sourceforge.net/tcl/%{name}%{htmlver}-html.tar.gz
-Patch1: tcl-8.3.5-tclm4-soname.patch
-Patch2: tcl-8.4.5-lib-perm.patch
-#Patch3: tcl8.3.5-tclConfig-package-path-90160.patch
-Patch3: tcl8.4.16-configure.patch
-Patch4: tcl-8.4.12-no_rpath.patch
-Patch10: tcl-8.4.15-init.lib64.patch
+# patches from Red Hat Enterprise Linux tcl-8.5.7-6.el6
+Patch100: tcl-8.5.1-autopath.patch
+Patch101: tcl-8.5.0-conf.patch
+Patch102: tcl-8.5.0-hidden.patch
+Patch103: tcl-8.5.7-sigabrt.patch
 
 Buildroot: %{_tmppath}/%{name}-%{version}-root
 BuildRequires: libtool, util-linux, perl, gdbm, autoconf, imake
+%if %sdt
+BuildRequires: systemtap-sdt-devel
+%endif
 
 Vendor: Project Vine
 Distribution: Vine Linux
@@ -41,53 +45,55 @@ Tcl は様々なアプリケーションの実行を行うための、簡単な
 
 
 %prep
-#%setup -n %{name}%{version} -q -b1
 %setup -n %{name}%{version} -q -a 1
 mv tcl%{htmlver}/html .
 
-# define DT SONAME in shared lib
-# %patch1 -p1 -b .soname
-%patch2 -p1 -b .ro-lib
-%patch3 -p1 -b .pkgpath
-%patch4 -p1 -b .no_rpath
-# patch1 touches tcl.m4, and patch3 touches configure.in
-%ifarch x86_64
-%patch10 -p1 -b .init.lib64
-%endif
-
-cd unix
-#autoconf-2.13
-autoconf
+%patch100 -p1 -b .autopath
+%patch101 -p1 -b .conf
+%patch102 -p1 -b .hidden
+%patch103 -p1 -b .sigabrt
 
 %build
-cd unix
+pushd unix
+autoconf
 %configure \
-	--enable-shared --disable-threads --enable-langinfo --enable-64bit
-make %{?_smp_mflags} TCL_LIBRARY=%{_datadir}/tcl%{majorver}
+%if %sdt
+--enable-dtrace \
+%endif
+--disable-threads \
+--enable-symbols \
+--enable-shared
+
+make %{?_smp_mflags} TCL_LIBRARY=%{_datadir}/%{name}%{majorver}
 
 
 %install
 rm -rf $RPM_BUILD_ROOT
-make install -C unix INSTALL_ROOT=%{buildroot} TCL_LIBRARY=%{_datadir}/tcl%{majorver}
+make install -C unix INSTALL_ROOT=$RPM_BUILD_ROOT TCL_LIBRARY=%{_datadir}/%{name}%{majorver}
 
-ln -s tclsh%{majorver} %{buildroot}%{_bindir}/tclsh
+ln -s tclsh%{majorver} $RPM_BUILD_ROOT%{_bindir}/tclsh
 
-# for linking with -ltcl
-ln -s libtcl%{majorver}.so %{buildroot}%{_libdir}/libtcl.so
+# for linking with -lib%{name}
+ln -s lib%{name}%{majorver}.so $RPM_BUILD_ROOT%{_libdir}/lib%{name}.so
 
-mkdirhier %buildroot/%{_includedir}/tcl-private/{generic,unix}
-cp -p generic/tcl{Int,IntDecls,IntPlatDecls,Math,Port}.h %buildroot/%{_includedir}/tcl-private/generic
-cp -p unix/tclUnixPort.h %buildroot/%{_includedir}/tcl-private/unix
+mkdir -p $RPM_BUILD_ROOT/%{_libdir}/%{name}%{majorver}
 
-# Fix up the include files.
-install -m 644 generic/tclRegexp.h $RPM_BUILD_ROOT%{_includedir}
-cp generic/*.h $RPM_BUILD_ROOT%{_includedir}/tcl-private/generic
-cp unix/*.h $RPM_BUILD_ROOT%{_includedir}/tcl-private/unix
+# 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
 
+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}
+	for i in *.h ; do
+		[ -f $RPM_BUILD_ROOT/%{_includedir}/%{name}-private/generic/$i ] && ln -sf ../../$i $RPM_BUILD_ROOT/%{_includedir}/%{name}-private/generic ;
+	done
+)
 
 # remove buildroot traces
-perl -pi -e "s|$PWD/unix|%{_libdir}|; s|$PWD|%{_includedir}/tcl-private|" %buildroot/%{_libdir}/tclConfig.sh
-
+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}/tclAppInit.c
+rm -rf $RPM_BUILD_ROOT/%{_datadir}/%{name}%{majorver}/ldAix
 
 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -103,14 +109,33 @@ rm -rf $RPM_BUILD_ROOT
 %{_datadir}/tcl%{majorver}
 %{_libdir}/libtcl%{majorver}.so
 %{_libdir}/tclConfig.sh
+%{_libdir}/tcl%{majorver}/tclConfig.sh
 %{_mandir}/man1/*
 %{_includedir}/*
+%{_datadir}/%{name}8
 %{_libdir}/libtclstub%{majorver}.a
 %{_libdir}/libtcl.so
 %{_mandir}/man3/*
 %{_mandir}/mann/*
 
 %changelog
+* Fri Jan  4 2013 IWAI, Masaharu <iwai@alib.jp> 8.5.7-1
+- update to 8.5.7: sync Red Hat Enterprise Linux 6 tcl-8.5.7-6.el6
+- update License: TCL
+- drop obsolete patches
+ - tclm4-soname patch (Patch1)
+ - lib-perm patch (Patch2)
+ - configure patch (Patch3)
+ - no rpath patch (Patch4)
+ - init lib64 patch (Patch10)
+- add some patches from RHEL tcl-8.5.7-6.el6
+ - autopath patch (Patch100)
+ - conf patch (Patch101)
+ - hidden patch (Patch102)
+ - sigabrt patch (Patch103)
+- update build and install section: sync RHEL tcl-8.5.7-6.el6
+- add BR: systemtap-sdt-devel: default disable
+
 * Thu Apr 21 2011 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 8.4.19-4
 - added imake to BR:.