summary refs log tree commit diff
path: root/pkgs/development/libraries/haskell/mueval/wrapper.nix
blob: 6c3beb4da8bebd0c469052b594d1fa20977ccbb6 (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
{ stdenv, mueval, makeWrapper, ghc
, show, simpleReflect, mtl, random, QuickCheck
, additionalPackages ? [] }:

stdenv.mkDerivation {
  name = "mueval-wrapper";

  buildInputs = [ makeWrapper show simpleReflect mtl random QuickCheck ]
    ++ additionalPackages;

  ghcVersion = ghc.version;

  buildCommand = ''
    PKGPATH=""
    for p in $nativePkgs; do
      for i in "$p/lib/ghc-$ghcVersion/package.conf.d/"*.installedconf; do
        PKGPATH=$PKGPATH''${PKGPATH:+:}$i
      done
    done

    makeWrapper "${mueval}/bin/mueval" "$out/bin/mueval" \
      --prefix PATH : "${mueval}/bin" \
      --prefix GHC_PACKAGE_PATH : "$PKGPATH" \
      --set GHC_PACKAGE_PATH "\$GHC_PACKAGE_PATH:" # always end with : to include base packages
  '';

  preferLocalBuild = true;

  meta = {
    description = mueval.meta.description;
  };
}