From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nils Gillmann Subject: [PATCH] gnu: add lispf4 Date: Sat, 06 Feb 2016 19:45:53 +0100 Message-ID: <87y4ax3cf2.fsf@grrlz.net> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:47734) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aS7rs-0002oL-FP for guix-devel@gnu.org; Sat, 06 Feb 2016 13:46:02 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aS7ro-0004Hp-Iq for guix-devel@gnu.org; Sat, 06 Feb 2016 13:46:00 -0500 Received: from perdizione.investici.org ([94.23.50.208]:62551) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aS7rn-0004Hk-Le for guix-devel@gnu.org; Sat, 06 Feb 2016 13:45:56 -0500 Received: from [94.23.50.208] (perdizione [94.23.50.208]) (Authenticated sender: niasterisk@grrlz.net) by localhost (Postfix) with ESMTPSA id 1543B1200B0 for ; Sat, 6 Feb 2016 18:45:54 +0000 (UTC) List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: guix-devel@gnu.org --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Thanks for all the input in the last days, here's a blast from the past with LISPF4 ported from FORTRAN to C for whoever wants InterLisp. I'll inform the author of this port as soon as this patch is merged. >From 611a064435be994874cdbaa19512f61682f55003 Mon Sep 17 00:00:00 2001 From: Nils Gillmann Date: Sat, 6 Feb 2016 19:31:20 +0100 Subject: [PATCH] gnu: Add lispf4. * gnu/packages/lisp.scm (lispf4): New variable. --- gnu/packages/lisp.scm | 72 +++++++++++++++++++++++++++++++++++++++++++++++= ++++ 1 file changed, 72 insertions(+) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index 726cfcd..5374483 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -2,6 +2,7 @@ ;;; Copyright =C2=A9 2014 John Darrington ;;; Copyright =C2=A9 2015 Taylan Ulrich Bay=C4=B1rl=C4=B1/Kammer ;;; Copyright =C2=A9 2015 Mark H Weaver +;;; Copyright =C2=A9 2016 Nils Gillmann ;;; ;;; This file is part of GNU Guix. ;;; @@ -27,6 +28,7 @@ #:use-module (gnu packages texlive) #:use-module (gnu packages m4) #:use-module (guix download) + #:use-module (guix git-download) #:use-module (guix utils) #:use-module (guix build-system gnu) #:use-module (gnu packages base) @@ -408,3 +410,73 @@ interface.") ;; applies to Lisp code according to them. (license (list license:lgpl2.1 license:clarified-artistic)))) ;TRIVIAL-LDAP package + +(define-public lispf4 + (let* ((commit "174d8764d2f9764e8f4794c2e3feada9f9c1f1ba")) + (package + (name "lispf4") + (version (string-append "0.0.0-1" "-" + (string-take commit 7))) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/blakemcbride/LISPF4.git= ") + (commit commit))) + (file-name (string-append name "-" version)) + (sha256 + (base32 + "18k8kfn30za637y4bfbm9x3vv4psa3q8f7bi9h4h0qlb8rz8m92= c")))) + (build-system gnu-build-system) + ;; 80 MB appended Documentation -> output:doc + ;; upstream provides no `make install` + (outputs '("out" "doc")) + (arguments + `(#:make-flags + '("-f" "Makefile.unx" "CC=3Dgcc") + ;; no check phase, disable it: + #:tests? #f + #:phases + (modify-phases %standard-phases + (delete 'configure) + (replace + 'install + (lambda* (#:key outputs inputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin-dir (string-append out "/bin"))) + ;; Make directories + (mkdir-p bin-dir) + ;; copy files + (copy-file "lispf4" + (string-append bin-dir "/lispf4")) + (copy-file "SYSATOMS" + (string-append bin-dir "/SYSATOMS")) + (let* ((doc (assoc-ref outputs "doc")) + (doc-dir (string-append doc "/share/doc/lispf4"= ))) + ;; Make directory + (mkdir-p doc-dir) + (copy-file "Documentation/DevelopmentProcess.txt" + (string-append doc-dir "/DevelopmentProce= ss.txt")) + (copy-file "Documentation/Haraldson-LISP_details.pdf" + (string-append doc-dir "/Haraldson-LISP_d= etails.pdf")) + (copy-file "Documentation/ImplementationGuide.txt" + (string-append doc-dir "/ImplementationGu= ide.txt")) + (copy-file "Documentation/Interlisp-Oct_1978.pdf" + (string-append doc-dir "/Interlisp-Oct_19= 78.pdf")) + (copy-file "Documentation/p501-schorr.pdf" + (string-append doc-dir "/p501-schorr.pdf"= )) + (copy-file "Documentation/README.txt" + (string-append doc-dir "/README.txt")) + (copy-file "Documentation/UsersGuide.txt" + (string-append doc-dir "/UsersGuide.txt")= )) + #t)))))) + (synopsis "InterLisp interpreter") + (description + "LISPF4 is an InterLisp interpreter written in FORTRAN by Mats = Nordstrom + (Uppsala, Sweden) in the early 80's. It was converted to C by Blake McBr= ide. +It supports much of the InterLisp Standard. Interlisp is a dynamically +scoped lisp system. It supports LAMBDA (evaluates function arguments), +NLAMBDA (doesn't evaluate its arguments), and variable number of arguments. + Macros are supported as well. The original user manual, implementors ma= nual +and the documentation can be obtained through 'guix -i lispf4:doc'.") + (home-page "https://github.com/blakemcbride/LISPF4.git") + (license license:expat)))) --=20 2.6.3 also attached as .patch file --=-=-= Content-Type: text/x-patch; charset=utf-8 Content-Disposition: inline; filename=0001-gnu-Add-lispf4.patch Content-Transfer-Encoding: quoted-printable Content-Description: lispf4 patch >From 611a064435be994874cdbaa19512f61682f55003 Mon Sep 17 00:00:00 2001 From: Nils Gillmann Date: Sat, 6 Feb 2016 19:31:20 +0100 Subject: [PATCH] gnu: Add lispf4. * gnu/packages/lisp.scm (lispf4): New variable. --- gnu/packages/lisp.scm | 72 +++++++++++++++++++++++++++++++++++++++++++++++= ++++ 1 file changed, 72 insertions(+) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index 726cfcd..5374483 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -2,6 +2,7 @@ ;;; Copyright =C2=A9 2014 John Darrington ;;; Copyright =C2=A9 2015 Taylan Ulrich Bay=C4=B1rl=C4=B1/Kammer ;;; Copyright =C2=A9 2015 Mark H Weaver +;;; Copyright =C2=A9 2016 Nils Gillmann ;;; ;;; This file is part of GNU Guix. ;;; @@ -27,6 +28,7 @@ #:use-module (gnu packages texlive) #:use-module (gnu packages m4) #:use-module (guix download) + #:use-module (guix git-download) #:use-module (guix utils) #:use-module (guix build-system gnu) #:use-module (gnu packages base) @@ -408,3 +410,73 @@ interface.") ;; applies to Lisp code according to them. (license (list license:lgpl2.1 license:clarified-artistic)))) ;TRIVIAL-LDAP package + +(define-public lispf4 + (let* ((commit "174d8764d2f9764e8f4794c2e3feada9f9c1f1ba")) + (package + (name "lispf4") + (version (string-append "0.0.0-1" "-" + (string-take commit 7))) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/blakemcbride/LISPF4.git= ") + (commit commit))) + (file-name (string-append name "-" version)) + (sha256 + (base32 + "18k8kfn30za637y4bfbm9x3vv4psa3q8f7bi9h4h0qlb8rz8m92= c")))) + (build-system gnu-build-system) + ;; 80 MB appended Documentation -> output:doc + ;; upstream provides no `make install` + (outputs '("out" "doc")) + (arguments + `(#:make-flags + '("-f" "Makefile.unx" "CC=3Dgcc") + ;; no check phase, disable it: + #:tests? #f + #:phases + (modify-phases %standard-phases + (delete 'configure) + (replace + 'install + (lambda* (#:key outputs inputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin-dir (string-append out "/bin"))) + ;; Make directories + (mkdir-p bin-dir) + ;; copy files + (copy-file "lispf4" + (string-append bin-dir "/lispf4")) + (copy-file "SYSATOMS" + (string-append bin-dir "/SYSATOMS")) + (let* ((doc (assoc-ref outputs "doc")) + (doc-dir (string-append doc "/share/doc/lispf4"= ))) + ;; Make directory + (mkdir-p doc-dir) + (copy-file "Documentation/DevelopmentProcess.txt" + (string-append doc-dir "/DevelopmentProce= ss.txt")) + (copy-file "Documentation/Haraldson-LISP_details.pdf" + (string-append doc-dir "/Haraldson-LISP_d= etails.pdf")) + (copy-file "Documentation/ImplementationGuide.txt" + (string-append doc-dir "/ImplementationGu= ide.txt")) + (copy-file "Documentation/Interlisp-Oct_1978.pdf" + (string-append doc-dir "/Interlisp-Oct_19= 78.pdf")) + (copy-file "Documentation/p501-schorr.pdf" + (string-append doc-dir "/p501-schorr.pdf"= )) + (copy-file "Documentation/README.txt" + (string-append doc-dir "/README.txt")) + (copy-file "Documentation/UsersGuide.txt" + (string-append doc-dir "/UsersGuide.txt")= )) + #t)))))) + (synopsis "InterLisp interpreter") + (description + "LISPF4 is an InterLisp interpreter written in FORTRAN by Mats = Nordstrom + (Uppsala, Sweden) in the early 80's. It was converted to C by Blake McBr= ide. +It supports much of the InterLisp Standard. Interlisp is a dynamically +scoped lisp system. It supports LAMBDA (evaluates function arguments), +NLAMBDA (doesn't evaluate its arguments), and variable number of arguments. + Macros are supported as well. The original user manual, implementors ma= nual +and the documentation can be obtained through 'guix -i lispf4:doc'.") + (home-page "https://github.com/blakemcbride/LISPF4.git") + (license license:expat)))) --=20 2.6.3 --=-=-= Content-Type: text/plain (is there a prefered way btw? .patch file attached or just file inserted/pasted?) Thanks, -- ng/ni* vcard: http://krosos.sdf.org --=-=-=--