GNU bug report logs - #50273
[PATCH] gnu: Add python-pyxel.

Previous Next

Package: guix-patches;

Reported by: Leo Prikler <leo.prikler <at> student.tugraz.at>

Date: Mon, 30 Aug 2021 15:32:02 UTC

Severity: normal

Tags: patch

Done: Leo Prikler <leo.prikler <at> student.tugraz.at>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 50273 in the body.
You can then email your comments to 50273 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#50273; Package guix-patches. (Mon, 30 Aug 2021 15:32:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Leo Prikler <leo.prikler <at> student.tugraz.at>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Mon, 30 Aug 2021 15:32:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Leo Prikler <leo.prikler <at> student.tugraz.at>
To: guix-patches <at> gnu.org
Subject: [PATCH] gnu: Add python-pyxel.
Date: Mon, 30 Aug 2021 17:30:03 +0200
* gnu/packages/game-development.scm (python-pyxel): New variable.
---
 gnu/packages/game-development.scm | 55 +++++++++++++++++++++++++++++++
 1 file changed, 55 insertions(+)

diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm
index 2a58848dce..3e21d411cf 100644
--- a/gnu/packages/game-development.scm
+++ b/gnu/packages/game-development.scm
@@ -1484,6 +1484,61 @@ visual novels, while its Python scripting is enough for complex simulation
 games.")
     (license license:expat)))
 
