summary refs log tree commit diff
path: root/pkgs/misc/gxemul/default.nix
blob: e7d0c92a1c561d3cb4d6d6d783225219eeeb7cd0 (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
28
29
30
31
32
33
34
args: with args.lib; with args;
let
  name="gxemul-0.4.6";
  co = chooseOptionsByFlags {
    inherit args;
    flagDescr = {
      mandatory = { install = "ensureDir \$out/bin; cp gxemul \$out/bin;"; };
      doc   = { install = "ensureDir \$out/share/${name}; cp -r doc \$out/share/${name};"; implies = "man"; };
      demos = { install = "ensureDir \$out/share/${name}; cp -r demos \$out/share/${name};"; };
      man   = { install = "cp -r ./man \$out/;";};
    };
    optionals = ["libX11"];
    defaultFlags = [ "demos" "doc" ];
  };
in stdenv.mkDerivation {

  inherit name;
  inherit (co) /* flags */ buildInputs configureFlags;

  src = fetchurl {
    url = http://gavare.se/gxemul/src/gxemul-0.4.6.tar.gz;
    sha256 = "0hf3gi6hfd2qr5090zimfiddcjgank2q6m7dfsr81wwpxfbhb2z3";
  };

  configurePhase="./configure";

  installPhase = concatStrings ( catAttrs "install" co.flatOptions );

  meta = {
    license = "BSD";
    description = "A Machine Emulator, Mainly emulates MIPS, but supports other CPU type";
    homepage = http://gavare.se/gxemul/;
  };
}