%global debug_package %{nil} Name: guile-pfds Version: 0.3 Release: 1%{?dist} Summary: Purely Functional Data Structures in Scheme License: BSD URL: https://github.com/ijp/pfds Source0: https://github.com/ijp/pfds/archive/refs/tags/v%{version}.tar.gz BuildRequires: guile22-devel Requires: guile22 %description pfds is a set of purely functional data structures written in R6RS Scheme. %global file_stems "bbtrees \ deques \ deques/naive \ deques/private/condition \ dlists \ fingertrees \ hamts \ heaps \ private/alists \ private/bitwise \ private/lazy-lists \ private/vectors \ psqs \ queues \ queues/naive \ queues/private/condition \ sequences \ sets" # This is a temporary work-around until the fixes for # https://github.com/rpm-software-management/rpm/issues/1765 land in # Fedora. %global __brp_strip /bin/true %prep %autosetup -n pfds-%{version} %build FILE_STEMS=%{file_stems} # We need to rename files since '.sls' isn't in `%%load-extensions` by # default. for stem in $FILE_STEMS; do cp ${stem}.sls ${stem}.scm done ln -s . pfds for stem in $FILE_STEMS; do guild2.2 compile -L . -o ${stem}.go ${stem}.scm done %install rm -rf $RPM_BUILD_ROOT FILE_STEMS=%{file_stems} DIRECTORIES="private deques/private queues/private" for directory in $DIRECTORIES; do mkdir -p $RPM_BUILD_ROOT%{_libdir}/guile/2.2/site-ccache/pfds/$directory done for stem in $FILE_STEMS; do install -p -m 644 ${stem}.go $RPM_BUILD_ROOT%{_libdir}/guile/2.2/site-ccache/pfds/${stem}.go done for directory in $DIRECTORIES; do mkdir -p $RPM_BUILD_ROOT%{_datadir}/guile/site/2.2/pfds/$directory done for stem in $FILE_STEMS; do install -p -m 644 ${stem}.scm $RPM_BUILD_ROOT%{_datadir}/guile/site/2.2/pfds/${stem}.scm done %files %license LICENSE %doc README.org doc/dlists.scm examples/queues.scm %{_libdir}/guile/2.2/site-ccache/pfds %{_datadir}/guile/site/2.2/pfds