1{ pkgs, lib, build-asdf-system, ... }:
2
3let
4
5 # FIXME: automatically add nativeLibs based on conditions signalled
6
7 overrides = (self: super: {
8 cl_plus_ssl = super.cl_plus_ssl.overrideLispAttrs (o: {
9 nativeLibs = [ pkgs.openssl ];
10 });
11 cl-cffi-gtk-glib = super.cl-cffi-gtk-glib.overrideLispAttrs (o: {
12 nativeLibs = [ pkgs.glib ];
13 });
14 cl-cffi-gtk-cairo = super.cl-cffi-gtk-cairo.overrideLispAttrs (o: {
15 nativeLibs = [ pkgs.cairo ];
16 });
17 cl-cairo2 = super.cl-cairo2.overrideLispAttrs (o: {
18 nativeLibs = [ pkgs.cairo ];
19 });
20 cl-cairo2-xlib = super.cl-cairo2-xlib.overrideLispAttrs (o: {
21 nativeLibs = [ pkgs.gtk2-x11 ];
22 });
23 cl-freeimage = super.cl-freeimage.overrideLispAttrs (o: {
24 nativeLibs = [ pkgs.freeimage ];
25 });
26 cl-freetype2 = super.cl-freetype2.overrideLispAttrs (o: {
27 nativeLibs = [ pkgs.freetype ];
28 nativeBuildInputs = [ pkgs.freetype ];
29 patches = [ ./patches/cl-freetype2-fix-grovel-includes.patch ];
30 });
31 cl-pango = super.cl-pango.overrideLispAttrs (o: {
32 nativeLibs = [ pkgs.pango ];
33 });
34 cl-gtk2-gdk = super.cl-gtk2-gdk.overrideLispAttrs (o: {
35 nativeLibs = [ pkgs.gtk2-x11 ];
36 });
37 cl-gtk2-glib = super.cl-gtk2-glib.overrideLispAttrs (o: {
38 nativeLibs = [ pkgs.glib ];
39 });
40 cl-gtk2-pango = super.cl-gtk2-pango.overrideLispAttrs (o: {
41 nativeLibs = [ pkgs.pango ];
42 });
43 cl-rsvg2 = super.cl-rsvg2.overrideLispAttrs (o: {
44 nativeLibs = [ pkgs.librsvg ];
45 });
46 cl-cffi-gtk-gdk = super.cl-cffi-gtk-gdk.overrideLispAttrs (o: {
47 nativeLibs = [ pkgs.gtk3 ];
48 });
49 cl-cffi-gtk-gdk-pixbuf = super.cl-cffi-gtk-gdk-pixbuf.overrideLispAttrs (o: {
50 nativeLibs = [ pkgs.gdk-pixbuf ];
51 });
52 cl-cffi-gtk-pango = super.cl-cffi-gtk-pango.overrideLispAttrs (o: {
53 nativeLibs = [ pkgs.pango ];
54 });
55 cl-gobject-introspection = super.cl-gobject-introspection.overrideLispAttrs (o: {
56 nativeLibs = [ pkgs.glib pkgs.gobject-introspection ];
57 });
58 cl-mysql = super.cl-mysql.overrideLispAttrs (o: {
59 nativeLibs = [ pkgs.mariadb.client ];
60 });
61 clsql-postgresql = super.clsql-postgresql.overrideLispAttrs (o: {
62 nativeLibs = [ pkgs.postgresql.lib ];
63 });
64 clsql-sqlite3 = super.clsql-sqlite3.overrideLispAttrs (o: {
65 nativeLibs = [ pkgs.sqlite ];
66 });
67 cl-webkit2 = super.cl-webkit2.overrideLispAttrs (o: {
68 nativeLibs = [ pkgs.webkitgtk ];
69 });
70 dbd-mysql = super.dbd-mysql.overrideLispAttrs (o: {
71 nativeLibs = [ pkgs.mariadb.client ];
72 });
73 lla = super.lla.overrideLispAttrs (o: {
74 nativeLibs = [ pkgs.openblas ];
75 });
76 cffi-libffi = super.cffi-libffi.overrideLispAttrs (o: {
77 nativeBuildInputs = [ pkgs.libffi ];
78 nativeLibs = [ pkgs.libffi ];
79 });
80 cl-rabbit = super.cl-rabbit.overrideLispAttrs (o: {
81 nativeBuildInputs = [ pkgs.rabbitmq-c ];
82 nativeLibs = [ pkgs.rabbitmq-c ];
83 });
84 trivial-ssh-libssh2 = super.trivial-ssh-libssh2.overrideLispAttrs (o: {
85 nativeLibs = [ pkgs.libssh2 ];
86 });
87 sqlite = super.sqlite.overrideLispAttrs (o: {
88 nativeLibs = [ pkgs.sqlite ];
89 });
90 cl-libuv = super.cl-libuv.overrideLispAttrs (o: {
91 nativeBuildInputs = [ pkgs.libuv ];
92 nativeLibs = [ pkgs.libuv ];
93 });
94 cl-liballegro = super.cl-liballegro.overrideLispAttrs (o: {
95 nativeLibs = [ pkgs.allegro5 ];
96 });
97 cl-ode = super.cl-ode.overrideLispAttrs (o: {
98 nativeLibs = let
99 ode' = pkgs.ode.overrideAttrs (o: {
100 configureFlags = [
101 "--enable-shared"
102 "--enable-double-precision"
103 ];
104 });
105 in [ ode' ];
106 });
107 classimp = super.classimp.overrideLispAttrs (o: {
108 nativeLibs = [ pkgs.assimp ];
109 });
110 sdl2 = super.sdl2.overrideLispAttrs (o: {
111 nativeLibs = [ pkgs.SDL2 ];
112 });
113 lispbuilder-sdl-cffi = super.lispbuilder-sdl-cffi.overrideLispAttrs (o: {
114 nativeLibs = [ pkgs.SDL ];
115 });
116 cl-opengl = super.cl-opengl.overrideLispAttrs (o: {
117 nativeLibs = [ pkgs.libGL ];
118 });
119 cl-glu = super.cl-glu.overrideLispAttrs (o: {
120 nativeLibs = [ pkgs.libGLU ];
121 });
122 cl-glut = super.cl-glut.overrideLispAttrs (o: {
123 nativeLibs = [ pkgs.freeglut ];
124 });
125 cl-glfw = super.cl-glfw.overrideLispAttrs (o: {
126 nativeLibs = [ pkgs.glfw ];
127 });
128 cl-glfw-opengl-core = super.cl-glfw-opengl-core.overrideLispAttrs (o: {
129 nativeLibs = [ pkgs.libGL ];
130 });
131 cl-glfw3 = super.cl-glfw3.overrideLispAttrs (o: {
132 nativeLibs = [ pkgs.glfw ];
133 });
134 lev = super.lev.overrideLispAttrs (o: {
135 nativeLibs = [ pkgs.libev ];
136 });
137 cl-rdkafka = super.cl-rdkafka.overrideLispAttrs (o: {
138 nativeBuildInputs = [ pkgs.rdkafka ];
139 nativeLibs = [ pkgs.rdkafka ];
140 });
141 cl-async-ssl = super.cl-async-ssl.overrideLispAttrs (o: {
142 nativeLibs = [ pkgs.openssl ];
143 });
144 iolib = super.iolib.overrideLispAttrs (o: {
145 nativeBuildInputs = [ pkgs.libfixposix ];
146 nativeLibs = [ pkgs.libfixposix ];
147 systems = [ "iolib" "iolib/os" "iolib/pathnames" ];
148 });
149 cl-ana_dot_hdf-cffi = super.cl-ana_dot_hdf-cffi.overrideLispAttrs (o: {
150 nativeBuildInputs = [ pkgs.hdf5 ];
151 nativeLibs = [ pkgs.hdf5 ];
152 NIX_LDFLAGS = [ "-lhdf5" ];
153 });
154 gsll = super.gsll.overrideLispAttrs (o: {
155 nativeBuildInputs = [ pkgs.gsl ];
156 nativeLibs = [ pkgs.gsl ];
157 });
158 cl-libyaml = super.cl-libyaml.overrideLispAttrs (o: {
159 nativeLibs = [ pkgs.libyaml ];
160 });
161 cl-libxml2 = super.cl-libxml2.overrideLispAttrs (o: {
162 nativeLibs = [ pkgs.libxml2 ];
163 });
164 cl-readline = super.cl-readline.overrideLispAttrs (o: {
165 nativeLibs = [ pkgs.readline ];
166 });
167 log4cl = super.log4cl.overrideLispAttrs (o: {
168 patches = [ ./patches/log4cl-fix-build.patch ];
169 });
170 md5 = super.md5.overrideLispAttrs (o: {
171 lispLibs = [ super.flexi-streams ];
172 });
173 pzmq = super.pzmq.overrideLispAttrs (o: {
174 nativeBuildInputs = [ pkgs.zeromq ];
175 nativeLibs = [ pkgs.zeromq ];
176 });
177 pzmq-compat = super.pzmq-compat.overrideLispAttrs (o: {
178 nativeBuildInputs = [ pkgs.zeromq ];
179 nativeLibs = [ pkgs.zeromq ];
180 });
181 pzmq-examples = super.pzmq-examples.overrideLispAttrs (o: {
182 nativeBuildInputs = [ pkgs.zeromq ];
183 nativeLibs = [ pkgs.zeromq ];
184 });
185 pzmq-test = super.pzmq-test.overrideLispAttrs (o: {
186 nativeBuildInputs = [ pkgs.zeromq ];
187 nativeLibs = [ pkgs.zeromq ];
188 });
189 cl-git = super.cl-git.overrideLispAttrs (o: {
190 nativeLibs = [ pkgs.libgit2 ];
191 });
192 trivial-package-manager = super.trivial-package-manager.overrideLispAttrs (o: {
193 propagatedBuildInputs = [ pkgs.which ];
194 });
195 cl-sat_dot_glucose = super.cl-sat_dot_glucose.overrideLispAttrs (o: {
196 propagatedBuildInputs = [ pkgs.glucose ];
197 patches = [ ./patches/cl-sat-binary-from-path.patch ];
198 });
199 cl-sat_dot_minisat = super.cl-sat_dot_minisat.overrideLispAttrs (o: {
200 propagatedBuildInputs = [ pkgs.minisat ];
201 });
202 hu_dot_dwim_dot_graphviz = super.hu_dot_dwim_dot_graphviz.overrideLispAttrs (o: {
203 nativeLibs = [ pkgs.graphviz ];
204 });
205 math = super.math.overrideLispAttrs (o: {
206 patches = [ ./patches/math-no-compile-time-directory.patch ];
207 nativeLibs = [ pkgs.fontconfig ];
208 });
209 mcclim-fonts = super.mcclim-fonts.overrideLispAttrs (o: {
210 lispLibs = o.lispLibs ++ [
211 super.cl-dejavu
212 super.zpb-ttf
213 super.cl-vectors
214 super.cl-paths-ttf
215 super.flexi-streams
216 ];
217 systems = [ "mcclim-fonts" "mcclim-fonts/truetype" ];
218 });
219 mcclim-render = super.mcclim-render.overrideLispAttrs (o: {
220 lispLibs = o.lispLibs ++ [
221 self.mcclim-fonts
222 ];
223 });
224 mcclim-layouts = super.mcclim-layouts.overrideLispAttrs (o: {
225 systems = [ "mcclim-layouts" "mcclim-layouts/tab" ];
226 lispLibs = o.lispLibs ++ [
227 self.mcclim
228 ];
229});
230 });
231
232 qlpkgs =
233 if builtins.pathExists ./imported.nix
234 then pkgs.callPackage ./imported.nix { inherit build-asdf-system; }
235 else {};
236
237in qlpkgs.overrideScope' overrides