%define major 22 %define api 2.0 %define libname %mklibname guile %{api} %{major} %define develname %mklibname guile %{api} -d %define rlmajor 18 %define rlapi 18 %define rllibname %mklibname guilereadline %{rlapi} %{rlmajor} Name: guile%{api} Version: 2.0.14 Release: %mkrel 13 Summary: GNU implementation of Scheme for application extensibility License: LGPLv2+ Group: Development/Other URL: https://www.gnu.org/software/guile/guile.html Source0: https://ftp.gnu.org/gnu/guile/guile-%{version}.tar.gz Source1: https://ftp.gnu.org/gnu/guile/guile-%{version}.tar.gz.sig Patch1: guile2.0.info.patch Patch2: guile-autoconf.patch BuildRequires: libgmp-devel BuildRequires: libltdl-devel BuildRequires: pkgconfig(ncurses) BuildRequires: pkgconfig(readline) BuildRequires: gettext-devel BuildRequires: pkgconfig(bdw-gc) BuildRequires: pkgconfig(libffi) # for srfi-19.test BuildRequires: timezone BuildRequires: chrpath BuildRequires: texinfo Obsoletes: guile < 3.0 Requires(post): update-alternatives Requires(postun): update-alternatives %package -n %{libname} Summary: Libraries for Guile %{version} Group: System/Libraries Requires: %{name}-runtime = %{version}-%{release} %package -n %{rllibname} Summary: Libraries for Guile %{version} Group: System/Libraries %package -n %{develname} Summary: Development headers and static library for libguile Group: Development/C Requires: %{name} = %{version}-%{release} Requires: %{libname} = %{version}-%{release} Requires: %{rllibname} = %{version}-%{release} Provides: lib%{name}-devel = %{version}-%{release} Provides: %{name}-devel = %{version}-%{release} Obsoletes: %{_lib}guile-devel < 3.0 %package runtime Summary: Guile runtime library Group: System/Libraries Requires: %{rllibname} = %{version}-%{release} Obsoletes: guile-runtime < 3.0 %description GUILE (GNU's Ubiquitous Intelligent Language for Extension) is a library implementation of the Scheme programming language, written in C. GUILE provides a machine-independent execution platform that can be linked in as a library during the building of extensible programs. Install the guile package if you'd like to add extensibility to programs that you are developing. You'll also need to install the guile-devel package. %description -n %{libname} This package contains Guile shared object libraries. %description -n %{rllibname} This package contains Guile shared object libraries. %description -n %{develname} This package contains the development headers and the static library for libguile. C headers, aclocal macros, the `guile1.4-snarf' and `guile-config' utilities, and static `libguile' library for Guile, the GNU Ubiquitous Intelligent Language for Extension %description runtime This package contains Scheme runtime for GUILE, including ice-9 Scheme module. %prep %setup -qn guile-%{version} %autopatch -p1 #fix encodings for i in libguile/ChangeLog*; do mv $i $i.old iconv -f ISO8859-1 -t UTF-8 $i.old -o $i done #drop info pages rm -rf doc/ref/guile.info* %build autoreconf -vfi %configure \ --program-suffix="-%{api}" \ --disable-error-on-warning \ --disable-rpath \ --disable-static \ --with-threads \ --with-pic %make_build %install %make_install #remove rpath chrpath -d %{buildroot}%{_bindir}/guile-%{api} #rename conflicting m4 files mv %{buildroot}%{_datadir}/aclocal/{guile.m4,guile-%{api}.m4} #drop conflicting info pages rm -rf %{buildroot}%{_infodir} #we don't want these find %{buildroot} -name "*.la" -delete #remove ldflags from pkg-conf .pc file private.libs sed -i -e 's/-Wl,.*\s\+//g' %{buildroot}%{_libdir}/pkgconfig/guile-%{api}.pc #for ghost files touch %{buildroot}%{_datadir}/guile/%{api}/slibcat touch %{buildroot}%{_datadir}/guile/%{api}/slib #slib needs this mkdir -p %{buildroot}%{_datadir}/guile/site # Taken from Opensuse to prevent this ugly error message # ldconfig: /lib64/libguile-2.0.so.22.7.2-gdb.scm is not an ELF file - it has the wrong magic bytes at the start. mkdir -p %{buildroot}%{_datadir}/gdb/auto-load%{_libdir} mv %{buildroot}%{_libdir}/libguile*-gdb.scm %{buildroot}%{_datadir}/gdb/auto-load%{_libdir}/ # Create .so symlink for guile dynload mkdir -p %{buildroot}%{_libdir}/guile/%{api}/extensions ln -s %{_libdir}/libguilereadline-v-%{rlapi}.so.%{rlmajor} %{buildroot}%{_libdir}/guile/%{api}/extensions/libguilereadline-v-%{rlapi}.so %triggerin -- slib ln -sfT ../../slib %{_datadir}/guile/%{api}/slib rm -f %{_datadir}/guile/%{mver}/slibcat export SCHEME_LIBRARY_PATH=%{_datadir}/slib/ # Build SLIB catalog for pre in \ "(use-modules (ice-9 slib))" \ "(load \"%{_datadir}/slib/guile.init\")" do %{_bindir}/guile%{api} -c "$pre (set! implementation-vicinity (lambda () \"%{_datadir}/guile/%{api}/\")) (require 'new-catalog)" &> /dev/null && break rm -f %{_datadir}/guile/%{api}/slibcat done : %triggerun -- slib if [ "$1" = 0 -o "$2" = 0 ]; then rm -f %{_datadir}/guile/%{api}/slib{,cat} fi %triggerpostun -- guile < 2.0.14-8 if [ -e %{_bindir}/guile -a ! -L %{_bindir}/guile ]; then rm -rf %{_bindir}/{guile,guile-tools,guild} fi %triggerpostun -n %{develname} -- %{_lib}guile-devel < 2.0.14-8, %{_lib}guile2.0-devel < 2.0.14-9 if [ -e %{_bindir}/guile-config -a ! -L %{_bindir}/guile-config ]; then rm -rf %{_bindir}/guile-{config,snarf} fi %posttrans if [ "$1" -eq 1 ]; then update-alternatives \ --install %{_bindir}/guile guile %{_bindir}/guile-%{api} 20 \ --slave %{_bindir}/guile-tools guile-tools %{_bindir}/guile-tools-%{api} \ --slave %{_bindir}/guild guild %{_bindir}/guild-%{api} fi %posttrans -n %{develname} if [ "$1" -eq 1 ]; then update-alternatives \ --install %{_bindir}/guile-config guile-config %{_bindir}/guile-config-%{api} 20 \ --slave %{_bindir}/guile-snarf guile-snarf %{_bindir}/guile-snarf-%{api} fi %postun if [ "$1" -eq 0 ]; then update-alternatives --remove guile %{_bindir}/guile-%{api} fi %postun -n %{develname} if [ "$1" -eq 0 ]; then update-alternatives --remove guile-config %{_bindir}/guile-config-%{api} fi %files %doc AUTHORS ChangeLog GUILE-VERSION LICENSE README THANKS %ghost %{_bindir}/guile %ghost %{_bindir}/guile-tools %ghost %{_bindir}/guild %{_bindir}/guile-%{api} %{_bindir}/guile-tools-%{api} %{_bindir}/guild-%{api} %{_libdir}/guile/ %exclude %{_libdir}/guile/%{api}/ %{_datadir}/guile/ %exclude %{_datadir}/guile/%{api}/ %{_mandir}/man1/guile-%{api}.1* %files -n %{libname} %{_libdir}/libguile-%{api}.so.%{major}{,.*} %files -n %{rllibname} %{_libdir}/libguilereadline-v-%{rlapi}.so.%{rlmajor}{,.*} %files -n %{develname} %doc HACKING NEWS libguile/ChangeLog* %ghost %{_bindir}/guile-config %ghost %{_bindir}/guile-snarf %{_bindir}/guile-config-%{api} %{_bindir}/guile-snarf-%{api} %{_datadir}/aclocal/guile-%{api}.m4 %{_includedir}/guile/ %{_libdir}/libguile-%{api}.so %{_libdir}/libguilereadline-v-%{rlapi}.so %{_libdir}/pkgconfig/guile-%{api}.pc %{_datadir}/gdb/auto-load/%{_libdir}/libguile*-gdb.scm %files runtime %{_libdir}/guile/%{api}/ %{_datadir}/guile/%{api}/ # ugly workaround to not list files twice %exclude %{_datadir}/guile/%{api}/slibcat %exclude %{_datadir}/guile/%{api}/slib %ghost %{_datadir}/guile/%{api}/slibcat %ghost %{_datadir}/guile/%{api}/slib %changelog * Fri Mar 17 2023 daviddavid <daviddavid> 2.0.14-13.mga9 + Revision: 1949592 - fix dangling links shipping symlink only in one pkg and in the runtime one's * /usr/lib64/guile/2.0/extensions/libguilereadline-v-18.so -> /usr/lib64/libguilereadline-v-18.so.18 * Thu Jan 12 2023 daviddavid <daviddavid> 2.0.14-12.mga9 + Revision: 1932554 - rebuild for new libunistring 1.1 * Sat Mar 26 2022 umeabot <umeabot> 2.0.14-11.mga9 + Revision: 1827763 - Mageia 9 Mass Rebuild * Thu Aug 05 2021 luigiwalser <luigiwalser> 2.0.14-10.mga9 + Revision: 1739644 - rebuild for libffi * Sat Nov 14 2020 wally <wally> 2.0.14-9.mga8 + Revision: 1645280 - remove also devel package binaries without api in file name before trying to use update-alternatives * Sat Nov 07 2020 wally <wally> 2.0.14-8.mga8 + Revision: 1643444 - add post and postun requires for update-alternatives - remove binaries without api in file name before trying to use update-alternatives - remove ldflags from pkg-conf .pc file private.libs - drop conflicting info pages - fork as guile2.0 - fix build with autoconf 2.69d - make pkg parallel installable with other guile versions * Wed Aug 19 2020 ovitters <ovitters> 2.0.14-7.mga8 + Revision: 1615975 - remove install-info scriptlets, rely on filetrigger instead (mga#27107) * Tue Jun 16 2020 ovitters <ovitters> 2.0.14-6.mga8 + Revision: 1593500 - rebuild for new ffi * Tue Feb 18 2020 umeabot <umeabot> 2.0.14-5.mga8 + Revision: 1542180 - Mageia 8 Mass Rebuild + wally <wally> - replace deprecated %%configure2_5x * Sat Jan 04 2020 luigiwalser <luigiwalser> 2.0.14-4.mga8 + Revision: 1476156 - BR libffi-devel - rebuild for readline * Thu Oct 04 2018 umeabot <umeabot> 2.0.14-3.mga7 + Revision: 1317697 - Mageia 7 Mass Rebuild * Tue Jan 02 2018 wally <wally> 2.0.14-2.mga7 + Revision: 1189439 - rebuild for new readline * Fri Oct 06 2017 mrambo3501 <mrambo3501> 2.0.14-1.mga7 + Revision: 1169665 - version 2.0.14 * Thu Oct 27 2016 luigiwalser <luigiwalser> 2.0.13-2.mga6 + Revision: 1063710 - rebuild to bump release tag * Thu Oct 13 2016 luigiwalser <luigiwalser> 2.0.13-1.mga6 + Revision: 1060665 - 2.0.13 (fixes CVE-2016-8605 and CVE-2016-8606) * Thu Apr 14 2016 tv <tv> 2.0.11-4.mga6 + Revision: 1001332 - make devel pkg requires guile * Thu Feb 11 2016 umeabot <umeabot> 2.0.11-3.mga6 + Revision: 954279 - Mageia 6 Mass Rebuild * Tue Jul 14 2015 spuhler <spuhler> 2.0.11-2.mga6 + Revision: 853731 - fixed ldconf non ELF file error message * Sun Jul 12 2015 spuhler <spuhler> 2.0.11-1.mga6 + Revision: 853460 -upgrade to vers 2.0.11 (from 2.0.9) * Wed Oct 15 2014 umeabot <umeabot> 2.0.9-5.mga5 + Revision: 748926 - Second Mageia 5 Mass Rebuild * Tue Sep 16 2014 umeabot <umeabot> 2.0.9-4.mga5 + Revision: 680044 - Mageia 5 Mass Rebuild * Wed Sep 03 2014 luigiwalser <luigiwalser> 2.0.9-3.mga5 + Revision: 671688 - rebuild for libunistring * Sat Oct 19 2013 umeabot <umeabot> 2.0.9-2.mga4 + Revision: 536214 - Mageia 4 Mass Rebuild * Sun Sep 22 2013 fwang <fwang> 2.0.9-1.mga4 + Revision: 483288 - new version 2.0.9 * Sat Jan 12 2013 umeabot <umeabot> 2.0.6-3.mga3 + Revision: 352954 - Mass Rebuild - https://wiki.mageia.org/en/Feature:Mageia3MassRebuild * Sat Jan 05 2013 cjw <cjw> 2.0.6-2.mga3 + Revision: 339106 - add BuildRequires: texinfo * Mon Aug 20 2012 spuhler <spuhler> 2.0.6-1.mga3 + Revision: 282473 - upgrade to version 2.0.6 Removed patches for older versions + luigiwalser <luigiwalser> - rebuild for libffi * Tue Apr 03 2012 mitya <mitya> 2.0.5-4.mga2 + Revision: 228040 + rebuild (emptylog) * Tue Apr 03 2012 mitya <mitya> 2.0.5-3.mga2 + Revision: 228037 + rebuild (emptylog) * Mon Apr 02 2012 mitya <mitya> 2.0.5-2.mga2 + Revision: 227981 - Split Guile runtime off the main package to make Guile 1.8/2.0 parallel installable * Sun Feb 05 2012 wally <wally> 2.0.5-1.mga2 + Revision: 204830 - new version 2.0.5 - rediff P10 * Wed Dec 28 2011 wally <wally> 2.0.3-2.mga2 + Revision: 188446 - add triggerin and triggerun scripts back * Wed Dec 28 2011 wally <wally> 2.0.3-1.mga2 + Revision: 188386 - new version 2.0.3 - new major and api versions - rediff P0 and P2 - sync patches with OpenSuse - for now conflict with older guile1.8 - clean .spec * Sun Nov 20 2011 dmorgan <dmorgan> 1.8.8-6.mga2 + Revision: 170152 - Remove .la files * Thu Jul 07 2011 ahmad <ahmad> 1.8.8-5.mga2 + Revision: 119732 - Update to 1.8.8 - We don't have sparc or ppc ports - Drop patch4 (testsuite2), fixed upstream * Mon Apr 18 2011 rtp <rtp> 1.8.7-5.mga1 + Revision: 87633 - backport fix for the build of the documentation + dmorgan <dmorgan> - Remove mdv macros - imported package guile * Thu Feb 18 2010 Frederic Crozat <fcrozat@mandriva.com> 1.8.7-4mdv2010.1 + Revision: 507813 - Move slib registration to versioned directory (sync with Fedora) - run autoreconf at setup time, not build time * Tue Feb 09 2010 Funda Wang <fwang@mandriva.org> 1.8.7-3mdv2010.1 + Revision: 502947 - add fedora testsuite2 patch - rebuild for new gmp * Sun Nov 15 2009 Funda Wang <fwang@mandriva.org> 1.8.7-2mdv2010.1 + Revision: 466127 - fix testsuite - new version 1.8.7 * Wed Oct 07 2009 Thierry Vignaud <tvignaud@mandriva.com> 1.8.6-4mdv2010.0 + Revision: 455514 - move huge NEWS in devel package * Wed Feb 25 2009 Thierry Vignaud <tvignaud@mandriva.com> 1.8.6-3mdv2009.1 + Revision: 344659 - rebuild for new libreadline * Tue Jan 27 2009 Funda Wang <fwang@mandriva.org> 1.8.6-2mdv2009.1 + Revision: 334494 - rebuild for new libtool * Fri Dec 26 2008 Funda Wang <fwang@mandriva.org> 1.8.6-1mdv2009.1 + Revision: 319293 - New version 1.8.6 * Sun Dec 21 2008 Funda Wang <fwang@mandriva.org> 1.8.5-2mdv2009.1 + Revision: 317103 - drop LDFLAGS from pkgconfig file * Fri Sep 05 2008 Emmanuel Andry <eandry@mandriva.org> 1.8.5-1mdv2009.0 + Revision: 281322 - fix file list - New version - check major - update file list * Mon Jun 09 2008 Pixel <pixel@mandriva.com> 1.8.3-2mdv2009.0 + Revision: 217186 - do not call ldconfig in %%post/%%postun, it is now handled by filetriggers + Olivier Blin <oblin@mandriva.com> - restore BuildRoot + Thierry Vignaud <tvignaud@mandriva.com> - kill re-definition of %%buildroot on Pixel's request * Wed Nov 28 2007 Frederic Crozat <fcrozat@mandriva.com> 1.8.3-2mdv2008.1 + Revision: 113733 - Remove patch2 and dependency on umb-scheme (deprecated) - add triggers for slib support (fedora) * Wed Nov 07 2007 Adam Williamson <awilliamson@mandriva.org> 1.8.3-1mdv2008.1 + Revision: 106629 - BUGS doesn't exist any more... - rediff 64bit-fixes.patch and slib.patch - drop srfi-14-test.patch and rational.patch (merged upstream) - move docs out of lib package (per lib policy) - new devel policy - new license policy - new version 1.8.3 * Mon Jan 08 2007 Götz Waschk <waschk@mandriva.org> 1.8.1-7mdv2007.0 + Revision: 105967 - bot rebuild + Michael Scherer <misc@mandriva.org> - rebuild - use %%rel scheme for %%mkrel - use fedora patch, to fix a gnucash crash, reported by goetz <unnamed port>: In expression (user-vicinity): <unnamed port>: Unbound variable: user-vicinity I do not really understand why the previous patch was wrong, but i am not a lisp master. This one comes from fedora packages, and work well with gnucash. * Sun Jan 07 2007 David Walluck <walluck@mandriva.org> 1.8.1-5mdv2007.1 + Revision: 105149 - devel package Requires: libgmp-devel * Sun Jan 07 2007 David Walluck <walluck@mandriva.org> 1.8.1-4mdv2007.1 + Revision: 105126 - remove references to libqthreads - BuildRequires: libgmp-devel add rational patch for lilypond - add slib patch - 1.8.1 + Bruno Cornec <Bruno.Cornec@mandriva.org> - import guile-1.6.8-3mdv2007.0 * Wed Aug 09 2006 Götz Waschk <waschk@mandriva.org> 1.6.8-3mdv2007.0 - add slib symlink - bump umb-scheme dep * Tue Aug 08 2006 Götz Waschk <waschk@mandriva.org> 1.6.8-2mdv2007.0 - fix post installation script * Tue Aug 08 2006 Götz Waschk <waschk@mandriva.org> 1.6.8-1mdv2007.0 - New release 1.6.8 * Wed Mar 08 2006 Michael Scherer <misc@mandriva.org> 1.6.7-9mdk - fix requires on x86_64 ( no quick thread ) - do use file based requires * Wed Jan 18 2006 Christiaan Welvaart <cjw@daneel.dyndns.org> 1.6.7-8mdk - fix build for x86-64 - no qthreads * Wed Oct 12 2005 Christiaan Welvaart <cjw@daneel.dyndns.org> 1.6.7-7mdk - fix file list and deps for ppc - no quickthreads * Fri Aug 26 2005 Abel Cheung <deaddog@mandriva.org> 1.6.7-6mdk - Move some .so symlinks to main package as they are dynamically loaded by *.scm files (#13837) - Prereq -> Requires (#17444) * Sun Aug 21 2005 Christiaan Welvaart <cjw@daneel.dyndns.org> 1.6.7-5mdk - add BuildRequires: libltdl-devel * Sat Aug 20 2005 Gwenole Beauchesne <gbeauchesne@mandriva.com> 1.6.7-4mdk - gcc4 fixes * Thu Feb 03 2005 Abel Cheung <deaddog@mandrake.org> 1.6.7-3mdk - multiarch - Fix info-install requirement * Fri Jan 21 2005 Götz Waschk <waschk@linux-mandrake.com> 1.6.7-2mdk - rebuild for new readline * Sun Dec 26 2004 Abel Cheung <deaddog@mandrake.org> 1.6.7-1mdk - New release - Use tar.gz (with signature) - Move shared files out of lib package, allowing multilib