From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41932) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dXCv3-00030O-De for guix-patches@gnu.org; Mon, 17 Jul 2017 16:47:06 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dXCv0-0003jf-Fm for guix-patches@gnu.org; Mon, 17 Jul 2017 16:47:05 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:42228) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dXCv0-0003jX-CK for guix-patches@gnu.org; Mon, 17 Jul 2017 16:47:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1dXCv0-00074R-4t for guix-patches@gnu.org; Mon, 17 Jul 2017 16:47:02 -0400 Subject: [bug#25728] [PATCH 2/2] gnu: Add colorforth. Resent-Message-ID: References: <20170214185339.25538-1-contact.ng0@cryptolab.net> <20170214185339.25538-2-contact.ng0@cryptolab.net> <871suvu8yu.fsf@elephly.net> <20170415152843.2vyk7uhycuny5rov@abyayala> <20170415160053.qqqpga27hqsdhet3@abyayala> <87d1a17e94.fsf@elephly.net> <20170618115947.jo22jym5bm6semng@abyayala> <87shix4d40.fsf@elephly.net> <20170628094810.nt4svpdksevrh5gr@abyayala> <877ez6hkbk.fsf@elephly.net> <8760eqhk11.fsf@elephly.net> From: Ricardo Wurmus In-reply-to: <8760eqhk11.fsf@elephly.net> Date: Mon, 17 Jul 2017 22:46:03 +0200 Message-ID: <874luahjw4.fsf@elephly.net> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: ng0 Cc: 25728@debbugs.gnu.org Ricardo Wurmus writes: > Ricardo Wurmus 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 +;;; Copyright © 2016, 2017 ng0 ;;; Copyright © 2016 Sou Bunnbu ;;; ;;; 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 +@url{http://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