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-2, so the file you should grab is:

    http://ftp.gnu.org/gnu/g-golf/g-golf-0.8.0-rc-2.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-2.tar.gz
cd g-golf-0.8.0-rc-2
./configure [--prefix=/your/prefix] [--with-guile-site=yes]
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=yes]
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=yes) are:
    $(datadir)/g-golf
    $(libdir)/g-golf/guile/$(GUILE_EFFECTIVE_VERSION)/site-ccache
    

    If you pass --with-guile-site=yes, these locations become the Guile global site and site-ccache directories, respectively.

    The configure step reports these locations as the content of the sitedir and siteccachedir variables, respectivelly the source modules and compiled files install locations. 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
    

    You will need - unless you have used --with-guile-site=yes, or unless these locations are already ’known’ by Guile - to define or augment your GUILE_LOAD_PATH and GUILE_COMPILED_PATH environment variables with these locations, respectively (or %load-path and %load-compiled-path at run time if you prefer3 (See Environment Variables and Load Path in the Guile Reference Manual).

  2. 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 nstallation, 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
    

    You will need - unless the $(libdir) location is already ’known’ by your system - 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.

  3. 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=yes was passed.

  4. 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.

  5. Last but not least :), G-Golf comes with a test-suite, which we recommend you to run (especially before Reporting Bugs):
    make check
    

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.