From b46b0127e090e0ee5e5430ffe53380c6f248614a Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Sat, 6 Jan 2024 04:33:36 +0100 Subject: [PATCH] move gdb .scm debug file from %_libdir to gdb auto-loaddir and put it in new -debug package [release 2.0.11-2mamba;Mon Apr 21 2014] --- README.md | 5 ++ libguile.spec | 228 ++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 233 insertions(+) create mode 100644 libguile.spec diff --git a/README.md b/README.md index c39a8fb..87d6fd6 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,7 @@ # libguile +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.spec b/libguile.spec new file mode 100644 index 0000000..40660af --- /dev/null +++ b/libguile.spec @@ -0,0 +1,228 @@ +%define majversion %(echo %version | cut -d. -f 1-2) +Name: libguile +Version: 2.0.11 +Release: 2mamba +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.xz +License: LGPL +BuildRoot: %{_tmppath}/%{name}-%{version}-root +## AUTOBUILDREQ-BEGIN +BuildRequires: glibc-devel +BuildRequires: libffi-devel +BuildRequires: libgc-devel +BuildRequires: libgmp-devel +BuildRequires: libltdl-devel +BuildRequires: libncurses-devel +BuildRequires: libreadline-devel +BuildRequires: libunistring-devel +## AUTOBUILDREQ-END +BuildRequires: pkg-config +BuildRequires: slib >= 3b3 +Requires(post):%{__install_info} +Provides: guile = %{?epoch:%epoch:}%{version}-%{release} +Requires(post):slib >= 3b3 +Obsoletes: guile + +%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} +Obsoletes: guile-devel + +%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. + +%debug_package + +%prep +%setup -q -n guile-%{version} +#-D -T + +%build +#:<< _EOF +%configure \ + --with-threads + +%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 + +# Fix gdb file location +install -d -m0755 %{buildroot}%{_datadir}/gdb/auto-load/%{_libdir} +mv %{buildroot}%{_libdir}/*.scm %{buildroot}%{_datadir}/gdb/auto-load/%{_libdir}/ + +## 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 + +%clean +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" + +%post +/sbin/ldconfig +if [ $1 -ge 1 ]; then + guile -c "(use-modules (ice-9 slib)) (require 'printf)" &>/dev/null +fi +: + +%postun -p /sbin/ldconfig + +%define info_files goops guile-tut guile r5rs + +%post devel +for info_file in %info_files + do %install_info $info_file.info +done + +%preun devel +for info_file in %info_files + do %uninstall_info $info_file.info +done +: + +%files +%defattr(-,root,root,-) +%{_bindir}/guild +%{_bindir}/guile +%{_bindir}/guile-tools +%{_libdir}/libguile-2.0.so.* +%dir %{_libdir}/guile +%dir %{_libdir}/guile/2.0 +%dir %{_libdir}/guile/2.0/ccache +%{_libdir}/guile/2.0/ccache/* +#%{_libdir}/libguile-srfi-srfi-*.so.* +#%{_libdir}/libguile-srfi-srfi-*.so +%{_libdir}/libguilereadline-v-18.so.* +%dir %{_datadir}/guile +%dir %{_datadir}/guile/%{majversion} +%{_datadir}/guile/%{majversion}/* +%{_datadir}/guile/slib +%{_datadir}/gdb/auto-load/%{_libdir}/*.scm +#%{_datadir}/emacs/site-lisp/*.el +%{_mandir}/man1/guile.* +%doc AUTHORS +%doc THANKS + +%files devel +%defattr(-,root,root,-) +%{_bindir}/guile-config +%{_bindir}/guile-snarf +%dir %{_includedir}/guile +%dir %{_includedir}/guile/2.0 +%{_includedir}/guile/2.0/*.h +%dir %{_includedir}/guile/2.0/libguile +%{_includedir}/guile/2.0/libguile/*.h +%{_libdir}/libguile-2.0.a +%{_libdir}/libguile-2.0.la +%{_libdir}/libguile-2.0.so +#%{_libdir}/libguile-srfi-srfi-*.a +#%{_libdir}/libguile-srfi-srfi-*.la +%{_libdir}/libguilereadline-v-18.a +%{_libdir}/libguilereadline-v-18.la +%{_libdir}/libguilereadline-v-18.so +%{_libdir}/pkgconfig/guile-%{majversion}.pc +%{_datadir}/aclocal/* +%{_infodir}/* +#%doc ChangeLog GUILE-VERSION HACKING NEWS.bz2 README + +%changelog +* Mon Apr 21 2014 Silvan Calarco 2.0.11-2mamba +- move gdb .scm debug file from %_libdir to gdb auto-loaddir and put it in new -debug package + +* Sat Mar 22 2014 Automatic Build System 2.0.11-1mamba +- automatic update by autodist + +* Sat Apr 13 2013 Automatic Build System 2.0.9-1mamba +- automatic version update by autodist + +* Tue Dec 25 2012 Automatic Build System 2.0.7-1mamba +- automatic version update by autodist + +* Sat Aug 04 2012 Silvan Calarco 2.0.6-1mamba +- update to 2.0.6 + +* 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