diff mbox series

[bug#42458] gnu: Add npiet.

Message ID 8705fe29-ed91-acd4-7eb5-a5bdb9c851a9@gmail.com
State Accepted
Headers show
Series [bug#42458] gnu: Add npiet. | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch fail View Laminar job

Commit Message

Jesse Gibbons Sept. 4, 2020, 4:06 a.m. UTC
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 <jgibbons2357@gmail.com> 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 <jgibbons2357+guix@gmail.com>
>> 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 <jgibbons2357+guix@gmail.com>
>> +;;;
>> +;;; 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

Comments

Efraim Flashner Sept. 5, 2020, 7:51 p.m. UTC | #1
On Thu, Sep 03, 2020 at 10:06:13PM -0600, Jesse Gibbons wrote:
> 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 <jgibbons2357@gmail.com> 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 <jgibbons2357+guix@gmail.com>
> > > 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 <jgibbons2357+guix@gmail.com>
> > > +;;;
> > > +;;; 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 <jgibbons2357+guix@gmail.com>
> 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 <jgibbons2357+guix@gmail.com>
> +;;;
> +;;; 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)

I added the following to wrap npietedit with wish.

    (arguments
     `(#:phases
       (modify-phases %standard-phases
         (add-after 'install 'wrap-binaries
           (lambda* (#:key outputs #:allow-other-keys)
             (let ((out (assoc-ref outputs "out")))
               (wrap-program (string-append out "/bin/npietedit")
                 `("PATH" ":" prefix (,(dirname (which "wish")))))
               #t))))))

> +    (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
> 

I also re-added the description that you had earlier and ordered the
inputs alphabetically.
diff mbox series

Patch

From 5e856c667c9763666cfd164735cd854c8dae7804 Mon Sep 17 00:00:00 2001
From: Jesse Gibbons <jgibbons2357+guix@gmail.com>
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 <jgibbons2357+guix@gmail.com>
+;;;
+;;; 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