File smalltalk.spec of Package smalltalk

#
# spec file for package smalltalk (Version 3.0.4)
#
# Copyright (c) 2008 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/
#

# norootforbuild


Name:           smalltalk
BuildRequires:  gmp-devel gtk2-devel readline-devel tk-devel update-desktop-files zip
%if %suse_version > 1020
BuildRequires:  texlive-latex
%else
BuildRequires:  te_latex
%endif
License:        GNU Free Documentation License, Version 1.1 (GFDL 1.1); GPL v2 or later; LGPL v2.1 or later
Group:          Development/Languages/Other
Obsoletes:      smaltalk
PreReq:         %install_info_prereq
AutoReqProv:    on
Version:        3.0.4
Release:        18
Summary:        The GNU implementation of the Smalltalk language
Url:            http://www.gnu.org/software/smalltalk/
Source0:        ftp://ftp.gnu.org/pub/gnu/smalltalk/smalltalk-%{version}.tar.gz
Source1:        xgst
Patch1:         %{name}-3.0.3-64bit.patch
Patch2:         %{name}-3.0.3-strict-aliasing.patch
Patch4:         %{name}-2.1.10-integer_and_buffer_overflow.patch
Patch5:         %{name}-2.1.10-xpm-sec5.patch
Patch6:         %{name}-2.1.10-xpm-secfix-thomas.patch
Patch9:         %{name}-warning.patch
Patch10:        %{name}-config.diff
BuildRoot:      %{_tmppath}/%{name}-%{version}-build

