nixpkgs/pkgs/applications/version-management/git-and-tools/transcrypt/default.nix

42 lines
1.5 KiB
Nix
Raw Normal View History

2016-09-06 17:14:52 +02:00
{ stdenv, fetchFromGitHub, git, makeWrapper, openssl }:
2015-10-25 19:26:08 +01:00
stdenv.mkDerivation rec {
2016-09-06 17:14:52 +02:00
name = "transcrypt-${version}";
version = "0.9.9";
2015-10-25 19:26:08 +01:00
2016-09-06 17:14:52 +02:00
src = fetchFromGitHub {
owner = "elasticdog";
repo = "transcrypt";
rev = "v${version}";
sha256 = "0brsgj3qmvkgxzqqamk8krwyarwff1dlb3jjd09snnbfl0kdq1a5";
2015-10-25 19:26:08 +01:00
};
2016-09-06 17:14:52 +02:00
buildInputs = [ git makeWrapper openssl ];
2015-10-25 19:26:08 +01:00
installPhase = ''
install -m 755 -D transcrypt $out/bin/transcrypt
install -m 644 -D man/transcrypt.1 $out/share/man/man1/transcrypt.1
install -m 644 -D contrib/bash/transcrypt $out/share/bash-completion/completions/transcrypt
install -m 644 -D contrib/zsh/_transcrypt $out/share/zsh/site-functions/_transcrypt
2016-09-06 17:14:52 +02:00
wrapProgram $out/bin/transcrypt \
--prefix PATH : "${stdenv.lib.makeBinPath [ git openssl ]}"
2015-10-25 19:26:08 +01:00
'';
meta = with stdenv.lib; {
description = "Transparently encrypt files within a Git repository";
longDescription = ''
A script to configure transparent encryption of sensitive files stored in
a Git repository. Files that you choose will be automatically encrypted
when you commit them, and automatically decrypted when you check them
out. The process will degrade gracefully, so even people without your
encryption password can safely commit changes to the repository's
non-encrypted files.
'';
homepage = https://github.com/elasticdog/transcrypt;
license = licenses.mit;
maintainers = [ maintainers.elasticdog ];
platforms = platforms.all;
};
}