Hi ng0,

I've been on holidays and I didn't checked my emails.
Sadly, in fact there is a regression with qemu version 2.6 onwards, I filed a bug report to qemu team but they didn't investigated yet. For the moment the only solution is to:
1. Use older qemu ;
2. Usse Bochs.

This issue was reported here: https://github.com/narke/colorForth/issues/2

I'm also writing another implementation of colorForth in C but it's not finished yet.

Regards.


Sent with ProtonMail Secure Email.

-------- Original Message --------
Subject: Re: [bug#25728] [PATCH 2/2] gnu: Add colorforth.
Local Time: July 23, 2017 10:35 AM
UTC Time: July 23, 2017 8:35 AM
From: ng0@infotropique.org
To: Ricardo Wurmus <rekado@elephly.net>
ng0 <ng0@infotropique.org>, 25728@debbugs.gnu.org, Konstantin Tcholokachvili <konstantin.tcholokachvili@protonmail.com>

Ricardo Wurmus transcribed 4.0K bytes:
>
> Ricardo Wurmus <rekado@elephly.net> writes:
>
> > Ricardo Wurmus <rekado@elephly.net> 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.

I can confirm the crashes on coreboot.
Last October (patch date) is a while back so I can"t be sure if
my memory of colorforth working on vendor BIOS is correct.

> >> What do you think?

I have another theory: We both don"t know how this is supposed
to be used and the example on the github page is not helping.

I CC"d the author of the software. Konstantin, do you know if we are doing anything
obviously wrong in what we"ve tried in this bug/qa thread?

> > 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 <ng0@we.make.ritual.n0.is>
> +;;; Copyright © 2016, 2017 ng0 <ng0@no-reply.pragmatique.xyz>
> ;;; Copyright © 2016 Sou Bunnbu <iyzsong@gmail.com>
> ;;;
> ;;; 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
>
>

--
ng0
GnuPG: A88C8ADD129828D7EAC02E52E22F9BBFEE348588
GnuPG: https://n0is.noblogs.org/my-keys
https://www.infotropique.org https://krosos.org