~ane/guile-meson-example

A GNU Guile template project using the Meson build system
8356fbdb — Antoine Kalmbach 4 years ago
Initial commit

refs

master
browse  log 

clone

read-only
https://git.sr.ht/~ane/guile-meson-example
read/write
git@git.sr.ht:~ane/guile-meson-example

You can also use your local clone with git send-email.

#A project template for an executable Guile program

This repository is an example template for creating an executable application that is programmed using Guile using the Meson build system.

#What this example does

This example installs an executable Guile program called gme. scripts/gme is a Scheme file that will then load the example module.

During installation (make install), the module example will be compiled to bytecode. This will make the program run faster. These files will be installed in the Guile %site-ccache-dir.

So, if you want to build a fully Guile-powered program, clone this repo and hack away. I recommend the gme script file in scripts/ stay small, instead, try extending the example module as much as you can.

While developing, if you want to run the program, do

meson build
cd build
./guile-wrapper scripts/gme

guile-wrapper is a build-generated file which will have its load path set to the root source directory of this repository. Thus, any change you make in the Scheme code in the example module gets instantly reflected into that script.

#Development & Hacking

If you use GNU Emacs, I recommend Geiser. This project contains a .dir-locals.el file that sets Guile as the default Geiser Scheme implementation.

#Installation

Clone this repository, run

meson build
ninja -C build install          # or meson install -C build if on Meson 

This installs an executable script called gep in your path and it does nothing in particular.

#Running unit tests

meson test

#TODO

  • Guix package description
  • Support for various Scheme package managers:

#License

GNU GPL. See COPYING.