This repository has been archived by the owner on Dec 14, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 9
/
Copy pathhackernews.nix
47 lines (47 loc) · 1.46 KB
/
hackernews.nix
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
35
36
37
38
39
40
41
42
43
44
45
46
47
{ mkDerivation, aeson, base, http-client, servant
, servant-client, http-client-tls, hspec-core, hspec
, stdenv, text, transformers, compiler, QuickCheck, semigroups
, quickcheck-instances, pkgs, http-types, string-conversions
}:
let
isGhcjs = compiler == "ghcjs" || compiler == "ghcjsHEAD";
phantomjs = pkgs.nodePackags.phantomjs;
ghcjs-base = pkgs.haskell.packages.ghcjs.ghcjs-base;
ghc-deps = [
aeson base http-client servant servant-client text
transformers http-client-tls http-types string-conversions
quickcheck-instances QuickCheck
];
ghcjs-deps = [ hspec-core QuickCheck semigroups
ghcjs-base aeson base text
transformers hspec servant quickcheck-instances
string-conversions ];
ghcjs-testdeps = [ phantomjs ] ++ ghcjs-deps;
ghc-testdeps = [ base hspec http-client-tls transformers
quickcheck-instances
];
testDeps =
if isGhcjs
then ghcjs-testdeps
else ghc-testdeps;
exeDeps =
if isGhcjs
then [ base ghcjs-base ]
else [ base http-client-tls http-client ];
libDeps =
if isGhcjs
then ghcjs-deps
else ghc-deps;
in mkDerivation {
pname = "hackernews";
version = "1.4.0.0";
src = ./.;
isExecutable = true;
isLibrary = true;
jailbreak = isGhcjs;
libraryHaskellDepends = libDeps;
executableHaskellDepends = exeDeps;
testHaskellDepends = testDeps;
description = "API for Hacker News";
license = stdenv.lib.licenses.mit;
}