#| Copyright (C) 2025 Peter McGoron | | This program is free software: you can redistribute it and/or modify it | under the terms of the GNU General Public License as published by the | Free Software Foundation, either version 3 of the License, or (at your | option) any later version. | | This program is distributed in the hope that it will be useful, but | WITHOUT ANY WARRANTY; without even the implied warranty of | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | General Public License for more details. | | You should have received a copy of the GNU General Public License along | with this program. If not, see . |# (define-module (mcgoron guix sagittarius) #:use-module (guix packages) #:use-module (guix licenses) #:use-module (gnu packages bdw-gc) #:use-module (gnu packages compression) #:use-module (gnu packages tls) #:use-module (gnu packages libffi) #:use-module (guix download) #:use-module (guix build-system) #:use-module (guix build-system copy) #:use-module (guix build-system cmake)) (define-public sagittarius-lib-dir "share/guix-sagittarius") (define-public sagittarius-scheme (package (name "sagittarius-scheme") (version "0.9.13") (source (origin (method url-fetch) (uri "https://github.com/ktakashi/sagittarius-scheme/releases/download/v0.9.13/sagittarius-0.9.13.tar.gz") (sha256 (base32 "0wspsv7mr1lchv0lfc50s750a358534pgri1c2fqlws31hci5y4c")))) (build-system cmake-build-system) (arguments '(#:phases (modify-phases %standard-phases ;; Tests don't work yet. Issues with network. (delete 'check)))) (inputs (list libgc zlib libffi openssl)) (home-page "https://ktakashi.github.io/") (synopsis "Script interpreter with many built-in libraries") (native-search-paths (list (search-path-specification (variable "SAGITTARIUS_LOADPATH") (files (list sagittarius-lib-dir))))) (license bsd-2) (description "Sagittarius Scheme is a R6RS/R7RS Scheme implementation with a lot of practical libraries, especially cryptographic libraries."))) (define-public sagittarius-build-system (let ((lower* (build-system-lower copy-build-system))) (build-system (name 'sagittarius-scheme) (description "Build system for copying Scheme libraries to Sagittarius Scheme module directory") (lower (lambda args (apply lower* (if (memq #:install-plan args) args (append args (list #:install-plan `'(("." ,(string-append sagittarius-lib-dir "/"))))))))))))