Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at litex 823 lines 23 kB view raw
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