# # spec file for package tcl # # Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # Name: tcl Url: http://www.tcl.tk Version: 8.5.12 Release: 0 %define rrc %nil %define TCL_MINOR %(echo %version | cut -c1-3) BuildRoot: %{_tmppath}/%{name}-%{version}-build Summary: The Tcl Programming Language License: SUSE-TCL Group: Development/Languages/Tcl # bug437293 %ifarch ppc64 Obsoletes: tcl-64bit %endif # Provides: tclsh Provides: tclsh%{TCL_MINOR} PreReq: /bin/rm Source0: %name%{version}%{rrc}-src.tar.gz Source1: tcl-rpmlintrc Source2: baselibs.conf Source3: macros.tcl Patch0: tcl.patch Patch1: tcl-unload.patch BuildRequires: autoconf # Required for test suite: BuildRequires: timezone %description Tcl (Tool Command Language) is a very powerful but easy to learn dynamic programming language, suitable for a very wide range of uses, including web and desktop applications, networking, administration, testing and many more. Open source and business-friendly, Tcl is a mature yet evolving language that is truly cross platform, easily deployed and highly extensible. For more information on Tcl see http://www.tcl.tk and http://wiki.tcl.tk . %package devel Summary: Header Files and C API Documentation for Tcl Group: Development/Libraries/Tcl Requires: tcl = %version # bug437293 %ifarch ppc64 Obsoletes: tcl-devel-64bit %endif # %description devel This package contains header files and documentation needed for writing Tcl extensions in compiled languages like C, C++, etc., or for embedding the Tcl interpreter in programs written in such languages. This package is not needed for writing extensions or applications in the Tcl language itself. %prep %setup -q -n %name%version %patch0 %patch1 %build cd unix autoconf %configure \ --enable-man-symlinks \ --enable-man-compression=gzip %define scriptdir %_libdir/tcl MAKE='make %{?_smp_mflags} TCL_LIBRARY="%scriptdir/tcl%TCL_MINOR" TCL_PACKAGE_PATH="%_libdir/tcl %_datadir/tcl" %ifnarch hppa CFLAGS="%optflags $PFLAGS" %else CFLAGS="%optflags $PFLAGS -DTCL_NO_STACK_CHECK=1" %endif LDFLAGS_OPTIMIZE="%optflags $PFLAGS" SHLIB_LD="%__cc -shared %optflags $PFLAGS"' %ifnarch %sparc # Build with instrumentation for profiling PFLAGS="%{?cflags_profile_generate}" %endif eval $MAKE # Some of the regressioin tests write to $HOME, so better redirect them mkdir home export HOME=$PWD/home # Run the testsuite to gather some data for the profile-based # optimisation and let rpmbuild fail on unexpected test failures. cat > known-failures <&1 | tee testresults grep FAILED testresults | grep -Fqvwf known-failures && exit 1 %endif # If we don't do profile based optimisation, we are done at this point. if test -n "$PFLAGS"; then # Rebuild and use the profiling results make clean PFLAGS="%cflags_profile_feedback" eval $MAKE fi %install make -C unix install install-private-headers \ INSTALL_ROOT=%buildroot \ TCL_LIBRARY="%scriptdir/tcl%TCL_MINOR" rm -f %buildroot%scriptdir/tcl%TCL_MINOR/ldAix ln -sf tclsh%TCL_MINOR %buildroot%_prefix/bin/tclsh mkdir -p %buildroot%_datadir/tcl install -D %{S:3} -m 644 %buildroot/etc/rpm/macros.tcl %if %_lib == lib64 %post test -L /usr/lib/tcl%TCL_MINOR && /bin/rm -f /usr/lib/tcl%TCL_MINOR exit 0 %endif %files %defattr(-,root,root,755) %doc README changes license.terms ChangeLog* %docdir %_mandir/mann %doc %_mandir/man1/* %doc %_mandir/mann/* %_prefix/bin/* %_libdir/lib*.so %_datadir/tcl %scriptdir %exclude %scriptdir/*/tclAppInit.c %config /etc/rpm/macros.tcl %files devel %defattr(-,root,root) %doc %_mandir/man3/* %_includedir/* %scriptdir/*/tclAppInit.c %_libdir/*.a %_libdir/tclConfig.sh %changelog