forked from mlabs-haskell/proto.nix
-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.nix
71 lines (59 loc) · 2.69 KB
/
build.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
# Haskell https://github.com/google/proto-lens/blob/master/proto-lens-protobuf-types/proto-lens-protobuf-types.cabal
{ inputs, ... }:
{
perSystem = { config, proto-nix, ... }:
{
packages = {
any-hs-pb = proto-nix.haskellProto {
src = "${inputs.protobuf}/src";
protos = [ "google/protobuf/any.proto" ];
cabalPackageName = "any-pb";
};
compiler-plugin-hs-pb = proto-nix.haskellProto {
src = "${inputs.protobuf}/src";
protos = [ "google/protobuf/compiler/plugin.proto" ];
cabalBuildDepends = [ config.packages.descriptor-hs-pb ];
cabalPackageName = "compiler-plugin-pb";
};
descriptor-hs-pb = proto-nix.haskellProto {
src = "${inputs.protobuf}/src";
protos = [ "google/protobuf/descriptor.proto" ];
cabalPackageName = "descriptor-pb";
};
duration-hs-pb = proto-nix.haskellProto {
src = "${inputs.protobuf}/src";
protos = [ "google/protobuf/duration.proto" ];
cabalPackageName = "duration-pb";
};
empty-hs-pb = proto-nix.haskellProto {
src = "${inputs.protobuf}/src";
protos = [ "google/protobuf/empty.proto" ];
cabalPackageName = "empty-pb";
};
wrappers-hs-pb = proto-nix.haskellProto {
src = "${inputs.protobuf}/src";
protos = [ "google/protobuf/wrappers.proto" ];
cabalPackageName = "wrappers-pb";
};
struct-hs-pb = proto-nix.haskellProto {
src = "${inputs.protobuf}/src";
protos = [ "google/protobuf/struct.proto" ];
cabalPackageName = "struct-pb";
};
timestamp-hs-pb = proto-nix.haskellProto {
src = "${inputs.protobuf}/src";
protos = [ "google/protobuf/timestamp.proto" ];
cabalPackageName = "timestamp-pb";
};
google-hs-pb = proto-nix.haskellProto {
src = "${inputs.protobuf}/src";
protos = [ "google/protobuf/any.proto" "google/protobuf/compiler/plugin.proto" "google/protobuf/descriptor.proto" "google/protobuf/duration.proto" "google/protobuf/empty.proto" "google/protobuf/wrappers.proto" "google/protobuf/struct.proto" "google/protobuf/timestamp.proto" ];
cabalPackageName = "google-pb";
};
google-pb-docs = proto-nix.docProto {
src = "${inputs.protobuf}/src";
protos = [ "google/protobuf/any.proto" "google/protobuf/compiler/plugin.proto" "google/protobuf/descriptor.proto" "google/protobuf/duration.proto" "google/protobuf/empty.proto" "google/protobuf/wrappers.proto" "google/protobuf/struct.proto" "google/protobuf/timestamp.proto" ];
};
};
};
}