-
Notifications
You must be signed in to change notification settings - Fork 0
/
default.nix
92 lines (81 loc) · 2.92 KB
/
default.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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
{ mkDerivation, aeson, base, bytestring, containers, directory
, exceptions, extra, HTTP, http-client, http-client-tls, lens, lib
, modern-uri, mtl, parsec, random, text, time
, transformers, uuid, witherable, csv, stm, geckodriver, nodejs, pkgs
, fetchFromGitHub, callCabal2nix, cryptohash, postgresql-simple, postgresql
, uri-encode
}:
let
# scrappySrc = fetchFromGitHub {
# owner = "Ace-Interview-Prep";
# repo = "scrappy";
# # rev = "17bb4b782aa3f01a507349ede6b3af53d9fba7da";
# # sha256 = "1j8dn9jrbx972hmxjx8ri60h6z5fpmg0v3ijqlsn7qigjw3qbwzf";
# rev = "dfa79ce72c921054d4906a833dbfc1e879c24b41";
# sha256 = "1bl0n8bz461x5dal912768md2y8d8a0h5glgs5fj9hfb4p8kwkfw";
# };
nix-thunk = fetchFromGitHub {
owner = "obsidiansystems";
repo = "nix-thunk";
rev = "8fe6f2de2579ea3f17df2127f6b9f49db1be189f";
sha256 = "14l2k6wipam33696v3dr3chysxhqcy0j7hxfr10c0bxd1pxv7s8b";
};
n = import nix-thunk {};
#gargoylePkgs = import ./deps/gargoyle { haskellPackages = pkgs.haskellPackages; postgresql = pkgs.postgresql; };
# gargoyle = n.thunkSource "deps/gargoyle";
# gargoyle-postgresql = n.thunkSource "deps/gargoyle-postgresql";
# gargoyle-postgresql-connect = repos.gargoyle + "/gargoyle-postgresql-connect";
# gargoyle-postgresql-nix = repos.gargoyle + "/gargoyle-postgresql-nix";
scrappySrc = n.thunkSource ./deps/scrappy;
scrappy = pkgs.haskell.lib.overrideCabal (callCabal2nix "scrappy" scrappySrc {}) {
librarySystemDepends = [ nodejs ];
};
nodePieces = (import ./node.nix {});
nodeShell = nodePieces.shell;
nodeDeps = nodePieces.nodeDependencies;
nodeWithJSDom = nodePieces.package;
in
mkDerivation {
pname = "wikiScraper";
version = "0.1.0.0";
src = ./.;
isLibrary = true;
isExecutable = true;
libraryHaskellDepends = [
cryptohash
aeson base bytestring containers directory exceptions extra HTTP
http-client http-client-tls lens modern-uri mtl parsec random
scrappy
text time transformers uuid witherable csv stm geckodriver# nodeDeps
postgresql-simple #gargoylePkgs.gargoyle-postgresql
postgresql uuid
aeson
uri-encode
];
executableHaskellDepends = [
cryptohash
aeson base bytestring containers directory exceptions extra HTTP
http-client http-client-tls lens modern-uri mtl parsec random
scrappy
text time transformers uuid witherable csv stm geckodriver
postgresql-simple# gargoylePkgs.gargoyle-postgresql
postgresql uuid
aeson
uri-encode
];
testHaskellDepends = [
cryptohash
nix-thunk
aeson base bytestring containers directory exceptions extra HTTP
http-client http-client-tls lens modern-uri mtl parsec random
scrappy
text time transformers uuid csv stm geckodriver
postgresql-simple #gargoylePkgs.gargoyle-postgresql
postgresql uuid
aeson
uri-encode
];
librarySystemDepends = [ postgresql ];
homepage = "TODO";
license = lib.licenses.bsd3;
}