aboutsummaryrefslogtreecommitdiffstats
path: root/lib/mcgoron
diff options
context:
space:
mode:
authorGravatar Peter McGoron 2025-08-08 13:39:27 -0400
committerGravatar Peter McGoron 2025-08-08 13:39:27 -0400
commit7f5e468de7ff066c5d7078f8130d9f44430b78db (patch)
treef858d033fcc38b6bfc83d98e5b63953f81da5289 /lib/mcgoron
parentreorganize under custom namespace (diff)
sagittarius
Diffstat (limited to 'lib/mcgoron')
-rw-r--r--lib/mcgoron/guix/foment.scm1
-rw-r--r--lib/mcgoron/guix/sagittarius.scm70
2 files changed, 70 insertions, 1 deletions
diff --git a/lib/mcgoron/guix/foment.scm b/lib/mcgoron/guix/foment.scm
index b1ce4af..77cdd70 100644
--- a/lib/mcgoron/guix/foment.scm
+++ b/lib/mcgoron/guix/foment.scm
@@ -104,4 +104,3 @@
(native-inputs (list bash))
(description "Foment is an implementation of Scheme.")))
-
diff --git a/lib/mcgoron/guix/sagittarius.scm b/lib/mcgoron/guix/sagittarius.scm
new file mode 100644
index 0000000..880391e
--- /dev/null
+++ b/lib/mcgoron/guix/sagittarius.scm
@@ -0,0 +1,70 @@
+#| 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 <https://www.gnu.org/licenses/>.
+ |#
+
+
+(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 "/"))))))))))))
+