Message ID | 20200712160206.6768-1-kuba@kadziolka.net |
---|---|
State | Accepted |
Headers | show |
Series | [bug#42335,guix-past] Add old versions of RGBDS | expand |
Context | Check | Description |
---|---|---|
cbaines/comparison | success | View comparision |
cbaines/git branch | success | View Git branch |
cbaines/applying patch | success | View Laminar job |
Hi Jakub, Jakub Kądziołka <kuba@kadziolka.net> skribis: > * modules/past/packages/assembly.scm: New file. > --- > > This patch adds quite a few old versions of RGBDS. The project has quite > a history of small, possibly accidental breaking changes. As a > measurement of the necessity of this many different versions, I looked > into the git history of the Game Boy homebrew project that inspired this > addition. > > The repository (which is unfortunately private) goes back to the days > of 0.2.5, and for almost all versions in that time range, there exists > a git commit that requires it. > > I am on the fence on including versions 0.3.4 and 0.3.6. Their changelog > on GitHub was updated to warn of silent bugs with miscompilation > potential, and are what the 'almost' above accounts for ;) > I decided to omit them in the patch, hoping that this will prevent a > lost soul or two from tripping over those dangerous (in terms of > potential time loss) bugs. > > I did not include versions 0.1.0 and 0.1.1, as they fail to compile and > I have no idea why. > > This is my first patch for guix-past, so any review remarks specific to > pastraising are very much appreciated :) Nothing to say, this LGTM, nice work! You should now have a gitlab.inria.fr account. We need to add you to ‘.guix-authorizations’; will you use the same OpenPGP key as in Guix? Thanks, Ludo’.
On Tue, Jul 21, 2020 at 06:33:05PM +0200, Ludovic Courtès wrote: > Hi Jakub, > > Jakub Kądziołka <kuba@kadziolka.net> skribis: > > > * modules/past/packages/assembly.scm: New file. > > --- > > > > This patch adds quite a few old versions of RGBDS. The project has quite > > a history of small, possibly accidental breaking changes. As a > > measurement of the necessity of this many different versions, I looked > > into the git history of the Game Boy homebrew project that inspired this > > addition. > > > > The repository (which is unfortunately private) goes back to the days > > of 0.2.5, and for almost all versions in that time range, there exists > > a git commit that requires it. > > > > I am on the fence on including versions 0.3.4 and 0.3.6. Their changelog > > on GitHub was updated to warn of silent bugs with miscompilation > > potential, and are what the 'almost' above accounts for ;) > > I decided to omit them in the patch, hoping that this will prevent a > > lost soul or two from tripping over those dangerous (in terms of > > potential time loss) bugs. > > > > I did not include versions 0.1.0 and 0.1.1, as they fail to compile and > > I have no idea why. > > > > This is my first patch for guix-past, so any review remarks specific to > > pastraising are very much appreciated :) > > Nothing to say, this LGTM, nice work! Thanks! > You should now have a gitlab.inria.fr account. We need to add you to > ‘.guix-authorizations’; will you use the same OpenPGP key as in Guix? Nice! Yeah, I'll use the same key. Regards, Jakub Kądziołka
Hi, Jakub Kądziołka <kuba@kadziolka.net> skribis: > On Tue, Jul 21, 2020 at 06:33:05PM +0200, Ludovic Courtès wrote: [...] >> You should now have a gitlab.inria.fr account. We need to add you to >> ‘.guix-authorizations’; will you use the same OpenPGP key as in Guix? > > Nice! Yeah, I'll use the same key. Done! You should be able to push now. Please do install the pre-push hook as noted in ‘README.md’, and let me know if anything is amiss. Thanks, Ludo’.
On Wed, Jul 22, 2020 at 12:20:07PM +0200, Ludovic Courtès wrote: > Hi, > > Jakub Kądziołka <kuba@kadziolka.net> skribis: > > > On Tue, Jul 21, 2020 at 06:33:05PM +0200, Ludovic Courtès wrote: > > [...] > > >> You should now have a gitlab.inria.fr account. We need to add you to > >> ‘.guix-authorizations’; will you use the same OpenPGP key as in Guix? > > > > Nice! Yeah, I'll use the same key. > > Done! You should be able to push now. Please do install the pre-push > hook as noted in ‘README.md’, and let me know if anything is amiss. Thank you. It seems that I don't have GitLab-level permissions for the repository, though. I tried to find the widget that lets me copy the ssh:// URL for pushing, but couldn't. I did see a "Request access" link, though. I clicked it, so you should see an access request in your notifications soon. Regards, Jakub Kądziołka
Hi, Jakub Kądziołka <kuba@kadziolka.net> skribis: > On Wed, Jul 22, 2020 at 12:20:07PM +0200, Ludovic Courtès wrote: >> Hi, >> >> Jakub Kądziołka <kuba@kadziolka.net> skribis: >> >> > On Tue, Jul 21, 2020 at 06:33:05PM +0200, Ludovic Courtès wrote: >> >> [...] >> >> >> You should now have a gitlab.inria.fr account. We need to add you to >> >> ‘.guix-authorizations’; will you use the same OpenPGP key as in Guix? >> > >> > Nice! Yeah, I'll use the same key. >> >> Done! You should be able to push now. Please do install the pre-push >> hook as noted in ‘README.md’, and let me know if anything is amiss. > > Thank you. It seems that I don't have GitLab-level permissions for the > repository, though. I tried to find the widget that lets me copy the > ssh:// URL for pushing, but couldn't. I did see a "Request access" > link, though. I clicked it, so you should see an access request in your > notifications soon. Oops, my bad. Access granted now, lemme know how it goes! Ludo’.
On Thu, Jul 23, 2020 at 09:51:48AM +0200, Ludovic Courtès wrote: > Hi, > > Jakub Kądziołka <kuba@kadziolka.net> skribis: > > > On Wed, Jul 22, 2020 at 12:20:07PM +0200, Ludovic Courtès wrote: > >> Hi, > >> > >> Jakub Kądziołka <kuba@kadziolka.net> skribis: > >> > >> > On Tue, Jul 21, 2020 at 06:33:05PM +0200, Ludovic Courtès wrote: > >> > >> [...] > >> > >> >> You should now have a gitlab.inria.fr account. We need to add you to > >> >> ‘.guix-authorizations’; will you use the same OpenPGP key as in Guix? > >> > > >> > Nice! Yeah, I'll use the same key. > >> > >> Done! You should be able to push now. Please do install the pre-push > >> hook as noted in ‘README.md’, and let me know if anything is amiss. > > > > Thank you. It seems that I don't have GitLab-level permissions for the > > repository, though. I tried to find the widget that lets me copy the > > ssh:// URL for pushing, but couldn't. I did see a "Request access" > > link, though. I clicked it, so you should see an access request in your > > notifications soon. > > Oops, my bad. Access granted now, lemme know how it goes! > > Ludo’. I think we're making progress: remote: GitLab: You are not allowed to push code to protected branches on this project. To ssh://gitlab.inria.fr/guix-hpc/guix-past.git ! [remote rejected] master -> master (pre-receive hook declined) error: failed to push some refs to 'ssh://gitlab.inria.fr/guix-hpc/guix-past.git' If I'm understanding this correctly, pushing to master requires the Maintainer permission. Would you like me to open a Merge Request instead, or would you rather give me the Maintainer permission? Regards, Jakub Kądziołka
Hi, Jakub Kądziołka <kuba@kadziolka.net> skribis: > remote: GitLab: You are not allowed to push code to protected branches on this project. > To ssh://gitlab.inria.fr/guix-hpc/guix-past.git > ! [remote rejected] master -> master (pre-receive hook declined) > error: failed to push some refs to 'ssh://gitlab.inria.fr/guix-hpc/guix-past.git' Bah, I always forget about that. You should be allowed to push now. Ping me on IRC if not! Ludo’.
On Fri, Jul 24, 2020 at 03:08:55PM +0200, Ludovic Courtès wrote: > Hi, > > Jakub Kądziołka <kuba@kadziolka.net> skribis: > > > remote: GitLab: You are not allowed to push code to protected branches on this project. > > To ssh://gitlab.inria.fr/guix-hpc/guix-past.git > > ! [remote rejected] master -> master (pre-receive hook declined) > > error: failed to push some refs to 'ssh://gitlab.inria.fr/guix-hpc/guix-past.git' > > Bah, I always forget about that. You should be allowed to push now. > Ping me on IRC if not! It worked this time :D Thanks, Jakub Kądziołka
diff --git a/modules/past/packages/assembly.scm b/modules/past/packages/assembly.scm new file mode 100644 index 0000000..8b6e4e0 --- /dev/null +++ b/modules/past/packages/assembly.scm @@ -0,0 +1,157 @@ +;;; Guix Past --- Packages from the past for GNU Guix. +;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> +;;; +;;; This file is part of Guix Past. +;;; +;;; Guix Past 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. +;;; +;;; Guix Past 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 Guix Past. If not, see <http://www.gnu.org/licenses/>. + +(define-module (past packages assembly) + #:use-module (guix) + #:use-module (guix git-download) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (gnu packages assembly)) + +(define (rgbds-with-version version source-hash) + (package + (inherit rgbds) + (name "rgbds") + (version version) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/rednex/rgbds.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 (base32 source-hash)))))) + +;; The tests are failing for the 0.2 releases, the ones before 0.2.3 don't even +;; provide them +(define (without-tests base-rgbds) + (package + (inherit base-rgbds) + (arguments + (substitute-keyword-arguments (package-arguments base-rgbds) + ((#:phases phases) + `(modify-phases ,phases + (delete 'check))))))) + +;; RGBDS versions before 0.1.2 fail to build. + +(define-public rgbds-0.1.2 + (let ((base-rgbds + (rgbds-with-version + "0.1.2" "1haqswx50hsgfanz9j17y437ciwvbq8lpw445zfiqipawh45a415"))) + (package + (inherit (without-tests base-rgbds)) + (license (license:non-copyleft "file://LICENSE"))))) + +(define-public rgbds-0.2.0 + (let ((base-rgbds + (rgbds-with-version + "0.2.0" "1q9jci95jrvgc2cyzpsskx92l4m3sv3jyy59bmld3qhqh3nw6jwd"))) + (package + (inherit (without-tests base-rgbds)) + (license (license:non-copyleft "file://LICENSE"))))) + +(define-public rgbds-0.2.1 + (let ((base-rgbds + (rgbds-with-version + "0.2.1" "06hxdq4b9y4bd8c89x4baia18s34814jikgj86d0hjxkqx4ki204"))) + (package + (inherit (without-tests base-rgbds)) + (license (license:non-copyleft "file://LICENSE"))))) + +(define-public rgbds-0.2.2 + (let ((base-rgbds + (rgbds-with-version + "0.2.2" "0ga6myr737wxvbldm886chxca2d6i5jnbzqac0xakf87il1i6kb3"))) + (package + (inherit (without-tests base-rgbds)) + (license (license:non-copyleft "file://LICENSE"))))) + +(define-public rgbds-0.2.3 + (let ((base-rgbds + (rgbds-with-version + "0.2.3" "05fkqrn0fiins61aq3iwzmkm0ii5ihqskv2xv0wk8xd8fp4j2ga1"))) + (package + (inherit (without-tests base-rgbds)) + (license (license:non-copyleft "file://LICENSE"))))) + +(define-public rgbds-0.2.4 + (let ((base-rgbds + (rgbds-with-version + "0.2.4" "0dwq0p9g1lci8sm12a2rfk0g33z2vr75x78zdf1g84djwbz8ipc6"))) + (package + (inherit (without-tests base-rgbds)) + (license (license:non-copyleft "file://LICENSE"))))) + +(define-public rgbds-0.2.5 + (let ((base-rgbds + (rgbds-with-version + "0.2.5" "11lri6p1pr3byxrmbz542263587smb4czq46vr1kyn94lxa3ikbp"))) + (package + (inherit (without-tests base-rgbds)) + (license (license:non-copyleft "file://LICENSE"))))) + +(define-public rgbds-0.3.0 + (let ((base-rgbds + (rgbds-with-version + "0.3.0" "19gk9lakrpn46waxvd4v8fa86xig006r1xvhgqw2acdc50xnxqmk"))) + (package + (inherit base-rgbds) + (license (license:non-copyleft "file://LICENSE.md"))))) + +(define-public rgbds-0.3.1 + (let ((base-rgbds + (rgbds-with-version + "0.3.1" "1bx5yhdyp22q3k9x2kly54pmq78aikx8pmygbhz34mgv8n5w4qss"))) + (package + (inherit base-rgbds) + (license (license:non-copyleft "file://LICENSE.md"))))) + +(define-public rgbds-0.3.2 + (let ((base-rgbds + (rgbds-with-version + "0.3.2" "034l1xqp46h7yjgbvszyky2gmvyy8cq1fcqsnj9c92mbsv81g9qh"))) + (package + (inherit base-rgbds) + (license (license:non-copyleft "file://LICENSE.md"))))) + +(define-public rgbds-0.3.3 + (let ((base-rgbds + (rgbds-with-version + "0.3.3" "1dsw01ylbfqjbwv13n6yxjyakqmlfsvmlzv6h83df5mpix6mjfxv"))) + (package + (inherit base-rgbds) + (license (license:non-copyleft "file://LICENSE.md"))))) + +;; Skipping 0.3.4 and 0.3.6: potentially silent bugs mentioned in release notes, +;; and the releases are short-lived. + +(define-public rgbds-0.3.5 + (rgbds-with-version "0.3.5" "1wxrvqrwg72rys4jhsk7id7lmvv40gw6xpn4sg29f8alfpc2bsry")) + +(define-public rgbds-0.3.7 + (rgbds-with-version "0.3.7" "1bj082zi8lxrkkbsg5kvx6k1hkl156pqbxpblpidamk6qxqyssb9")) + +(define-public rgbds-0.3.8 + (rgbds-with-version "0.3.8" "0db37z886026svhj6qnc3wk56sndbnz1vi41gn2k3bl6ppbnjlpk")) + +;; Skipping 0.3.9 - from release notes: +;; This version is missing definitions of the `__RGBDS_MAJOR__` etc. symbols. +;; Please use 0.3.10 instead, which rectifies this problem (and does not +;; introduce additional changes). + +(define-public rgbds-0.3.10 + (rgbds-with-version "0.3.10" "0752fbffxgxyf3jw2iij88l05dqhppgcxy7dvk82hp4wdg4cflpq"))