unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
From: Liliana Marie Prikler <liliana.prikler@gmail.com>
To: 66015@debbugs.gnu.org
Cc: Simon Tournier <zimon.toutoune@gmail.com>
Subject: bug#66015: [PATCH] gnu: python-pyxel: Update to 1.4.3-2.be75b72.
Date: Fri, 15 Sep 2023 21:53:27 +0200	[thread overview]
Message-ID: <f55c90c2b460fa4998a9cf7359ab4706fed7bf36.1694807858.git.liliana.prikler@gmail.com> (raw)
In-Reply-To: <874jjv9rso.fsf@gmail.com>

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 6391 bytes --]

* gnu/packages/game-development.scm (python-pyxel): Update to 1.4.3-2.be75b72.
[version]: Use git-version even though it is a release.
[source]<git-reference>: Use commit.
<snippet>: Adjust accordingly.
---
Hi Simon

Am Freitag, dem 15.09.2023 um 21:09 +0200 schrieb Simon Tournier:
> Upstream is managing using the worse workflow I have seen.
> 
> Here is the history of tag v1.4.3 replacement:
> 
>   v1.4.3 8bcb6f04eb184876d7807b89b34057ca0897b392  07 August 2021
>   v1.4.3 8bcb6f04eb184876d7807b89b34057ca0897b392  09 December 2021
>   v1.4.3 7d27898e218d6b4cb62779dc22b409d02860f155  27 December 2021
>   v1.4.3 be75b724cae9e10e56a82a5421f9dd65390f1a06  22 September 2022
>   v1.4.3 be75b724cae9e10e56a82a5421f9dd65390f1a06  today
>   
> And surprise surprise:
> 
> --8<---------------cut here---------------start------------->8---
> $ git clone https://github.com/kitao/pyxel
> 
> $ git -C pyxel show 8bcb6f04eb184876d7807b89b34057ca0897b392
> fatal: bad object 8bcb6f04eb184876d7807b89b34057ca0897b392
> 
> $ git -C pyxel show 7d27898e218d6b4cb62779dc22b409d02860f155
> fatal: bad object 7d27898e218d6b4cb62779dc22b409d02860f155
Ouch.

> I am proposing to remove the package python-pyxel.  The rationale is:
> 
>  + Broken [1] since months
>  + Update needs “some” work
>  + Two years without an update
>  + An issue about upstream source
> 
> Therefore, if someone is interested, please update it.  Else I will
> remove it.
Well, I did “some” work, but I only got to update it to the new 1.4.3.
Refering to things by commit ought to be fine since we have SWH as an
additional buffer.  As for newer versions, that requires an ugly hack
to get Rust and Python into a single build system and the last time
I tried to do something non-standard with Cargo has left deep emotional
scars.

Cheers

 gnu/packages/game-development.scm | 96 +++++++++++++++++--------------
 1 file changed, 52 insertions(+), 44 deletions(-)

diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm
index c25dadb39e..215c12e2d9 100644
--- a/gnu/packages/game-development.scm
+++ b/gnu/packages/game-development.scm
@@ -1646,53 +1646,61 @@ (define-public renpy
     (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)))))
-    (home-page "https://github.com/kitao/pyxel")
-    (synopsis "Retro game engine for Python")
-    (description "Pyxel is a game engine inspired by retro gaming consoles.
+  ;; Note to updaters: Use commit and revision even if you're bumping
+  ;; to a release, as upstream is known to "reuse" tags.
+  ;; See <https://bugs.gnu.org/66015> for more information.
+  (let ((commit "be75b724cae9e10e56a82a5421f9dd65390f1a06")
+        (revision "2"))
+    (package
+      (name "python-pyxel")
+      ;; This is the latest version to not require Rust…
+      (version (git-version "1.4.3" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri
+          (git-reference
+           (url "https://github.com/kitao/pyxel")
+           (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32
+           "03ch79cmh9fxvq6c2f3zc2snzczhqi2n01f254lsigckc7d5wz08"))
+         (modules '((guix build utils)))
+         (snippet
+          #~(begin
+              (substitute* "pyxel/__init__.py"
+                (("from collections import MutableSequence")
+                 "from collections.abc import MutableSequence"))))))
+      (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)))))
+      (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)))
+      (license license:expat))))
 
 (define-public grafx2
   (package

base-commit: b696fb41bc0dfcb7130a5aa6d69aff2ae191c283
-- 
2.41.0





  reply	other threads:[~2023-09-15 20:03 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-09-15 19:09 bug#66015: Removal of python-pyxel Simon Tournier
2023-09-15 19:53 ` Liliana Marie Prikler [this message]
2023-09-16  8:46   ` bug#66015: [PATCH] gnu: python-pyxel: Update to 1.4.3-2.be75b72 Simon Tournier
2023-09-16 15:53     ` Liliana Marie Prikler

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=f55c90c2b460fa4998a9cf7359ab4706fed7bf36.1694807858.git.liliana.prikler@gmail.com \
    --to=liliana.prikler@gmail.com \
    --cc=66015@debbugs.gnu.org \
    --cc=zimon.toutoune@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).