Package: guix;
Reported by: Simon Tournier <zimon.toutoune <at> gmail.com>
Date: Fri, 15 Sep 2023 19:12:02 UTC
Severity: normal
Done: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
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 66015 in the body.
You can then email your comments to 66015 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
liliana.prikler <at> gmail.com, bug-guix <at> gnu.org
:bug#66015
; Package guix
.
(Fri, 15 Sep 2023 19:12:02 GMT) Full text and rfc822 format available.Simon Tournier <zimon.toutoune <at> gmail.com>
:liliana.prikler <at> gmail.com, bug-guix <at> gnu.org
.
(Fri, 15 Sep 2023 19:12:02 GMT) Full text and rfc822 format available.Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Simon Tournier <zimon.toutoune <at> gmail.com> To: bug-guix <at> gnu.org Subject: Removal of python-pyxel Date: Fri, 15 Sep 2023 21:09:59 +0200
Hi, 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. Some more explanations for the interested reader about unavailable source. :-) If I read correctly, ‘python-pixel’ had been added and never modified since then. bca5d7dbb0fc919f954a8fe5f6236c0a89e451bd AuthorDate: Mon Aug 30 17:27:25 2021 +0200 CommitDate: Tue Aug 31 23:20:09 2021 +0200 Two years later, an user gets the source of “python-pyxel” because the Guix project still stores it. But we cannot predict when the store of the build farms will be garbage collected and this checkout substitute will disappear making this package broken for many Guix revisions. --8<---------------cut here---------------start------------->8--- $ guix build python-pyxel -S --no-substitutes The following derivations will be built: /gnu/store/r84kncvf8ppr5q1lijp33rb9bsyzbgks-python-pyxel-1.4.3-checkout.drv /gnu/store/pi07a883dv6d7l4bkw4f1wwipw1fhin7-python-pyxel-1.4.3-checkout.drv building /gnu/store/pi07a883dv6d7l4bkw4f1wwipw1fhin7-python-pyxel-1.4.3-checkout.drv... guile: warning: failed to install locale environment variable `PATH' set to `/gnu/store/y3vdq2pdkljrw63xxnc2vb6lz07ycar6-git-minimal-2.41.0/bin:/gnu/store/78rf44kf4xf6lc01jjy9ci5905j2344l-gzip-1.12/bin:/gnu/store/z45rrcnvcw31h1wbl1zh8hh79jkwv0gs-tar-1.34/bin' Initialized empty Git repository in /gnu/store/m79d72fh3k4vypcqrsikrwikrscwqd6m-python-pyxel-1.4.3-checkout/.git/ From https://github.com/kitao/pyxel * tag v1.4.3 -> FETCH_HEAD [...] HEAD is now at be75b72 Merge branch 'develop' r:sha256 hash mismatch for /gnu/store/m79d72fh3k4vypcqrsikrwikrscwqd6m-python-pyxel-1.4.3-checkout: expected hash: 0bwsgb5yq5s479cnf046v379zsn5ybp5195kbfvzr9l11qbaicm9 actual hash: 03ch79cmh9fxvq6c2f3zc2snzczhqi2n01f254lsigckc7d5wz08 hash mismatch for store item '/gnu/store/m79d72fh3k4vypcqrsikrwikrscwqd6m-python-pyxel-1.4.3-checkout' build of /gnu/store/pi07a883dv6d7l4bkw4f1wwipw1fhin7-python-pyxel-1.4.3-checkout.drv failed View build log at '/var/log/guix/drvs/pi/07a883dv6d7l4bkw4f1wwipw1fhin7-python-pyxel-1.4.3-checkout.drv.gz'. cannot build derivation `/gnu/store/r84kncvf8ppr5q1lijp33rb9bsyzbgks-python-pyxel-1.4.3-checkout.drv': 1 dependencies couldn't be built guix build: error: build of `/gnu/store/r84kncvf8ppr5q1lijp33rb9bsyzbgks-python-pyxel-1.4.3-checkout.drv' failed --8<---------------cut here---------------end--------------->8--- Now, one can think it is a classic hash mismatch. Arf, foolish no! 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 $ git -C pyxel show --format=%H v1.4.3 tag v1.4.3 Tagger: Takashi Kitao <takashi.kitao <at> gmail.com> Pyxel 1.4.3 be75b724cae9e10e56a82a5421f9dd65390f1a06 --8<---------------cut here---------------end--------------->8--- Because of this, there is a mismatch. However, good news: --8<---------------cut here---------------start------------->8--- $ git -C pyxel checkout v1.4.3 Previous HEAD position was 5fa45abb51b8 Changed the order of the options HEAD is now at be75b724cae9 Merge branch 'develop' $ guix hash -rx $(guix build -S python-pyxel) pyxel 03ch79cmh9fxvq6c2f3zc2snzczhqi2n01f254lsigckc7d5wz08 03ch79cmh9fxvq6c2f3zc2snzczhqi2n01f254lsigckc7d5wz08 --8<---------------cut here---------------end--------------->8--- The ’snippet’ is now unnecessary. The build fails though. --8<---------------cut here---------------start------------->8--- starting phase `build' running "python setup.py" with command "build" and parameters () Traceback (most recent call last): File "<string>", line 1, in <module> File "setup.py", line 2, in <module> from pyxel import VERSION File "/tmp/guix-build-python-pyxel-1.4.3.drv-0/source/pyxel/__init__.py", line 6, in <module> from collections import MutableSequence ImportError: cannot import name 'MutableSequence' from 'collections' (/gnu/store/dy3xh053ahkhrp2jamggq8cpsyvp8mg0-python-3.10.7/lib/python3.10/collections/__init__.py) error: in phase 'build': uncaught exception: %exception #<&invoke-error program: "python" arguments: ("-c" "import setuptools, tokenize;__file__='setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\\r\\n', '\\n');f.close();exec(compile(code, __file__, 'exec'))" "build") exit-status: 1 term-signal: #f stop-signal: #f> phase `build' failed after 0.2 seconds command "python" "-c" "import setuptools, tokenize;__file__='setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\\r\\n', '\\n');f.close();exec(compile(code, __file__, 'exec'))" "build" failed with status 1 builder for `/gnu/store/kg2nw12ma22i89qjymxgjkbwjsbbrn3q-python-pyxel-1.4.3.drv' failed with exit code 1 build of /gnu/store/kg2nw12ma22i89qjymxgjkbwjsbbrn3q-python-pyxel-1.4.3.drv failed View build log at '/var/log/guix/drvs/kg/2nw12ma22i89qjymxgjkbwjsbbrn3q-python-pyxel-1.4.3.drv.gz'. guix build: error: build of `/gnu/store/kg2nw12ma22i89qjymxgjkbwjsbbrn3q-python-pyxel-1.4.3.drv' failed --8<---------------cut here---------------end--------------->8--- Cheers, simon 1: https://ci.guix.gnu.org/build/1840895/details
bug-guix <at> gnu.org
:bug#66015
; Package guix
.
(Fri, 15 Sep 2023 20:03:01 GMT) Full text and rfc822 format available.Message #8 received at 66015 <at> debbugs.gnu.org (full text, mbox):
From: Liliana Marie Prikler <liliana.prikler <at> gmail.com> To: 66015 <at> debbugs.gnu.org Cc: Simon Tournier <zimon.toutoune <at> gmail.com> Subject: [PATCH] gnu: python-pyxel: Update to 1.4.3-2.be75b72. Date: Fri, 15 Sep 2023 21:53:27 +0200
* 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
bug-guix <at> gnu.org
:bug#66015
; Package guix
.
(Sat, 16 Sep 2023 09:20:02 GMT) Full text and rfc822 format available.Message #11 received at 66015 <at> debbugs.gnu.org (full text, mbox):
From: Simon Tournier <zimon.toutoune <at> gmail.com> To: Liliana Marie Prikler <liliana.prikler <at> gmail.com>, 66015 <at> debbugs.gnu.org Subject: Re: bug#66015: [PATCH] gnu: python-pyxel: Update to 1.4.3-2.be75b72. Date: Sat, 16 Sep 2023 10:46:03 +0200
Hi Liliana, Oh, cool! That was fast. :-) Thank you. On Fri, 15 Sep 2023 at 21:53, Liliana Marie Prikler <liliana.prikler <at> gmail.com> wrote: > * 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. I have not tried the patch but LGTM. If it builds fine for you, feel free to push… and close. :-) > Refering to things by commit ought to be fine since we have SWH as an > additional buffer. If upstream removes Git commit be75b724cae9e10e56a82a5421f9dd65390f1a06 then it is an interesting use-case for testing Guix robustness when fallbacking to SWH. :-) I expect that it just works™ but I am not aware of any real world test about this very same use-case. Wait and see. Cheers, simon
Liliana Marie Prikler <liliana.prikler <at> gmail.com>
:Simon Tournier <zimon.toutoune <at> gmail.com>
:Message #16 received at 66015-done <at> debbugs.gnu.org (full text, mbox):
From: Liliana Marie Prikler <liliana.prikler <at> gmail.com> To: Simon Tournier <zimon.toutoune <at> gmail.com>, 66015-done <at> debbugs.gnu.org Subject: Re: bug#66015: [PATCH] gnu: python-pyxel: Update to 1.4.3-2.be75b72. Date: Sat, 16 Sep 2023 17:53:47 +0200
Am Samstag, dem 16.09.2023 um 10:46 +0200 schrieb Simon Tournier: > Hi Liliana, > > Oh, cool! That was fast. :-) Thank you. > > On Fri, 15 Sep 2023 at 21:53, Liliana Marie Prikler > <liliana.prikler <at> gmail.com> wrote: > > * 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. > > I have not tried the patch but LGTM. If it builds fine for you, feel > free to push… and close. :-) I only rarely submit patches that don't at least build for myself. Pushed and done. > > Refering to things by commit ought to be fine since we have SWH as > > an additional buffer. > > If upstream removes Git commit > be75b724cae9e10e56a82a5421f9dd65390f1a06 > then it is an interesting use-case for testing Guix robustness when > fallbacking to SWH. :-) > > I expect that it just works™ but I am not aware of any real world > test about this very same use-case. Wait and see. Yeah, I doubt that they'll reuse it this late in the game, but you're right that we're basically walking on dreams rn. Cheers
Debbugs Internal Request <help-debbugs <at> gnu.org>
to internal_control <at> debbugs.gnu.org
.
(Sun, 15 Oct 2023 11:24:06 GMT) Full text and rfc822 format available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.