yadm: add missing dependencies

* yadm: add missing dependencies (#73615)

* yadm: replace buildCommand with installPhase
This let the fixup phase compress man pages and patch shebangs
This commit is contained in:
ilikeavocadoes 2019-11-29 15:12:32 +02:00 committed by Renaud
parent 435c3ecde7
commit 6c6abf444b

View file

@ -1,10 +1,12 @@
{ stdenv, fetchFromGitHub }:
{ stdenv, fetchFromGitHub, git, gnupg }:
let version = "1.12.0"; in
stdenv.mkDerivation {
pname = "yadm";
inherit version;
buildInputs = [ git gnupg ];
src = fetchFromGitHub {
owner = "TheLocehiliosan";
repo = "yadm";
@ -12,26 +14,26 @@ stdenv.mkDerivation {
sha256 = "0873jgks7dpfkj5km1jchxdrhf7lia70p0f8zsrh9p4crj5f4pc6";
};
buildCommand = ''
mkdir -p $out/bin
mkdir -p $out/share/man/man1
mkdir -p $out/share/zsh/site-functions
mkdir -p $out/share/bash-completion/completions
sed -e 's:/bin/bash:/usr/bin/env bash:' $src/yadm > $out/bin/yadm
chmod 755 $out/bin/yadm
install -m 644 $src/yadm.1 $out/share/man/man1/yadm.1
install -m644 $src/completion/yadm.zsh_completion $out/share/zsh/site-functions/_yadm
install -m644 $src/completion/yadm.bash_completion $out/share/bash-completion/completions/yadm.bash
dontConfigure = true;
dontBuild = true;
installPhase = ''
runHook preInstall
install -Dt $out/bin $src/yadm
install -Dt $out/share/man/man1 $src/yadm.1
install -D $src/completion/yadm.zsh_completion $out/share/zsh/site-functions/_yadm
install -D $src/completion/yadm.bash_completion $out/share/bash-completion/completions/yadm.bash
runHook postInstall
'';
meta = {
homepage = https://github.com/TheLocehiliosan/yadm;
description = "Yet Another Dotfiles Manager";
longDescription = ''
yadm is a dotfile management tool with 3 main features: Manages files across
systems using a single Git repository. Provides a way to use alternate files on
a specific OS or host. Supplies a method of encrypting confidential data so it
can safely be stored in your repository.
yadm is a dotfile management tool with 3 main features:
* Manages files across systems using a single Git repository.
* Provides a way to use alternate files on a specific OS or host.
* Supplies a method of encrypting confidential data so it can safely be stored in your repository.
'';
license = stdenv.lib.licenses.gpl3;
platforms = stdenv.lib.platforms.unix;