On 16.04.25 13:11, Zelphir Kaltstahl wrote:
On 14.04.25 22:26, pelzflorian (Florian Pelz) wrote:
Hello Zelphir.

Zelphir Kaltstahl<zelphirkaltst...@posteo.de> writes:
I have many questions now.

(1) So, if I understand correctly G-Golf applications can only be run
with the help of Guix tooling like `wrap-program`? Unless I somehow
set all the environment variables, that are in the wrapper script, by
myself to run my own code, instead of examples?
The quick and dirty --no-grafts way should not be complicated. You
already did everything, except in your Makefile setup, I presume it is
enough to add gtk to guix-env/manifest.scm.

By David’s recommendation, as an alternative to pure GTK, imitate the
G-Golf adw-1 examples instead of gtk-4 examples.  Then you additionally
add libadwaita.  (David wrote adw, but the Guix package is called
libadwaita.)  Or perhaps you also need more dependencies like
guile-cairo-next in the gtk-4 animated-paintable example.


(2) How do other people develop apps with G-Golf? Everyone using Guix
and immediately defining packages in the same way as the gtk 4
examples?
If do not go the quick and dirty route, make a proper GNU Autotools
build system.  guile-hall can set up these GNU Autotools project files
automatically.  Then write a normal Guix package, but with inputs and a
phase wrap-binaries like g-golf-adw-1-examples or g-golf-gtk-4-examples,
but without inheriting or the other phases that just patch file paths
and Makefiles specific to G-Golf.  Only then you need not use
--no-grafts.

This is a proper non-Guix-specific build system and a Guix package.  Do
not use Guix’ computed-file.  But for personal not security-sensitive
use (e.g. the app does *not* deal with networking or user files), no
need to do this, your --no-grafts Makefile is fine.


(3) Can I somehow easily run the wrapper script, but then run my own
code, instead of the example?
You can probably alternatively copy the g-golf-gtk-4-examples’ generated
wrapper script and adapt it, so you do not need --no-grafts, but this
would be the most complicated way and likely to break.  Best stick with
your Makefile with gtk in the manifest, or do the guile-hall setup.

Hope it helps.

Regards,
Florian

Hi!

I hope to re-read and try what you both describe soon!

I think I still got questions, but maybe those will become obsolete/cleared when I get to try things.

Thank you both for your input and responses!

Best regards,
Zelphir

Hi!

I've gotten it working!

I still had some confusion, as I didn't understand, that the example code is run as a script, but when I realized that it is run as a script, it became clear to me, why one could run it using "./main.scm" instead of calling Guile directly "guile main.scm" or similar. I have now a working Makefile to easily run the code.

The project I am envisioning relies heavily on a GTKTreeView. Is there any example of that anywhere? (I hope it really is supported/available in G-Golf!)

I guess otherwise I have to rewrite some example like https://docs.gtk.org/gtk3/treeview-tutorial.html into Guile code?

That's another thing I still need to grasp: From where to import what and to learn the naming conventions of G-Golf.

But so far things seem to be working!

Best regards,
Zelphir

--
repositories: https://notabug.org/ZelphirKaltstahl, 
https://codeberg.org/ZelphirKaltstahl


Reply via email to