diff --git a/README.md b/README.md index a452d55..9ed6251 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,7 @@ # libguile1 +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. + diff --git a/libguile-1.8.7-gcc-4.5.patch b/libguile-1.8.7-gcc-4.5.patch new file mode 100644 index 0000000..cfcfd78 --- /dev/null +++ b/libguile-1.8.7-gcc-4.5.patch @@ -0,0 +1,24 @@ +diff --git a/module/scripts/snarf-check-and-output-texi.scm b/module/scripts/snarf-check-and-output-texi.scm +index 0e7efae..f92c833 100644 +--- a/module/scripts/snarf-check-and-output-texi ++++ b/module/scripts/snarf-check-and-output-texi +@@ -262,6 +262,17 @@ + (set! *file* file) + (set! *line* line)) + ++ ;; newer gccs like to throw around more location markers into the ++ ;; preprocessed source; these (hash . hash) bits are what they translate to ++ ;; in snarfy terms. ++ (('location ('string . file) ('int . line) ('hash . 'hash)) ++ (set! *file* file) ++ (set! *line* line)) ++ ++ (('location ('hash . 'hash) ('string . file) ('int . line) ('hash . 'hash)) ++ (set! *file* file) ++ (set! *line* line)) ++ + (('arglist rest ...) + (set! *args* (do-arglist rest))) + +-- +cgit v0.8.2.1 diff --git a/libguile1.spec b/libguile1.spec new file mode 100644 index 0000000..b8fb350 --- /dev/null +++ b/libguile1.spec @@ -0,0 +1,194 @@ +%define majversion %(echo %version | cut -d. -f 1-2) +Name: libguile1 +Version: 1.8.8 +Release: 3mamba +Summary: A GNU implementation of Scheme for application extensibility +Group: Development/Applications +Vendor: openmamba +Distribution: openmamba +Packager: Silvan Calarco +URL: http://www.gnu.org/software/guile/guile.html +Source: http://ftp.gnu.org/gnu/guile/guile-%{version}.tar.gz +Patch0: libguile-1.8.7-gcc-4.5.patch +License: LGPL +BuildRoot: %{_tmppath}/%{name}-%{version}-root +## AUTOBUILDREQ-BEGIN +BuildRequires: glibc-devel +BuildRequires: libgmp-devel +BuildRequires: libltdl-devel +BuildRequires: libncurses-devel +BuildRequires: libreadline-devel +BuildRequires: slib +## AUTOBUILDREQ-END +BuildRequires: slib >= 3b3 +Requires(post):%{__install_info} +Requires(post):slib >= 3b3 + +%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. + +%package devel +Summary: Libraries and header files for the GUILE extensibility library. +Group: Development/Libraries +Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release} +Provides: %{name}-devel = %{?epoch:%epoch:}%{version}-%{release} + +%description devel +The guile-devel package includes the libraries, header files, etc., that you'll need to develop applications that are linked with the GUILE extensibility library. +You need to install the guile-devel package if you want to develop applications that will be linked to GUILE. +You'll also need to install the guile package. + +%prep +%setup -q -n guile-%{version} +# -D -T +#:<< _EOF +%patch0 -p2 + +chmod +x scripts/snarf-check-and-output-texi + +%build +#:<< _EOF +%configure \ + --with-threads \ + --disable-error-on-warning \ + --program-suffix=1 + +%make scmconfig.h \ + -j1 \ + -C libguile + +# Guile forgets to set it's onw shard lib path to use shared uninstalled apps. +# It ain't pretty, but it works. +LD_LIBRARY_PATH="`pwd`/libguile/.libs:`pwd`/qt/.libs:`pwd`/libguile-ltdl/.libs" \ +%make \ + LDFLAGS="-L`pwd`/libguile/.libs" + +%install +[ "%{buildroot}" != "/" ] && rm -rf "%{buildroot}" + +# Convince guile to be packaged. +perl -p -i -e "s|^libdir.*|libdir='%{buildroot}%{_libdir}'|g" \ + guile-readline/libguilereadline.la +perl -p -i -e "s|^relink_command.*||g" guile-readline/libguilereadline.la + +%makeinstall + +# Fix up libtool libraries. +find %{buildroot} -name '*.la' | \ + xargs perl -p -i -e "s|%{buildroot}||g" + +chmod +x %{buildroot}%{_libdir}/libguile.so.* +mkdir -p %{buildroot}%{_datadir}/guile/site +ln -s %{_prefix}/lib/slib %{buildroot}%{_datadir}/guile/slib +#ln -s ../../share/umb-scheme/slibcat %{buildroot}%{_datadir}/guile/slibcat + +# Remove unpackaged files +rm -f %{buildroot}%{_bindir}/guile-doc-snarf +rm -f %{buildroot}%{_bindir}/guile-func-name-check +rm -f %{buildroot}%{_bindir}/guile-snarf.awk +rm -rf %{buildroot}/usr/include/guile-readline +rm -rf %{buildroot}%{_datadir}/info/dir + +## Compress large documentation +#bzip2 NEWS + +rm -rf %{buildroot}%{_datadir}/aclocal/* +rm -rf %{buildroot}%{_infodir}/* + +%clean +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" + +%post +if [ $1 -ge 1 ]; then + guile1 -c "(use-modules (ice-9 slib)) (require 'printf)" &>/dev/null +fi +/sbin/ldconfig +: + +%postun -p /sbin/ldconfig + +%files +%defattr(-,root,root,-) +%{_bindir}/guile1 +%{_bindir}/guile-tools1 +%{_libdir}/libguile.so.* +%{_libdir}/libguile-srfi-srfi-*.so.* +%{_libdir}/libguile-srfi-srfi-*.so +%{_libdir}/libguilereadline-v-17.so.* +%{_datadir}/emacs/site-lisp/*.el +%dir %{_datadir}/guile +%dir %{_datadir}/guile/%{majversion} +%{_datadir}/guile/%{majversion}/* +%{_datadir}/guile/slib +%{_mandir}/man1/guile1.* +%doc AUTHORS +%doc THANKS + +%files devel +%defattr(-,root,root,-) +%{_bindir}/guile-config1 +%{_bindir}/guile-snarf1 +%{_libdir}/libguile.a +%{_libdir}/libguile.la +%{_libdir}/libguile.so +%{_libdir}/libguile-srfi-srfi-*.a +%{_libdir}/libguile-srfi-srfi-*.la +%{_libdir}/libguilereadline-v-17.a +%{_libdir}/libguilereadline-v-17.la +%{_libdir}/libguilereadline-v-17.so +%{_libdir}/pkgconfig/guile-%{majversion}.pc +%{_includedir}/guile +%{_includedir}/libguile +%{_includedir}/libguile.h +%doc ChangeLog GUILE-VERSION HACKING README + +%changelog +* Thu Oct 31 2013 Silvan Calarco 1.8.8-3mamba +- libguile1-devel: remove info and aclocal file to allow cohexistence with libguile-devel + +* Sat Aug 04 2012 Silvan Calarco 1.8.8-2mamba +- rebuilt as legacy package; require slib >= 3b3 + +* Sat Dec 18 2010 Automatic Build System 1.8.8-1mamba +- automatic update by autodist + +* Mon Jul 12 2010 Automatic Build System 1.8.7-3mamba +- automatic rebuild by autodist + +* Sat Jun 05 2010 Silvan Calarco 1.8.7-2mamba +- removed requirement for libtool +- gcc 4.5 build patch added + +* Fri Jul 10 2009 Automatic Build System 1.8.7-1mamba +- automatic update by autodist + +* Fri Jan 09 2009 Silvan Calarco 1.8.6-1mamba +- automatic update by autodist + +* Tue Nov 06 2007 Silvan Calarco 1.8.3-1mamba +- update to 1.8.3 +- removed requirement for umb-scheme +- added requirement for slib +- moved libguile-srfi-srfi-*.so to main package + +* Sat Sep 15 2007 Silvan Calarco 1.8.1-1mamba +- update to 1.8.1 + +* Mon Jun 19 2006 Stefano Cotta Ramusino 1.6.8-1qilnx +- update to version 1.6.8 by autospec + +* Mon Mar 27 2006 Stefano Cotta Ramusino 1.6.7-2qilnx +- fixed info files install/uninstall +- added gcc4 patch + +* Wed May 11 2005 Silvan Calarco 1.6.7-1qilnx +- update to version 1.6.7 by autospec + +* Mon Nov 15 2004 Alessandro Ramazzina 1.6.5-1qilnx +- rebuilt with a new version and moved from devel-contrib repository to devel repository + +* Sun Oct 24 2004 Matteo Bernasconi 1.6.4-1qilnx +- first build