acbe3a869c
git-crypt won't work if git and git-crypt are not in PATH. This surfaced
after dbb8958
. Test like this:
```
PATH= $(nix-build --no-out-link '<nixpkgs>' --attr git-crypt)/bin/git-crypt unlock
```
48 lines
1.6 KiB
Nix
48 lines
1.6 KiB
Nix
{ fetchFromGitHub, git, gnupg1compat, makeWrapper, openssl, stdenv }:
|
|
|
|
stdenv.mkDerivation rec {
|
|
|
|
name = "git-crypt-${meta.version}";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "AGWA";
|
|
repo = "git-crypt";
|
|
rev = meta.version;
|
|
sha256 = "4fe45f903a4b3cc06a5fe11334b914c225009fe8440d9e91a54fdf21cf4dcc4d";
|
|
inherit name;
|
|
};
|
|
|
|
buildInputs = [ openssl makeWrapper ];
|
|
|
|
patchPhase = ''
|
|
substituteInPlace commands.cpp \
|
|
--replace '(escape_shell_arg(our_exe_path()))' '= "git-crypt"'
|
|
'';
|
|
|
|
installPhase = ''
|
|
make install PREFIX=$out
|
|
wrapProgram $out/bin/* --prefix PATH : $out/bin:${git}/bin:${gnupg1compat}/bin
|
|
'';
|
|
|
|
meta = with stdenv.lib; {
|
|
homepage = https://www.agwa.name/projects/git-crypt;
|
|
description = "Transparent file encryption in git";
|
|
longDescription = ''
|
|
git-crypt enables transparent encryption and decryption of files in a git
|
|
repository. Files which you choose to protect are encrypted when
|
|
committed, and decrypted when checked out. git-crypt lets you freely
|
|
share a repository containing a mix of public and private
|
|
content. git-crypt gracefully degrades, so developers without the secret
|
|
key can still clone and commit to a repository with encrypted files. This
|
|
lets you store your secret material (such as keys or passwords) in the
|
|
same repository as your code, without requiring you to lock down your
|
|
entire repository.
|
|
'';
|
|
downloadPage = "https://github.com/AGWA/git-crypt/releases";
|
|
license = licenses.gpl3;
|
|
version = "0.5.0";
|
|
maintainers = [ maintainers.dochang ];
|
|
platforms = platforms.unix;
|
|
};
|
|
|
|
}
|