Skip to content

Commit 601fa92

Browse files
committed
CONTRIBUTING: document build requirements
Signed-off-by: Hidde Beydals <[email protected]>
1 parent 9013525 commit 601fa92

File tree

1 file changed

+34
-0
lines changed

1 file changed

+34
-0
lines changed

CONTRIBUTING.md

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,40 @@ to join the conversation (this will also add an invitation to your
2727
Google calendar for our [Flux
2828
meeting](https://docs.google.com/document/d/1l_M0om0qUEN_NNiGgpqJ2tvsF2iioHkaARDeh6b70B0/edit#)).
2929

30+
### Installing required dependencies
31+
32+
The dependency [libgit2](https://libgit2.org/) needs to be installed to be able
33+
to run source-controller or its test-suite locally (not in a container).
34+
35+
In case this dependency is not present on your system (at the expected
36+
version), the first invocation of a `make` target that requires the
37+
dependency will attempt to compile it locally to `hack/libgit2`. For this build
38+
to succeed; CMake, OpenSSL 1.1 and LibSSH2 must be present on the system.
39+
40+
Triggering a manual build of the dependency is possible as well by running
41+
`make libgit2`. To enforce the build, for example if your system dependencies
42+
match but are not linked in a compatible way, append `LIBGIT2_FORCE=1` to the
43+
`make` command.
44+
45+
#### macOS
46+
47+
```console
48+
$ # Ensure libgit2 dependencies are available
49+
$ brew install cmake [email protected] libssh2 pkg-config
50+
$ LIBGIT2_FORCE=1 make libgit2
51+
```
52+
53+
#### Linux
54+
55+
```console
56+
$ # Ensure libgit2 dependencies are available
57+
$ pacman -S cmake openssl libssh2
58+
$ LIBGIT2_FORCE=1 make libgit2
59+
```
60+
61+
**Note:** Example shown is for Arch Linux, but likewise procedure can be
62+
followed using any other package manager, e.g. `apt`.
63+
3064
### How to run the test suite
3165

3266
Prerequisites:

0 commit comments

Comments
 (0)