Sisyphus repository
Last update: 1 october 2023 | SRPMs: 18631 | Visits: 37770025
en ru br
ALT Linux repos
S:3b7-alt1
5.0: 3a4-alt1
4.1: 3a4-alt1
4.0: 3a4-alt0.4
3.0: 3a1-alt1

Group :: Development/Scheme
RPM: slib

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs and FR  Repocop 

Name: slib
Version: 3a1
Release: alt1
Packager: Alexey Voinov <voins at altlinux.ru>

Summary: platform independent library for scheme
License: distributable, see individual files for copyright
Group: Development/Scheme
BuildArch: noarch
Obsoletes: umb-scheme
BuildPreReq: guile plt2

URL: http://swissnet.ai.mit.edu/~jaffer/SLIB.html
Source0: %name%version.tar.bz2
Patch0: %name-2d6-umbscheme.patch

%description
"SLIB" is a portable library for the programming language Scheme.
It provides a platform independent framework for using "packages" of
Scheme procedures and syntax.  As distributed, SLIB contains useful
packages for all Scheme implementations.  Its catalog can be
transparently extended to accomodate packages specific to a site,
implementation, user, or directory.

%package guile
Summary: guile support for slib
Group: Development/Scheme
Requires: %name = %version-%release

%description guile
"SLIB" is a portable library for the programming language Scheme.
It provides a platform independent framework for using "packages" of
Scheme procedures and syntax.  As distributed, SLIB contains useful
packages for all Scheme implementations.  Its catalog can be
transparently extended to accomodate packages specific to a site,
implementation, user, or directory.

This package provides files necessary to use slib with guile

%package plt2
Summary: mzscheme support for slib
Group: Development/Scheme
Requires: plt2
Requires: %name = %version-%release

%description plt2
"SLIB" is a portable library for the programming language Scheme.
It provides a platform independent framework for using "packages" of
Scheme procedures and syntax.  As distributed, SLIB contains useful
packages for all Scheme implementations.  Its catalog can be
transparently extended to accomodate packages specific to a site,
implementation, user, or directory.

This package provides files necessary to use slib with mzscheme

%package plt1
Summary: mzscheme support for slib
Group: Development/Scheme
Requires: plt1
Requires: %name = %version-%release

%description plt1
"SLIB" is a portable library for the programming language Scheme.
It provides a platform independent framework for using "packages" of
Scheme procedures and syntax.  As distributed, SLIB contains useful
packages for all Scheme implementations.  Its catalog can be
transparently extended to accomodate packages specific to a site,
implementation, user, or directory.

This package provides files necessary to use slib with mzscheme

%prep
%setup -q -n slib
%patch -p1

%install
mkdir -p $RPM_BUILD_ROOT%_datadir/%name
cp -r . $RPM_BUILD_ROOT%_datadir/%name
mkdir -p $RPM_BUILD_ROOT%_infodir
cp slib.info $RPM_BUILD_ROOT%_infodir


mkdir -p $RPM_BUILD_ROOT%_datadir/guile
ln -sf ../slib $RPM_BUILD_ROOT%_datadir/guile/%name
guile -c "(set! %%load-path (cons \"$RPM_BUILD_ROOT%_datadir/guile\" %%load-path)) (load \"$RPM_BUILD_ROOT%_datadir/guile/%name/guile.init\") (use-modules (ice-9 slib)) (require 'new-catalog)"
sed -e"s,$RPM_BUILD_ROOT,,;s,\*slib-version\*,*SLIB-VERSION*," \
$RPM_BUILD_ROOT%_datadir/guile/slibcat \
> $RPM_BUILD_ROOT%_datadir/guile/slibcat.tmp
mv $RPM_BUILD_ROOT%_datadir/guile/slibcat.tmp $RPM_BUILD_ROOT%_datadir/guile/slibcat


mkdir -p $RPM_BUILD_ROOT%_libdir/plt2/collects
ln -sf %_libdir/plt2/collects/slibinit $RPM_BUILD_ROOT%_libdir/plt2/collects/slibinit
ln -sf %_libdir/plt2/collects/mzlib $RPM_BUILD_ROOT%_libdir/plt2/collects/mzlib
ln -sf ../../../share/slib $RPM_BUILD_ROOT%_libdir/plt2/collects/%name
SCHEME_LIBRARY_PATH=$RPM_BUILD_ROOT%_libdir/plt2/collects/%name/ \
PLTHOME=$RPM_BUILD_ROOT%_libdir/plt2 \
mzscheme-2 -e "(require (lib \"load.ss\" \"slibinit\"))" -e "(require 'new-catalog)" -e "(exit)"
sed -e"s,$RPM_BUILD_ROOT,,;s,\*slib-version\*,*SLIB-VERSION*," \
$RPM_BUILD_ROOT%_libdir/plt2/slibcat \
> $RPM_BUILD_ROOT%_libdir/plt2/slibcat.tmp
mv $RPM_BUILD_ROOT%_libdir/plt2/slibcat.tmp $RPM_BUILD_ROOT%_libdir/plt2/slibcat

%post
%install_info slib.info

%preun
[ $1 = 0 ] || exit 0
%uninstall_info slib.info

%files
%doc ANNOUNCE README COPYING FAQ ChangeLog
%dir %_datadir/%name
%_datadir/%name/*.scm
%_datadir/%name/*.init
%_datadir/%name/cie1931.xyz
%_datadir/%name/cie1964.xyz
%_datadir/%name/saturate.txt
%_datadir/%name/resenecolours.txt
%_infodir/*.info*

%files guile
%_datadir/guile/%name
%_datadir/guile/slibcat

%files plt2
%_libdir/plt2/collects/%name
%_libdir/plt2/slibcat

%changelog

Full changelog you can see here

 
design & coding: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
current maintainer: Michael Shigorin