taskserver: integrate pki scripts

In the patchPhase all scripts related to generating a CA for taskwarrior are
written into share/taskd and patched to actually work within nixos environment
This commit is contained in:
makefu 2016-04-06 23:38:10 +02:00
parent d2d3ef953e
commit 47e5145d0b

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, cmake, libuuid, gnutls }: { stdenv, fetchurl, cmake, libuuid, gnutls, makeWrapper }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "taskserver-${version}"; name = "taskserver-${version}";
@ -11,6 +11,26 @@ stdenv.mkDerivation rec {
sha256 = "1d110q9vw8g5syzihxymik7hd27z1592wkpz55kya6lphzk8i13v"; sha256 = "1d110q9vw8g5syzihxymik7hd27z1592wkpz55kya6lphzk8i13v";
}; };
patchPhase = ''
pkipath=$out/share/taskd/pki
mkdir -p $pkipath
cp -r pki/* $pkipath
echo "patching paths in pki/generate"
sed -i "s#^\.#$pkipath#" $pkipath/generate
for f in $pkipath/generate* ;do
i=$(basename $f)
echo patching $i
sed -i \
-e 's/which/type -p/g' \
-e 's#^\. ./vars#if test -e ./vars;then . ./vars; else echo "cannot find ./vars - copy the template from '$pkipath'/vars into the working directory";exit 1; fi#' $f
echo wrapping $i
makeWrapper $pkipath/$i $out/bin/taskd-pki-$i \
--prefix PATH : ${gnutls}/bin/
done
'';
buildInputs = [ makeWrapper ];
nativeBuildInputs = [ cmake libuuid gnutls ]; nativeBuildInputs = [ cmake libuuid gnutls ];
meta = { meta = {
@ -18,6 +38,6 @@ stdenv.mkDerivation rec {
homepage = http://taskwarrior.org; homepage = http://taskwarrior.org;
license = stdenv.lib.licenses.mit; license = stdenv.lib.licenses.mit;
platforms = stdenv.lib.platforms.linux; platforms = stdenv.lib.platforms.linux;
maintainers = with stdenv.lib.maintainers; [ matthiasbeyer ]; maintainers = with stdenv.lib.maintainers; [ matthiasbeyer makefu ];
}; };
} }