README.md 2.48 KB
Newer Older
1
# Guile-Git
Amirouche's avatar
Amirouche committed
2

3 4
Guile-Git is a GNU Guile library providing bindings to
[libgit2](https://libgit2.org/).
Amirouche's avatar
Amirouche committed
5

6 7
Copyright © 2016, 2017 Amirouche Boubekki  
Copyright © 2018, 2019 Erik Edrosa  
8 9 10 11 12
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.  This file is offered as-is,
without any warranty.

13
## Requirements
14

15 16 17
Guile-Git requires the following to be installed.

- [GNU Guile](https://www.gnu.org/software/guile/) >= 2.0.11
18
- [libgit2](https://libgit2.org/) >= 0.28.0
19
- [scheme-bytestructures](https://github.com/TaylanUB/scheme-bytestructures)
20

Erik Edrosa's avatar
Erik Edrosa committed
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
## Installation

Guile-Git uses GNU autotools to create the build and installation
scripts. The default install location is in `/usr/local`. From a
release tarball you can run:

```sh
./configure
make
sudo make install
```

This will install Guile-Git with the prefix `/usr/local/`. This
might not be the default load path for your GNU Guile. You may choose
to change the prefix to your GNU Guile's location with `./configure
--prefix=/usr` or add `/usr/local/` to GNU Guile's load path in your
`.profile` or `.bash_profile` like this (replacing 2.2 with your GNU
Guile major version):

```sh
export GUILE_LOAD_PATH="/usr/local/share/guile/site/2.2${GUILE_LOAD_PATH:+:}$GUILE_LOAD_PATH"
export GUILE_LOAD_COMPILED_PATH="/usr/local/lib/guile/2.2/site-ccache${GUILE_LOAD_COMPILED_PATH:+:}$GUILE_COMPILED_LOAD_PATH"
```

45 46 47 48 49 50 51 52 53 54 55 56 57
A common issue you may encounter when installing, especially on Ubuntu
and Fedora, is guild not being found when you run `configure`. This
happens because the configure script finds a symbolic link to a
version of guile with a version number, like guile-2.2. This then has
the configure script check for guild-2.2 which does not exist. To fix
this, you can provide the path to the version of guile you want to
install it for.

```sh
./configure GUILE=$(which guile)
```

## Contributing
Amirouche's avatar
Amirouche committed
58

59 60
The easiest way to start hacking on guile-git is to install
[GNU Guix](https://gnu.org/s/guix) and run the following command:
61 62

```bash
Mathieu Othacehe's avatar
Mathieu Othacehe committed
63
> guix environment -l guix.scm
64 65
```

66 67 68 69 70 71 72 73 74 75 76 77 78 79
To build from git you do:

```sh
./bootstrap
./configure
make
```

To run the unit tests you do:

```sh
make check
```

80 81
You can then:

Amirouche's avatar
Amirouche committed
82
- Create a pull request on gitlab
83
- Send a patch to one of the maintainers
84
- Come and ping `OrangeShark` about it at `#[email protected]`.
85 86

And don't forget to add a unit test!
87 88 89 90

## License

Guile-Git is licenced under GPLv3 or later. See COPYING file for
91
details.