unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* [PATCH] gnu: add lispf4
@ 2016-02-06 18:45 Nils Gillmann
  2016-02-06 22:14 ` Leo Famulari
  2016-02-07 16:50 ` [PATCH] gnu: add lispf4 Nils Gillmann
  0 siblings, 2 replies; 23+ messages in thread
From: Nils Gillmann @ 2016-02-06 18:45 UTC (permalink / raw)
  To: guix-devel

[-- Attachment #1: Type: text/plain, Size: 5372 bytes --]

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 <niasterisk@grrlz.net>
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 © 2014 John Darrington <jmd@gnu.org>
 ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
 ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2016 Nils Gillmann <niasterisk@grrlz.net>
 ;;;
 ;;; 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
+                      "18k8kfn30za637y4bfbm9x3vv4psa3q8f7bi9h4h0qlb8rz8m92c"))))
+          (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=gcc")
+             ;; 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 "/DevelopmentProcess.txt"))
+                      (copy-file "Documentation/Haraldson-LISP_details.pdf"
+                                 (string-append doc-dir "/Haraldson-LISP_details.pdf"))
+                      (copy-file "Documentation/ImplementationGuide.txt"
+                                 (string-append doc-dir "/ImplementationGuide.txt"))
+                      (copy-file "Documentation/Interlisp-Oct_1978.pdf"
+                                 (string-append doc-dir "/Interlisp-Oct_1978.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 McBride.
+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 manual
+and the documentation can be obtained through 'guix -i lispf4:doc'.")
+          (home-page "https://github.com/blakemcbride/LISPF4.git")
+          (license license:expat))))
-- 
2.6.3

also attached as .patch file

[-- Attachment #2: lispf4 patch --]
[-- Type: text/x-patch, Size: 5128 bytes --]

From 611a064435be994874cdbaa19512f61682f55003 Mon Sep 17 00:00:00 2001
From: Nils Gillmann <niasterisk@grrlz.net>
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 © 2014 John Darrington <jmd@gnu.org>
 ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
 ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2016 Nils Gillmann <niasterisk@grrlz.net>
 ;;;
 ;;; 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
+                      "18k8kfn30za637y4bfbm9x3vv4psa3q8f7bi9h4h0qlb8rz8m92c"))))
+          (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=gcc")
+             ;; 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 "/DevelopmentProcess.txt"))
+                      (copy-file "Documentation/Haraldson-LISP_details.pdf"
+                                 (string-append doc-dir "/Haraldson-LISP_details.pdf"))
+                      (copy-file "Documentation/ImplementationGuide.txt"
+                                 (string-append doc-dir "/ImplementationGuide.txt"))
+                      (copy-file "Documentation/Interlisp-Oct_1978.pdf"
+                                 (string-append doc-dir "/Interlisp-Oct_1978.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 McBride.
+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 manual
+and the documentation can be obtained through 'guix -i lispf4:doc'.")
+          (home-page "https://github.com/blakemcbride/LISPF4.git")
+          (license license:expat))))
-- 
2.6.3


[-- Attachment #3: Type: text/plain, Size: 132 bytes --]



(is there a prefered way btw? .patch file attached or just file inserted/pasted?)
Thanks,
-- 
ng/ni*
vcard: http://krosos.sdf.org

^ permalink raw reply related	[flat|nested] 23+ messages in thread

end of thread, other threads:[~2016-02-18 11:48 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-02-06 18:45 [PATCH] gnu: add lispf4 Nils Gillmann
2016-02-06 22:14 ` Leo Famulari
2016-02-07  0:01   ` Nils Gillmann
2016-02-07 10:59     ` Ricardo Wurmus
2016-02-07 11:09     ` Ricardo Wurmus
2016-02-07 15:09       ` Nils Gillmann
2016-02-18 11:38         ` [PATCH] gnu: add lispf4 (Update) Nils Gillmann
2016-02-18 11:48           ` Ricardo Wurmus
2016-02-07 16:50 ` [PATCH] gnu: add lispf4 Nils Gillmann
2016-02-08  0:36   ` Leo Famulari
2016-02-08 11:17     ` Nils Gillmann
2016-02-08 20:14       ` Leo Famulari
2016-02-09  1:31         ` Nils Gillmann
2016-02-09  7:16           ` Efraim Flashner
2016-02-09 10:30             ` Nils Gillmann
2016-02-10  5:36               ` Leo Famulari
2016-02-10 13:48                 ` Nils Gillmann
2016-02-12  4:00                   ` Leo Famulari
2016-02-14  3:52             ` Nils Gillmann
2016-02-14  8:10               ` Ricardo Wurmus
2016-02-14 21:31                 ` Nils Gillmann
2016-02-14 21:36                   ` Ricardo Wurmus
2016-02-14  4:05             ` Nils Gillmann

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).