Subject: Re: [bug#42458] [PATCH] gnu: Add npiet.

From: Jesse Gibbons <[email-masked]>
Date: Thu, 3 Sep 2020 22:06:13 -0600

Hello again

On 8/19/20 1:09 AM, Efraim Flashner wrote:
> Overall looks good, just a few changes before it can be merged:
>
> On Mon, Jul 27, 2020 at 10:05:56PM -0600, Jesse Gibbons wrote:
>> V2 attached.
>>
>> On 7/25/20 9:30 AM, Marius Bakke wrote:
>>> Jesse Gibbons <[email-masked]> writes:
>>>
>>>> * gnu/packages/piet.scm: New file.
>>>> * gnu/local.mk: Add it.
>>> The patch seems to have been mangled so it does not apply.
>>>
>>> It would be great if you could expand the description with information
>>> about what the piet language is and why users would want to try it.
>>  From 077214a6e13d770f70dfba2a7fe2faf40b1fbc56 Mon Sep 17 00:00:00 2001
>> From: Jesse Gibbons <[email-masked]>
>> Date: Mon, 20 Jul 2020 20:35:09 -0600
>> Subject: [PATCH v2 1/1] gnu: Add npiet.
>>
>> * gnu/packages/piet.scm: New file.
>> * gnu/local.mk: Add it.
>> ---
>>   gnu/local.mk          |  1 +
>>   gnu/packages/piet.scm | 60 +++++++++++++++++++++++++++++++++++++++++++
>>   2 files changed, 61 insertions(+)
>>   create mode 100644 gnu/packages/piet.scm
>>
>> diff --git a/gnu/local.mk b/gnu/local.mk
>> index 7bae1daf61..fc68786ab6 100644
>> --- a/gnu/local.mk
>> +++ b/gnu/local.mk
>> @@ -425,6 +425,7 @@ GNU_SYSTEM_MODULES =				\
>>     %D%/packages/photo.scm			\
>>     %D%/packages/phabricator.scm 			\
>>     %D%/packages/php.scm				\
>> +  %D%/packages/piet.scm				\
>>     %D%/packages/pkg-config.scm			\
>>     %D%/packages/plotutils.scm			\
>>     %D%/packages/poedit.scm				\
>> diff --git a/gnu/packages/piet.scm b/gnu/packages/piet.scm
>> new file mode 100644
>> index 0000000000..e82b2aa339
>> --- /dev/null
>> +++ b/gnu/packages/piet.scm
>> @@ -0,0 +1,60 @@
>> +;;; GNU Guix --- Functional package management for GNU
>> +;;; Copyright © 2020 Jesse Gibbons <[email-masked]>
>> +;;;
>> +;;; This file is part of GNU Guix.
>> +;;;
>> +;;; GNU Guix is free software; you can redistribute it and/or modify it
>> +;;; under the terms of the GNU General Public License as published by
>> +;;; the Free Software Foundation; either version 3 of the License, or (at
>> +;;; your option) any later version.
>> +;;;
>> +;;; GNU Guix is distributed in the hope that it will be useful, but
>> +;;; WITHOUT ANY WARRANTY; without even the implied warranty of
>> +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
>> +;;; GNU General Public License for more details.
>> +;;;
>> +;;; You should have received a copy of the GNU General Public License
>> +;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
>> +
>> +(define-module (gnu packages piet)
>> +  #:use-module (guix packages)
>> +  #:use-module (guix  download)
>> +  #:use-module (guix build-system gnu)
>> +  #:use-module (gnu packages gd)
>> +  #:use-module (gnu packages groff)
>> +  #:use-module (guix licenses))
>> +
>> +
>> +(define-public npiet
>> +  (package
>> +    (name "npiet")
>> +    (version "1.3e")
> It seems 1.3f has come out in the meantime, can you update to the newer
> version?
>
>> +    (source (origin
>> +              (method url-fetch)
>> +              (uri
>> +               (string-append
>> +                "https://www.bertnase.de/npiet/npiet-"
>> +                version ".tar.gz"))
>> +              (sha256
>> +               (base32
>> +                "1i9ihbjmravid3h7wvns712axdl5xn398hk12pvzl79fs5kcf6g8"))))
>> +    (build-system gnu-build-system)
>> +    (inputs
>> +     `(("gd" ,gd)))
> Looking at the build output and the test output (and npiet --help) it
> looks like it's missing giflib and libpng.
>
>> +    (native-inputs `(("groff" ,groff)))
>> +    (synopsis "Piet interpreter")
>> +    (description
>> +     "Npiet is an interpreter for the piet programming language.  Instead of
>> +text, piet programs are pictures.  Commands are determined based on changes in
>> +color.
>> +
>> +This package includes:
>> +@enumerate
>> +@item npiet, a piet interpreter with debugging capabilities
>> +@item npiet-foogol, a program that builds a piet program from foogol, an
>> +algol-like language
>> +@item npietedit, an editor for the piet programming language
>> +@end enumerate")
>> +    (home-page "https://www.bertnase.de/npiet/")
>> +    (license gpl2+)))
>> +
>> -- 
>> 2.27.0
>>
> Also, when running npietedit, the program complains about missing wish.
> npietedit should be wrapped with tk, which provides the 'wish' binary.
>
All of these objections have been fixed. See attached patch.

-Jesse

>From 5e856c667c9763666cfd164735cd854c8dae7804 Mon Sep 17 00:00:00 2001
From: Jesse Gibbons <[email-masked]>
Date: Mon, 20 Jul 2020 20:35:09 -0600
Subject: [PATCH v2 1/1] gnu: Add npiet.

* gnu/packages/piet.scm: New file.
* gnu/local.mk: Add it.
---
 gnu/local.mk          |  1 +
 gnu/packages/piet.scm | 55 +++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 56 insertions(+)
 create mode 100644 gnu/packages/piet.scm

diff --git a/gnu/local.mk b/gnu/local.mk
index d2753f52ae..974d44e481 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -430,6 +430,7 @@ GNU_SYSTEM_MODULES =				\
   %D%/packages/photo.scm			\
   %D%/packages/phabricator.scm 			\
   %D%/packages/php.scm				\
+  %D%/packages/piet.scm				\
   %D%/packages/pkg-config.scm			\
   %D%/packages/plotutils.scm			\
   %D%/packages/poedit.scm				\
diff --git a/gnu/packages/piet.scm b/gnu/packages/piet.scm
new file mode 100644
index 0000000000..a70089a481
--- /dev/null
+++ b/gnu/packages/piet.scm
@@ -0,0 +1,55 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2020 Jesse Gibbons <[email-masked]>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages piet)
+       #:use-module (guix packages)
+       #:use-module (guix  download)
+       #:use-module (guix build-system gnu)
+       #:use-module (gnu packages gd)
+       #:use-module (gnu packages groff)
+       #:use-module (gnu packages image)
+       #:use-module (gnu packages tcl)
+       #:use-module (guix licenses))
+
+
+(define-public npiet
+  (package
+    (name "npiet")
+    (version "1.3f")
+    (source (origin
+              (method url-fetch)
+              (uri
+               (string-append
+                "https://www.bertnase.de/npiet/npiet-"
+                version ".tar.gz"))
+              (sha256
+               (base32
+                "0nl59fhdqqr7nslxdirdn8nvlq5wws67c7jyx2ckbmxbc9h8bv9d"))))
+    (build-system gnu-build-system)
+    (inputs
+     `(("gd" ,gd)
+       ("tk" ,tk)
+       ("giflib" ,giflib)
+       ("libpng" ,libpng)))
+    (native-inputs `(("groff" ,groff)))
+    (synopsis "Piet interpreter")
+    (description
+     "An interpreter for the piet programming language")
+    (home-page "https://www.bertnase.de/npiet/")
+    (license gpl2+)))
+
-- 
2.28.0