summaryrefslogtreecommitdiff
path: root/custom/uucp-mediaserver/scripts.nix
blob: 21eab6de702ecacdb6c268a5d67ae89267db1cb1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
{ stdenv, zsh, config }:

let
  mkSymlinks = name: ''
    ln -s $out/libexec/mediaspace $out/bin/mediaspace.${name}
    ln -s $out/libexec/queue $out/bin/queue.${name}
    ln -s $out/libexec/queuesize $out/bin/queuesize.${name}
    ln -s $out/libexec/queuestatus $out/bin/queuestatus.${name}
    ln -s $out/libexec/update-queuesize $out/bin/update-queuesize.${name}
  '';
in stdenv.mkDerivation {
  name = "uucp-mediaserver";
  src = ./scripts;

  phases = [ "installPhase" ];

  inherit (config) queueDir;
  
  installPhase = ''
    mkdir -p $out/libexec
  
    substituteFile $src/mediaspace $out/libexec/mediaspace
    substituteFile $src/queue $out/libexec/queue
    substituteFile $src/queuesize $out/libexec/queuesize
    substituteFile $src/queuestatus $out/libexec/queuestatus
    substituteFile $src/update-queuesize $out/libexec/update-queuesize

    mkdir -p $out/bin

    ${concatStringsSep "\n" (map mkSymlinks config.remoteNodes)}
  '';
}