From 0a1d8596fd1f8465e619058bf88763bae3b1cd5d Mon Sep 17 00:00:00 2001 From: ng0 Date: Mon, 12 Sep 2016 13:57:56 +0000 Subject: gnu: lispf4: Remove unused inputs key. * gnu/packages/lisp.scm (lispf4)[arguments]: Remove unused inputs key from 'install' phase. [source](file-name): Append "-checkout" to the file-name. Signed-off-by: Leo Famulari --- gnu/packages/lisp.scm | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) (limited to 'gnu/packages/lisp.scm') diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index 8ee249d397..43fb195763 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -453,7 +453,7 @@ interface.") (uri (git-reference (url "https://github.com/blakemcbride/LISPF4.git") (commit commit))) - (file-name (string-append name "-" version)) + (file-name (string-append name "-" version "-checkout")) (sha256 (base32 "18k8kfn30za637y4bfbm9x3vv4psa3q8f7bi9h4h0qlb8rz8m92c")))) @@ -463,14 +463,12 @@ interface.") (arguments `(#:make-flags '("-f" "Makefile.unx" "CC=gcc") - ;; no check phase - #:tests? #f + #:tests? #f ; No 'check phase #:phases (modify-phases %standard-phases (delete 'configure) - (replace - 'install - (lambda* (#:key outputs inputs #:allow-other-keys) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (bin (string-append out "/bin")) (doc (string-append (assoc-ref outputs "doc") -- cgit v1.2.3 From 995e5092d82569e06a9d7203f637816cc6894930 Mon Sep 17 00:00:00 2001 From: ng0 Date: Tue, 13 Sep 2016 19:04:15 +0000 Subject: gnu: Add femtolisp. * gnu/packages/lisp.scm (femtolisp): New variable. Signed-off-by: Leo Famulari --- gnu/packages/lisp.scm | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) (limited to 'gnu/packages/lisp.scm') diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index 43fb195763..3461de41f6 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -485,3 +485,56 @@ in the early 80's. It was converted to C by Blake McBride and supports much of the InterLisp Standard.") (home-page "https://github.com/blakemcbride/LISPF4.git") (license license:expat)))) + +(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")))) + (build-system gnu-build-system) + (arguments + `(#:make-flags '("CC=gcc") + #:tests? #f ; No make check + #:phases + (modify-phases %standard-phases + (delete 'configure) ; No configure script + ;; We have to remove the 'test phase because it requires + ;; the flisp binary to be present. Instead we run + ;; bootstrap.sh after the 'install phase. + (add-before 'build 'patch-makefile + (lambda _ + (substitute* "Makefile" + (("default: release test") "default: release")) + #t)) + (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)))) -- cgit v1.2.3 From f7fe5f7a3e26676657265e98073b9914baf615f1 Mon Sep 17 00:00:00 2001 From: ng0 Date: Tue, 13 Sep 2016 20:19:57 +0000 Subject: gnu: femtolisp: Remove custom "patch-makefile" phase. * gnu/packages/lisp.scm (femtolisp)[arguments]: Remove "patch-makefile" phase; specify test target; build "release" target instead of "default". --- gnu/packages/lisp.scm | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) (limited to 'gnu/packages/lisp.scm') diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index 3461de41f6..d1180a7d6d 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -503,19 +503,11 @@ the InterLisp Standard.") "04rnwllxnl86zw8c6pwxznn49bvkvh0f1lfliy085vjzvlq3rgja")))) (build-system gnu-build-system) (arguments - `(#:make-flags '("CC=gcc") - #:tests? #f ; No make check + `(#:make-flags '("CC=gcc" "release") + #:test-target "test" #:phases (modify-phases %standard-phases (delete 'configure) ; No configure script - ;; We have to remove the 'test phase because it requires - ;; the flisp binary to be present. Instead we run - ;; bootstrap.sh after the 'install phase. - (add-before 'build 'patch-makefile - (lambda _ - (substitute* "Makefile" - (("default: release test") "default: release")) - #t)) (replace 'install ; Makefile has no 'install phase (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) -- cgit v1.2.3 From 419fb3f1acc834e7cfc7e395b43be3cc1ddfadbf Mon Sep 17 00:00:00 2001 From: ng0 Date: Thu, 22 Sep 2016 09:08:03 +0000 Subject: gnu: femtolisp: Don't build on mips64el or armhf. * gnu/packages/lisp.scm (femtolisp)[supported-systems]: New field, remove support for mips64el and armhf. Signed-off-by: Leo Famulari --- gnu/packages/lisp.scm | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'gnu/packages/lisp.scm') diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index d1180a7d6d..439433a22b 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer ;;; Copyright © 2015 Mark H Weaver ;;; Copyright © 2016 Federico Beffa -;;; Copyright © 2016 ng0 +;;; Copyright © 2016 ng0 ;;; Copyright © 2016 Andy Patterson ;;; ;;; This file is part of GNU Guix. @@ -44,7 +44,8 @@ #:use-module (gnu packages ed) #:use-module (gnu packages m4) #:use-module (gnu packages version-control) - #:use-module (ice-9 match)) + #:use-module (ice-9 match) + #:use-module (srfi srfi-1)) (define-public gcl (package @@ -501,6 +502,11 @@ the InterLisp Standard.") (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"))) (build-system gnu-build-system) (arguments `(#:make-flags '("CC=gcc" "release") -- cgit v1.2.3