nixpkgs/pkgs/development/tools/haskell/mueval/default.nix
stuebinm ff1a94e523 treewide: add meta.mainProgram to packages with a single binary
The nixpkgs-unstable channel's programs.sqlite was used to identify
packages producing exactly one binary, and these automatically added
to their package definitions wherever possible.
2024-03-19 03:14:51 +01:00

30 lines
737 B
Nix

{ stdenv, makeWrapper, haskellPackages, packages ? (pkgs: [])
}:
let defaultPkgs = pkgs: [ pkgs.show
pkgs.simple-reflect
pkgs.QuickCheck
pkgs.mtl
];
env = haskellPackages.ghcWithPackages
(pkgs: defaultPkgs pkgs ++ packages pkgs);
libDir = "${env}/lib/ghc-${env.version}";
in stdenv.mkDerivation {
name = "mueval-env";
inherit (haskellPackages) mueval;
nativeBuildInputs = [ makeWrapper ];
buildCommand = ''
mkdir -p $out/bin
makeWrapper $mueval/bin/mueval $out/bin/mueval \
--set "NIX_GHC_LIBDIR" "${libDir}"
'';
passthru = { inherit defaultPkgs; };
meta.mainProgram = "mueval";
}