From: Leo Prikler <leo.prikler@student.tugraz.at>
To: Efraim Flashner <efraim@flashner.co.il>
Cc: 47824@debbugs.gnu.org
Subject: [bug#47824] [PATCH 3/3] gnu: tsukundere: Update to 0.3.0.
Date: Mon, 19 Apr 2021 10:24:37 +0200 [thread overview]
Message-ID: <ad2246fe1deda5d9165231c0aca5c067fac46e51.camel@student.tugraz.at> (raw)
In-Reply-To: <YH03x7d1Eh5HRIxj@3900XT>
Am Montag, den 19.04.2021, 10:56 +0300 schrieb Efraim Flashner:
> On Fri, Apr 16, 2021 at 01:07:23PM +0200, Leo Prikler wrote:
> > * gnu/packages/game-development.scm (tsukundere): Update to 0.3.0.
> > [patch-command]: Patch path to guile. Construct load paths
> > directly from
> > inputs.
> > [propagated-inputs]: Remove.
> > [inputs]: Add guile (as guile-runtime) and guile-sdl2.
> > ---
> > gnu/packages/game-development.scm | 45 +++++++++++++++++++------
> > ------
> > 1 file changed, 28 insertions(+), 17 deletions(-)
> >
> > diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-
> > development.scm
> > index 0d4855d275..98ef88971a 100644
> > --- a/gnu/packages/game-development.scm
> > +++ b/gnu/packages/game-development.scm
> > @@ -493,7 +493,7 @@ clone.")
> > (define-public tsukundere
> > (package
> > (name "tsukundere")
> > - (version "0.2.3")
> > + (version "0.3.0")
> > (source (origin
> > (method git-fetch)
> > (uri (git-reference
> > @@ -502,10 +502,11 @@ clone.")
> > (file-name (git-file-name name version))
> > (sha256
> > (base32
> > - "05ckds2df810441wfavllx9lsw5jsc9h3nb7m31df01nsj56a
> > zdw"))))
> > + "06jiaylbnx8khicsaq2gwnd8wspjhjymbb5z6x5445krklk0j
> > x18"))))
> > (build-system gnu-build-system)
> > (arguments
> > - `(#:modules (((guix build guile-build-system)
> > + `(#:modules ((srfi srfi-1)
> > + ((guix build guile-build-system)
> > #:select (target-guile-effective-version))
> > ,@%gnu-build-system-modules)
> > #:imported-modules ((guix build guile-build-system)
> > @@ -513,22 +514,31 @@ clone.")
> > #:phases
> > (modify-phases %standard-phases
> > (add-after 'unpack 'patch-command
> > - (lambda* (#:key outputs #:allow-other-keys)
> > - (let* ((out (assoc-ref outputs "out"))
> > - (version (target-guile-effective-version))
> > - (scm (string-append out "/share/guile/site/"
> > - version))
> > - (go (string-append out "/lib/guile/"
> > - version "/site-ccache")))
> > -
> > + (lambda* (#:key inputs outputs #:allow-other-keys)
> > + (let* ((version (target-guile-effective-version))
>
> I see that the code before uses version but I wouldn't overwrite the
> version variable which normally points to the package's version. I
> suggest guile-version or something similar.
Good point. Since it's only used to construct scm and go (now ccache),
I've decided to inline (target-guile-effective-version).
> > + (scm (lambda (in)
> > + (string-append in "/share/guile/site/"
> > + version)))
> > + (go (lambda (in)
>
> Perhaps go-cache would be more descriptive
> (I see that it was also 'go' before)
Decided on ccache, YMMV.
> > + (string-append in "/lib/guile/" version
> > + "/site-ccache")))
> > + (pkgs
> > + (cons
> > + (assoc-ref outputs "out")
> > + (filter-map
> > + (lambda (input)
> > + (and (string-prefix? "guile-" (car
> > input)) (cdr input)))
>
> I'm not in love with this, I personally find it a bit hard to parse.
> I'm
> not really sure what the (cdr input) is there for. (without testing
> it
> myself) I'd suggest borrowing the filter-map code from guile-studio
> in
> (gnu packages guile-xyz) where it searches for emacs packages.
I wanted to avoid needing ice-9 match, but you're right, that looks
better.
> > + inputs))))
> > (substitute* "bin/tsukundere"
> > - (("exec guile .*" all)
> > + (("exec guile (.*)" _ args)
> > (string-append
> > (format #f "export GUILE_LOAD_PATH=~@?~%"
> > - "\"~a:~a\"" scm (getenv
> > "GUILE_LOAD_PATH"))
> > + "\"~{~a~^:~}\"" (map scm pkgs))
> > (format #f "export
> > GUILE_LOAD_COMPILED_PATH=~@?~%"
> > - "\"~a:~a\"" go (getenv
> > "GUILE_LOAD_COMPILED_PATH"))
> > - all)))
> > + "\"~{~a~^:~}\"" (map go pkgs))
> > + "exec "
> > + (assoc-ref inputs "guile-runtime")
> > + "/bin/guile " args)))
> > #t))))))
>
> (Again without really testing it) Perhaps it would be better to
> remove
> this whole phase and to replace it with wrap-script.
>
> Actually, forget all of that. There's a comment in (guix build utils)
> saying that Guile scripts are not supported.
That's why I'm implementing my custom wrapper here. I'm not sure if
this is a general solution for guile scripts, but for those, that use
the "exec guile" trick, the phase I wrote should act similar to wrap-
program without needing to construct a wrapper script.
Regards,
Leo
next prev parent reply other threads:[~2021-04-19 8:25 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-04-16 11:05 [bug#47824] [PATCH 0/3] Happy hacking in the Spring 2021 LGJ Leo Prikler
2021-04-16 11:07 ` [bug#47824] [PATCH 1/3] gnu: guile-sdl2: Update to 0.6.0 Leo Prikler
2021-04-16 11:07 ` [bug#47824] [PATCH 2/3] gnu: guile-chickadee: Update to 0.7.0 Leo Prikler
2021-04-16 11:07 ` [bug#47824] [PATCH 3/3] gnu: tsukundere: Update to 0.3.0 Leo Prikler
2021-04-19 7:56 ` Efraim Flashner
2021-04-19 8:24 ` Leo Prikler [this message]
2021-04-19 8:17 ` [bug#47824] [PATCH v2 1/3] gnu: guile-sdl2: Update to 0.6.0 Leo Prikler
2021-04-19 8:17 ` [bug#47824] [PATCH v2 2/3] gnu: guile-chickadee: Update to 0.7.0 Leo Prikler
2021-04-19 8:17 ` [bug#47824] [PATCH v2 3/3] gnu: tsukundere: Update to 0.3.0 Leo Prikler
2021-05-05 14:16 ` [bug#47824] [PATCH 0/3] Happy hacking in the Spring 2021 LGJ Ludovic Courtès
2021-05-05 15:00 ` Leo Prikler
2021-05-06 10:52 ` Ludovic Courtès
2021-05-06 11:03 ` Leo Prikler
2021-05-15 8:35 ` Leo Prikler
2021-05-15 13:45 ` Ludovic Courtès
2021-05-15 14:02 ` Leo Prikler
2021-05-15 18:32 ` [bug#47824] [PATCH] gnu: tsukundere: Update to 0.3.0 Leo Prikler
2021-05-16 20:21 ` Ludovic Courtès
2021-05-16 22:27 ` bug#47824: " Leo 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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ad2246fe1deda5d9165231c0aca5c067fac46e51.camel@student.tugraz.at \
--to=leo.prikler@student.tugraz.at \
--cc=47824@debbugs.gnu.org \
--cc=efraim@flashner.co.il \
/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 external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.