Blob Blame History Raw
Summary: GNU Smalltalk
Name: gnu-smalltalk
Version: 2.3
Release: 4%{?dist}
# Source: smalltalk-2.2b.tar.gz
Source: ftp://ftp.gnu.org/gnu/smalltalk/smalltalk-%{version}.tar.gz
Patch1: gst-2.3-am.patch
Patch2: gst-2.3-install.patch
License: GPL
Group: Development/Languages
URL: http://www.gnu.org/software/smalltalk/smalltalk.html
Buildroot: %{_tmppath}/%{name}-%{version}-root-%(%{__id_u} -n)

ExcludeArch: x86_64

Requires(post): /sbin/install-info
Requires(preun): /sbin/install-info

#BuildRequires: automake
#BuildRequires: autoconf >= 2.60
BuildRequires: tk-devel
BuildRequires: gtk2-devel
BuildRequires: gdbm-devel
BuildRequires: gmp-devel
BuildRequires: readline-devel
BuildRequires: emacs
BuildRequires: libtool
BuildRequires: texinfo

%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.
The Smalltalk programming language is an object oriented programming
language.

Unlike other Smalltalks (including Smalltalk-80), GNU Smalltalk
emphasizes Smalltalk's rapid prototyping features rather than the
graphical and easy-to-use nature of the programming environment.

Therefore, even though we have a nice GUI environment including a class
browser, the goal of the GNU Smalltalk project is currently to produce a
complete system to be used to write your scripts in a clear, aesthetically
pleasing, and philosophically appealing programming language.

%package emacs
Summary: Emacs mode for GNU Smalltalk
Group: Applications/Editors
Requires: %{name} = %{version}, emacs
%description emacs
This Package contains the Smalltalk mode for Emacs.

%package devel
Summary: Development Stuff for the GNU Smalltalk package
Group: Development/Libraries
Requires: %{name} = %{version}
Requires: automake
Requires: pkgconfig
%description devel
This Package contains header files and other stuff provided by
GNU Smalltalk.

You will need this package, if you want to extent GNU Smalltalk
with functions written in C.

%prep
%setup -q -n smalltalk-%{version}
%patch1 -p1 -b .automake
%patch2 -p1 -b .inst

%build
#automake
#autoreconf
%configure --with-tcl=%{_libdir} --with-tk=%{_libdir} \
  --enable-static=no --enable-shared=yes --disable-rpath

make %{?_smp_mflags} LIBTOOL="%{_bindir}/libtool"

%install
rm -rf $RPM_BUILD_ROOT
make DESTDIR=$RPM_BUILD_ROOT INSTALL="install -c -p" install

rm -rf $RPM_BUILD_ROOT/%{_libdir}/libgst*a*
rm -rf $RPM_BUILD_ROOT/%{_libdir}/gnu-smalltalk/*.la
rm -rf $RPM_BUILD_ROOT/%{_includedir}/sigsegv.h

rm -rf $RPM_BUILD_ROOT/%{_libdir}/%{name}/*.a

rm -rf $RPM_BUILD_ROOT/%{_infodir}/dir

%check
make check

%clean
rm -rf $RPM_BUILD_ROOT

%post
/sbin/install-info %{_infodir}/gst.info %{_infodir}/dir || :
/sbin/install-info %{_infodir}/gst-base.info %{_infodir}/dir || :
/sbin/install-info %{_infodir}/gst-libs.info %{_infodir}/dir || :
/sbin/ldconfig

%preun
if [ $1 = 0 ]; then
  /sbin/install-info --delete %{_infodir}/gst.info %{_infodir}/dir || :
  /sbin/install-info --delete %{_infodir}/gst-base.info %{_infodir}/dir || :
  /sbin/install-info --delete %{_infodir}/gst-libs.info %{_infodir}/dir || :
fi

%postun -p /sbin/ldconfig

%files
%defattr(-,root,root,-)
%{_bindir}/gst
%{_bindir}/gst-load
%{_bindir}/gst-package
%{_bindir}/gst-reload
%{_bindir}/gst-sunit

%{_libdir}/libgst.so.*

%{_libdir}/gnu-smalltalk/
%{_datadir}/gnu-smalltalk/

%{_infodir}/gst.info*
%{_infodir}/gst-*.info*

%{_mandir}/man1/gst.1*

%doc AUTHORS COPYING COPYING.DOC COPYING.LIB ChangeLog 
%doc NEWS README THANKS TODO

%files devel
%defattr(-,root,root,-)
%{_bindir}/gst-config
%{_libdir}/libgst.so
%{_libdir}/pkgconfig/gnu-smalltalk.pc

%{_datadir}/aclocal/*.m4

%{_includedir}/gst.h   
%{_includedir}/gstpub.h 

%files emacs
%defattr(-,root,root,-)
%{_datadir}/emacs/site-lisp/*

%changelog
* Thu Dec  7 2006 Jochen Schmitt <Jochen herr-schmitt de> 2.3-4
- Exclude x86_64 bc/ build failure

* Thu Dec  7 2006 Jochen Schmitt <Jochen herr-schmitt de> 2.3-3
- Fix wrong lib option in gst-config

* Wed Dec  6 2006 Jochen Schmitt <Jochen herr-schmitt de> 2.3-2
- Fix wrong Requires
- Fix gst-package.in file

* Tue Dec  5 2006 Jochen Schmitt <Jochen herr-schmitt de> 2.3-1
- New upstream release

* Wed Nov 29 2006 Jochen Schmitt <Jochen herr-schmitt de> 2.2c-4
- Remove files which will be gone in gnu-smalltalk-2.3

* Tue Nov 28 2006 Jochen Schmitt <Jochen herr-schmitt de> 2.2c-3
- Cleanup configure section
- Try to preserve timestamps

* Mon Nov 27 2006 Jochen Schmitt <Jochen herr-schmitt de> 2.2c-2
- Done some cleanup on configure step
- Add Patch to fix broken gst-config

* Mon Nov 20 2006 Jochen Schmitt <Jochen herr-schmitt de> 2.2c-1
- New upstream release

* Mon Feb 20 2006 Jochen Schmitt <Jochen herr-schmitt de> 2.2-8
- Add libtool as BuildRequires
- Add LIBTOOL=/usr/bin/libtool at the make step

* Tue Jan 31 2006 Jochen Schmitt <jochen herr-schmitt de> 2.2-7
- Fix rpmlint errors

* Tue Jan 10 2006 Jochen Schmitt <Jochen herr-schmitt de> 2.2-6
- Added --disable-rpath
- Added --enable-static=no
- fix broken Shebangs

* Tue Dec 13 2005 Jochen Schmitt <Jochen herr-schmitt de> 2.2-5
- Deps from -devel and -emacs more strict
- Move libgst.so.* to main package

* Wed Dec  7 2005 Jochen Schmitt <Jochen herr-schmitt de> 2.2-4
- remove dep to lightning

* Sun Dec  4 2005 Jochen Schmitt <Jochen herr-schmitt de> 2.2-3
- Add aclocal
- Add depend to lightning

* Tue Nov 29 2005 Jochen Schmitt <Jochen herr-schmitt de> 2.2-2
- Rename package
- install-info for gst-base and gst-libs
- move libgst.so to devel package

* Thu Nov 24 2005 Jochen Schmitt <Jochen herr-schmitt de> 2.2-1
- Initial RPM