1{
2 lib,
3 stdenv,
4 getdns,
5 htslib,
6 libsass,
7 openssl,
8 pkg-config,
9 raylib,
10 SDL2,
11 tkrzw,
12 xorg,
13}:
14
15# The following is list of overrides that take two arguments each:
16# - lockAttrs: - an attrset from a Nim lockfile, use this for making constraints on the locked library
17# - prevAttrs: - preceding arguments to the depender package
18{
19 jester =
20 lockAttrs:
21 {
22 buildInputs ? [ ],
23 ...
24 }:
25 {
26 buildInputs = buildInputs ++ [ openssl ];
27 };
28
29 hts =
30 lockAttrs:
31 {
32 buildInputs ? [ ],
33 ...
34 }:
35 {
36 buildInputs = buildInputs ++ [ htslib ];
37 };
38
39 getdns =
40 lockAttrs:
41 {
42 nativeBuildInputs ? [ ],
43 buildInputs ? [ ],
44 ...
45 }:
46 {
47 nativeBuildInputs = nativeBuildInputs ++ [ pkg-config ];
48 buildInputs = buildInputs ++ [ getdns ];
49 };
50
51 hashlib =
52 lockAttrs:
53 lib.trivial.warnIf (lockAttrs.rev == "84e0247555e4488594975900401baaf5bbbfb531")
54 "the selected version of the hashlib Nim library is hardware specific"
55 # https://github.com/khchen/hashlib/pull/4
56 # remove when fixed upstream
57 (_: { });
58
59 nimraylib_now =
60 lockAttrs:
61 {
62 buildInputs ? [ ],
63 ...
64 }:
65 {
66 buildInputs = buildInputs ++ [ raylib ];
67 };
68
69 sass =
70 lockAttrs:
71 {
72 buildInputs ? [ ],
73 ...
74 }:
75 {
76 buildInputs = buildInputs ++ [ libsass ];
77 };
78
79 sdl2 =
80 lockAttrs:
81 {
82 buildInputs ? [ ],
83 ...
84 }:
85 {
86 buildInputs = buildInputs ++ [ SDL2 ];
87 };
88
89 tkrzw =
90 lockAttrs:
91 {
92 nativeBuildInputs ? [ ],
93 buildInputs ? [ ],
94 ...
95 }:
96 {
97 nativeBuildInputs = nativeBuildInputs ++ [ pkg-config ];
98 buildInputs = buildInputs ++ [ tkrzw ];
99 };
100
101 x11 =
102 lockAttrs:
103 {
104 buildInputs ? [ ],
105 ...
106 }:
107 {
108 buildInputs =
109 buildInputs
110 ++ (with xorg; [
111 libX11
112 libXft
113 libXinerama
114 ]);
115 };
116
117 zippy =
118 lockAttrs:
119 {
120 nimFlags ? [ ],
121 ...
122 }:
123 {
124 nimFlags =
125 nimFlags
126 ++ lib.optionals stdenv.hostPlatform.isx86_64 [
127 "--passC:-msse4.1"
128 "--passC:-mpclmul"
129 ];
130 };
131}