# # spec file for package guile # # Copyright (c) 2012 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 guilemaj 2 %define guilemin 0 %define guilevers %{guilemaj}.%{guilemin} %define libgver 22 %define gsuff %{guilemaj}_%{guilemin}-%{libgver} %define libgreadver 18 %define greadsuff v-%{libgreadver}-%{libgreadver} Name: guile BuildRequires: gc-devel BuildRequires: gmp-devel BuildRequires: libffi46-devel BuildRequires: libltdl-devel BuildRequires: libunistring-devel BuildRequires: pkg-config BuildRequires: readline-devel Version: %{guilevers}.3 Release: 0 Summary: GNU's Ubiquitous Intelligent Language for Extension License: GFDL-1.3 and GPL-3.0+ and LGPL-3.0+ 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 Patch4: %{name}-turn-off-gc-test.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-%{gsuff} Summary: GNU's Ubiquitous Intelligent Language for Extension License: GFDL-1.3 and GPL-3.0+ and LGPL-3.0+ Group: Development/Languages/Scheme Requires: %{name}-modules-%{guilemaj}_%{guilemin} >= %{version} %description -n libguile-%{gsuff} 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 modules-%{guilemaj}_%{guilemin} Summary: GNU's Ubiquitous Intelligent Language for Extension License: GFDL-1.3 and GPL-3.0+ and LGPL-3.0+ Group: Development/Languages/Scheme %description modules-%{guilemaj}_%{guilemin} 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 guile modules. %package -n libguilereadline-%{greadsuff} Summary: GNU's Ubiquitous Intelligent Language for Extension License: GFDL-1.3 and GPL-3.0+ and LGPL-3.0+ Group: Development/Languages/Scheme %description -n libguilereadline-%{greadsuff} 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: gmp-devel readline-devel ncurses-devel gc-devel libunistring-devel libffi-devel # following Requires needed because /usr/bin/guile-config needs /usr/bin/guile Requires: guile = %{version} Requires: libguilereadline-%{greadsuff} = %{version} Requires: libguile-%{gsuff} = %{version} %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 %patch4 -p1 # 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 find %{buildroot}%{_libdir} -type f -name '*.la' -delete -print %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-%{gsuff} -p /sbin/ldconfig %postun -n libguile-%{gsuff} -p /sbin/ldconfig %post -n libguilereadline-%{greadsuff} -p /sbin/ldconfig %postun -n libguilereadline-%{greadsuff} -p /sbin/ldconfig %files %defattr(-,root,root) %doc ABOUT-NLS AUTHORS COPYING* ChangeLog GUILE-VERSION HACKING %doc LICENSE NEWS README THANKS %{_bindir}/guile-tools %{_bindir}/guild %{_bindir}/guile %{_mandir}/man1/guile.1.gz %files -n libguile-%{gsuff} %defattr(-,root,root) %{_libdir}/libguile-%{guilevers}.so.%{libgver}* %files modules-%{guilemaj}_%{guilemin} %defattr(-,root,root) %{_libdir}/%{name} # Own usr/share/guile/site; side effect of not doing so is slib failing to install correctly. %{_datadir}/%{name} %files -n libguilereadline-%{greadsuff} %defattr(-,root,root) %{_libdir}/libguilereadline-v-%{libgreadver}.so.%{libgreadver}* %files devel %defattr(-,root,root) %{_bindir}/guile-snarf %{_bindir}/guile-config %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}/%{name}.info-1[0-9].gz %doc %{_infodir}/r5rs.info.gz %{_libdir}/libguile*.so %{_libdir}/pkgconfig/guile-%{guilevers}.pc %changelog