Sorry I cannot respond quickly. I will try Zelphir’s Makefile later,
but what I meant by wrapping is that
$(guix build g-golf-gtk-4-examples)/share/doc/g-golf/examples/gtk-4/hello-world
is a bash wrapper script that contains:
#!/gnu/store/kz4ldfp06k1jznvxkb4v2pwsvwbnjyr4-bash-minimal-5.1.16/bin/bash
export
GUILE_LOAD_PATH="/gnu/store/axsrkn279pllrnr3vsiam28sv0nld1qc-guile-g-golf-0.8.1/share/guile/site/3.0:/gnu/store/f8x0l42h53ghy8r8bsbr2qqyn7mwsq1a-guile-cairo-next-1.11.2-0.30da459/share/guile/site/3.0${GUILE_LOAD_PATH:+:}$GUILE_LOAD_PATH"
export
GUILE_LOAD_COMPILED_PATH="/gnu/store/axsrkn279pllrnr3vsiam28sv0nld1qc-guile-g-golf-0.8.1/lib/guile/3.0/site-ccache:/gnu/store/f8x0l42h53ghy8r8bsbr2qqyn7mwsq1a-guile-cairo-next-1.11.2-0.30da459/lib/guile/3.0/site-ccache${GUILE_LOAD_COMPILED_PATH:+:}$GUILE_LOAD_COMPILED_PATH"
export
GI_TYPELIB_PATH="/gnu/store/4bvbq9x6nwvl0ly8hl94vj9jgkrnsq9i-gtk-4.16.13/lib/girepository-1.0:/gnu/store/iybgfig139slwqkibrgjvd5b1hc8a5g9-glib-2.82.1/lib/girepository-1.0:/gnu/store/qj58pbhwlx31anzxd1j2zwkrjihdljp3-pango-1.54.0/lib/girepository-1.0:/gnu/store/nlpgm2jl8mljw22q3di28ckn7n6d0ypg-graphene-1.10.8/lib/girepository-1.0:/gnu/store/jh3djd42swhzsv1rly4gv7y4p8jw4d2d-librsvg-2.58.5/lib/girepository-1.0:/gnu/store/dxc20f42qnmym0zjwmma7f986h633c4c-gobject-introspection-1.82.0/lib/girepository-1.0:/gnu/store/1z52bhjc12x7s0596s5i6bfgnzdpzx4p-harfbuzz-8.3.0/lib/girepository-1.0:/gnu/store/ffacv1k8vhqx42ibi907wfgij8mhcbw2-gdk-pixbuf-2.42.12/lib/girepository-1.0${GI_TYPELIB_PATH:+:}$GI_TYPELIB_PATH"
export
LD_LIBRARY_PATH="/gnu/store/f8x0l42h53ghy8r8bsbr2qqyn7mwsq1a-guile-cairo-next-1.11.2-0.30da459/lib${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH"
export
XDG_DATA_DIRS="$XDG_DATA_DIRS${XDG_DATA_DIRS:+:}/gnu/store/3cybsynqjfrp82vqylhfbh48gaak0mbf-adwaita-icon-theme-46.2/share"
exec -a "$0"
"/gnu/store/3wkjjgmk958adbnkbz5z53gwmw2bgvcd-g-golf-gtk-4-examples-0.8.1/share/doc/g-golf/examples/gtk-4/.hello-world-real"
"$@"
This script was created by the procedure call
(wrap-program installed-binary
`("GUILE_LOAD_PATH" prefix
(,(string-append g-golf scm)
,(string-append gcairo scm)))
`("GUILE_LOAD_COMPILED_PATH" prefix
(,(string-append g-golf go)
,(string-append gcairo go)))
`("GI_TYPELIB_PATH" prefix
(,(getenv "GI_TYPELIB_PATH")))
;; Library path for libraries loaded by binaries.
`("LD_LIBRARY_PATH" prefix
(,(string-append gcairo "/lib")))
`("XDG_DATA_DIRS" suffix
(,(string-append adwaita-icons "/share"))))
seen in “guix edit g-golf-gtk-4-examples” with wrap-program being from
the module (guix build utils), i.e. (@ (guix build utils) wrap-program).
In particular, running
$(guix build
g-golf-gtk-4-examples)/share/doc/g-golf/examples/gtk-4/.hello-world-real
or
$(guix build --source g-golf)/examples/gtk-4/hello-world
directly when in “guix shell g-golf -D g-golf”
results in the same errors as Zelphir got:
florian@florianhp ~/src/guix [env]$ $(guix build
g-golf-gtk-4-examples)/share/doc/g-golf/examples/gtk-4/.hello-world-real
**
GLib-GObject:ERROR:../glib-2.82.1/gobject/gbinding.c:874:g_binding_class_init:
assertion failed: (gobject_notify_signal_id != 0)
Bail out!
GLib-GObject:ERROR:../glib-2.82.1/gobject/gbinding.c:874:g_binding_class_init:
assertion failed: (gobject_notify_signal_id != 0)
Abgebrochen
The bash wrapper
$(guix build g-golf-gtk-4-examples)/share/doc/g-golf/examples/gtk-4/hello-world
runs fine (even without guix shell).
The development environment
“guix shell g-golf -D g-golf gtk --no-grafts”
can also run
$(guix build
g-golf-gtk-4-examples)/share/doc/g-golf/examples/gtk-4/.hello-world-real
Omitting --no-grafts can cause errors here.
Regards,
Florian