summary refs log tree commit diff
path: root/pkgs/applications/networking/sync/unison/default.nix
blob: 75c976a432940fa4f3e67f01b4c06308f0ae7330 (plain) (blame)
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
{stdenv, fetchurl, ocaml, lablgtk, fontschumachermisc, xset, makeWrapper}:

stdenv.mkDerivation {
  name = "unison-2.13.16";
  src = fetchurl {
    url = http://www.seas.upenn.edu/~bcpierce/unison//download/releases/stable/unison-2.13.16.tar.gz;
    sha256 = "808400a933aeb67654edc770822cd186d1b2adc92e7cb5836996c71c69ffe656";
  };

  buildInputs = [ocaml];

  addInputsHook = "source $makeWrapper";
  preBuild = "sed -i \"s|\\(OCAMLOPT=.*\\)$|\\1 -I $lablgtk/lib/ocaml/lablgtk2|\" Makefile.OCaml";
  makeFlags = "UISTYLE=gtk2 INSTALLDIR=$(out)/bin/";
  preInstall = "ensureDir $out/bin";
  postInstall = [
    "for i in $(cd $out/bin && ls); do"
    "   mv $out/bin/$i $out/bin/.orig-$i;"
    "   echo \"#! $SHELL\" > $out/bin/$i;"
    "   echo \"$xset/bin/xset q | grep -q \\\"$fontschumachermisc\\\" || $xset/bin/xset +fp \\\"$fontschumachermisc/lib/X11/fonts/misc\\\"\" >> $out/bin/$i;"
    "   echo \"exec \\\"$out/bin/.orig-$i\\\" \\\"\\\$@\\\"\" >> $out/bin/$i;"
    "   chmod +x $out/bin/$i;"
    "done"
  ];

  inherit lablgtk fontschumachermisc xset makeWrapper;
}