Hi, Sorry for the late reply.
On Sun, 02 Jul 2023 at 15:57, "Philip McGrath" <phi...@philipmcgrath.com> wrote: >> ck@brak ~ $ guix shell --no-grafts racket -- racket --version >> Welcome to Racket v8.8 [cs]. > I'm not exactly sure how to do this, but can we determine which grafts > are otherwise being applied to `racket` in your environment? Hopefully > knowing what is being grafted will help to narrow down how grafting > might be going wrong. What about guix shell -C racket -- racket --version ? Well, about the grafts part, $ guix build racket -d /gnu/store/c0255s7y8f4ajzvspx8v9qbm1g3id3xb-racket-8.8.drv $ guix build racket -d --no-grafts /gnu/store/np4dqp1bqxwpbzdjmji81bsddygfzf81-racket-8.8.drv then let open the first derivation, --8<---------------cut here---------------start------------->8--- Derive ([("out","/gnu/store/k70zkb4r4y2lixr4bpf48hd33xldyb2a-racket-8.8","","")] ,[("/gnu/store/476wh1gii4ijga8cw24nxp6q4jc9x4hl-gtk+-3.24.37.drv",["out"]) ,("/gnu/store/cgdn2v19i6qwy0kisnykv9zvphl5lhxa-gtk+-3.24.37.drv",["out"]) ,("/gnu/store/jday1gpvdk3ccf034vcja567bjp0n4z1-glibc-utf8-locales-2.35.drv",["out"]) ,("/gnu/store/n34gnfqh8zn72z0lra59rgv6skm47i39-guile-2.0.14.drv",["out"]) ,("/gnu/store/np4dqp1bqxwpbzdjmji81bsddygfzf81-racket-8.8.drv",["out"]) ,("/gnu/store/xg9dfhixaw5fb36g7jz222jl99gr4dxz-module-import-compiled.drv",["out"])] ,["/gnu/store/a6acf6dds8s9fw7dp5div03rwik0x4x2-module-import","/gnu/store/jww1rq3s54m6k3yf0ixqqqs2rn86hh32-racket-8.8-builder"] ,"x86_64-linux","/gnu/store/4p1l5bdxxbyyqc3wh0d07jv9rp1pdcy7-guile-2.0.14/bin/guile",["--no-auto-compile","-L","/gnu/store/a6acf6dds8s9fw7dp5div03rwik0x4x2-module-import","-C","/gnu/store/yk897hj2p5mdx6hw47s90n8x9pn6s36c-module-import-compiled","/gnu/store/jww1rq3s54m6k3yf0ixqqqs2rn86hh32-racket-8.8-builder"] ,[("allowSubstitutes","0") ,("guix properties","((type . graft) (graft (count . 1)))") ,("out","/gnu/store/k70zkb4r4y2lixr4bpf48hd33xldyb2a-racket-8.8") ,("preferLocalBuild","1")]) --8<---------------cut here---------------end--------------->8--- Ok, there is /gnu/store/np4dqp1bqxwpbzdjmji81bsddygfzf81-racket-8.8.drv which is the non grafted derivation. Now, let open the builder, --8<---------------cut here---------------start------------->8--- (begin (use-modules (guix build graft) (guix build utils) (ice-9 match)) (define %outputs (list (cons "out" ((@ (guile) getenv) "out")))) (begin (setenv "GUIX_LOCPATH" "/gnu/store/visfdda934gvivwihwhlm63fdqhhcc8a-glibc-utf8-locales-2.35/lib/locale") (setlocale LC_ALL "en_US.utf8")) (let* ((old-outputs (quote (("out" . "/gnu/store/z0a42imbmy6563wvdavapb6c8vbi1s1z-racket-8.8")))) (mapping (append (quote (("/gnu/store/2n2kprz35a19ibs5kbjsb3k4cdl69q2w-gtk+-3.24.37" . "/gnu/store/c1vhs1874xiqmx0789jinrpbx63ks35y-gtk+-3.24.37"))) (map (match-lambda ((name . file) (cons (assoc-ref old-outputs name) file))) %outputs)))) (graft old-outputs %outputs mapping))) --8<---------------cut here---------------end--------------->8--- and thus racket is grafted with gtk+. However, it seems the same version, and thus, I do not know if it is similar as #47064 [1]. It works for me on foreign distro as Ubuntu. 1: https://issues.guix.gnu.org/47064 Cheers, simon