File guile.spec of Package guile.openSUSE_12.1_Update

#
# spec file for package guile
#
# Copyright (c) 2013 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/
#


# define the name used for versioning libs and directories.
%define guilevers 2.0

Name:           guile
BuildRequires:  gc-devel
BuildRequires:  gmp-devel
BuildRequires:  libffi46-devel
BuildRequires:  libtool
BuildRequires:  libunistring-devel
BuildRequires:  pkg-config
BuildRequires:  readline-devel
Version:        2.0.2
Release:        0
Summary:        GNU's Ubiquitous Intelligent Language for Extension
License:        LGPL-3.0+ and GPL-3.0+ and GFDL-1.3+
Group:          Development/Languages/Scheme
Url:            http://www.gnu.org/software/guile/
Source0:        %{name}-%{version}.tar.bz2
Patch1:         %{name}-64bit.patch
Patch2:         %{name}-1.6.10-mktemp.patch
# Fix the wrong FSF address in a few headers.
Patch3:         %{name}-fix_fsf_add.patch
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
PreReq:         fileutils sh-utils
PreReq:         %install_info_prereq
Conflicts:      slib < 3a5

%description
This is Guile, a portable, embeddable Scheme implementation written in
C. Guile provides a machine independent execution platform that can be
linked in as a library when building extensible programs.

%package -n libguile-2_0-22
Summary:        GNU's Ubiquitous Intelligent Language for Extension
License:        LGPL-3.0+ and GPL-3.0+ and GFDL-1.3+
Group:          Development/Languages/Scheme

%description -n libguile-2_0-22
This is Guile, a portable, embeddable Scheme implementation written in
C. Guile provides a machine independent execution platform that can be
linked in as a library when building extensible programs. This package
contains the shared libraries.

%package -n libguilereadline-v-18-18
Summary:        GNU's Ubiquitous Intelligent Language for Extension
License:        LGPL-3.0+ and GPL-3.0+ and GFDL-1.3+
Group:          Development/Languages/Scheme

%description -n libguilereadline-v-18-18
This is Guile, a portable, embeddable Scheme implementation written in
C. Guile provides a machine independent execution platform that can be
linked in as a library when building extensible programs. This package
contains the shared libraries.

%package devel
Summary:        GNU's Ubiquitous Intelligent Language for Extension
License:        LGPL-2.1+
Group:          Development/Languages/Scheme
Requires:       gc-devel
Requires:       gmp-devel
Requires:       guile
Requires:       libffi-devel
Requires:       libguile-2_0-22 = %{version}-%{release}
Requires:       libguilereadline-v-18-18 = %{version}-%{release}
Requires:       libunistring-devel
Requires:       ncurses-devel
Requires:       readline-devel

%description devel
This is Guile, a portable, embeddable Scheme implementation written in
C. Guile provides a machine independent execution platform that can be
linked in as a library when building extensible programs.

%prep
%setup -q
%patch1
%patch2
%patch3
# force rebuild with non-broken makeinfo
#rm -f doc/*/*.info

%build
# FIXME: Following files are apparently compiled without RPM_OPT_FLAGS:
# gen-scmconfig.c,c-tokenize.c

%configure --disable-static --with-pic \
	--with-threads --disable-silent-rules
make

%check
LD_LIBRARY_PATH="." make check

%install
make install DESTDIR=$RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT%{_datadir}/guile/site

%post devel
%install_info --info-dir=%{_infodir} %{_infodir}/%{name}.info.gz
%install_info --info-dir=%{_infodir} %{_infodir}/r5rs.info.gz

%postun devel
%install_info_delete --info-dir=%{_infodir} %{_infodir}/%{name}.info.gz
%install_info_delete --info-dir=%{_infodir} %{_infodir}/r5rs.info.gz

%pre
# Remove obsolete files (< SuSE Linux 10.2)
rm -f var/adm/SuSEconfig/md5/usr/share/guile/*/slibcat
rm -f usr/share/guile/site/slibcat.SuSEconfig

%post -n libguile-2_0-22
/sbin/ldconfig

%postun -n libguile-2_0-22
/sbin/ldconfig

%files -n libguile-2_0-22
%defattr(-,root,root)
%{_libdir}/libguile-%{guilevers}.so.22*

%post -n libguilereadline-v-18-18
/sbin/ldconfig

%postun -n libguilereadline-v-18-18
/sbin/ldconfig

%files  -n libguilereadline-v-18-18
%defattr(-,root,root)
%{_libdir}/libguilereadline-v-18.so
%{_libdir}/libguilereadline-v-18.so.18*

%files
%defattr(-,root,root)
%doc ABOUT-NLS AUTHORS COPYING* ChangeLog GUILE-VERSION HACKING
%doc LICENSE NEWS README THANKS
%{_bindir}/*
%dir %{_datadir}/%{name}
%dir %{_datadir}/%{name}/%{guilevers}
%{_datadir}/%{name}/%{guilevers}/*
# NOTE: At least some .so files must be here, required for dynamic-link.
# Own usr/share/guile/site; side effect of not doing so is slib failing to install correctly.
%dir %{_datadir}/%{name}/site
%{_mandir}/man1/guile.1.gz
%{_libdir}/%{name}

%files devel
%defattr(-,root,root)
%dir %{_includedir}/%{name}
%dir %{_includedir}/%{name}/%{guilevers}
%{_includedir}/%{name}/%{guilevers}/*
%{_datadir}/aclocal/guile.m4
%doc %{_infodir}/%{name}.info.gz
%doc %{_infodir}/%{name}.info-[0-9].gz
%doc %{_infodir}/r5rs.info.gz
%{_libdir}/libguile-%{guilevers}.so
%{_libdir}/libguile*.la
%{_libdir}/pkgconfig/guile-%{guilevers}.pc

%changelog
openSUSE Build Service is sponsored by