Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / development / lisp-modules / packages.nix
blobb0847ebebedc85384ad0fac0817c53bcc61f3133
1 { build-asdf-system, spec, quicklispPackagesFor, stdenv, pkgs, ... }:
3 let
5   inherit (pkgs.lib)
6     head
7     makeLibraryPath
8     makeSearchPath
9     setAttr
10     hasAttr
11     optionals
12     hasSuffix
13     splitString
14     remove
15   ;
17   # Used by builds that would otherwise attempt to write into storeDir.
18   #
19   # Will run build two times, keeping all files created during the
20   # first run, exept the FASL's. Then using that directory tree as the
21   # source of the second run.
22   #
23   # E.g. cl-unicode creating .txt files during compilation
24   build-with-compile-into-pwd = args:
25     let
26       build = (build-asdf-system (args // { version = args.version + "-build"; }))
27         .overrideAttrs(o: {
28           buildPhase = with builtins; ''
29             mkdir __fasls
30             export ASDF_OUTPUT_TRANSLATIONS="$(pwd):$(pwd)/__fasls:${storeDir}:${storeDir}"
31             export CL_SOURCE_REGISTRY=$CL_SOURCE_REGISTRY:$(pwd)//
32             ${o.pkg}/bin/${o.program} ${toString (o.flags or [])} < ${o.buildScript}
33           '';
34           installPhase = ''
35             mkdir -pv $out
36             rm -rf __fasls
37             cp -r * $out
38           '';
39         });
40     in build-asdf-system (args // {
41       # Patches are already applied in `build`
42       patches = [];
43       src = build;
44     });
46   # A little hacky
47   isJVM = spec.pkg.pname == "abcl";
49   # Makes it so packages imported from Quicklisp can be re-used as
50   # lispLibs ofpackages in this file.
51   ql = quicklispPackagesFor spec;
53   packages = ql.overrideScope (self: super: {
55   cffi = let
56     jna = pkgs.fetchMavenArtifact {
57       groupId = "net.java.dev.jna";
58       artifactId = "jna";
59       version = "5.9.0";
60       sha256 = "0qbis8acv04fi902qzak1mbagqaxcsv2zyp7b8y4shs5nj0cgz7a";
61     };
62   in build-asdf-system {
63     src =  pkgs.fetchzip {
64       url = "http://beta.quicklisp.org/archive/cffi/2021-04-11/cffi_0.24.1.tgz";
65       sha256 = "17ryim4xilb1rzxydfr7595dnhqkk02lmrbkqrkvi9091shi4cj3";
66     };
67     version = "0.24.1";
68     pname = "cffi";
69     lispLibs = with super; [
70       alexandria
71       babel
72       trivial-features
73     ];
74     javaLibs = optionals isJVM [ jna ];
75   };
77   cffi-libffi = build-asdf-system {
78     inherit (super.cffi-libffi) pname version asds lispLibs nativeLibs nativeBuildInputs;
79     src = pkgs.fetchzip {
80       url = "https://github.com/cffi/cffi/archive/3f842b92ef808900bf20dae92c2d74232c2f6d3a.tar.gz";
81       sha256 = "1jilvmbbfrmb23j07lwmkbffc6r35wnvas5s4zjc84i856ccclm2";
82     };
83     patches = optionals stdenv.isDarwin [ ./patches/cffi-libffi-darwin-ffi-h.patch ];
84   };
86   cl-unicode = build-with-compile-into-pwd {
87     pname = "cl-unicode";
88     version = "0.1.6";
89     src =  pkgs.fetchzip {
90       url = "https://github.com/edicl/cl-unicode/archive/refs/tags/v0.1.6.tar.gz";
91       sha256 = "0ykx2s9lqfl74p1px0ik3l2izd1fc9jd1b4ra68s5x34rvjy0hza";
92     };
93     systems = [ "cl-unicode" ];
94     lispLibs = with super; [
95       cl-ppcre
96       flexi-streams
97     ];
98   };
100   jzon = build-asdf-system {
101     src = pkgs.fetchzip {
102       url = "https://github.com/Zulu-Inuoe/jzon/archive/6b201d4208ac3f9721c461105b282c94139bed29.tar.gz";
103       sha256 = "01d4a78pjb1amx5amdb966qwwk9vblysm1li94n3g26mxy5zc2k3";
104     };
105     version = "0.0.0-20210905-6b201d4208";
106     pname = "jzon";
107     lispLibs = [
108       super.closer-mop
109     ];
110     systems = [ "com.inuoe.jzon" ];
111   };
113   cl-notify = build-asdf-system {
114     pname = "cl-notify";
115     version = "20080904-138ca7038";
116     src = pkgs.fetchzip {
117       url = "https://repo.or.cz/cl-notify.git/snapshot/138ca703861f4a1fbccbed557f92cf4d213668a1.tar.gz";
118       sha256 = "0k6ns6fzvjcbpsqgx85r4g5m25fvrdw9481i9vyabwym9q8bbqwx";
119     };
120     lispLibs = [
121       self.cffi
122     ];
123     nativeLibs = [
124       pkgs.libnotify
125     ];
126   };
128   cl-liballegro-nuklear = build-with-compile-into-pwd {
129     inherit (super.cl-liballegro-nuklear) pname version src;
130     nativeBuildInputs = [ pkgs.allegro5 ];
131     nativeLibs = [ pkgs.allegro5 ];
132     lispLibs = super.cl-liballegro-nuklear.lispLibs ++ [ super.cl-liballegro ];
133     patches = [ ./patches/cl-liballegro-nuklear-missing-dll.patch ];
134   };
136   tuple = build-asdf-system {
137     pname = "tuple";
138     version = "b74bd067d";
139     src = pkgs.fetchzip {
140       url = "https://fossil.galkowski.xyz/tuple/tarball/b74bd067d4533ac0/tuple.tar.gz";
141       sha256 = "0dk356vkv6kwwcmc3j08x7143549m94rd66rpkzq8zkb31cg2va8";
142     };
143   };
145   lessp = build-asdf-system {
146     pname = "lessp";
147     version = "0.2-f8a9e4664";
148     src = pkgs.fetchzip {
149       url = "https://github.com/facts-db/cl-lessp/archive/632217602b85b679e8d420654a0aa39e798ca3b5.tar.gz";
150       sha256 = "0i3ia14dzqwjpygd0zn785ff5vqnnmkn75psfpyx0ni3jr71lkq9";
151     };
152   };
154   rollback = build-asdf-system {
155     pname = "rollback";
156     version = "0.1-5d3f21fda";
157     src = pkgs.fetchzip {
158       url = "https://github.com/facts-db/cl-rollback/archive/5d3f21fda8f04f35c5e9d20ee3b87db767915d15.tar.gz";
159       sha256 = "12dpxsbm2al633y87i8p784k2dn4bbskz6sl40v9f5ljjmjqjzxf";
160     };
161   };
163   facts = build-asdf-system {
164     pname = "facts";
165     version = "0.1-632217602";
166     src = pkgs.fetchzip {
167       url = "https://beta.quicklisp.org/archive/cl-facts/2022-11-06/cl-facts-20221106-git.tgz";
168       sha256 = "sha256-PBpyyJYkq1NjKK9VikSAL4TmrGRwUJlEWRSeKj/f4Sc=";
169     };
170     lispLibs = [ self.lessp self.rollback ] ++ [ super.local-time ];
171   };
173   cl-fuse = build-with-compile-into-pwd {
174     inherit (super.cl-fuse) pname version src lispLibs;
175     nativeBuildInputs = [ pkgs.fuse ];
176     nativeLibs = [ pkgs.fuse ];
177   };
179   cl-containers = build-asdf-system {
180     inherit (super.cl-containers) pname version src;
181     lispLibs = super.cl-containers.lispLibs ++ [ super.moptilities ];
182     systems = [ "cl-containers" "cl-containers/with-moptilities" ];
183   };
185   swank = build-with-compile-into-pwd {
186     inherit (super.swank) pname version src lispLibs;
187     patches = [ ./patches/swank-pure-paths.patch ];
188     postConfigure = ''
189       substituteAllInPlace swank-loader.lisp
190     '';
191   };
193   clx-truetype = build-asdf-system {
194     pname = "clx-truetype";
195     version = "20160825-git";
196     src = pkgs.fetchzip {
197       url = "http://beta.quicklisp.org/archive/clx-truetype/2016-08-25/clx-truetype-20160825-git.tgz";
198       sha256 = "079hyp92cjkdfn6bhkxsrwnibiqbz4y4af6nl31lzw6nm91j5j37";
199     };
200     lispLibs = with super; [
201       alexandria bordeaux-threads cl-aa cl-fad cl-paths cl-paths-ttf
202       cl-store cl-vectors clx trivial-features zpb-ttf
203     ];
204   };
206   mathkit = build-asdf-system {
207     inherit (super.mathkit) pname version src asds ;
208     lispLibs = super.mathkit.lispLibs ++ [ super.sb-cga ];
209   };
211   cl-colors2_0_5_4 = build-asdf-system {
212     inherit (super.cl-colors2) pname systems lispLibs;
213     version = "0.5.4";
215     src = pkgs.fetchgit {
216       url = "https://notabug.org/cage/cl-colors2";
217       rev = "refs/tags/v0.5.4";
218       sha256 = "sha256-JbT1BKjaXDwdlzHLPjX1eg0RMIOT86R17SPgbe2h+tA=";
219     };
220   };
222   prompter = build-asdf-system {
223     pname = "prompter";
224     version = "0.1.0";
226     src = pkgs.fetchFromGitHub {
227       owner = "atlas-engineer";
228       repo = "prompter";
229       rev = "0.1.0";
230       sha256 = "sha256-Duv7L2lMjr3VXsoujQDOMNHCbdUDX4RWoncVm9LDCZE=";
231     };
233     lispLibs = [
234       self.cl-containers
235       self.nclasses
236       super.alexandria
237       super.calispel
238       super.closer-mop
239       super.lparallel
240       super.moptilities
241       super.serapeum
242       super.str
243       super.trivial-package-local-nicknames
244     ];
246   };
248   nasdf = build-asdf-system {
249     pname = "nasdf";
250     version = "20230911-git";
251     src = pkgs.fetchFromGitHub {
252       owner = "atlas-engineer";
253       repo = "ntemplate";
254       rev = "ab7a018f3a67a999c72710644b10b4545130c139";
255       sha256 = "sha256-fXGh0h6CXLoBgK1jRxkSNyQVAY1gvi4iyHQBuzueR5Y=";
256     };
257   };
259   njson = build-asdf-system {
260     pname = "njson";
261     version = "1.1.0";
262     src = pkgs.fetchFromGitHub {
263       owner = "atlas-engineer";
264       repo = "njson";
265       rev = "1.1.0";
266       sha256 = "sha256-hVo5++QCns7Mv3zATpAP3EVz1pbj+jbQmzSLqs6hqQo=";
267     };
268     lispLibs = [ self.nasdf super.cl-json super.com_dot_inuoe_dot_jzon];
269     systems = [ "njson" "njson/cl-json" "njson/jzon"];
270   };
272   nsymbols = build-asdf-system {
273     pname = "nsymbols";
274     version = "0.3.1";
275     src = pkgs.fetchFromGitHub {
276       owner = "atlas-engineer";
277       repo = "nsymbols";
278       rev = "0.3.1";
279       sha256 = "sha256-KcrE06bG5Khp5/807wb/TbPG3nWTlNWHrDpmK6bm7ZM=";
280     };
281     lispLibs = [ super.closer-mop ];
282     systems = [ "nsymbols" "nsymbols/star" ];
284   };
286   nclasses = build-asdf-system {
287     pname = "nclasses";
288     version = "0.6.0";
289     src = pkgs.fetchFromGitHub {
290       owner = "atlas-engineer";
291       repo = "nclasses";
292       rev = "0.6.0";
293       sha256 = "sha256-JupP+TIxavUoyOPnp57FqpEjWfgKspdFoSRnV2rk5U4=";
294     };
295     lispLibs = [ self.nasdf super.moptilities ];
296   };
298   nfiles = build-asdf-system {
299     pname = "nfiles";
300     version = "20230705-git";
301     src = pkgs.fetchFromGitHub {
302       owner = "atlas-engineer";
303       repo = "nfiles";
304       rev = "3626e8d512a84efc12479ceb3969d194511757f7";
305       sha256 = "sha256-MoJdbTOVfw2rJk4cf/rEnR55BxdXkoqqu9Txd/R9OYQ=";
306     };
307     lispLibs = [
308       self.nasdf
309       self.nclasses
310       super.quri
311       super.alexandria
312       super.iolib
313       super.serapeum
314       super.trivial-garbage
315       super.trivial-package-local-nicknames
316       super.trivial-types
317     ];
318   };
320   nhooks = build-asdf-system {
321     pname = "nhooks";
322     version = "1.2.1";
323     src = pkgs.fetchFromGitHub {
324       owner = "atlas-engineer";
325       repo = "nhooks";
326       rev = "1.2.1";
327       hash = "sha256-D61QHxHTceIu5mCGKf3hy53niQMfs0idEYQK1ZYn1YM=";
328     };
329     lispLibs = with self; [ bordeaux-threads closer-mop serapeum ];
330   };
332   nkeymaps = build-asdf-system rec {
333     pname = "nkeymaps";
334     version = "1.1.0";
335     src = pkgs.fetchFromGitHub {
336       owner = "atlas-engineer";
337       repo = "nkeymaps";
338       rev = version;
339       hash = "sha256-ewMu2IgEzCYY72vG91IA7l8X78Ph6jpQvbKeOFZdAyM=";
340     };
341     lispLibs = with self; [ alexandria fset trivial-package-local-nicknames
342                             str ];
343   };
346   history-tree = build-asdf-system rec {
347     pname = "history-tree";
348     version = "0.1.1";
349     src = pkgs.fetchFromGitHub {
350       owner = "atlas-engineer";
351       repo = "history-tree";
352       rev = version;
353       hash = "sha256-lOORalyTybdut/If+dBXS4PlZt2AnZrEI/qjQWS03pk=";
354     };
355     lispLibs = with self; [
356       alexandria
357       cl-custom-hash-table
358       local-time
359       nasdf
360       nclasses
361       trivial-package-local-nicknames
362     ];
363   };
365   nyxt-gtk = build-asdf-system {
366     pname = "nyxt";
367     version = "3.9.0";
369     lispLibs = (with super; [
370       alexandria
371       bordeaux-threads
372       calispel
373       cl-base64
374       cl-gopher
375       cl-html-diff
376       cl-json
377       cl-ppcre
378       cl-ppcre-unicode
379       cl-prevalence
380       cl-qrencode
381       cl-tld
382       closer-mop
383       dissect
384       moptilities
385       dexador
386       enchant
387       flexi-streams
388       idna
389       iolib
390       lass
391       local-time
392       lparallel
393       log4cl
394       montezuma
395       ndebug
396       osicat
397       parenscript
398       py-configparser
399       serapeum
400       str
401       phos
402       plump
403       clss
404       spinneret
405       slynk
406       trivia
407       trivial-features
408       trivial-garbage
409       trivial-package-local-nicknames
410       trivial-types
411       unix-opts
412       cluffer
413       cl-cffi-gtk
414       quri
415       sqlite
416       # TODO: Remove these overrides after quicklisp updates past the June 2023 release
417       (trivial-clipboard.overrideAttrs (final: prev: {
418         src = pkgs.fetchFromGitHub {
419           owner = "snmsts";
420           repo = "trivial-clipboard";
421           rev = "6ddf8d5dff8f5c2102af7cd1a1751cbe6408377b";
422           sha256 = "sha256-n15IuTkqAAh2c1OfNbZfCAQJbH//QXeH0Bl1/5OpFRM=";
423         };}))
424       (cl-gobject-introspection.overrideAttrs (final: prev: {
425         src = pkgs.fetchFromGitHub {
426           owner = "andy128k";
427           repo = "cl-gobject-introspection";
428           rev = "83beec4492948b52aae4d4152200de5d5c7ac3e9";
429           sha256 = "sha256-g/FwWE+Rzmzm5Y+irvd1AJodbp6kPHJIFOFDPhaRlXc=";
430         };}))
431       (cl-webkit2.overrideAttrs (final: prev: {
432         src = pkgs.fetchFromGitHub {
433           owner = "joachifm";
434           repo = "cl-webkit";
435           rev = "66fd0700111586425c9942da1694b856fb15cf41";
436           sha256 = "sha256-t/B9CvQTekEEsM/ZEp47Mn6NeZaTYFsTdRqclfX9BNg=";
437         };
438       }))
439     ]) ++ (with self; [
440       history-tree
441       nhooks
442       nkeymaps
443       nasdf
444       prompter
445       cl-colors2_0_5_4
446       njson
447       nsymbols
448       nclasses
449       nfiles
450       swank
451       cl-containers
452     ]);
454     src = pkgs.fetchFromGitHub {
455       owner = "atlas-engineer";
456       repo = "nyxt";
457       rev = "3.9.0";
458       sha256 = "sha256-bZoAE0FErgXPylOzh6AfMq3befms9dHms8+slbYdctk=";
459     };
461     nativeBuildInputs = [ pkgs.makeWrapper ];
463     buildInputs = [
464       # needed for GSETTINGS_SCHEMAS_PATH
465       pkgs.gsettings-desktop-schemas pkgs.glib pkgs.gtk3
467       # needed for XDG_ICON_DIRS
468       pkgs.gnome.adwaita-icon-theme
469     ];
471     # This patch removes the :build-operation component from the nyxt/gi-gtk-application system.
472     # This is done because if asdf:operate is used and the operation matches the system's :build-operation
473     # then output translations are ignored, causing the result of the operation to be placed where
474     # the .asd is located, which in this case is the nix store.
475     # see: https://gitlab.common-lisp.net/asdf/asdf/-/blob/master/doc/asdf.texinfo#L2582
476     patches = [ ./patches/nyxt-remove-build-operation.patch ];
478     buildScript = pkgs.writeText "build-nyxt.lisp" ''
479       (load "${super.alexandria.asdfFasl}/asdf.${super.alexandria.faslExt}")
480       ;; There's a weird error while copy/pasting in Nyxt that manifests with sb-ext:save-lisp-and-die, so we use asdf:operare :program-op instead
481       (asdf:operate :program-op :nyxt/gi-gtk-application)
482     '';
484     # TODO(kasper): use wrapGAppsHook
485     installPhase = ''
486       mkdir -pv $out
487       cp -r * $out
488       rm -v $out/nyxt
489       mkdir -p $out/bin
490       cp -v nyxt $out/bin
491       wrapProgram $out/bin/nyxt \
492         --prefix LD_LIBRARY_PATH : $LD_LIBRARY_PATH \
493         --prefix XDG_DATA_DIRS : $XDG_ICON_DIRS \
494         --prefix XDG_DATA_DIRS : $GSETTINGS_SCHEMAS_PATH \
495         --prefix GI_TYPELIB_PATH : $GI_TYPELIB_PATH \
496         --prefix GIO_EXTRA_MODULES ":" ${pkgs.dconf.lib}/lib/gio/modules/ \
497         --prefix GIO_EXTRA_MODULES ":" ${pkgs.glib-networking}/lib/gio/modules/
498     '';
499   };
501   nyxt = self.nyxt-gtk;
503   stumpwm = super.stumpwm.overrideLispAttrs (o: rec {
504     version = "22.11";
505     src = pkgs.fetchFromGitHub {
506       owner = "stumpwm";
507       repo = "stumpwm";
508       rev = version;
509       hash = "sha256-zXj17ucgyFhv7P0qEr4cYSVRPGrL1KEIofXWN2trr/M=";
510     };
511     buildScript = pkgs.writeText "build-stumpwm.lisp" ''
512       (load "${super.stumpwm.asdfFasl}/asdf.${super.stumpwm.faslExt}")
514       (asdf:load-system 'stumpwm)
516       ;; Prevents package conflict error
517       (when (uiop:version<= "3.1.5" (asdf:asdf-version))
518         (uiop:symbol-call '#:asdf '#:register-immutable-system :stumpwm)
519         (dolist (system-name (uiop:symbol-call '#:asdf
520                                                '#:system-depends-on
521                                                (asdf:find-system :stumpwm)))
522           (uiop:symbol-call '#:asdf '#:register-immutable-system system-name)))
524       ;; Prevents "cannot create /homeless-shelter" error
525       (asdf:disable-output-translations)
527       (sb-ext:save-lisp-and-die
528         "stumpwm"
529         :executable t
530         :purify t
531         #+sb-core-compression :compression
532         #+sb-core-compression t
533         :toplevel #'stumpwm:stumpwm)
534     '';
535     installPhase = ''
536       mkdir -p $out/bin
537       cp -v stumpwm $out/bin
538     '';
539   });
541   stumpwm-unwrapped = super.stumpwm;
543   ltk = super.ltk.overrideLispAttrs (o: {
544     src = pkgs.fetchzip {
545       url = "https://github.com/uthar/ltk/archive/f19162e76d6c7c2f51bd289b811d9ba20dd6555e.tar.gz";
546       sha256 = "0mzikv4abq9yqlj6dsji1wh34mjizr5prv6mvzzj29z1485fh1bj";
547     };
548     version = "f19162e76";
549   });
552   magicl = build-with-compile-into-pwd {
553     inherit (super.magicl) pname version src lispLibs;
554     nativeBuildInputs = [ pkgs.gfortran ];
555     nativeLibs = [ pkgs.openblas ];
556     patches = [ ./patches/magicl-dont-build-fortran-twice.patch ];
557   };
559   cl-glib = build-asdf-system {
560     pname = "cl-glib";
561     version = "1.0.0";
562     src = pkgs.fetchFromGitHub {
563       owner = "bohonghuang";
564       repo = "cl-glib";
565       rev = "84b128192d6b11cf03f1150e474a23368f07edff";
566       hash = "sha256-A56Yz+W4n1rAxxZg15zfkrLMbKMEG/zsWqaX7+kx4Qg=";
567     };
568     lispLibs = with super; [
569       cl-gobject-introspection-wrapper
570       bordeaux-threads
571     ];
572   };
574   cl-glib_dot_gio = build-asdf-system {
575     pname = "cl-glib.gio";
576     version = "1.0.0";
577     src = pkgs.fetchFromGitHub {
578       owner = "bohonghuang";
579       repo = "cl-glib";
580       rev = "84b128192d6b11cf03f1150e474a23368f07edff";
581       hash = "sha256-A56Yz+W4n1rAxxZg15zfkrLMbKMEG/zsWqaX7+kx4Qg=";
582     };
583     lispLibs = with super; [
584       cl-gobject-introspection-wrapper
585     ];
586   };
588   cl-gtk4 = build-asdf-system {
589     pname = "cl-gtk4";
590     version = "1.0.0";
591     src = pkgs.fetchFromGitHub {
592       owner = "bohonghuang";
593       repo = "cl-gtk4";
594       rev = "e18f621b996fd986d9829d590203c690440dee64";
595       hash = "sha256-++qydw6db4O3m+DAjutVPN8IuePOxseo9vhWEvwiR6E=";
596     };
597     lispLibs = with super; [
598       cl-gobject-introspection-wrapper
599     ] ++ [ self.cl-glib self.cl-glib_dot_gio ];
600     nativeBuildInputs = [
601       pkgs.gobject-introspection
602       pkgs.gtk4
603     ];
604     nativeLibs = [
605       pkgs.gtk4
606     ];
607   };
609   cl-gtk4_dot_adw = build-asdf-system {
610     pname = "cl-gtk4.adw";
611     version = "1.0.0";
612     src = pkgs.fetchFromGitHub {
613       owner = "bohonghuang";
614       repo = "cl-gtk4";
615       rev = "e18f621b996fd986d9829d590203c690440dee64";
616       hash = "sha256-++qydw6db4O3m+DAjutVPN8IuePOxseo9vhWEvwiR6E=";
617     };
618     lispLibs = with super; [
619       cl-gobject-introspection-wrapper
620     ] ++ [ self.cl-gtk4 ];
621     nativeBuildInputs = [
622       pkgs.libadwaita
623     ];
624     nativeLibs = [
625       pkgs.libadwaita
626     ];
627   };
629   cl-gtk4_dot_webkit2 = build-asdf-system {
630     pname = "cl-gtk4.webkit2";
631     version = "1.0.0";
632     src = pkgs.fetchFromGitHub {
633       owner = "bohonghuang";
634       repo = "cl-gtk4";
635       rev = "e18f621b996fd986d9829d590203c690440dee64";
636       hash = "sha256-++qydw6db4O3m+DAjutVPN8IuePOxseo9vhWEvwiR6E=";
637     };
638     lispLibs = with super; [
639       cl-gobject-introspection-wrapper
640     ] ++ [ self.cl-gtk4 ];
641     nativeBuildInputs = [
642       pkgs.webkitgtk_6_0
643     ];
644     nativeLibs = [
645       pkgs.webkitgtk_6_0
646     ];
647     # Requires old webkitgtk_5_0 which was replaced by webkitgtk_6_0
648     meta.broken = true;
649   };
651   cl-avro = build-asdf-system {
652     pname = "cl-avro";
653     version = "trunk";
654     src = pkgs.fetchFromGitHub {
655       owner = "SahilKang";
656       repo = "cl-avro";
657       rev = "7d624253e98afb987a01729bd72c99bae02f0d7d";
658       hash = "sha256-AlTn+Q1gKnAFEfcnz9+VeHz681pPIirg2za3VXYiNWk=";
659     };
660     lispLibs = with super; [
661       alexandria
662       babel
663       chipz
664       closer-mop
665       ieee-floats
666       flexi-streams
667       local-time
668       local-time-duration
669       md5
670       salza2
671       st-json
672       time-interval
673       trivial-extensible-sequences
674     ];
675   };
677   trivial-clock = build-asdf-system {
678     pname = "trivial-clock";
679     version = "trunk";
680     src = pkgs.fetchFromGitHub {
681       owner = "ak-coram";
682       repo = "cl-trivial-clock";
683       rev = "641e12ab1763914996beb1ceee67aabc9f1a3b1e";
684       hash = "sha256-mltQEJ2asxyQ/aS/9BuWmN3XZ9bGmmkopcF5YJU1cPk=";
685     };
686     systems = [ "trivial-clock" "trivial-clock/test" ];
687     lispLibs = [ self.cffi self.fiveam ];
688   };
690   frugal-uuid = build-asdf-system {
691     pname = "frugal-uuid";
692     version = "trunk";
693     src = pkgs.fetchFromGitHub {
694       owner = "ak-coram";
695       repo = "cl-frugal-uuid";
696       rev = "be27972333a16fc3f16bc7fbf9e3013b2123d75c";
697       hash = "sha256-rWO43vWMibF8/OxL70jle5nhd9oRWC7+MI44KWrQD48=";
698     };
699     systems = [ "frugal-uuid"
700                 "frugal-uuid/non-frugal"
701                 "frugal-uuid/benchmark"
702                 "frugal-uuid/test" ];
703     lispLibs = with self; [
704       babel
705       bordeaux-threads
706       fiveam
707       ironclad
708       trivial-benchmark
709       trivial-clock
710     ];
711   };
713   duckdb = build-asdf-system {
714     pname = "duckdb";
715     version = "trunk";
716     src = pkgs.fetchFromGitHub {
717       owner = "ak-coram";
718       repo = "cl-duckdb";
719       rev = "3ed1df5ba5c738a0b7fed7aa73632ec86f558d09";
720       hash = "sha256-AJMxhtDACe6WTwEOxLsC8y6uBaPqjt8HLRw/eIZI02E=";
721     };
722     systems = [ "duckdb" "duckdb/test" "duckdb/benchmark" ];
723     lispLibs = with self; [
724       bordeaux-threads
725       cffi-libffi
726       cl-ascii-table
727       cl-spark
728       cl-ppcre
729       frugal-uuid
730       let-plus
731       local-time
732       local-time-duration
733       periods
734       float-features
735     ];
736     nativeLibs = with pkgs; [
737       duckdb libffi
738     ];
739   };
741   polyclot = build-asdf-system {
742     pname = "polyclot";
743     version = "trunk";
744     src = pkgs.fetchfossil {
745       url = "https://fossil.turtleware.eu/polyclot";
746       rev = "e678b3c3e002f53b446780406c9ed13f8451309d22a1dc50ced4dbeedf08a1ec";
747       sha256 = "sha256-J08bU9HSVbzEivYtQsyIYPZJTrugj+jJSa4LglS0Olg=";
748     };
749     systems = [ "eu.turtleware.polyclot" "eu.turtleware.polyclot/demo" ];
750     lispLibs = with super; [ clim mcclim mcclim-layouts ];
751   };
753   kons-9 = build-asdf-system rec {
754     pname = "kons-9";
755     version = "trunk";
756     src = pkgs.fetchFromGitHub {
757       owner = "kaveh808";
758       repo = "kons-9";
759       rev = "95ad44fac0566f445c4b7bd040339dcff75ee992";
760       sha256 = "19rl7372j9f1cv2kl55r8vyf4dhcz4way4hkjgysbxzrb1psp17n";
761     };
762     systems = [ "kons-9" "kons-9/testsuite" ];
763     lispLibs = with super; [
764       closer-mop trivial-main-thread trivial-backtrace cffi cl-opengl cl-glu
765       cl-glfw3 cl-paths-ttf zpb-ttf cl-vectors origin clobber
766       org_dot_melusina_dot_confidence
767     ];
768   };
770   sb-cga = build-asdf-system {
771     pname = "sb-cga";
772     version = "1.0.1";
773     src = pkgs.fetchFromGitHub {
774       owner = "nikodemus";
775       repo = "sb-cga";
776       rev = "9a554ea1c01cac998ff7eaa5f767bc5bcdc4c094";
777       sha256 = "sha256-iBM+VXu6JRqGmeIFzfXbGot+elvangmfSpDB7DjFpPg";
778     };
779     lispLibs = [ super.alexandria ];
780   };
782   nsb-cga = super.nsb-cga.overrideLispAttrs (oa: {
783     lispLibs = oa.lispLibs ++ [ self.sb-cga ];
784   });
786   });
788 in packages