summary refs log tree commit diff
path: root/pkgs/development/lisp-modules/ql.nix
blob: 465813949df9585696f8ca9c4f2172f2656cc4ac (plain) (blame)
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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
{ pkgs, lib, build-asdf-system, ... }:

let

  # FIXME: automatically add nativeLibs based on conditions signalled

  overrides = (self: super: {
    cl_plus_ssl = super.cl_plus_ssl.overrideLispAttrs (o: {
      nativeLibs = [ pkgs.openssl ];
    });
    cl-cffi-gtk-glib = super.cl-cffi-gtk-glib.overrideLispAttrs (o: {
      nativeLibs = [ pkgs.glib ];
    });
    cl-cffi-gtk-cairo = super.cl-cffi-gtk-cairo.overrideLispAttrs (o: {
      nativeLibs = [ pkgs.cairo ];
    });
    cl-cairo2 = super.cl-cairo2.overrideLispAttrs (o: {
      nativeLibs = [ pkgs.cairo ];
    });
    cl-cairo2-xlib = super.cl-cairo2-xlib.overrideLispAttrs (o: {
      nativeLibs = [ pkgs.gtk2-x11 ];
    });
    cl-freeimage = super.cl-freeimage.overrideLispAttrs (o: {
      nativeLibs = [ pkgs.freeimage ];
    });
    cl-freetype2 = super.cl-freetype2.overrideLispAttrs (o: {
      nativeLibs = [ pkgs.freetype ];
      nativeBuildInputs = [ pkgs.freetype ];
      patches = [ ./patches/cl-freetype2-fix-grovel-includes.patch ];
    });
    cl-pango = super.cl-pango.overrideLispAttrs (o: {
      nativeLibs = [ pkgs.pango ];
    });
    cl-gtk2-gdk = super.cl-gtk2-gdk.overrideLispAttrs (o: {
      nativeLibs = [ pkgs.gtk2-x11 ];
    });
    cl-gtk2-glib = super.cl-gtk2-glib.overrideLispAttrs (o: {
      nativeLibs = [ pkgs.glib ];
    });
    cl-gtk2-pango = super.cl-gtk2-pango.overrideLispAttrs (o: {
      nativeLibs = [ pkgs.pango ];
    });
    cl-rsvg2 = super.cl-rsvg2.overrideLispAttrs (o: {
      nativeLibs = [ pkgs.librsvg ];
    });
    cl-cffi-gtk-gdk = super.cl-cffi-gtk-gdk.overrideLispAttrs (o: {
      nativeLibs = [ pkgs.gtk3 ];
    });
    cl-cffi-gtk-gdk-pixbuf = super.cl-cffi-gtk-gdk-pixbuf.overrideLispAttrs (o: {
      nativeLibs = [ pkgs.gdk-pixbuf ];
    });
    cl-cffi-gtk-pango = super.cl-cffi-gtk-pango.overrideLispAttrs (o: {
      nativeLibs = [ pkgs.pango ];
    });
    cl-gobject-introspection = super.cl-gobject-introspection.overrideLispAttrs (o: {
      nativeLibs = [ pkgs.glib pkgs.gobject-introspection ];
    });
    cl-mysql = super.cl-mysql.overrideLispAttrs (o: {
      nativeLibs = [ pkgs.mysql-client ];
    });
    clsql-postgresql = super.clsql-postgresql.overrideLispAttrs (o: {
      nativeLibs = [ pkgs.postgresql.lib ];
    });
    clsql-sqlite3 = super.clsql-sqlite3.overrideLispAttrs (o: {
      nativeLibs = [ pkgs.sqlite ];
    });
    cl-webkit2 = super.cl-webkit2.overrideLispAttrs (o: {
      nativeLibs = [ pkgs.webkitgtk ];
    });
    dbd-mysql = super.dbd-mysql.overrideLispAttrs (o: {
      nativeLibs = [ pkgs.mysql-client ];
    });
    lla = super.lla.overrideLispAttrs (o: {
      nativeLibs = [ pkgs.openblas ];
    });
    cffi-libffi = super.cffi-libffi.overrideLispAttrs (o: {
      nativeBuildInputs = [ pkgs.libffi ];
      nativeLibs = [ pkgs.libffi ];
    });
    cl-rabbit = super.cl-rabbit.overrideLispAttrs (o: {
      nativeBuildInputs = [ pkgs.rabbitmq-c ];
      nativeLibs = [ pkgs.rabbitmq-c ];
    });
    trivial-ssh-libssh2 = super.trivial-ssh-libssh2.overrideLispAttrs (o: {
      nativeLibs = [ pkgs.libssh2 ];
    });
    sqlite = super.sqlite.overrideLispAttrs (o: {
      nativeLibs = [ pkgs.sqlite ];
    });
    cl-libuv = super.cl-libuv.overrideLispAttrs (o: {
      nativeBuildInputs = [ pkgs.libuv ];
      nativeLibs = [ pkgs.libuv ];
    });
    cl-liballegro = super.cl-liballegro.overrideLispAttrs (o: {
      nativeLibs = [ pkgs.allegro5 ];
    });
    cl-ode = super.cl-ode.overrideLispAttrs (o: {
      nativeLibs = let
        ode' = pkgs.ode.overrideAttrs (o: {
          configureFlags = [
            "--enable-shared"
            "--enable-double-precision"
          ];
        });
      in [ ode' ];
    });
    classimp = super.classimp.overrideLispAttrs (o: {
      nativeLibs = [ pkgs.assimp ];
    });
    sdl2 = super.sdl2.overrideLispAttrs (o: {
      nativeLibs = [ pkgs.SDL2 ];
    });
    lispbuilder-sdl-cffi = super.lispbuilder-sdl-cffi.overrideLispAttrs (o: {
      nativeLibs = [ pkgs.SDL ];
    });
    cl-opengl = super.cl-opengl.overrideLispAttrs (o: {
      nativeLibs = [ pkgs.libGL ];
    });
    cl-glu = super.cl-glu.overrideLispAttrs (o: {
      nativeLibs = [ pkgs.libGLU ];
    });
    cl-glut = super.cl-glut.overrideLispAttrs (o: {
      nativeLibs = [ pkgs.freeglut ];
    });
    cl-glfw = super.cl-glfw.overrideLispAttrs (o: {
      nativeLibs = [ pkgs.glfw ];
    });
    cl-glfw-opengl-core = super.cl-glfw-opengl-core.overrideLispAttrs (o: {
      nativeLibs = [ pkgs.libGL ];
    });
    cl-glfw3 = super.cl-glfw3.overrideLispAttrs (o: {
      nativeLibs = [ pkgs.glfw ];
    });
    lev = super.lev.overrideLispAttrs (o: {
      nativeLibs = [ pkgs.libev ];
    });
    cl-rdkafka = super.cl-rdkafka.overrideLispAttrs (o: {
      nativeBuildInputs = [ pkgs.rdkafka ];
      nativeLibs = [ pkgs.rdkafka ];
    });
    cl-async-ssl = super.cl-async-ssl.overrideLispAttrs (o: {
      nativeLibs = [ pkgs.openssl ];
    });
    iolib = super.iolib.overrideLispAttrs (o: {
      nativeBuildInputs = [ pkgs.libfixposix ];
      nativeLibs = [ pkgs.libfixposix ];
      systems = [ "iolib" "iolib/os" "iolib/pathnames" ];
    });
    cl-ana_dot_hdf-cffi = super.cl-ana_dot_hdf-cffi.overrideLispAttrs (o: {
      nativeBuildInputs = [ pkgs.hdf5 ];
      nativeLibs = [ pkgs.hdf5 ];
      NIX_LDFLAGS = [ "-lhdf5" ];
    });
    gsll = super.gsll.overrideLispAttrs (o: {
      nativeBuildInputs = [ pkgs.gsl ];
      nativeLibs = [ pkgs.gsl ];
    });
    cl-libyaml = super.cl-libyaml.overrideLispAttrs (o: {
      nativeLibs = [ pkgs.libyaml ];
    });
    cl-libxml2 = super.cl-libxml2.overrideLispAttrs (o: {
      nativeLibs = [ pkgs.libxml2 ];
    });
    cl-readline = super.cl-readline.overrideLispAttrs (o: {
      nativeLibs = [ pkgs.readline ];
    });
    md5 = super.md5.overrideLispAttrs (o: {
      lispLibs = [ super.flexi-streams ];
    });
    pzmq = super.pzmq.overrideLispAttrs (o: {
      nativeBuildInputs = [ pkgs.zeromq ];
      nativeLibs = [ pkgs.zeromq ];
    });
    pzmq-compat = super.pzmq-compat.overrideLispAttrs (o: {
      nativeBuildInputs = [ pkgs.zeromq ];
      nativeLibs = [ pkgs.zeromq ];
    });
    pzmq-examples = super.pzmq-examples.overrideLispAttrs (o: {
      nativeBuildInputs = [ pkgs.zeromq ];
      nativeLibs = [ pkgs.zeromq ];
    });
    pzmq-test = super.pzmq-test.overrideLispAttrs (o: {
      nativeBuildInputs = [ pkgs.zeromq ];
      nativeLibs = [ pkgs.zeromq ];
    });
    cl-git = super.cl-git.overrideLispAttrs (o: {
      nativeLibs = [ pkgs.libgit2 ];
    });
    trivial-package-manager = super.trivial-package-manager.overrideLispAttrs (o: {
      propagatedBuildInputs = [ pkgs.which ];
    });
    cl-sat_dot_glucose = super.cl-sat_dot_glucose.overrideLispAttrs (o: {
      propagatedBuildInputs = [ pkgs.glucose ];
      patches = [ ./patches/cl-sat-binary-from-path.patch ];
    });
    cl-sat_dot_minisat = super.cl-sat_dot_minisat.overrideLispAttrs (o: {
      propagatedBuildInputs = [ pkgs.minisat ];
    });
  });

  qlpkgs =
    if builtins.pathExists ./imported.nix
    then pkgs.callPackage ./imported.nix { inherit build-asdf-system; }
    else {};

in qlpkgs.overrideScope' overrides