2021-01-23 16:33:48 +00:00
|
|
|
cfg: {stdenv, fetchzip, file, curl, inotifyTools, fetchurl, jdk11, bash, jq, sqlite}:
|
2020-01-19 21:53:58 +00:00
|
|
|
let
|
|
|
|
meta = with stdenv.lib; {
|
|
|
|
description = "Docspell helps to organize and archive your paper documents.";
|
|
|
|
homepage = https://github.com/eikek/docspell;
|
|
|
|
license = licenses.gpl3;
|
|
|
|
maintainers = [ maintainers.eikek ];
|
|
|
|
};
|
|
|
|
in
|
|
|
|
{ server = stdenv.mkDerivation rec {
|
2020-01-22 22:11:02 +00:00
|
|
|
name = "docspell-server-${cfg.version}";
|
2020-01-19 21:53:58 +00:00
|
|
|
|
2020-04-30 20:23:02 +00:00
|
|
|
src = fetchzip cfg.server;
|
2020-01-19 21:53:58 +00:00
|
|
|
|
2021-01-12 00:09:15 +00:00
|
|
|
buildInputs = [ jdk11 ];
|
2020-01-19 21:53:58 +00:00
|
|
|
|
|
|
|
buildPhase = "true";
|
|
|
|
|
|
|
|
installPhase = ''
|
2020-01-24 20:56:48 +00:00
|
|
|
mkdir -p $out/{bin,docspell-restserver-${cfg.version}}
|
|
|
|
cp -R * $out/docspell-restserver-${cfg.version}/
|
2020-01-19 21:53:58 +00:00
|
|
|
cat > $out/bin/docspell-restserver <<-EOF
|
|
|
|
#!${bash}/bin/bash
|
2021-01-12 00:09:15 +00:00
|
|
|
$out/docspell-restserver-${cfg.version}/bin/docspell-restserver -java-home ${jdk11} "\$@"
|
2020-01-19 21:53:58 +00:00
|
|
|
EOF
|
|
|
|
chmod 755 $out/bin/docspell-restserver
|
|
|
|
'';
|
|
|
|
|
|
|
|
inherit meta;
|
|
|
|
};
|
|
|
|
|
|
|
|
joex = stdenv.mkDerivation rec {
|
2020-01-22 22:11:02 +00:00
|
|
|
name = "docspell-joex-${cfg.version}";
|
2020-01-19 21:53:58 +00:00
|
|
|
|
2020-01-22 22:11:02 +00:00
|
|
|
src = fetchzip cfg.joex;
|
2020-01-19 21:53:58 +00:00
|
|
|
|
2021-01-12 00:09:15 +00:00
|
|
|
buildInputs = [ jdk11 ];
|
2020-01-19 21:53:58 +00:00
|
|
|
|
|
|
|
buildPhase = "true";
|
|
|
|
|
|
|
|
installPhase = ''
|
2020-01-24 20:56:48 +00:00
|
|
|
mkdir -p $out/{bin,docspell-joex-${cfg.version}}
|
|
|
|
cp -R * $out/docspell-joex-${cfg.version}/
|
2020-01-19 21:53:58 +00:00
|
|
|
cat > $out/bin/docspell-joex <<-EOF
|
|
|
|
#!${bash}/bin/bash
|
2021-01-12 00:09:15 +00:00
|
|
|
$out/docspell-joex-${cfg.version}/bin/docspell-joex -java-home ${jdk11} "\$@"
|
2020-01-19 21:53:58 +00:00
|
|
|
EOF
|
|
|
|
chmod 755 $out/bin/docspell-joex
|
|
|
|
'';
|
|
|
|
|
|
|
|
inherit meta;
|
|
|
|
};
|
|
|
|
|
2020-01-22 22:11:02 +00:00
|
|
|
tools = stdenv.mkDerivation {
|
|
|
|
name = "docspell-tools-${cfg.version}";
|
2020-01-19 21:53:58 +00:00
|
|
|
|
2020-01-22 22:11:02 +00:00
|
|
|
src = fetchzip cfg.tools;
|
2020-01-19 21:53:58 +00:00
|
|
|
|
|
|
|
buildPhase = "true";
|
|
|
|
|
|
|
|
installPhase = ''
|
|
|
|
mkdir -p $out/bin
|
|
|
|
cp $src/ds.sh $out/bin/ds
|
|
|
|
sed -i 's,CURL_CMD="curl",CURL_CMD="${curl}/bin/curl",g' $out/bin/ds
|
2021-01-23 16:33:48 +00:00
|
|
|
|
|
|
|
while read f; do
|
|
|
|
target="ds-$(basename "$f" ".sh")"
|
|
|
|
echo "Installing $f -> $target"
|
|
|
|
cp "$f" "$out/bin/$target"
|
|
|
|
sed -i 's,CURL_CMD="curl",CURL_CMD="${curl}/bin/curl",g' $out/bin/$target
|
|
|
|
sed -i 's,INOTIFY_CMD="inotifywait",INOTIFY_CMD="${inotifyTools}/bin/inotifywait",g' $out/bin/$target
|
|
|
|
sed -i 's,JQ_CMD="jq",JQ_CMD="${jq}/bin/jq",g' $out/bin/$target
|
|
|
|
sed -i 's,SQLITE_CMD="sqlite3",SQLITE_CMD="${sqlite}/bin/sqlite3",g' $out/bin/$target
|
|
|
|
done < <(find . -name "*.sh" -mindepth 2 -not -path "*webextension*")
|
|
|
|
|
2020-01-19 21:53:58 +00:00
|
|
|
chmod 755 $out/bin/*
|
|
|
|
'';
|
|
|
|
|
|
|
|
inherit meta;
|
|
|
|
};
|
|
|
|
|
|
|
|
}
|