File slib.spec of Package slib

#
# spec file for package slib (Version 3b1)
#
# 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:           slib
License:        Any permissive
Group:          Development/Languages/Scheme
Provides:       scheme:/usr/lib/scheme/slib/umbscheme.init
PreReq:         %install_info_prereq
PreReq:         guile coreutils
AutoReqProv:    on
Version:        3b1
Release:        19
Summary:        Portable Scheme Library
Url:            http://swissnet.ai.mit.edu/~jaffer/SLIB.html
Source:         %{name}-%{version}.tar.bz2
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
BuildArch:      noarch

%description
SLIB is a portable Scheme library providing compatibility and utility
functions for all standard Scheme implementations.



Authors:
--------
    William R. Campbell <bill@cs.umb.edu>

%prep
%setup -q -n slib

%build

%install
install -m 755 -d $RPM_BUILD_ROOT/usr/share/slib/
install -m 755 -d $RPM_BUILD_ROOT/%{_infodir}/
install -m 644 *.scm *.init $RPM_BUILD_ROOT/usr/share/slib/
install -m 644 slib.info* $RPM_BUILD_ROOT%{_infodir}/

%clean
rm -rf $RPM_BUILD_ROOT

%triggerin -- guile
# install guile library
# We need new guile for registration, see "Incompatible change in guile 1.8.2".
# During update must be slib-3a5 installed first (See Conflits: slib < 3a5 in guile.spec)
# because of %triggerin in slib, 3a1 for example, though.
if [ -d usr/share/guile/site ] ; then
  # guile is instaled
  if [ "`usr/bin/guile -c '(define foo (begin (set! foo 1) (+ foo 1)))' 2>&1`" ]; then
    # we have guile >= 1.8.2
    if [ ! -e usr/share/guile/site/slib ] ; then
      # link slib library into guile
      ln -sf ../../slib usr/share/guile/site/slib
    fi
    usr/bin/guile -c "(use-modules (ice-9 slib)) (require 'new-catalog)"
  fi
fi
exit 0

%triggerpostun -- guile
# Delete slib library files, only if guile was uninstalled.
if ! test -e usr/bin/guile ; then
    rm -f usr/share/guile/site/slib
    rm -f usr/share/guile/site/slibcat
    rmdir --ignore-fail-on-non-empty usr/share/guile/site
    rmdir --ignore-fail-on-non-empty usr/share/guile
fi
exit 0

%post
%install_info --info-dir=%{_infodir} %{_infodir}/%{name}.info.gz
# install guile library
# We need new guile for registration, see "Incompatible change in guile 1.8.2".
# During update must be slib-3a5 installed first (See Conflits: slib < 3a5 in guile.spec)
# because of %triggerin in slib, 3a1 for example, though.
if [ -d usr/share/guile/site ] ; then
  # guile is instaled
  if [ "`usr/bin/guile -c '(define foo (begin (set! foo 1) (+ foo 1)))' 2>&1`" ]; then
  # we have guile >= 1.8.2
    if [ ! -e usr/share/guile/site/slib ] ; then
      # link slib library into guile
      ln -sf ../../slib usr/share/guile/site/slib
    fi
    usr/bin/guile -c "(use-modules (ice-9 slib)) (require 'new-catalog)"
  fi
fi

%postun
%install_info_delete --info-dir=%{_infodir} %{_infodir}/%{name}.info.gz
# Delete guile library, only if slib or guile was uninstalled.
if ! test -d usr/share/slib -a -d usr/share/guile/site ; then
    rm -f usr/share/guile/site/slib
    rm -f usr/share/guile/site/slibcat
fi

%files
%defattr(-,root,root)
%doc ANNOUNCE COPYING ChangeLog FAQ README
%doc %{_infodir}/*
%{_datadir}/slib

%changelog
* Thu Nov 13 2008 ro@suse.de
- make sure trigger scripts do not fail
* Tue Nov 04 2008 pgajdos@suse.cz
- added coreutils and guile to PreReq [bnc#440993]
* Thu Jul 31 2008 pgajdos@suse.cz
- updated to 3b1:
  o Larceny (Scheme) is supported.
  o scheme48.init (slib:os-strings): Fixed init for 1.7 (and 1.3).
  (defmacro:eval, defmacro:load): Fixed.
  o guile.init (implementation-vicinity): Just (%%site-dir).
  (file-position, gentemp): module-replace!
  (library-vicinity): Try (%%search-load-path "slib/guile.init").
* Mon Feb 04 2008 pgajdos@suse.cz
- added test for version of guile to the %%post and %%triggerin
  (guile >= 1.8.2 is needed for slib registration)
* Wed Dec 19 2007 pgajdos@suse.cz
- updated to 3a5:
  * Draft SRFI-96 "SRFI Prerequisites" specifies the interface
  between implementations and the SLIB library system.
  * Added support for Kawa and SISC.
  * SSAX (xml-parse) module ported from SSAX 5.1.
  * Sort package compatibly upgraded to SRFI-95.
  * Added features SRFI-11 (let-values) and SRFI-28 (format).
  * Updated "guile.init" for Guile 1.8.
  * Updated "mitscheme.init" for versions after 7.7.1.
  * Rewrote scheme48(.init) delete-file using Posix unlink.
  * Fixed problem with macros-that-work.
* Mon Apr 02 2007 sbrabec@suse.cz
- Fixed %%triggerin symlink target (#258261).
* Fri Mar 09 2007 sbrabec@suse.cz
- Fixed scriptlet symlink target.
* Mon Mar 05 2007 sbrabec@suse.cz
- Slib guile library installation moved from guile to slib.
* Fri Sep 08 2006 anicka@suse.cz
- remove manually generated slibcat, fixed in guile
* Thu May 04 2006 sbrabec@suse.cz
- Build as noarch.
* Fri Feb 10 2006 anicka@suse.cz
- install slibcat (fixes #147520), has to be regenerated with every
  update
* Wed Jan 25 2006 mls@suse.de
- converted neededforbuild to BuildRequires
* Fri Sep 09 2005 anicka@suse.cz
- switch back to 3a1 (#112942)
* Thu Jun 30 2005 anicka@suse.cz
- update to 3a2
* Tue Dec 16 2003 mcihar@suse.cz
- updated to 3a1
- no root for build
* Thu Apr 24 2003 ro@suse.de
- fix install_info --delete call and move from preun to postun
* Mon Feb 10 2003 mcihar@suse.cz
- used %%install_info macro (fixes bug #23457)
- updated to version 2d5
* Tue Aug 06 2002 mcihar@suse.cz
- updated to version 2d4
* Thu Dec 06 2001 pmladek@suse.cz
- package splited from the package scheme
- updated to version 2d2
openSUSE Build Service is sponsored by