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 > - "05ckds2df810441wfavllx9lsw5jsc9h3nb7m31df01nsj56azdw")))) > + "06jiaylbnx8khicsaq2gwnd8wspjhjymbb5z6x5445krklk0jx18")))) > (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. > + (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) > + (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. > + 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. > (native-inputs > `(("autoconf" ,autoconf) > @@ -536,8 +546,9 @@ clone.") > ("guile" ,guile-3.0) > ("pkg-config" ,pkg-config) > ("texinfo" ,texinfo))) > - (propagated-inputs > - `(("guile-sdl2" ,guile3.0-sdl2))) > + (inputs > + `(("guile-sdl2" ,guile3.0-sdl2) > + ("guile-runtime" ,guile-3.0))) > (home-page "https://gitlab.com/leoprikler/tsukundere") > (synopsis "Visual novel engine") > (description "Tsukundere is a game engine geared heavily towards the > -- > 2.31.1 > > > > -- Efraim Flashner אפרים פלשנר GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted