Installation
Installation
Building GRM requires the Rust toolchain to be installed. The easiest way is
using rustup. Make sure that rustup is properly
installed.
Make sure that the stable toolchain is installed:
$ rustup toolchain install stable
Then, install the build dependencies:
| Distribution | Command |
|---|---|
| Arch Linux | pacman -S --needed gcc openssl pkg-config |
| Ubuntu/Debian | apt-get install --no-install-recommends pkg-config gcc libssl-dev zlib1g-dev |
Then, it's a simple command to install the latest stable version:
$ cargo install git-repo-manager
If you're brave, you can also run the development build:
$ cargo install --git https://github.com/hakoerber/git-repo-manager.git --branch develop
Static build
Note that by default, you will get a dynamically linked executable.
Alternatively, you can also build a statically linked binary. For this, you will
need musl and a few other build dependencies installed installed:
| Distribution | Command |
|---|---|
| Arch Linux | pacman -S --needed gcc musl perl make |
| Ubuntu/Debian | apt-get install --no-install-recommends gcc musl-tools libc-dev perl make |
(perl and make are required for the OpenSSL build script)
The, add the musl target via rustup:
$ rustup target add x86_64-unknown-linux-musl
Then, use a modified build command to get a statically linked binary:
$ cargo install git-repo-manager --target x86_64-unknown-linux-musl --features=static-build
Nix
Run from github without downloading:
$ nix run github:hakoerber/git-repo-manager/develop -- --version
git-repo-manager 0.7.15
Run from local source directory:
$ nix run . -- --version
git-repo-manager 0.7.15
Integrate into a Nix Flake:
{
inputs = {
...
git-repo-manager = {
url = "github:hakoerber/git-repo-manager";
inputs.nixpkgs.follows = "nixpkgs";
inputs.flake-utils.follows = "flake-utils";
};
};
outputs = {
...
pkgs = import inputs.nixpkgs {
...
overlays = [ inputs.git-repo-manager.overlays.git-repo-manager ];
};
};
}