3d519c2bed
- unison uses a wrapper script to add font-schumacher-misc to the local X font path if the font isn't already present; this is necessary for it to work, but not terribly nice ... * lablgtk is a dependency of unison - handling of library dirs with ocaml is a hack so far; in principle, ocaml needs a general setup for library dirs like ghc svn path=/nixpkgs/trunk/; revision=9094
28 lines
1.1 KiB
Nix
28 lines
1.1 KiB
Nix
{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 -e\" > $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;
|
|
}
|