mirror of
https://github.com/ashinn/chibi-scheme.git
synced 2025-07-04 03:36:36 +02:00
Add Gambit support for snow-chibi
This commit is contained in:
parent
ea17a39be8
commit
cd48e9973a
4 changed files with 56 additions and 130 deletions
|
@ -1913,6 +1913,47 @@
|
||||||
(cons dest-so-path
|
(cons dest-so-path
|
||||||
(default-installer impl cfg library dir)))))
|
(default-installer impl cfg library dir)))))
|
||||||
|
|
||||||
|
(define (gambit-installer impl cfg library dir)
|
||||||
|
(let* ((library-file (get-library-file cfg library))
|
||||||
|
(o-file (path-replace-extension library-file "so"))
|
||||||
|
(ext (get-library-extension impl cfg))
|
||||||
|
(dest-library-file
|
||||||
|
(string-append (library->path cfg library) "." ext))
|
||||||
|
(dest-o-file
|
||||||
|
(string-append (library->path cfg library) ".so"))
|
||||||
|
(include-files
|
||||||
|
(library-include-files impl cfg (make-path dir library-file)))
|
||||||
|
(install-dir (get-install-source-dir impl cfg))
|
||||||
|
(install-lib-dir (get-install-library-dir impl cfg)))
|
||||||
|
;; install the library file
|
||||||
|
(let ((path (make-path install-dir dest-library-file))
|
||||||
|
(o-path (make-path install-dir dest-o-file)))
|
||||||
|
(install-directory cfg (path-directory path))
|
||||||
|
(install-file cfg (make-path dir library-file) path)
|
||||||
|
(install-file cfg (make-path dir o-file) o-path)
|
||||||
|
;; install any includes
|
||||||
|
(cons
|
||||||
|
path
|
||||||
|
(append
|
||||||
|
(map
|
||||||
|
(lambda (x)
|
||||||
|
(let ((dest-file (make-path install-dir (path-relative x dir))))
|
||||||
|
(install-directory cfg (path-directory dest-file))
|
||||||
|
(install-file cfg x dest-file)
|
||||||
|
dest-file))
|
||||||
|
include-files)
|
||||||
|
(map
|
||||||
|
(lambda (x)
|
||||||
|
(let* ((so-file (string-append x (cond-expand (macosx ".dylib")
|
||||||
|
(else ".so"))))
|
||||||
|
(dest-file (make-path install-lib-dir
|
||||||
|
(path-relative so-file dir))))
|
||||||
|
(install-directory cfg (path-directory dest-file))
|
||||||
|
(install-file cfg so-file dest-file)
|
||||||
|
dest-file))
|
||||||
|
(library-shared-include-files
|
||||||
|
impl cfg (make-path dir library-file))))))))
|
||||||
|
|
||||||
(define (guile-installer impl cfg library dir)
|
(define (guile-installer impl cfg library dir)
|
||||||
(let* ((source-scm-file (get-library-file cfg library))
|
(let* ((source-scm-file (get-library-file cfg library))
|
||||||
(source-go-file (string-append
|
(source-go-file (string-append
|
||||||
|
@ -1959,6 +2000,7 @@
|
||||||
(case installer
|
(case installer
|
||||||
((chicken) chicken-installer)
|
((chicken) chicken-installer)
|
||||||
((cyclone) cyclone-installer)
|
((cyclone) cyclone-installer)
|
||||||
|
((gambit) gambit-installer)
|
||||||
((guile) guile-installer)
|
((guile) guile-installer)
|
||||||
(else default-installer)))
|
(else default-installer)))
|
||||||
|
|
||||||
|
@ -1966,6 +2008,7 @@
|
||||||
(case impl
|
(case impl
|
||||||
((chicken) 'chicken)
|
((chicken) 'chicken)
|
||||||
((cyclone) 'cyclone)
|
((cyclone) 'cyclone)
|
||||||
|
((gambit) 'gambit)
|
||||||
((guile) 'guile)
|
((guile) 'guile)
|
||||||
(else 'default)))
|
(else 'default)))
|
||||||
|
|
||||||
|
@ -2135,17 +2178,22 @@
|
||||||
(let* ((library-file (get-library-file cfg library))
|
(let* ((library-file (get-library-file cfg library))
|
||||||
(src-library-file (make-path dir library-file))
|
(src-library-file (make-path dir library-file))
|
||||||
(library-dir (path-directory src-library-file))
|
(library-dir (path-directory src-library-file))
|
||||||
(dest-library-file
|
(dest-library-file (string-append (library->path cfg library) ".so"))
|
||||||
(string-append (library->path cfg library) ".o"))
|
(dest-dir (path-directory (make-path dir dest-library-file))))
|
||||||
(dest-dir
|
|
||||||
(path-directory (make-path dir dest-library-file))))
|
|
||||||
;; ensure the build directory exists
|
;; ensure the build directory exists
|
||||||
(create-directory* dest-dir)
|
(create-directory* dest-dir)
|
||||||
(with-directory
|
(with-directory
|
||||||
dir
|
dir
|
||||||
(lambda ()
|
(lambda ()
|
||||||
(and (system 'gsc src-library-file)
|
(let ((res (system 'gsc
|
||||||
library)))))
|
'-o dest-library-file
|
||||||
|
'-dynamic
|
||||||
|
src-library-file)))
|
||||||
|
(and (or (and (pair? res) (zero? (cadr res)))
|
||||||
|
(yes-or-no? cfg "gambit failed to build: "
|
||||||
|
(library-name library)
|
||||||
|
" - install anyway?"))
|
||||||
|
library))))))
|
||||||
|
|
||||||
(define (guile-builder impl cfg library dir)
|
(define (guile-builder impl cfg library dir)
|
||||||
(let* ((library-file (get-library-file cfg library))
|
(let* ((library-file (get-library-file cfg library))
|
||||||
|
|
|
@ -25,10 +25,10 @@
|
||||||
,(delay
|
,(delay
|
||||||
(process->sexp
|
(process->sexp
|
||||||
'(foment -e "(write (features))"))))
|
'(foment -e "(write (features))"))))
|
||||||
(gambit "gsc" (gsc -v) #f #f
|
(gambit "gsc" (gsc -v) #f
|
||||||
,(delay
|
,(delay
|
||||||
(process->sexp
|
(process->sexp
|
||||||
'(gsc -e "(write (features))"))))
|
'(gsc -e "(display (features))"))))
|
||||||
(generic "generic" #f #f
|
(generic "generic" #f #f
|
||||||
,(delay (write-string "generic\n")))
|
,(delay (write-string "generic\n")))
|
||||||
(gauche "gosh" (gosh -E "print (gauche-version)") "0.9.4"
|
(gauche "gosh" (gosh -E "print (gauche-version)") "0.9.4"
|
||||||
|
|
|
@ -1,86 +0,0 @@
|
||||||
(package
|
|
||||||
(url "/s/gmail.com/nma.arvydas.silanskas/arvyy/mustache/1.0.2/arvyy-mustache-1.0.2.tgz")
|
|
||||||
(size 83456)
|
|
||||||
(updated "2021-11-13T10:37:49+00:00")
|
|
||||||
(created "2021-11-12T20:31:25+00:00")
|
|
||||||
(signature
|
|
||||||
(email "nma.arvydas.silanskas@gmail.com")
|
|
||||||
(digest sha-256)
|
|
||||||
(sha-256 "561374f1cfd7b784a9357e11e2070ce783154e5c7f2acf261af8702e54e55987"))
|
|
||||||
(maintainers "Arvydas Silanskas <nma.arvydas.silanskas@gmail.com>")
|
|
||||||
(authors "Arvydas Silanskas")
|
|
||||||
(version "1.0.2")
|
|
||||||
(license mit)
|
|
||||||
(library
|
|
||||||
(name
|
|
||||||
(arvyy mustache))
|
|
||||||
(path "arvyy/mustache.sld")
|
|
||||||
(depends
|
|
||||||
(scheme base)
|
|
||||||
(scheme case-lambda)
|
|
||||||
(scheme write)
|
|
||||||
(arvyy mustache lookup)
|
|
||||||
(arvyy mustache collection)
|
|
||||||
(arvyy mustache executor)
|
|
||||||
(arvyy mustache parser)
|
|
||||||
(arvyy mustache tokenizer)
|
|
||||||
(srfi 1)))
|
|
||||||
(library
|
|
||||||
(name
|
|
||||||
(arvyy mustache collection))
|
|
||||||
(path "arvyy/mustache/collection.sld")
|
|
||||||
(depends
|
|
||||||
(scheme base)
|
|
||||||
(srfi 41)))
|
|
||||||
(library
|
|
||||||
(name
|
|
||||||
(arvyy mustache executor))
|
|
||||||
(path "arvyy/mustache/executor.sld")
|
|
||||||
(depends
|
|
||||||
(scheme base)
|
|
||||||
(arvyy mustache parser)))
|
|
||||||
(library
|
|
||||||
(name
|
|
||||||
(arvyy mustache lookup))
|
|
||||||
(path "arvyy/mustache/lookup.sld")
|
|
||||||
(depends
|
|
||||||
(scheme base)))
|
|
||||||
(library
|
|
||||||
(name
|
|
||||||
(arvyy mustache parser))
|
|
||||||
(path "arvyy/mustache/parser.sld")
|
|
||||||
(depends
|
|
||||||
(scheme base)
|
|
||||||
(scheme write)
|
|
||||||
(scheme cxr)
|
|
||||||
(arvyy mustache tokenizer)
|
|
||||||
(srfi 1)))
|
|
||||||
(library
|
|
||||||
(name
|
|
||||||
(arvyy mustache tokenizer))
|
|
||||||
(path "arvyy/mustache/tokenizer.sld")
|
|
||||||
(depends
|
|
||||||
(scheme base)))
|
|
||||||
(library
|
|
||||||
(name
|
|
||||||
(arvyy mustache-test))
|
|
||||||
(path "arvyy/mustache-test.sld")
|
|
||||||
(cond-expand
|
|
||||||
(chibi
|
|
||||||
(depends
|
|
||||||
(chibi test)))
|
|
||||||
((library (srfi 64))
|
|
||||||
(depends
|
|
||||||
(srfi 64)))
|
|
||||||
(else
|
|
||||||
(depends)))
|
|
||||||
(depends
|
|
||||||
(scheme base)
|
|
||||||
(scheme write)
|
|
||||||
(arvyy mustache)
|
|
||||||
(srfi 41))
|
|
||||||
(use-for test))
|
|
||||||
(manual "readme.html")
|
|
||||||
(description "Mustache templating 1.2.1 implementation")
|
|
||||||
(test "run-tests.scm")
|
|
||||||
(installed-files "lib/chicken/8/arvyy.mustache.lookup.so" "lib/chicken/8/arvyy.mustache.lookup.import.scm" "lib/chicken/8/arvyy.mustache.collection.so" "lib/chicken/8/arvyy.mustache.collection.import.scm" "lib/chicken/8/arvyy.mustache.tokenizer.so" "lib/chicken/8/arvyy.mustache.tokenizer.import.scm" "lib/chicken/8/arvyy.mustache.parser.so" "lib/chicken/8/arvyy.mustache.parser.import.scm" "lib/chicken/8/arvyy.mustache.executor.so" "lib/chicken/8/arvyy.mustache.executor.import.scm" "lib/chicken/8/arvyy.mustache.so" "lib/chicken/8/arvyy.mustache.import.scm"))
|
|
|
@ -1,36 +0,0 @@
|
||||||
(package
|
|
||||||
(url "/s/fisher.cx/robert/srfi/64/0.1.0/srfi-64-0.1.0.tgz")
|
|
||||||
(size 83968)
|
|
||||||
(updated "2019-09-24T13:12:36+00:00")
|
|
||||||
(created "2019-09-24T13:12:36+00:00")
|
|
||||||
(signature
|
|
||||||
(email "robert@fisher.cx")
|
|
||||||
(digest sha-256)
|
|
||||||
(sha-256 "4cf1376ed8f674b7eb66079437c944afb3753113849acf51cde47efd17656658"))
|
|
||||||
(maintainers "Robert Fisher")
|
|
||||||
(authors "Per Bothner" "Alex Shinn" "Álvaro Castro-Castilla" "Mark H Weaver" "Donovan Kolby")
|
|
||||||
(version "0.1.0")
|
|
||||||
(library
|
|
||||||
(name
|
|
||||||
(srfi 64))
|
|
||||||
(path "srfi/64.sld")
|
|
||||||
(depends
|
|
||||||
(scheme base)
|
|
||||||
(scheme char)
|
|
||||||
(scheme complex)
|
|
||||||
(scheme eval)
|
|
||||||
(scheme file)
|
|
||||||
(scheme read)
|
|
||||||
(scheme write)))
|
|
||||||
(library
|
|
||||||
(name
|
|
||||||
(srfi 64 test))
|
|
||||||
(path "srfi/64/test.sld")
|
|
||||||
(depends
|
|
||||||
(scheme base)
|
|
||||||
(srfi 64))
|
|
||||||
(use-for test))
|
|
||||||
(manual "srfi/64.html")
|
|
||||||
(description "Reference implementation of SRFI-54: A Scheme API for test suites")
|
|
||||||
(test "run-tests.scm")
|
|
||||||
(installed-files "lib/chicken/8/srfi-64.so" "lib/chicken/8/srfi-64.import.scm"))
|
|
Loading…
Add table
Reference in a new issue