diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index caa90d5a0a..741eaf2a45 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -69,7 +69,6 @@ (define-module (gnu packages lisp) #:use-module (gnu packages gtk) #:use-module (gnu packages webkit) #:use-module (ice-9 match) - #:use-module (srfi srfi-1) #:use-module (srfi srfi-19)) (define (asdf-substitutions lisp) @@ -679,56 +678,6 @@ (define (extract-library name) license:asl2.0 license:cpl1.0))))) -(define-public femtolisp - (let ((commit "68c5b1225572ecf2c52baf62f928063e5a30511b") - (revision "1")) - (package - (name "femtolisp") - (version (string-append "0.0.0-" revision "." (string-take commit 7))) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/JeffBezanson/femtolisp.git") - (commit commit))) - (file-name (string-append name "-" version "-checkout")) - (sha256 - (base32 - "04rnwllxnl86zw8c6pwxznn49bvkvh0f1lfliy085vjzvlq3rgja")))) - ;; See "utils.h" for supported systems. Upstream bug: - ;; https://github.com/JeffBezanson/femtolisp/issues/25 - (supported-systems - (fold delete %supported-systems - '("armhf-linux" "mips64el-linux" "aarch64-linux"))) - (build-system gnu-build-system) - (arguments - `(#:make-flags '("CC=gcc" "release") - #:test-target "test" - #:phases - (modify-phases %standard-phases - (delete 'configure) ; No configure script - (replace 'install ; Makefile has no 'install phase - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (bin (string-append out "/bin"))) - (install-file "flisp" bin) - #t))) - ;; The flisp binary is now available, run bootstrap to - ;; generate flisp.boot and afterwards runs make test. - (add-after 'install 'bootstrap-gen-and-test - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (bin (string-append out "/bin"))) - (and - (zero? (system* "./bootstrap.sh")) - (install-file "flisp.boot" bin)))))))) - (synopsis "Scheme-like lisp implementation") - (description - "@code{femtolisp} is a scheme-like lisp implementation with a -simple, elegant Scheme dialect. It is a lisp-1 with lexical scope. -The core is 12 builtin special forms and 33 builtin functions.") - (home-page "https://github.com/JeffBezanson/femtolisp") - (license license:bsd-3)))) - (define-public lush2 (package (name "lush2") diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm index 9654fe36f5..c03c53b91f 100644 --- a/gnu/packages/scheme.scm +++ b/gnu/packages/scheme.scm @@ -66,6 +66,7 @@ (define-module (gnu packages scheme) #:use-module (gnu packages tls) #:use-module (gnu packages gl) #:use-module (gnu packages libedit) + #:use-module (srfi srfi-1) #:use-module (ice-9 match)) (define (mit-scheme-source-directory system version) @@ -1095,3 +1096,53 @@ (define-public stalin program-point-specific low-level representation selection and code generation.") (license gpl2+)))) + +(define-public femtolisp + (let ((commit "68c5b1225572ecf2c52baf62f928063e5a30511b") + (revision "1")) + (package + (name "femtolisp") + (version (string-append "0.0.0-" revision "." (string-take commit 7))) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/JeffBezanson/femtolisp.git") + (commit commit))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "04rnwllxnl86zw8c6pwxznn49bvkvh0f1lfliy085vjzvlq3rgja")))) + ;; See "utils.h" for supported systems. Upstream bug: + ;; https://github.com/JeffBezanson/femtolisp/issues/25 + (supported-systems + (fold delete %supported-systems + '("armhf-linux" "mips64el-linux" "aarch64-linux"))) + (build-system gnu-build-system) + (arguments + `(#:make-flags '("CC=gcc" "release") + #:test-target "test" + #:phases + (modify-phases %standard-phases + (delete 'configure) ; No configure script + (replace 'install ; Makefile has no 'install phase + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin"))) + (install-file "flisp" bin) + #t))) + ;; The flisp binary is now available, run bootstrap to + ;; generate flisp.boot and afterwards runs make test. + (add-after 'install 'bootstrap-gen-and-test + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin"))) + (and + (zero? (system* "./bootstrap.sh")) + (install-file "flisp.boot" bin)))))))) + (synopsis "Scheme-like lisp implementation") + (description + "@code{femtolisp} is a scheme-like lisp implementation with a +simple, elegant Scheme dialect. It is a lisp-1 with lexical scope. +The core is 12 builtin special forms and 33 builtin functions.") + (home-page "https://github.com/JeffBezanson/femtolisp") + (license bsd-3))))