Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ build-asdf-system, spec, quicklispPackagesFor, pkgs, ... }:
2
3let
4
5 inherit (pkgs.lib)
6 head
7 makeLibraryPath
8 makeSearchPath
9 setAttr
10 hasAttr
11 optionals
12 hasSuffix
13 splitString
14 remove
15 ;
16
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 });
45
46 # A little hacky
47 isJVM = spec.pkg.pname == "abcl";
48
49 # Makes it so packages imported from Quicklisp can be re-used as
50 # lispLibs ofpackages in this file.
51 ql = quicklispPackagesFor spec;
52
53 packages = ql.overrideScope' (self: super: {
54
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 };
76
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 };
84
85 cl-unicode = build-with-compile-into-pwd {
86 pname = "cl-unicode";
87 version = "0.1.6";
88 src = pkgs.fetchzip {
89 url = "https://github.com/edicl/cl-unicode/archive/refs/tags/v0.1.6.tar.gz";
90 sha256 = "0ykx2s9lqfl74p1px0ik3l2izd1fc9jd1b4ra68s5x34rvjy0hza";
91 };
92 systems = [ "cl-unicode" ];
93 lispLibs = with super; [
94 cl-ppcre
95 flexi-streams
96 ];
97 };
98
99 jzon = build-asdf-system {
100 src = pkgs.fetchzip {
101 url = "https://github.com/Zulu-Inuoe/jzon/archive/6b201d4208ac3f9721c461105b282c94139bed29.tar.gz";
102 sha256 = "01d4a78pjb1amx5amdb966qwwk9vblysm1li94n3g26mxy5zc2k3";
103 };
104 version = "0.0.0-20210905-6b201d4208";
105 pname = "jzon";
106 lispLibs = [
107 super.closer-mop
108 ];
109 systems = [ "com.inuoe.jzon" ];
110 };
111
112 cl-notify = build-asdf-system {
113 pname = "cl-notify";
114 version = "20080904-138ca7038";
115 src = pkgs.fetchzip {
116 url = "https://repo.or.cz/cl-notify.git/snapshot/138ca703861f4a1fbccbed557f92cf4d213668a1.tar.gz";
117 sha256 = "0k6ns6fzvjcbpsqgx85r4g5m25fvrdw9481i9vyabwym9q8bbqwx";
118 };
119 lispLibs = [
120 self.cffi
121 ];
122 nativeLibs = [
123 pkgs.libnotify
124 ];
125 };
126
127 cl-liballegro-nuklear = build-with-compile-into-pwd {
128 inherit (super.cl-liballegro-nuklear) pname version src;
129 nativeBuildInputs = [ pkgs.allegro5 ];
130 nativeLibs = [ pkgs.allegro5 ];
131 lispLibs = super.cl-liballegro-nuklear.lispLibs ++ [ super.cl-liballegro ];
132 patches = [ ./patches/cl-liballegro-nuklear-missing-dll.patch ];
133 };
134
135 tuple = build-asdf-system {
136 pname = "tuple";
137 version = "b74bd067d";
138 src = pkgs.fetchzip {
139 url = "https://fossil.galkowski.xyz/tuple/tarball/b74bd067d4533ac0/tuple.tar.gz";
140 sha256 = "0dk356vkv6kwwcmc3j08x7143549m94rd66rpkzq8zkb31cg2va8";
141 };
142 };
143
144 cl-tar-file = build-asdf-system {
145 pname = "cl-tar-file";
146 version = "v0.2.1";
147 src = pkgs.fetchzip {
148 url = let
149 rev = "0c10bc82f14702c97a26dc25ce075b5d3a2347d1";
150 in "https://gitlab.common-lisp.net/cl-tar/cl-tar-file/-/archive/${rev}/cl-tar-file-${rev}.tar.gz";
151 sha256 = "0i8j05fkgdqy4c4pqj0c68sh4s3klpx9kc5wp73qwzrl3xqd2svy";
152 };
153 lispLibs = with super; [
154 alexandria
155 babel
156 trivial-gray-streams
157 _40ants-doc
158 salza2
159 chipz
160 flexi-streams
161 parachute
162 ];
163 systems = [ "tar-file" "tar-file/test" ];
164 };
165
166 cl-tar = build-asdf-system {
167 pname = "cl-tar";
168 version = "v0.2.1";
169 src = pkgs.fetchzip {
170 url = let
171 rev = "7c6e07a10c93d9e311f087b5f6328cddd481669a";
172 in "https://gitlab.common-lisp.net/cl-tar/cl-tar/-/archive/${rev}/cl-tar-${rev}.tar.gz";
173 sha256 = "0wp23cs3i6a89dibifiz6559la5nk58d1n17xvbxq4nrl8cqsllf";
174 };
175 lispLibs = with super; [
176 alexandria
177 babel
178 local-time
179 split-sequence
180 _40ants-doc
181 parachute
182 osicat
183 ] ++ [ self.cl-tar-file ];
184 systems = [
185 "tar"
186 "tar/common-extract"
187 "tar/simple-extract"
188 "tar/extract"
189 "tar/create"
190 "tar/docs"
191 "tar/test"
192 "tar/create-test"
193 "tar/extract-test"
194 "tar/simple-extract-test"
195 ];
196 };
197
198 lessp = build-asdf-system {
199 pname = "lessp";
200 version = "0.2-f8a9e4664";
201 src = pkgs.fetchzip {
202 url = "https://github.com/facts-db/cl-lessp/archive/632217602b85b679e8d420654a0aa39e798ca3b5.tar.gz";
203 sha256 = "0i3ia14dzqwjpygd0zn785ff5vqnnmkn75psfpyx0ni3jr71lkq9";
204 };
205 };
206
207 rollback = build-asdf-system {
208 pname = "rollback";
209 version = "0.1-5d3f21fda";
210 src = pkgs.fetchzip {
211 url = "https://github.com/facts-db/cl-rollback/archive/5d3f21fda8f04f35c5e9d20ee3b87db767915d15.tar.gz";
212 sha256 = "12dpxsbm2al633y87i8p784k2dn4bbskz6sl40v9f5ljjmjqjzxf";
213 };
214 };
215
216 facts = build-asdf-system {
217 pname = "facts";
218 version = "0.1-632217602";
219 src = pkgs.fetchzip {
220 url = "https://beta.quicklisp.org/archive/cl-facts/2022-11-06/cl-facts-20221106-git.tgz";
221 sha256 = "sha256-PBpyyJYkq1NjKK9VikSAL4TmrGRwUJlEWRSeKj/f4Sc=";
222 };
223 lispLibs = [ self.lessp self.rollback ] ++ [ super.local-time ];
224 };
225
226 cl-fuse = build-with-compile-into-pwd {
227 inherit (super.cl-fuse) pname version src lispLibs;
228 nativeBuildInputs = [ pkgs.fuse ];
229 nativeLibs = [ pkgs.fuse ];
230 };
231
232 cl-containers = build-asdf-system {
233 inherit (super.cl-containers) pname version src;
234 lispLibs = super.cl-containers.lispLibs ++ [ super.moptilities ];
235 systems = [ "cl-containers" "cl-containers/with-moptilities" ];
236 };
237
238 swank = build-with-compile-into-pwd {
239 inherit (super.swank) pname version src lispLibs;
240 patches = [ ./patches/swank-pure-paths.patch ];
241 postConfigure = ''
242 substituteAllInPlace swank-loader.lisp
243 '';
244 };
245
246 clx-truetype = build-asdf-system {
247 pname = "clx-truetype";
248 version = "20160825-git";
249 src = pkgs.fetchzip {
250 url = "http://beta.quicklisp.org/archive/clx-truetype/2016-08-25/clx-truetype-20160825-git.tgz";
251 sha256 = "079hyp92cjkdfn6bhkxsrwnibiqbz4y4af6nl31lzw6nm91j5j37";
252 };
253 lispLibs = with super; [
254 alexandria bordeaux-threads cl-aa cl-fad cl-paths cl-paths-ttf
255 cl-store cl-vectors clx trivial-features zpb-ttf
256 ];
257 };
258
259 mathkit = build-asdf-system {
260 inherit (super.mathkit) pname version src asds ;
261 lispLibs = super.mathkit.lispLibs ++ [ super.sb-cga ];
262 };
263
264 quri_7_0 = build-asdf-system {
265 inherit (super.quri) pname systems lispLibs;
266 version = "0.7.0";
267
268 src = pkgs.fetchFromGitHub {
269 owner = "fukamachi";
270 repo = "quri";
271 rev = "0.7.0";
272 sha256 = "sha256-/9p67rfbkdrx5nn4kXEUAM9MzV7NYUsRcKsrP/e2MlA=";
273 };
274 };
275
276 cl-colors2_0_5_3 = build-asdf-system {
277 inherit (super.cl-colors2) pname systems lispLibs;
278 version = "0.5.3";
279
280 src = pkgs.fetchgit {
281 url = "https://notabug.org/cage/cl-colors2";
282 rev = "refs/tags/v0.5.3";
283 sha256 = "sha256-anYkLJoNOVBQoXzWVBgbEusQDdud0RA8nZzedl8V93w=";
284 };
285 };
286
287 cl-webkit2_3_5_8 = build-asdf-system {
288 inherit (super.cl-webkit2) pname systems nativeLibs lispLibs;
289 version = "3.5.8";
290
291 src = pkgs.fetchFromGitHub {
292 owner = "joachifm";
293 repo = "cl-webkit";
294 rev = "3.5.8";
295 sha256 = "sha256-wZ/zRRJlTiOIny4BsU+wsFtxtS5YKx3WalwpCVQPFSY=";
296 };
297 };
298
299 prompter = build-asdf-system {
300 pname = "prompter";
301 version = "0.1.0";
302
303 src = pkgs.fetchFromGitHub {
304 owner = "atlas-engineer";
305 repo = "prompter";
306 rev = "0.1.0";
307 sha256 = "sha256-Duv7L2lMjr3VXsoujQDOMNHCbdUDX4RWoncVm9LDCZE=";
308 };
309
310 lispLibs = [
311 self.cl-containers
312 self.nclasses_0_5_0
313 super.alexandria
314 super.calispel
315 super.closer-mop
316 super.lparallel
317 super.moptilities
318 super.serapeum
319 super.str
320 super.trivial-package-local-nicknames
321 ];
322
323 };
324
325 nasdf-unstable = build-asdf-system {
326 inherit (super.nasdf) pname systems;
327 version = "20230524-git";
328 src = pkgs.fetchFromGitHub {
329 owner = "atlas-engineer";
330 repo = "ntemplate";
331 rev = "51a884f388ec526c32914093fcad6bb2434e3c14";
332 sha256 = "sha256-bjQPkiHAxhjsHCnWpCGMsmQlGDJFGtQEdevnhK2k+kY=";
333 };
334 };
335
336 njson_1_0_0 = build-asdf-system {
337 inherit (super.njson) pname;
338 version = "1.0.0";
339 src = pkgs.fetchFromGitHub {
340 owner = "atlas-engineer";
341 repo = "njson";
342 rev = "1.0.0";
343 sha256 = "sha256-zeOxkoi5cPl1sw1oEOaMsKhhs3Pb8EzzKTjvuDNj/Ko=";
344 };
345 lispLibs = [ self.nasdf-unstable super.cl-json ];
346 systems = [ "njson" "njson/cl-json" ];
347 };
348
349 nsymbols_0_3_1 = build-asdf-system {
350 inherit (super.nsymbols) pname;
351 version = "0.3.1";
352 src = pkgs.fetchFromGitHub {
353 owner = "atlas-engineer";
354 repo = "nsymbols";
355 rev = "0.3.1";
356 sha256 = "sha256-KcrE06bG5Khp5/807wb/TbPG3nWTlNWHrDpmK6bm7ZM=";
357 };
358 lispLibs = [ super.closer-mop ];
359 systems = [ "nsymbols" "nsymbols/star" ];
360
361 };
362
363 nclasses_0_5_0 = build-asdf-system {
364 inherit (super.nclasses) pname systems;
365 version = "0.5.0";
366 src = pkgs.fetchFromGitHub {
367 owner = "atlas-engineer";
368 repo = "nclasses";
369 rev = "0.5.0";
370 sha256 = "sha256-UcavZ0fCA2hkVU/CqUZfyCqJ8gXKPpXTCP0WLUIF1Ss=";
371 };
372 lispLibs = [ self.nasdf-unstable super.moptilities ];
373 };
374
375 nfiles_1_1_2 = build-asdf-system {
376 inherit (super.nfiles) pname systems;
377 version = "1.1.2";
378 src = pkgs.fetchFromGitHub {
379 owner = "atlas-engineer";
380 repo = "nfiles";
381 rev = "1.1.2";
382 sha256 = "sha256-YsVcCFrJIFL9Z4wQNAv6chiz6wB/eB8v/EUMXPLs3fw=";
383 };
384 lispLibs = [
385 self.nasdf-unstable
386 self.nclasses_0_5_0
387 self.quri_7_0
388 super.alexandria
389 super.iolib
390 super.serapeum
391 super.trivial-garbage
392 super.trivial-package-local-nicknames
393 super.trivial-types
394 ];
395 };
396
397 nyxt-gtk = build-asdf-system {
398 inherit (super.nyxt) pname;
399 version = "3.1.0";
400
401 lispLibs = with super; [
402 self.nasdf-unstable
403 self.prompter
404 self.cl-colors2_0_5_3
405 self.njson_1_0_0
406 self.nsymbols_0_3_1
407 self.nclasses_0_5_0
408 self.nfiles_1_1_2
409 self.quri_7_0
410 self.cl-webkit2_3_5_8
411 self.swank
412 alexandria
413 bordeaux-threads
414 calispel
415 cl-base64
416 cl-gopher
417 cl-html-diff
418 cl-json
419 cl-ppcre
420 cl-ppcre-unicode
421 cl-prevalence
422 cl-qrencode
423 cl-tld
424 closer-mop
425 cl-containers
426 dissect
427 moptilities
428 dexador
429 enchant
430 flexi-streams
431 history-tree
432 idna
433 iolib
434 lass
435 local-time
436 lparallel
437 log4cl
438 montezuma
439 ndebug
440 nhooks
441 nkeymaps
442 osicat
443 parenscript
444 py-configparser
445 serapeum
446 str
447 phos
448 plump
449 clss
450 spinneret
451 slynk
452 trivia
453 trivial-clipboard
454 trivial-features
455 trivial-garbage
456 trivial-package-local-nicknames
457 trivial-types
458 unix-opts
459 cluffer
460 cl-cffi-gtk
461 cl-gobject-introspection
462 ];
463
464 src = pkgs.fetchFromGitHub {
465 owner = "atlas-engineer";
466 repo = "nyxt";
467 rev = "3.1.0";
468 sha256 = "sha256-H3AlslECb/VvIC6zAGkLNTaGJ/nb97J6RXAN8sEgAgY=";
469 };
470
471 nativeBuildInputs = [ pkgs.makeWrapper ];
472
473 buildInputs = [
474 # needed for GSETTINGS_SCHEMAS_PATH
475 pkgs.gsettings-desktop-schemas pkgs.glib pkgs.gtk3
476
477 # needed for XDG_ICON_DIRS
478 pkgs.gnome.adwaita-icon-theme
479 ];
480
481 # This is needed since asdf:make tries to write in the directory of the .asd file of the system it's compiling
482 postConfigure = ''
483 export CL_SOURCE_REGISTRY=$CL_SOURCE_REGISTRY:$(pwd)//
484 '';
485
486 buildScript = pkgs.writeText "build-nyxt.lisp" ''
487 (load "${super.nyxt.asdfFasl}/asdf.${super.nyxt.faslExt}")
488 ;; There's a weird error while copy/pasting in Nyxt that manifests with sb-ext:save-lisp-and-die, so we use asdf:make instead
489 (asdf:make :nyxt/gi-gtk-application)
490 '';
491
492 # TODO(kasper): use wrapGAppsHook
493 installPhase = super.nyxt.installPhase + ''
494 rm -v $out/nyxt
495 mkdir -p $out/bin
496 cp -v nyxt $out/bin
497 wrapProgram $out/bin/nyxt \
498 --prefix LD_LIBRARY_PATH : $LD_LIBRARY_PATH \
499 --prefix XDG_DATA_DIRS : $XDG_ICON_DIRS \
500 --prefix XDG_DATA_DIRS : $GSETTINGS_SCHEMAS_PATH \
501 --prefix GI_TYPELIB_PATH : $GI_TYPELIB_PATH \
502 --prefix GIO_EXTRA_MODULES ":" ${pkgs.dconf.lib}/lib/gio/modules/ \
503 --prefix GIO_EXTRA_MODULES ":" ${pkgs.glib-networking}/lib/gio/modules/
504 '';
505 };
506
507 nyxt = self.nyxt-gtk;
508
509 stumpwm = super.stumpwm.overrideLispAttrs (o: rec {
510 version = "22.11";
511 src = pkgs.fetchFromGitHub {
512 owner = "stumpwm";
513 repo = "stumpwm";
514 rev = version;
515 hash = "sha256-zXj17ucgyFhv7P0qEr4cYSVRPGrL1KEIofXWN2trr/M=";
516 };
517 buildScript = pkgs.writeText "build-stumpwm.lisp" ''
518 (load "${super.stumpwm.asdfFasl}/asdf.${super.stumpwm.faslExt}")
519
520 (asdf:load-system 'stumpwm)
521
522 ;; Prevents package conflict error
523 (when (uiop:version<= "3.1.5" (asdf:asdf-version))
524 (uiop:symbol-call '#:asdf '#:register-immutable-system :stumpwm)
525 (dolist (system-name (uiop:symbol-call '#:asdf
526 '#:system-depends-on
527 (asdf:find-system :stumpwm)))
528 (uiop:symbol-call '#:asdf '#:register-immutable-system system-name)))
529
530 ;; Prevents "cannot create /homeless-shelter" error
531 (asdf:disable-output-translations)
532
533 (sb-ext:save-lisp-and-die
534 "stumpwm"
535 :executable t
536 :purify t
537 #+sb-core-compression :compression
538 #+sb-core-compression t
539 :toplevel #'stumpwm:stumpwm)
540 '';
541 installPhase = ''
542 mkdir -p $out/bin
543 cp -v stumpwm $out/bin
544 '';
545 });
546
547 stumpwm-unwrapped = super.stumpwm;
548
549 ltk = super.ltk.overrideLispAttrs (o: {
550 src = pkgs.fetchzip {
551 url = "https://github.com/uthar/ltk/archive/f19162e76d6c7c2f51bd289b811d9ba20dd6555e.tar.gz";
552 sha256 = "0mzikv4abq9yqlj6dsji1wh34mjizr5prv6mvzzj29z1485fh1bj";
553 };
554 version = "f19162e76";
555 });
556
557
558 qt = let
559 rev = "dffff3ee3dbd0686c85c323f579b8bbf4881e60e";
560 in build-with-compile-into-pwd rec {
561 pname = "commonqt";
562 version = builtins.substring 0 7 rev;
563 src = pkgs.fetchFromGitHub {
564 inherit rev;
565 owner = pname;
566 repo = pname;
567 hash = "sha256-GAgwT0D9mIkYPTHfCH/KxxIv7b6QGwcxwZE7ehH5xug=";
568 };
569
570 buildInputs = [ pkgs.qt4 ];
571 nativeBuildInputs = [ pkgs.smokegen pkgs.smokeqt ];
572 nativeLibs = [ pkgs.qt4 pkgs.smokegen pkgs.smokeqt ];
573
574 systems = [ "qt" ];
575
576 lispLibs = with super; [
577 cffi named-readtables cl-ppcre alexandria
578 closer-mop iterate trivial-garbage bordeaux-threads
579 ];
580 };
581
582 qt-libs = build-with-compile-into-pwd {
583 inherit (super.qt-libs) pname version src;
584 patches = [ ./patches/qt-libs-dont-download.patch ];
585 prePatch = ''
586 substituteInPlace systems/*.asd --replace ":qt+libs" ":qt"
587 '';
588 lispLibs = super.qt-libs.lispLibs ++ [ self.qt ];
589 systems = [
590 "qt-libs"
591 "commonqt"
592 # "phonon"
593 # "qimageblitz"
594 # "qsci"
595 "qt3support"
596 "qtcore"
597 "qtdbus"
598 "qtdeclarative"
599 "qtgui"
600 "qthelp"
601 "qtnetwork"
602 "qtopengl"
603 "qtscript"
604 "qtsql"
605 "qtsvg"
606 "qttest"
607 "qtuitools"
608 # "qtwebkit"
609 "qtxml"
610 "qtxmlpatterns"
611 # "qwt"
612 "smokebase"
613 ];
614 };
615
616 commonqt = self.qt-libs;
617 qt3support = self.qt-libs;
618 qtcore = self.qt-libs;
619 qtdbus = self.qt-libs;
620 qtdeclarative = self.qt-libs;
621 qtgui = self.qt-libs;
622 qthelp = self.qt-libs;
623 qtnetwork = self.qt-libs;
624 qtopengl = self.qt-libs;
625 qtscript = self.qt-libs;
626 qtsql = self.qt-libs;
627 qtsvg = self.qt-libs;
628 qttest = self.qt-libs;
629 qtuitools = self.qt-libs;
630 qtxml = self.qt-libs;
631 qtxmlpatterns = self.qt-libs;
632 smokebase = self.qt-libs;
633
634 qtools = build-with-compile-into-pwd {
635 inherit (super.qtools) pname version src nativeLibs;
636 lispLibs = [ self.qt ] ++ remove super.qt_plus_libs super.qtools.lispLibs ++ [ self.qt-libs ];
637 patches = [ ./patches/qtools-use-nix-libs.patch ];
638 };
639
640 magicl = build-with-compile-into-pwd {
641 inherit (super.magicl) pname version src lispLibs;
642 nativeBuildInputs = [ pkgs.gfortran ];
643 nativeLibs = [ pkgs.openblas ];
644 patches = [ ./patches/magicl-dont-build-fortran-twice.patch ];
645 };
646
647 cl-glib = build-asdf-system {
648 pname = "cl-glib";
649 version = "1.0.0";
650 src = pkgs.fetchFromGitHub {
651 owner = "bohonghuang";
652 repo = "cl-glib";
653 rev = "84b128192d6b11cf03f1150e474a23368f07edff";
654 hash = "sha256-A56Yz+W4n1rAxxZg15zfkrLMbKMEG/zsWqaX7+kx4Qg=";
655 };
656 lispLibs = with super; [
657 cl-gobject-introspection-wrapper
658 bordeaux-threads
659 ];
660 };
661
662 cl-glib_dot_gio = build-asdf-system {
663 pname = "cl-glib.gio";
664 version = "1.0.0";
665 src = pkgs.fetchFromGitHub {
666 owner = "bohonghuang";
667 repo = "cl-glib";
668 rev = "84b128192d6b11cf03f1150e474a23368f07edff";
669 hash = "sha256-A56Yz+W4n1rAxxZg15zfkrLMbKMEG/zsWqaX7+kx4Qg=";
670 };
671 lispLibs = with super; [
672 cl-gobject-introspection-wrapper
673 ];
674 };
675
676 cl-gtk4 = build-asdf-system {
677 pname = "cl-gtk4";
678 version = "1.0.0";
679 src = pkgs.fetchFromGitHub {
680 owner = "bohonghuang";
681 repo = "cl-gtk4";
682 rev = "e18f621b996fd986d9829d590203c690440dee64";
683 hash = "sha256-++qydw6db4O3m+DAjutVPN8IuePOxseo9vhWEvwiR6E=";
684 };
685 lispLibs = with super; [
686 cl-gobject-introspection-wrapper
687 ] ++ [ self.cl-glib self.cl-glib_dot_gio ];
688 nativeBuildInputs = [
689 pkgs.gobject-introspection
690 pkgs.gtk4
691 ];
692 nativeLibs = [
693 pkgs.gtk4
694 ];
695 };
696
697 cl-gtk4_dot_adw = build-asdf-system {
698 pname = "cl-gtk4.adw";
699 version = "1.0.0";
700 src = pkgs.fetchFromGitHub {
701 owner = "bohonghuang";
702 repo = "cl-gtk4";
703 rev = "e18f621b996fd986d9829d590203c690440dee64";
704 hash = "sha256-++qydw6db4O3m+DAjutVPN8IuePOxseo9vhWEvwiR6E=";
705 };
706 lispLibs = with super; [
707 cl-gobject-introspection-wrapper
708 ] ++ [ self.cl-gtk4 ];
709 nativeBuildInputs = [
710 pkgs.libadwaita
711 ];
712 nativeLibs = [
713 pkgs.libadwaita
714 ];
715 };
716
717 cl-gtk4_dot_webkit2 = build-asdf-system {
718 pname = "cl-gtk4.webkit2";
719 version = "1.0.0";
720 src = pkgs.fetchFromGitHub {
721 owner = "bohonghuang";
722 repo = "cl-gtk4";
723 rev = "e18f621b996fd986d9829d590203c690440dee64";
724 hash = "sha256-++qydw6db4O3m+DAjutVPN8IuePOxseo9vhWEvwiR6E=";
725 };
726 lispLibs = with super; [
727 cl-gobject-introspection-wrapper
728 ] ++ [ self.cl-gtk4 ];
729 nativeBuildInputs = [
730 pkgs.webkitgtk_6_0
731 ];
732 nativeLibs = [
733 pkgs.webkitgtk_6_0
734 ];
735 };
736
737 cl-avro = build-asdf-system {
738 pname = "cl-avro";
739 version = "trunk";
740 src = pkgs.fetchFromGitHub {
741 owner = "SahilKang";
742 repo = "cl-avro";
743 rev = "7d624253e98afb987a01729bd72c99bae02f0d7d";
744 hash = "sha256-AlTn+Q1gKnAFEfcnz9+VeHz681pPIirg2za3VXYiNWk=";
745 };
746 lispLibs = with super; [
747 alexandria
748 babel
749 chipz
750 closer-mop
751 ieee-floats
752 flexi-streams
753 local-time
754 local-time-duration
755 md5
756 salza2
757 st-json
758 time-interval
759 trivial-extensible-sequences
760 ];
761 };
762
763 duckdb = build-asdf-system {
764 pname = "duckdb";
765 version = "trunk";
766 src = pkgs.fetchFromGitHub {
767 owner = "ak-coram";
768 repo = "cl-duckdb";
769 rev = "2f0df62f59fbede0addd8d72cf286f4007818a3e";
770 hash = "sha256-+jeOuXtCFZwMvF0XvlRaqTNHIAAFKMx6y1pz6u8Wxug=";
771 };
772 systems = [ "duckdb" "duckdb/test" "duckdb/benchmark" ];
773 lispLibs = with super; [
774 bordeaux-threads
775 cffi-libffi
776 cl-ascii-table
777 cl-spark
778 fiveam
779 local-time
780 local-time-duration
781 periods
782 trivial-benchmark
783 serapeum
784 str
785 uuid
786 ];
787 nativeLibs = with pkgs; [
788 duckdb libffi
789 ];
790 };
791
792 polyclot = build-asdf-system {
793 pname = "polyclot";
794 version = "trunk";
795 src = pkgs.fetchfossil {
796 url = "https://fossil.turtleware.eu/polyclot";
797 rev = "e678b3c3e002f53b446780406c9ed13f8451309d22a1dc50ced4dbeedf08a1ec";
798 sha256 = "sha256-J08bU9HSVbzEivYtQsyIYPZJTrugj+jJSa4LglS0Olg=";
799 };
800 systems = [ "eu.turtleware.polyclot" "eu.turtleware.polyclot/demo" ];
801 lispLibs = with super; [ clim mcclim mcclim-layouts ];
802 };
803
804 kons-9 = build-asdf-system rec {
805 pname = "kons-9";
806 version = "trunk";
807 src = pkgs.fetchFromGitHub {
808 owner = "kaveh808";
809 repo = "kons-9";
810 rev = "95ad44fac0566f445c4b7bd040339dcff75ee992";
811 sha256 = "19rl7372j9f1cv2kl55r8vyf4dhcz4way4hkjgysbxzrb1psp17n";
812 };
813 systems = [ "kons-9" "kons-9/testsuite" ];
814 lispLibs = with super; [
815 closer-mop trivial-main-thread trivial-backtrace cffi cl-opengl cl-glu
816 cl-glfw3 cl-paths-ttf zpb-ttf cl-vectors origin clobber
817 org_dot_melusina_dot_confidence
818 ];
819 };
820
821 });
822
823in packages