mirror of
https://github.com/ashinn/chibi-scheme.git
synced 2025-07-03 11:16:36 +02:00
Add Gambit support for snow-chibi
This commit is contained in:
parent
357361eaac
commit
3b85c02e11
7 changed files with 162 additions and 1 deletions
|
@ -1639,6 +1639,7 @@ are currently supported:
|
|||
\item{chicken - version >= 4.9.0 with the \scheme{r7rs} egg}
|
||||
\item{cyclone - version >= 0.5.3}
|
||||
\item{foment - version >= 0.4}
|
||||
\item{gambit}
|
||||
\item{gauche - version >= 0.9.4}
|
||||
\item{kawa - version >= 2.0; you need to add the install dir to the search path, e.g. \scheme{-Dkawa.import.path=/usr/local/share/kawa}}
|
||||
\item{larceny - version 0.98; you need to add "lib/Snow" to the paths in startup.sch}
|
||||
|
|
|
@ -1370,6 +1370,9 @@
|
|||
(string-trim (process->string '(icyc -p "(Cyc-installation-dir 'sld)"))
|
||||
char-whitespace?)))))
|
||||
(list (or dir "/usr/local/share/cyclone/"))))
|
||||
((gambit)
|
||||
(list (string-append (get-environment-variable "HOME")
|
||||
"/.gambit_userlib")))
|
||||
((gauche)
|
||||
(list
|
||||
(let ((dir (string-trim
|
||||
|
@ -1464,6 +1467,10 @@
|
|||
(if lib-path
|
||||
`(foment -A ,install-dir -A ,lib-path ,file)
|
||||
`(foment -A ,install-dir ,file)))
|
||||
((gambit)
|
||||
(if lib-path
|
||||
`(gsi -s:search=,install-dir ,lib-path ,file)
|
||||
`(gsi -s:search=,install-dir ,file)))
|
||||
((gauche)
|
||||
(if lib-path
|
||||
`(gosh -A ,install-dir -A ,lib-path ,file)
|
||||
|
@ -1619,6 +1626,7 @@
|
|||
;; package information for each builtin library
|
||||
(define native-srfi-support
|
||||
'((foment 60)
|
||||
(gambit 0 4 6 8 9 16 18 21 22 23 27 30 39 62 88 193)
|
||||
(gauche 0 1 4 5 7 9 11 13 14 19 26 27 29 31 37 42 43 55)
|
||||
(guile 0 1 2 4 6 8 9 10 11 13 14 16 17 18 19 23 26 27 28 30 31 34
|
||||
35 37 38 39 41 42 43 45 46 55 60 61 62 64 67 69 71 87 88
|
||||
|
@ -1679,6 +1687,7 @@
|
|||
(cond
|
||||
((eq? impl 'chicken) (get-install-library-dir impl cfg))
|
||||
((eq? impl 'cyclone) (get-install-library-dir impl cfg))
|
||||
((eq? impl 'gambit) (get-install-library-dir impl cfg))
|
||||
((eq? impl 'guile) (get-guile-site-dir))
|
||||
((conf-get cfg 'install-source-dir))
|
||||
((conf-get cfg 'install-prefix)
|
||||
|
@ -1689,6 +1698,7 @@
|
|||
(cond
|
||||
((eq? impl 'chicken) (get-install-library-dir impl cfg))
|
||||
((eq? impl 'cyclone) (get-install-library-dir impl cfg))
|
||||
((eq? impl 'gambit) (get-install-library-dir impl cfg))
|
||||
((conf-get cfg 'install-data-dir))
|
||||
((conf-get cfg 'install-prefix)
|
||||
=> (lambda (prefix) (make-path prefix "share/snow" impl)))
|
||||
|
@ -1706,6 +1716,8 @@
|
|||
(car (get-install-dirs impl cfg)))))
|
||||
((eq? impl 'cyclone)
|
||||
(car (get-install-dirs impl cfg)))
|
||||
((eq? impl 'gambit)
|
||||
(car (get-install-dirs impl cfg)))
|
||||
((eq? impl 'guile)
|
||||
(get-guile-site-ccache-dir))
|
||||
((conf-get cfg 'install-prefix)
|
||||
|
@ -2088,6 +2100,22 @@
|
|||
" - install anyway?"))
|
||||
library))))))
|
||||
|
||||
(define (gambit-builder impl cfg library dir)
|
||||
(let* ((library-file (get-library-file cfg library))
|
||||
(src-library-file (make-path dir library-file))
|
||||
(library-dir (path-directory src-library-file))
|
||||
(dest-library-file
|
||||
(string-append (library->path cfg library) ".o"))
|
||||
(dest-dir
|
||||
(path-directory (make-path dir dest-library-file))))
|
||||
;; ensure the build directory exists
|
||||
(create-directory* dest-dir)
|
||||
(with-directory
|
||||
dir
|
||||
(lambda ()
|
||||
(and (system 'gsc src-library-file)
|
||||
library)))))
|
||||
|
||||
(define (guile-builder impl cfg library dir)
|
||||
(let* ((library-file (get-library-file cfg library))
|
||||
(src-library-file (make-path dir library-file))
|
||||
|
@ -2109,12 +2137,13 @@
|
|||
((chibi) chibi-builder)
|
||||
((chicken) chicken-builder)
|
||||
((cyclone) cyclone-builder)
|
||||
((gambit) gambit-builder)
|
||||
((guile) guile-builder)
|
||||
(else default-builder)))
|
||||
|
||||
(define (builder-for-implementation impl cfg)
|
||||
(case impl
|
||||
((chibi chicken cyclone guile) impl)
|
||||
((chibi chicken cyclone gambit guile) impl)
|
||||
(else 'default)))
|
||||
|
||||
(define (build-library impl cfg library dir)
|
||||
|
|
|
@ -25,6 +25,10 @@
|
|||
,(delay
|
||||
(process->sexp
|
||||
'(foment -e "(write (features))"))))
|
||||
(gambit "gsc" (gsc -v) #f #f
|
||||
,(delay
|
||||
(process->sexp
|
||||
'(gsc -e "(write (features))"))))
|
||||
(gauche "gosh" (gosh -E "print (gauche-version)") "0.9.4"
|
||||
,(delay
|
||||
(process->sexp
|
||||
|
@ -59,6 +63,7 @@
|
|||
(define (target-is-host? impl)
|
||||
(case impl
|
||||
((chibi) (cond-expand (chibi #t) (else #f)))
|
||||
((gambit) (cond-expand (gambit #t) (else #f)))
|
||||
((gauche) (cond-expand (gauche #t) (else #f)))
|
||||
((sagittarius) (cond-expand (sagittarius #t) (else #f)))
|
||||
(else #f)))
|
||||
|
|
86
lib/chicken/8/arvyy/.mustache.meta
Normal file
86
lib/chicken/8/arvyy/.mustache.meta
Normal file
|
@ -0,0 +1,86 @@
|
|||
(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"))
|
36
lib/chicken/8/srfi/.64.meta
Normal file
36
lib/chicken/8/srfi/.64.meta
Normal file
|
@ -0,0 +1,36 @@
|
|||
(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"))
|
BIN
tmptest
Executable file
BIN
tmptest
Executable file
Binary file not shown.
4
tmptest.scm
Normal file
4
tmptest.scm
Normal file
|
@ -0,0 +1,4 @@
|
|||
(import (scheme base)
|
||||
(retropikzel hello))
|
||||
|
||||
(hello)
|
Loading…
Add table
Reference in a new issue