You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
28 lines
818 B
28 lines
818 B
{ nixpkgs ? import <nixpkgs> {}, compiler ? "default", doBenchmark ? false }: |
|
|
|
let |
|
|
|
inherit (nixpkgs) pkgs; |
|
|
|
f = { mkDerivation, base, diagrams, stdenv }: |
|
mkDerivation { |
|
pname = "haskell-libs"; |
|
version = "0.1.0.0"; |
|
src = ./.; |
|
libraryHaskellDepends = [ base diagrams ]; |
|
testHaskellDepends = [ base diagrams ]; |
|
description = "Modules for Project Euler and similar"; |
|
license = stdenv.lib.licenses.gpl3; |
|
}; |
|
|
|
haskellPackages = if compiler == "default" |
|
then pkgs.haskellPackages |
|
else pkgs.haskell.packages.${compiler}; |
|
|
|
variant = if doBenchmark then pkgs.haskell.lib.doBenchmark else pkgs.lib.id; |
|
|
|
drv = variant (haskellPackages.callPackage f {}); |
|
|
|
in |
|
|
|
if pkgs.lib.inNixShell then drv.env else drv
|
|
|