[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#25728] [PATCH 2/2] gnu: Add colorforth.
From: |
Ricardo Wurmus |
Subject: |
[bug#25728] [PATCH 2/2] gnu: Add colorforth. |
Date: |
Mon, 17 Jul 2017 22:46:03 +0200 |
User-agent: |
mu4e 0.9.18; emacs 25.2.1 |
Ricardo Wurmus <address@hidden> writes:
> Ricardo Wurmus <address@hidden> writes:
>
>> It won’t work when it’s in the store because we cannot write to the
>> store. Even after copying it out of the store and changing permissions
>> it would simply crash. This could be a problem with my Libreboot
>> machine, but the first problem is bad enough.
>>
>> If the software cannot be used when it is installed to the store then I
>> don’t think it should be in the store at all. I think we should drop
>> this patch as the package is not actually usable.
>>
>> What do you think?
>
> The alternative is to also install a wrapper script to “bin” that
> essentially does this:
>
> #!/bin/sh
> qemu-system-i386 -snapshot -boot a -fda
> $prefix/share/colorforth/cf2012.img
>
> It still crashes for me but at least it doesn’t complain about store
> permissions. If you can get this to run on your computer then please
> send a final patch that incorporates all of these suggestions.
> Otherwise I think it may not be worth spending more time on a toy
> package like this.
>
> What do you think?
FWIW here’s the latest version of the diff:
--8<---------------cut here---------------start------------->8---
diff --git a/gnu/packages/forth.scm b/gnu/packages/forth.scm
index 6d66faf5d..4ab8f20a9 100644
--- a/gnu/packages/forth.scm
+++ b/gnu/packages/forth.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2016 ng0 <address@hidden>
+;;; Copyright © 2016, 2017 ng0 <address@hidden>
;;; Copyright © 2016 Sou Bunnbu <address@hidden>
;;;
;;; This file is part of GNU Guix.
@@ -21,7 +21,9 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
+ #:use-module (guix git-download)
#:use-module (guix build-system gnu)
+ #:use-module (gnu packages assembly)
#:use-module (gnu packages m4))
(define-public gforth
@@ -58,3 +60,42 @@ and history. A generic virtual machine environment, vmgen,
is also
included.")
(home-page "https://www.gnu.org/software/gforth/")
(license license:gpl3+)))
+
+(define-public colorforth
+ (let ((commit "b518ff966955f0b196e7bb8f85337284fa23e29e")
+ (revision "1"))
+ (package
+ (name "colorforth")
+ (version (string-append "0.0.0-" revision "." (string-take commit 7)))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/narke/colorForth.git")
+ (commit commit)))
+ (sha256
+ (base32
+ "1q5szb9yi3nspbvnq0js6w24sb936ahjk828il760p0xpj5dsl45"))))
+ (arguments
+ `(#:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure) ; No configure script
+ (replace 'install ; No install target
+ (lambda* (#:key outputs #:allow-other-keys)
+ (install-file "cf2012.img"
+ (string-append (assoc-ref outputs "out")
+ "/share/colorforth/"))
+ #t)))))
+ (native-inputs
+ `(("nasm" ,nasm)))
+ (build-system gnu-build-system)
+ (home-page "https://github.com/narke/colorForth")
+ (synopsis "Native 32-bit colorForth for PCs, Bochs and Qemu")
+ (description
+ "Colorforth is a @code{colorForth} implementation written in x86
+assembly. It is a dialect of Forth that uses color to replace punctation,
+includes its own operating system and produces extremely compact programs.
+Applications compile from pre-parsed source. Colorforth applications can be
+run using @code{Bochs} and @code{Qemu}. It is adapted from
address@hidden://sourceforge.net/projects/colorforth, colorforth}.")
+ (license license:public-domain))))
--8<---------------cut here---------------end--------------->8---
--
Ricardo
GPG: BCA6 89B6 3655 3801 C3C6 2150 197A 5888 235F ACAC
https://elephly.net