Obtaining and installing G-Golf

G-Golf can be obtained from the following archive site http://ftp.gnu.org/gnu/g-golf/. The file will be named g-golf-version.tar.gz. The current version is 0.8.0-rc-3, so the file you should grab is:

    http://ftp.gnu.org/gnu/g-golf/g-golf-0.8.0-rc-3.tar.gz

Dependencies

* Main Dependencies

G-Golf needs the following software to run:

* Test-Suite Dependencies

G-Golf currently needs the following additional software to run its test-suite:

* Examples Dependencies

– Gtk-4.0 examples –

G-Golf currently needs the following additional software to run its Gtk-4.0 examples:

– Adwaita examples –

G-Golf currently needs the following additional software to run its Adw-1 examples:

Install from the tarball

Assuming you have satisfied the dependencies, open a terminal and proceed with the following steps:

cd <download-path>
tar zxf g-golf-0.8.0-rc-3.tar.gz
cd g-golf-0.8.0-rc-3
./configure [--prefix=/your/prefix] [--with-guile-site]
make
make install

Happy G-Golf!

Install from the source

G-Golf uses Git for revision control, hosted on Savannah, you may browse the sources repository here.

There are currently 2 [important] branches: master and devel. G-Golf stable branch is master, developments occur on the devel branch.

So, to grab, compile and install from the source, open a terminal and:

git clone git://git.savannah.gnu.org/g-golf.git
cd g-golf
./autogen.sh
./configure [--prefix=/your/prefix] [--with-guile-site]
make
make install

The above steps ensure you’re using G-Golf bleeding edge stable version. If you wish to participate to developments, checkout the devel branch:

git checkout devel

Happy hacking!


Notes:

  1. The default and --prefix installation locations for source modules and compiled files (in the absence of --with-guile-site) are:
    $(datadir)/g-golf
    $(libdir)/g-golf/guile/$(GUILE_EFFECTIVE_VERSION)/site-ccache
    

    If you pass --with-guile-site, these locations become:

    Guile global site directory
    Guile site-ccache directory
    
  2. The configure step reports these locations as the content of the sitedir and siteccachedir variables.

    After installation, you may consult these variables using pkg-config:

    pkg-config g-golf-1.0 --variable=sitedir
    pkg-config g-golf-1.0 --variable=siteccachedir
    
  3. Unless you have used --with-guile-site, or unless these locations are already ’known’ by Guile, you will need to define or augment your GUILE_LOAD_PATH and GUILE_COMPILED_PATH environment variables accordingly (or %load-path and %load-compiled-path at run time if you prefer3 (See Environment Variables and Load Path in the Guile Reference Manual).

  4. G-Golf also installs its libg-golf.* library files, in $(libdir). The configure step reports its location as the content of the libdir variable, which depends on on the content of the prefix and exec_prefix variables (also reported).

    After installation, you may consult these variables using pkg-config:

    pkg-config g-golf-1.0 --variable=prefix
    pkg-config g-golf-1.0 --variable=exec_prefix
    pkg-config g-golf-1.0 --variable=libdir
    
  5. Unless the $(libdir) location is already ’known’ by your system, you will need - to either define or augment your $LD_LIBRARY_PATH environment variable, or alter the /etc/ld.so.conf (or add a file in /etc/ld.so.conf.d) and run (as root) ldconfig, so that G-Golf finds its libg-golf.* library files4.

  6. To install G-Golf, you must have write permissions to the default or $(prefix) directory and its subdirs, as well as to both Guile’s site and site-ccache directories if --with-guile-site was passed.

  7. Like for any other GNU Tool Chain compatible software, you may install the documentation locally using make install-info, make install-html and/or make install-pdf.

  8. G-Golf comes with a test-suite, which we recommend you to run (especially before Reporting Bugs):
    make check
    
  9. To try/run an uninstalled version of G-Golf, use the pre-inst-env script:
    ./pre-inst-env your-program [arg1 arg2 ...]
    

Footnotes

(3)

In this case, you may as well decide to either alter your $HOME/.guile personal file, or, if you are working in a mult-user environmet, you may also opt for a global configuration. In this case, the file must be named init.scm and placed it here (evaluate the following expression in a terminal): guile -c "(display (%global-site-dir))(newline)".

(4)

Contact your administrator if you opt for the second solution but don’t have write priviledges on your system.