+(define-public python-pyxel
+  (package
+    (name "python-pyxel")
+    (version "1.4.3")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/kitao/pyxel")
+         (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0bwsgb5yq5s479cnf046v379zsn5ybp5195kbfvzr9l11qbaicm9"))
+       (modules '((guix build utils)))
+       (snippet
+        '(begin
+           (delete-file-recursively "pyxel/core/bin")))))
+    (build-system python-build-system)
+    (arguments
+     `(#:tests? #f ; "Tests" are actually example programs that never halt.
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-build-files
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "setup.py"
+               (("\"pyxel\\.core\\.bin\\.(.*)\"," all arch)
+                (if (string=? arch "linux")
+                    all
+                    "")))
+             (let* ((sdl2 (assoc-ref inputs "sdl2")))
+               (substitute* "pyxel/core/Makefile"
+                 (("`sdl2-config --cflags`")
+                  (string-append "-I" sdl2 "/include/SDL2 -D_REENTRANT"))
+                 (("`sdl2-config --libs`")
+                  (string-append "-L" sdl2 "/lib "
+                                 "-Wl,-rpath," sdl2 "/lib "
+                                 "-Wl,--enable-new-dtags -lSDL2"))))))
+         (add-before 'build 'prebuild
+           (lambda _
+             (invoke "make" "-C" "pyxel/core"))))))
+    (inputs
+     `(("gifsicle" ,gifsicle)
+       ("sdl2" ,(sdl-union (list sdl2 sdl2-image)))))
+    (native-inputs
+     `(("gcc" ,gcc-10)))                  ; for std::filesystem
+    (home-page "https://github.com/kitao/pyxel")
+    (synopsis "Retro game engine for Python")
+    (description "Pyxel is a game engine inspired by retro gaming consoles.
+It has a fixed 16-color palette, can hold up to 3 image banks and 8 tilemaps
+(256x256 pixels each) and 4 sound channels with 64 definable sounds.  It
+also comes with a built-in image and sound editor.")
+    (license license:expat)))
+
 (define-public grafx2
   (package
     (name "grafx2")
-- 
2.33.0





Information forwarded to guix-patches <at> gnu.org:
bug#50273; Package guix-patches. (Mon, 30 Aug 2021 18:41:02 GMT) Full text and rfc822 format available.

Message #8 received at 50273 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: Leo Prikler <leo.prikler <at> student.tugraz.at>
Cc: 50273 <at> debbugs.gnu.org
Subject: Re: bug#50273: [PATCH] gnu: Add python-pyxel.
Date: Mon, 30 Aug 2021 14:40:23 -0400
Hello Leo,

Leo Prikler <leo.prikler <at> student.tugraz.at> writes:

> * gnu/packages/game-development.scm (python-pyxel): New variable.
> ---
>  gnu/packages/game-development.scm | 55 +++++++++++++++++++++++++++++++
>  1 file changed, 55 insertions(+)
>
> diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm
> index 2a58848dce..3e21d411cf 100644
> --- a/gnu/packages/game-development.scm
> +++ b/gnu/packages/game-development.scm
> @@ -1484,6 +1484,61 @@ visual novels, while its Python scripting is enough for complex simulation
>  games.")
>      (license license:expat)))
>  
> +(define-public python-pyxel
> +  (package
> +    (name "python-pyxel")
> +    (version "1.4.3")
> +    (source
> +     (origin
> +       (method git-fetch)
> +       (uri
> +        (git-reference
> +         (url "https://github.com/kitao/pyxel")
> +         (commit (string-append "v" version))))
> +       (file-name (git-file-name name version))
> +       (sha256
> +        (base32
> +         "0bwsgb5yq5s479cnf046v379zsn5ybp5195kbfvzr9l11qbaicm9"))
> +       (modules '((guix build utils)))
> +       (snippet
> +        '(begin
> +           (delete-file-recursively "pyxel/core/bin")))))
> +    (build-system python-build-system)
> +    (arguments
> +     `(#:tests? #f ; "Tests" are actually example programs that never halt.
> +       #:phases
> +       (modify-phases %standard-phases
> +         (add-after 'unpack 'patch-build-files
> +           (lambda* (#:key inputs #:allow-other-keys)
> +             (substitute* "setup.py"
> +               (("\"pyxel\\.core\\.bin\\.(.*)\"," all arch)
> +                (if (string=? arch "linux")
> +                    all
> +                    "")))
> +             (let* ((sdl2 (assoc-ref inputs "sdl2")))
> +               (substitute* "pyxel/core/Makefile"
> +                 (("`sdl2-config --cflags`")
> +                  (string-append "-I" sdl2 "/include/SDL2 -D_REENTRANT"))
> +                 (("`sdl2-config --libs`")
> +                  (string-append "-L" sdl2 "/lib "
> +                                 "-Wl,-rpath," sdl2 "/lib "
> +                                 "-Wl,--enable-new-dtags -lSDL2"))))))

The above could benefit from some extra commenting to explain the choice
of linker options (--enable-new-dtags ?) or C preprocessor variables
(-D_REENTRANT).  I'd have to dig a bit deeper than I'd like to have an
understanding of these.

> +         (add-before 'build 'prebuild
> +           (lambda _
> +             (invoke "make" "-C" "pyxel/core"))))))
> +    (inputs
> +     `(("gifsicle" ,gifsicle)
> +       ("sdl2" ,(sdl-union (list sdl2 sdl2-image)))))
> +    (native-inputs
> +     `(("gcc" ,gcc-10)))                  ; for std::filesystem
> +    (home-page "https://github.com/kitao/pyxel")
> +    (synopsis "Retro game engine for Python")
> +    (description "Pyxel is a game engine inspired by retro gaming consoles.
> +It has a fixed 16-color palette, can hold up to 3 image banks and 8 tilemaps
> +(256x256 pixels each) and 4 sound channels with 64 definable sounds.  It
> +also comes with a built-in image and sound editor.")
> +    (license license:expat)))
> +
>  (define-public grafx2
>    (package
>      (name "grafx2")

The rest LGTM!  Feel free to push a revised version in which you explain
a little bit the choice of linker/preprocessor options.

Thank you!

Maxim




Information forwarded to guix-patches <at> gnu.org:
bug#50273; Package guix-patches. (Mon, 30 Aug 2021 19:04:01 GMT) Full text and rfc822 format available.

Message #11 received at 50273 <at> debbugs.gnu.org (full text, mbox):

From: Leo Prikler <leo.prikler <at> student.tugraz.at>
To: 50273 <at> debbugs.gnu.org
Cc: maxim.cournoyer <at> gmail.com
Subject: [PATCH v2] gnu: Add python-pyxel.
Date: Mon, 30 Aug 2021 21:02:47 +0200
* gnu/packages/game-development.scm (python-pyxel): New variable.
---
Am Montag, den 30.08.2021, 14:40 -0400 schrieb Maxim Cournoyer:
> > +             (let* ((sdl2 (assoc-ref inputs "sdl2")))
> > +               (substitute* "pyxel/core/Makefile"
> > +                 (("`sdl2-config --cflags`")
> > +                  (string-append "-I" sdl2 "/include/SDL2
> > -D_REENTRANT"))
> > +                 (("`sdl2-config --libs`")
> > +                  (string-append "-L" sdl2 "/lib "
> > +                                 "-Wl,-rpath," sdl2 "/lib "
> > +                                 "-Wl,--enable-new-dtags
> > -lSDL2"))))))
> 
> The above could benefit from some extra commenting to explain the
> choice of linker options (--enable-new-dtags ?) or C preprocessor variables
> (-D_REENTRANT).  I'd have to dig a bit deeper than I'd like to have an
> understanding of these.

These were previously snarfed from a manual invocation of sdl2-config, but
iskarian in IRC pointed out, that sdl2-config accepts --prefix, so the patch
has been revised to use that.

 gnu/packages/game-development.scm | 51 +++++++++++++++++++++++++++++++
 1 file changed, 51 insertions(+)

diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm
index 2a58848dce..40807450ea 100644
--- a/gnu/packages/game-development.scm
+++ b/gnu/packages/game-development.scm
@@ -1484,6 +1484,57 @@ visual novels, while its Python scripting is enough for complex simulation
 games.")
     (license license:expat)))
 
+(define-public python-pyxel
+  (package
+    (name "python-pyxel")
+    (version "1.4.3")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/kitao/pyxel")
+         (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0bwsgb5yq5s479cnf046v379zsn5ybp5195kbfvzr9l11qbaicm9"))
+       (modules '((guix build utils)))
+       (snippet
+        '(begin
+           (delete-file-recursively "pyxel/core/bin")))))
+    (build-system python-build-system)
+    (arguments
+     `(#:tests? #f ; "Tests" are actually example programs that never halt.
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-build-files
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "setup.py"
+               (("\"pyxel\\.core\\.bin\\.(.*)\"," all arch)
+                (if (string=? arch "linux")
+                    all
+                    "")))
+             (substitute* "pyxel/core/Makefile"
+               (("`sdl2-config")
+                (string-append "`sdl2-config --prefix="
+                               (assoc-ref inputs "sdl2"))))))
+         (add-before 'build 'prebuild
+           (lambda _
+             (invoke "make" "-C" "pyxel/core"))))))
+    (inputs
+     `(("gifsicle" ,gifsicle)
+       ("sdl2" ,(sdl-union (list sdl2 sdl2-image)))))
+    (native-inputs
+     `(("gcc" ,gcc-10)))                  ; for std::filesystem
+    (home-page "https://github.com/kitao/pyxel")
+    (synopsis "Retro game engine for Python")
+    (description "Pyxel is a game engine inspired by retro gaming consoles.
+It has a fixed 16-color palette, can hold up to 3 image banks and 8 tilemaps
+(256x256 pixels each) and 4 sound channels with 64 definable sounds.  It
+also comes with a built-in image and sound editor.")
+    (license license:expat)))
+
 (define-public grafx2
   (package
     (name "grafx2")
-- 
2.33.0





Information forwarded to guix-patches <at> gnu.org:
bug#50273; Package guix-patches. (Mon, 30 Aug 2021 20:28:01 GMT) Full text and rfc822 format available.

Message #14 received at 50273 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: Leo Prikler <leo.prikler <at> student.tugraz.at>
Cc: 50273 <at> debbugs.gnu.org
Subject: Re: [PATCH v2] gnu: Add python-pyxel.
Date: Mon, 30 Aug 2021 16:27:15 -0400
Hey Leo,

Leo Prikler <leo.prikler <at> student.tugraz.at> writes:

> * gnu/packages/game-development.scm (python-pyxel): New variable.
> ---
> Am Montag, den 30.08.2021, 14:40 -0400 schrieb Maxim Cournoyer:
>> > +             (let* ((sdl2 (assoc-ref inputs "sdl2")))
>> > +               (substitute* "pyxel/core/Makefile"
>> > +                 (("`sdl2-config --cflags`")
>> > +                  (string-append "-I" sdl2 "/include/SDL2
>> > -D_REENTRANT"))
>> > +                 (("`sdl2-config --libs`")
>> > +                  (string-append "-L" sdl2 "/lib "
>> > +                                 "-Wl,-rpath," sdl2 "/lib "
>> > +                                 "-Wl,--enable-new-dtags
>> > -lSDL2"))))))
>> 
>> The above could benefit from some extra commenting to explain the
>> choice of linker options (--enable-new-dtags ?) or C preprocessor variables
>> (-D_REENTRANT).  I'd have to dig a bit deeper than I'd like to have an
>> understanding of these.
>
> These were previously snarfed from a manual invocation of sdl2-config, but
> iskarian in IRC pointed out, that sdl2-config accepts --prefix, so the patch
> has been revised to use that.

Great!  I'm glad that I asked :-)

>  gnu/packages/game-development.scm | 51 +++++++++++++++++++++++++++++++
>  1 file changed, 51 insertions(+)
>
> diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm
> index 2a58848dce..40807450ea 100644
> --- a/gnu/packages/game-development.scm
> +++ b/gnu/packages/game-development.scm
> @@ -1484,6 +1484,57 @@ visual novels, while its Python scripting is enough for complex simulation
>  games.")
>      (license license:expat)))
>  
> +(define-public python-pyxel
> +  (package
> +    (name "python-pyxel")
> +    (version "1.4.3")
> +    (source
> +     (origin
> +       (method git-fetch)
> +       (uri
> +        (git-reference
> +         (url "https://github.com/kitao/pyxel")
> +         (commit (string-append "v" version))))
> +       (file-name (git-file-name name version))
> +       (sha256
> +        (base32
> +         "0bwsgb5yq5s479cnf046v379zsn5ybp5195kbfvzr9l11qbaicm9"))
> +       (modules '((guix build utils)))
> +       (snippet
> +        '(begin
> +           (delete-file-recursively "pyxel/core/bin")))))
> +    (build-system python-build-system)
> +    (arguments
> +     `(#:tests? #f ; "Tests" are actually example programs that never halt.
> +       #:phases
> +       (modify-phases %standard-phases
> +         (add-after 'unpack 'patch-build-files
> +           (lambda* (#:key inputs #:allow-other-keys)
> +             (substitute* "setup.py"
> +               (("\"pyxel\\.core\\.bin\\.(.*)\"," all arch)
> +                (if (string=? arch "linux")
> +                    all
> +                    "")))
> +             (substitute* "pyxel/core/Makefile"
> +               (("`sdl2-config")
> +                (string-append "`sdl2-config --prefix="
> +                               (assoc-ref inputs "sdl2"))))))
> +         (add-before 'build 'prebuild
> +           (lambda _
> +             (invoke "make" "-C" "pyxel/core"))))))
> +    (inputs
> +     `(("gifsicle" ,gifsicle)
> +       ("sdl2" ,(sdl-union (list sdl2 sdl2-image)))))
> +    (native-inputs
> +     `(("gcc" ,gcc-10)))                  ; for std::filesystem
> +    (home-page "https://github.com/kitao/pyxel")
> +    (synopsis "Retro game engine for Python")
> +    (description "Pyxel is a game engine inspired by retro gaming consoles.
> +It has a fixed 16-color palette, can hold up to 3 image banks and 8 tilemaps
> +(256x256 pixels each) and 4 sound channels with 64 definable sounds.  It
> +also comes with a built-in image and sound editor.")
> +    (license license:expat)))
> +

LGTM.  Feel free to push (and then close this tracker)!

Maxim




Reply sent to Leo Prikler <leo.prikler <at> student.tugraz.at>:
You have taken responsibility. (Tue, 31 Aug 2021 21:28:02 GMT) Full text and rfc822 format available.

Notification sent to Leo Prikler <leo.prikler <at> student.tugraz.at>:
bug acknowledged by developer. (Tue, 31 Aug 2021 21:28:02 GMT) Full text and rfc822 format available.

Message #19 received at 50273-done <at> debbugs.gnu.org (full text, mbox):

From: Leo Prikler <leo.prikler <at> student.tugraz.at>
To: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Cc: 50273-done <at> debbugs.gnu.org
Subject: Re: [PATCH v2] gnu: Add python-pyxel.
Date: Tue, 31 Aug 2021 23:27:02 +0200
Am Montag, den 30.08.2021, 16:27 -0400 schrieb Maxim Cournoyer:
> Hey Leo,
> 
> Leo Prikler <leo.prikler <at> student.tugraz.at> writes:
> 
> > * gnu/packages/game-development.scm (python-pyxel): New variable.
> > ---
> > Am Montag, den 30.08.2021, 14:40 -0400 schrieb Maxim Cournoyer:
> > > > +             (let* ((sdl2 (assoc-ref inputs "sdl2")))
> > > > +               (substitute* "pyxel/core/Makefile"
> > > > +                 (("`sdl2-config --cflags`")
> > > > +                  (string-append "-I" sdl2 "/include/SDL2
> > > > -D_REENTRANT"))
> > > > +                 (("`sdl2-config --libs`")
> > > > +                  (string-append "-L" sdl2 "/lib "
> > > > +                                 "-Wl,-rpath," sdl2 "/lib "
> > > > +                                 "-Wl,--enable-new-dtags
> > > > -lSDL2"))))))
> > > 
> > > The above could benefit from some extra commenting to explain the
> > > choice of linker options (--enable-new-dtags ?) or C preprocessor
> > > variables
> > > (-D_REENTRANT).  I'd have to dig a bit deeper than I'd like to
> > > have an
> > > understanding of these.
> > 
> > These were previously snarfed from a manual invocation of sdl2-
> > config, but
> > iskarian in IRC pointed out, that sdl2-config accepts --prefix, so
> > the patch
> > has been revised to use that.
> 
> Great!  I'm glad that I asked :-)
> 
> >  gnu/packages/game-development.scm | 51
> > +++++++++++++++++++++++++++++++
> >  1 file changed, 51 insertions(+)
> > 
> > diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-
> > development.scm
> > index 2a58848dce..40807450ea 100644
> > --- a/gnu/packages/game-development.scm
> > +++ b/gnu/packages/game-development.scm
> > @@ -1484,6 +1484,57 @@ visual novels, while its Python scripting is
> > enough for complex simulation
> >  games.")
> >      (license license:expat)))
> >  
> > +(define-public python-pyxel
> > +  (package
> > +    (name "python-pyxel")
> > +    (version "1.4.3")
> > +    (source
> > +     (origin
> > +       (method git-fetch)
> > +       (uri
> > +        (git-reference
> > +         (url "https://github.com/kitao/pyxel")
> > +         (commit (string-append "v" version))))
> > +       (file-name (git-file-name name version))
> > +       (sha256
> > +        (base32
> > +         "0bwsgb5yq5s479cnf046v379zsn5ybp5195kbfvzr9l11qbaicm9"))
> > +       (modules '((guix build utils)))
> > +       (snippet
> > +        '(begin
> > +           (delete-file-recursively "pyxel/core/bin")))))
> > +    (build-system python-build-system)
> > +    (arguments
> > +     `(#:tests? #f ; "Tests" are actually example programs that
> > never halt.
> > +       #:phases
> > +       (modify-phases %standard-phases
> > +         (add-after 'unpack 'patch-build-files
> > +           (lambda* (#:key inputs #:allow-other-keys)
> > +             (substitute* "setup.py"
> > +               (("\"pyxel\\.core\\.bin\\.(.*)\"," all arch)
> > +                (if (string=? arch "linux")
> > +                    all
> > +                    "")))
> > +             (substitute* "pyxel/core/Makefile"
> > +               (("`sdl2-config")
> > +                (string-append "`sdl2-config --prefix="
> > +                               (assoc-ref inputs "sdl2"))))))
> > +         (add-before 'build 'prebuild
> > +           (lambda _
> > +             (invoke "make" "-C" "pyxel/core"))))))
> > +    (inputs
> > +     `(("gifsicle" ,gifsicle)
> > +       ("sdl2" ,(sdl-union (list sdl2 sdl2-image)))))
> > +    (native-inputs
> > +     `(("gcc" ,gcc-10)))                  ; for std::filesystem
> > +    (home-page "https://github.com/kitao/pyxel")
> > +    (synopsis "Retro game engine for Python")
> > +    (description "Pyxel is a game engine inspired by retro gaming
> > consoles.
> > +It has a fixed 16-color palette, can hold up to 3 image banks and
> > 8 tilemaps
> > +(256x256 pixels each) and 4 sound channels with 64 definable
> > sounds.  It
> > +also comes with a built-in image and sound editor.")
> > +    (license license:expat)))
> > +
> 
> LGTM.  Feel free to push (and then close this tracker)!
> 
> Maxim
Aaaaand done :)





bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Wed, 29 Sep 2021 11:24:08 GMT) Full text and rfc822 format available.

This bug report was last modified 2 years and 203 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.