Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / development / lisp-modules / ql.nix
blob93476d78e3a2b8f80d8ea417ebf4baece225f036
1 { pkgs, lib, build-asdf-system, ... }:
3 let
5   # FIXME: automatically add nativeLibs based on conditions signalled
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     sdl2-image = super.sdl2-image.overrideLispAttrs (o: {
114       nativeLibs = [ pkgs.SDL2_image ];
115     });
116     sdl2-mixer = super.sdl2-mixer.overrideLispAttrs (o: {
117       nativeLibs = [ pkgs.SDL2_mixer ];
118     });
119     sdl2-ttf = super.sdl2-ttf.overrideLispAttrs (o: {
120       nativeLibs = [ pkgs.SDL2_ttf ];
121     });
122     lispbuilder-sdl-cffi = super.lispbuilder-sdl-cffi.overrideLispAttrs (o: {
123       nativeLibs = [ pkgs.SDL ];
124     });
125     cl-opengl = super.cl-opengl.overrideLispAttrs (o: {
126       nativeLibs = [ pkgs.libGL ];
127     });
128     cl-glu = super.cl-glu.overrideLispAttrs (o: {
129       nativeLibs = [ pkgs.libGLU ];
130     });
131     cl-glut = super.cl-glut.overrideLispAttrs (o: {
132       nativeLibs = [ pkgs.freeglut ];
133     });
134     cl-glfw = super.cl-glfw.overrideLispAttrs (o: {
135       nativeLibs = [ pkgs.glfw ];
136     });
137     cl-glfw-opengl-core = super.cl-glfw-opengl-core.overrideLispAttrs (o: {
138       nativeLibs = [ pkgs.libGL ];
139     });
140     cl-glfw3 = super.cl-glfw3.overrideLispAttrs (o: {
141       nativeLibs = [ pkgs.glfw ];
142     });
143     lev = super.lev.overrideLispAttrs (o: {
144       nativeLibs = [ pkgs.libev ];
145     });
146     cl-rdkafka = super.cl-rdkafka.overrideLispAttrs (o: {
147       nativeBuildInputs = [ pkgs.rdkafka ];
148       nativeLibs = [ pkgs.rdkafka ];
149     });
150     cl-async-ssl = super.cl-async-ssl.overrideLispAttrs (o: {
151       nativeLibs = [ pkgs.openssl ];
152     });
153     iolib = super.iolib.overrideLispAttrs (o: {
154       nativeBuildInputs = [ pkgs.libfixposix ];
155       nativeLibs = [ pkgs.libfixposix ];
156       systems = [ "iolib" "iolib/os" "iolib/pathnames" ];
157     });
158     cl-ana_dot_hdf-cffi = super.cl-ana_dot_hdf-cffi.overrideLispAttrs (o: {
159       nativeBuildInputs = [ pkgs.hdf5 ];
160       nativeLibs = [ pkgs.hdf5 ];
161       NIX_LDFLAGS = [ "-lhdf5" ];
162     });
163     gsll = super.gsll.overrideLispAttrs (o: {
164       nativeBuildInputs = [ pkgs.gsl ];
165       nativeLibs = [ pkgs.gsl ];
166     });
167     cl-libyaml = super.cl-libyaml.overrideLispAttrs (o: {
168       nativeLibs = [ pkgs.libyaml ];
169     });
170     cl-libxml2 = super.cl-libxml2.overrideLispAttrs (o: {
171       nativeLibs = [ pkgs.libxml2 ];
172     });
173     cl-readline = super.cl-readline.overrideLispAttrs (o: {
174       nativeLibs = [ pkgs.readline ];
175     });
176     md5 = super.md5.overrideLispAttrs (o: {
177       lispLibs = [ super.flexi-streams ];
178     });
179     pzmq = super.pzmq.overrideLispAttrs (o: {
180       nativeBuildInputs = [ pkgs.zeromq ];
181       nativeLibs = [ pkgs.zeromq ];
182     });
183     pzmq-compat = super.pzmq-compat.overrideLispAttrs (o: {
184       nativeBuildInputs = [ pkgs.zeromq ];
185       nativeLibs = [ pkgs.zeromq ];
186     });
187     pzmq-examples = super.pzmq-examples.overrideLispAttrs (o: {
188       nativeBuildInputs = [ pkgs.zeromq ];
189       nativeLibs = [ pkgs.zeromq ];
190     });
191     pzmq-test = super.pzmq-test.overrideLispAttrs (o: {
192       nativeBuildInputs = [ pkgs.zeromq ];
193       nativeLibs = [ pkgs.zeromq ];
194     });
195     cl-git = super.cl-git.overrideLispAttrs (o: {
196       nativeLibs = [ pkgs.libgit2 ];
197     });
198     trivial-package-manager = super.trivial-package-manager.overrideLispAttrs (o: {
199       propagatedBuildInputs = [ pkgs.which ];
200     });
201     cl-sat_dot_glucose = super.cl-sat_dot_glucose.overrideLispAttrs (o: {
202       propagatedBuildInputs = [ pkgs.glucose ];
203       patches = [ ./patches/cl-sat-binary-from-path.patch ];
204     });
205     cl-sat_dot_minisat = super.cl-sat_dot_minisat.overrideLispAttrs (o: {
206       propagatedBuildInputs = [ pkgs.minisat ];
207     });
208     hu_dot_dwim_dot_graphviz = super.hu_dot_dwim_dot_graphviz.overrideLispAttrs (o: {
209       nativeLibs = [ pkgs.graphviz ];
210     });
211     math = super.math.overrideLispAttrs (o: {
212       patches = [ ./patches/math-no-compile-time-directory.patch ];
213       nativeLibs = [ pkgs.fontconfig ];
214     });
215     mcclim-fonts = super.mcclim-fonts.overrideLispAttrs (o: {
216       lispLibs = o.lispLibs ++ [
217         super.cl-dejavu
218         super.zpb-ttf
219         super.cl-vectors
220         super.cl-paths-ttf
221         super.flexi-streams
222       ];
223       systems = [ "mcclim-fonts" "mcclim-fonts/truetype" ];
224     });
225     mcclim-render = super.mcclim-render.overrideLispAttrs (o: {
226       lispLibs = o.lispLibs ++ [
227         self.mcclim-fonts
228       ];
229     });
230     mcclim-layouts = super.mcclim-layouts.overrideLispAttrs (o: {
231       systems = [ "mcclim-layouts" "mcclim-layouts/tab" ];
232       lispLibs = o.lispLibs ++ [
233         self.mcclim
234       ];
235     });
236     cl-charms = super.cl-charms.overrideLispAttrs (o: {
237       nativeLibs = [ pkgs.ncurses ];
238     });
239     libusb-ffi = super.libusb-ffi.overrideLispAttrs (o: {
240       nativeLibs = [ pkgs.libusb-compat-0_1 ];
241     });
242     cl-fam = super.cl-fam.overrideLispAttrs (o: {
243       nativeLibs = [ pkgs.fam ];
244     });
245     jpeg-turbo = super.jpeg-turbo.overrideLispAttrs (o: {
246       nativeLibs = [ pkgs.libjpeg_turbo ];
247     });
248     vorbisfile-ffi = super.vorbisfile-ffi.overrideLispAttrs (o: {
249       nativeLibs = [ pkgs.libvorbis ];
250     });
251     png = super.png.overrideLispAttrs (o: {
252       nativeLibs = [ pkgs.libpng ];
253     });
254     zmq = super.zmq.overrideLispAttrs (o: {
255       nativeLibs = [ pkgs.czmq ];
256     });
257     consfigurator = super.consfigurator.overrideLispAttrs (o: {
258       nativeLibs = [ pkgs.acl pkgs.libcap ];
259     });
260     cl-gss = super.cl-gss.overrideLispAttrs (o: {
261       nativeLibs = [ pkgs.libkrb5 ];
262     });
263     magicffi = super.magicffi.overrideLispAttrs (o: {
264       nativeLibs = [ pkgs.file ];
265     });
266     keystone = super.keystone.overrideLispAttrs (o: {
267       nativeLibs = [ pkgs.keystone ];
268     });
269     capstone = super.capstone.overrideLispAttrs (o: {
270       nativeLibs = [ pkgs.capstone ];
271     });
272   });
274   qlpkgs =
275     lib.optionalAttrs (builtins.pathExists ./imported.nix)
276       (pkgs.callPackage ./imported.nix { inherit build-asdf-system; });
278 in qlpkgs.overrideScope overrides