commit a673bb71b666f810d0d51d025bde39a7ea9fdd1f
parent cb3814962a35d12275b18bb5d7fd0df46bdd58b8
Author: Yuval Langer <yuval.langer@gmail.com>
Date: Thu, 24 Oct 2024 00:20:15 +0300
Add the bits that make the virtual machine compiler.
Diffstat:
1 file changed, 89 insertions(+), 0 deletions(-)
diff --git a/kakafarm/packages/ribbit.scm b/kakafarm/packages/ribbit.scm
@@ -0,0 +1,89 @@
+;;; Kakafarm's Guix Channel
+;;; Copyright © 2023-2024 Yuval Langer <yuval.langer@gmail.com>
+;;;
+;;; This file is part of Kakafarm's Guix Channel.
+;;;
+;;; Kakafarm's Guix Channel 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.
+;;;
+;;; Kakafarm's Guix Channel 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 Kakafarm's Guix Channel. If not, see
+;;; <http://www.gnu.org/licenses/>.
+
+(define-module (kakafarm packages ribbit)
+ #:use-module (gnu packages base)
+ #:use-module (gnu packages bash)
+ #:use-module (gnu packages commencement)
+ #:use-module (gnu packages scheme)
+
+ #:use-module (guix build-system copy)
+ #:use-module (guix gexp)
+ #:use-module (guix git-download)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix packages)
+ )
+
+(define-public ribbit
+ (let ((commit "11dd04a9546f99c557b81fa0fd069c693f5eddb5")
+ (revision "1")
+ (base32-string "1kvfa6zi9jbjy2c5cqh5y84mcxd68rz77xzq3h59qr7lji3rjj47")
+ (git-repository-url
+ "https://github.com/udem-dlteam/ribbit"))
+ (package
+ (name "ribbit")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (uri (git-reference
+ (url git-repository-url)
+ (commit commit)))
+ (method git-fetch)
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 base32-string))))
+ (native-inputs (list
+ coreutils
+ bash-minimal
+ gcc-toolchain
+ gambit-c
+ ))
+ ;; (inputs (list gcc-toolchain))
+ (build-system copy-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'move-create-and-delete-files
+ (lambda _
+ (import (ice-9 ftw) (srfi srfi-1) (srfi srfi-26))
+ (chdir "src")
+ (system* "make" "rsc.exe")
+ (chdir ".."))))
+ #:install-plan
+ #~(let ((docs (string-append "share/doc/"
+ #$name
+ "-"
+ #$version
+ "/")))
+ `(
+ ("src/rsc.exe" "bin/")
+ ("README.md" ,docs)
+ ("CITATION.md" ,docs)
+ ("AUTHORS" ,docs)
+ ("LICENSE" ,docs)
+ ("docs" ,docs)
+ ))
+ ))
+ (home-page git-repository-url)
+ (synopsis
+ "A Scheme runtime compiler")
+ (description
+ "A Scheme runtime compiler.")
+ (license license:expat))))