%description
GNU Smalltalk is an implementation that closely follows the
Smalltalk-80 language as described in the book `Smalltalk-80: the
Language and its Implementation' by Adele Goldberg and David Robson.

For a complete explanation of Smalltalk there is a very nice tutorial.
Try the command: "info gst".



Authors:
--------
    Paolo Bonzini <bonzini@gnu.org>
    Steve Byrne <sbb@gnu.org>

%prep
%setup -q
%patch1
#%patch2
%patch4
%patch5
%patch6
%patch9
%patch10
#
cp %{S:1} .
# the original libtool.m4 does not recognize this host and does not generate
# dynamic linker characteristic, thereafter plugins are not working
#cp -v /usr/share/aclocal/libtool.m4 build-aux

%build
#%{?suse_update_config:%{suse_update_config -f config}}
#autoreconf -fi
CFLAGS="$RPM_OPT_FLAGS" \
CXXFLAGS="$RPM_OPT_FLAGS" \
./configure --prefix=%{_prefix} \
	    --libdir=%{_libdir} \
            --infodir=%{_infodir} \
            --mandir=%{_mandir} \
            --libexecdir=%{_datadir} \
  	    --with-tcl=%{_libdir}
make

%install
make DESTDIR=$RPM_BUILD_ROOT install
install -m 755 xgst $RPM_BUILD_ROOT%{_bindir}/
#
# remove the unneeded gst.im
rm -f $RPM_BUILD_ROOT%{_datadir}/smalltalk/gst.im
# symlinks to BuildRoot are not allowed
ln -snf gst-load.1 $RPM_BUILD_ROOT%{_mandir}/man1/gst-reload.1

%clean
rm -rf $RPM_BUILD_ROOT

%post
%install_info --info-dir=%{_infodir} %{_infodir}/gst.info.gz

%postun
%install_info_delete --info-dir=%{_infodir} %{_infodir}/gst.info.gz

%files
%defattr(-,root,root)
%doc AUTHORS COPYING* ChangeLog NEWS README THANKS TODO
%doc %{_infodir}/gst**.gz
%doc %{_mandir}/man1/*
%{_datadir}/aclocal/*
/usr/include/*
%{_bindir}/*
%{_libdir}/lib*
%{_libdir}/smalltalk
%{_libdir}/pkgconfig/gnu-smalltalk.pc
%{_datadir}/smalltalk

%changelog
* Tue Nov 04 2008 ro@suse.de
- leave libtool alone, no autoreconf
* Mon Aug 11 2008 sndirsch@suse.de
- latest maintenance release 3.0.4
  * mainly bugfixes
* Sun Jul 20 2008 sndirsch@suse.de
- latest maintenance release 3.0.3
  * New methods:
    - Number>>#asCNumber
    - String>>allOccurrencesOfRegex:do:
    - String>>allOccurrencesOfRegex:from:to:do:
    - TCP.AbstractSocket>>#canRead
    - TCP.AbstractSocket>>#canWrite
    - TCP.AbstractSocket>>#ensureReadable
    - TCP.AbstractSocket>>#ensureWriteable
* Fri Apr 27 2007 ro@suse.de
- use texlive for building
* Mon Oct 09 2006 mskibbe@suse.de
- update to version 2.1.12 which
  o Make more resilient to #basicHash vagaries
  o Do my math correctly
  o Add #fileOutHeaderOn
  o remove kernel/Class.st
* Tue Sep 26 2006 schwab@suse.de
- Work around broken tcl configure check.
- Fix sigaltstack configure check.
- Add gmp-devel to BuildRequires.
* Wed Jul 26 2006 mskibbe@suse.de
- add fix for compiler warning bug #178198
* Wed Jan 25 2006 mls@suse.de
- converted neededforbuild to BuildRequires
* Thu Sep 29 2005 dmueller@suse.de
- add norootforbuild
* Fri Apr 29 2005 hvogel@suse.de
- dont use parallel build anymore.
  the el file generation is too racy
* Thu Apr 28 2005 hvogel@suse.de
- hopefully fix parallel build issue with el files
* Fri Feb 25 2005 schwab@suse.de
- Fix undefined operation.
* Wed Feb 16 2005 hvogel@suse.de
- update to version 2.1.10
* Fri Nov 12 2004 ro@suse.de
- fixed file list
* Fri Oct 22 2004 pmladek@suse.cz
- added two more security patches fixing potential integer and buffer
  overflow in the code from libXpm [#43240]
* Tue Oct 05 2004 pmladek@suse.cz
- fixed potential integer and buffer overflow in the code from libXpm [#43240]
* Wed Sep 01 2004 pmladek@suse.cz
- updated to version 2.1.8
- enabled parallel build
- installed all COPYING* and ChangeLog files as the documentation
* Mon Mar 08 2004 pmladek@suse.cz
- updated to version 2.1.7
- compiled with gtk+ support, used gtk2-devel-packages instead of
  gtk, gtk-devel, glib, glib-devel in neededforbuild
* Tue Jan 27 2004 ro@suse.de
- fix build with current autotools
* Fri Nov 07 2003 ro@suse.de
- fix no-strict-aliasing patch
* Fri Sep 05 2003 pmladek@suse.cz
- build with -fno-strict-aliasing to avoid potential problems
- added tk-devel to neededforbuild to build with the tk support again
* Wed Jul 23 2003 pmladek@suse.cz
- updated to version 2.1.4
- removed the already included tk8.4.patch
- the fixes for ia64 moved to "64bit.patch", they will be used on all 64bit
  architectures
- used the system libtool.m4 to fix problem with dynamic linker characteristic
- used autoreconf to rebuild really everything
- removed the obsolete extra "make" in "lib-src"
- fixed xgst:
  * to do not change directory to /usr/share/smalltalk (no longer needed)
  * to do not use the option -i (no longer needed)
  * to run browser/Run.st
* Thu Apr 24 2003 ro@suse.de
- fix install_info --delete call and move from preun to postun
* Wed Mar 12 2003 pmladek@suse.cz
- really added x-devel-packages to neededforbuild to build with
  Tcl/Tk support again
* Tue Feb 18 2003 pmladek@suse.cz
- Use %%install_info macro [#23458]
* Tue Nov 12 2002 ro@suse.de
- changed neededforbuild <xf86 xdevel> to <x-devel-packages>
* Tue Sep 17 2002 ro@suse.de
- removed bogus self-provides
* Fri Jul 12 2002 max@suse.de
- Fixed for Tcl/Tk 8.4.
* Tue Jul 09 2002 pmladek@suse.cz
- updated to version 1.95.13a, bugfix release
- removed ppc workaround (-fsigned-char is in $RPM_OPT_FLAGS on ppc)
* Mon Apr 08 2002 pmladek@suse.cz
- used suse_update_config
- removed obsolete --host=%%{_target_cpu}-suse-linux configure parametr
* Fri Apr 05 2002 schwab@suse.de
- Remove ia64 workaround.
- Fix typo in LP64 patches.
* Tue Apr 02 2002 pmladek@suse.cz
- fixed to compile with autoconf-2.53:
	- used macro AC_LIBOBJ
	- added glib-devel and gtk-devel into neededforbuild
	- used aclocal
* Wed Jan 23 2002 pmladek@suse.cz
- used macro %%{_libdir} to fix for lib64
* Fri Jan 18 2002 pmladek@suse.cz
- updated to version 1.95.9:
  * improved SortedCollection performance
  * the directory class>>#image method returns the *current*
  rather than the default image path
  * a few bug fixes
* Tue Dec 18 2001 pmladek@suse.cz
- updated to version 1.95.7, bugfix release
* Wed Nov 21 2001 schwab@suse.de
- Workaround gcc bug on ia64 with -frename-registers.
- Add some casts for 64 bit architectures.
- Fix use of old readline API.
- Fix xgst script.
* Wed Nov 21 2001 schwab@suse.de
- Fix to build on architectures that have no asm support for lightning.
* Mon Nov 19 2001 ro@suse.de
- update to 1.95.5 to make it build again
* Wed Aug 15 2001 pmladek@suse.cz
- fixed to realy compile with $RPM_OPT_FLAGS
- removed xgst from patch to sources
- fixed xgst to run blox/Run.st only now
* Mon Jun 18 2001 schwab@suse.de
- Fix C function interface for ia64.
* Mon Jun 18 2001 schwab@suse.de
- Don't run autoconf.
- Fix use of va_arg.
* Wed Jun 13 2001 pblaha@suse.cz
- fix libblox-tk for work xgst
* Tue Jun 12 2001 pblaha@suse.cz
- fix compilation with new autoconf
* Tue May 08 2001 mfabian@suse.de
- bzip2 sources
* Fri Mar 23 2001 pblaha@suse.cz
- update on 1.95.4
* Tue Mar 13 2001 ro@suse.de
- fixed problem with TK_XINCLUDES
* Fri Feb 23 2001 ro@suse.de
- added readline/readline-devel to neededforbuild (split from bash)
* Thu Jan 25 2001 pblaha@suse.cz
- update on 1.8.5
* Wed Nov 29 2000 ro@suse.de
- changed neededforbuild <tcld> to <tcl-devel>
* Mon Nov 27 2000 pblaha@suse.cz
- upgrade on 1.8.4 and fix problem with run xgst
* Tue Nov 14 2000 pblaha@suse.cz
- rename to smalltalk
* Wed Oct 04 2000 pblaha@suse.cz
- upgrade to 1.8.3
* Wed Jun 21 2000 uli@suse.de
- fixed for PPC
* Mon Jun 19 2000 kasal@suse.de
- upgrade to 1.7.5
* Thu Jun 08 2000 ro@suse.de
- hacked configure for tcl 8.3
* Mon Mar 27 2000 kasal@suse.cz
- upgrade to 1.7.3
* Tue Feb 29 2000 kasal@suse.cz
- upgraded to 1.7.1
- added buildroot, got rid of Makefile.Linux
- does not provide stix
* Mon Feb 28 2000 kukuk@suse.de
- move /usr/info -> /usr/share/info
* Mon Sep 13 1999 bs@suse.de
- ran old prepare_spec on spec file to switch to new prepare_spec.
* Mon Dec 14 1998 ro@suse.de
- build with glibc
- use configure-switch to compile in runtime-locations
* Thu Oct 02 1997 rj@suse.de
- version 1.2.alpha5 now working with build
* Thu Jan 02 1997 rj@suse.de
- package included again
	- new version 1.2.alpha5 (ELF-Binaries)
	- now including blox, stix and tcp
openSUSE Build Service is sponsored by