chore(3p/lisp): port to new new lisp-modules set

Build //3p/lisp from pkgs proper, i.e. nixpkgs' nixos-unstable channel
instead of nixos-23.11 (yikes).

Basically, multiple package sets are attached to the different lisp
implementations now instead of having a “generic” lispPackages
set (which defaults to sbcl). We can just use that instead even though
it looks a bit weird having `srcOnly sbcl.pkgs.foo` everywhere when the
packages is not necessarily related to SBCL.

We could in theory create a source only package set by abusing how the
infrastructure works internally, but it's probably somewhat brittle:

  callPackage (pkgs.path + "/pkgs/development/lisp-modules/imported.nix") {
     build-asdf-system = { src, ... }: src;
  }

Since we do a pretty hefty jump in package versions, many packages have
to be adapted to internal changes and restructuring:

- bordeaux-threads
- cffi
- cl-colors2 (which has been deprecated, but is still required by other
  packages)
- cl-smtp
- cl-plus-ssl
- cl-prevalence
- hunchentoot (compiling the asd file no longer seemed to work)
- ironclad (fixes for SBCL compiler warnings caused a CCL compiler
  warning)
- nibbles (revert the only commit to sbcl-opt/x86-vm.lisp that's new
  compared to canon since it broke compilation for unknown reasons)

The following new packages had to be added as existing packages added
new dependencies:

- frugal-uuid, frugal-uuid/non-frugal
- trivial-clock

Change-Id: I8b94894df0357907cf2b27cf1e34a7e804b68e02
Reviewed-on: https://cl.tvl.fyi/c/depot/+/13134
Autosubmit: sterni <sternenseemann@systemli.org>
Reviewed-by: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
This commit is contained in:
sterni 2025-02-15 00:14:01 +01:00 committed by clbot
parent 984c930a7c
commit d42784eb48
63 changed files with 253 additions and 84 deletions

View file

@ -2,7 +2,7 @@
# pretty much everything depends on.
{ depot, pkgs, ... }:
let src = with pkgs; srcOnly lispPackages.alexandria;
let src = with pkgs; srcOnly sbcl.pkgs.alexandria;
in depot.nix.buildLisp.library {
name = "alexandria";

View file

@ -1,6 +1,6 @@
{ depot, pkgs, ... }:
let src = with pkgs; srcOnly lispPackages.anaphora;
let src = with pkgs; srcOnly sbcl.pkgs.anaphora;
in depot.nix.buildLisp.library {
name = "anaphora";

View file

@ -1,7 +1,7 @@
# Babel is an encoding conversion library for Common Lisp.
{ depot, pkgs, ... }:
let src = with pkgs; srcOnly lispPackages.babel;
let src = with pkgs; srcOnly sbcl.pkgs.babel;
in depot.nix.buildLisp.library {
name = "babel";
deps = [

View file

@ -3,22 +3,45 @@
{ depot, pkgs, ... }:
let
src = with pkgs; srcOnly lispPackages.bordeaux-threads;
getSrc = f: "${src}/src/${f}";
src = with pkgs; srcOnly sbcl.pkgs.bordeaux-threads;
getSrc = f: "${src}/${f}";
in
depot.nix.buildLisp.library {
name = "bordeaux-threads";
deps = [ depot.third_party.lisp.alexandria ];
deps = [
depot.third_party.lisp.alexandria
depot.third_party.lisp.global-vars
depot.third_party.lisp.trivial-features
depot.third_party.lisp.trivial-garbage
];
srcs = map getSrc [
"pkgdcl.lisp"
"bordeaux-threads.lisp"
"apiv1/pkgdcl.lisp"
"apiv1/bordeaux-threads.lisp"
] ++ [
{
sbcl = getSrc "impl-sbcl.lisp";
ecl = getSrc "impl-ecl.lisp";
sbcl = getSrc "apiv1/impl-sbcl.lisp";
ecl = getSrc "apiv1/impl-ecl.lisp";
ccl = getSrc "apiv1/impl-clozure.lisp";
}
] ++ map getSrc [
"default-implementations.lisp"
"apiv1/default-implementations.lisp"
"apiv2/pkgdcl.lisp"
"apiv2/bordeaux-threads.lisp"
"apiv2/timeout-interrupt.lisp"
] ++ [
{
sbcl = getSrc "apiv2/impl-sbcl.lisp";
ecl = getSrc "apiv2/impl-ecl.lisp";
ccl = getSrc "apiv2/impl-clozure.lisp";
}
(getSrc "apiv2/api-locks.lisp")
(getSrc "apiv2/api-threads.lisp")
(getSrc "apiv2/api-semaphores.lisp")
{
ccl = getSrc "apiv2/impl-condition-variables-semaphores.lisp";
}
(getSrc "apiv2/api-condition-variables.lisp")
];
}

View file

@ -2,7 +2,7 @@
{ depot, pkgs, ... }:
with depot.nix;
let src = with pkgs; srcOnly lispPackages.cffi;
let src = with pkgs; srcOnly sbcl.pkgs.cffi;
in buildLisp.library {
name = "cffi";
deps = with depot.third_party.lisp; [
@ -13,13 +13,14 @@ in buildLisp.library {
];
srcs = [
"${src}/src/package.lisp"
"${src}/src/sys-utils.lisp"
{
ecl = src + "/src/cffi-ecl.lisp";
sbcl = src + "/src/cffi-sbcl.lisp";
ccl = src + "/src/cffi-openmcl.lisp";
}
] ++ map (f: src + ("/src/" + f)) [
"package.lisp"
"utils.lisp"
"libraries.lisp"
"early-types.lisp"

View file

@ -1,7 +1,7 @@
# Common Lisp library for decompressing deflate, zlib, gzip, and bzip2 data
{ depot, pkgs, ... }:
let src = with pkgs; srcOnly lispPackages.chipz;
let src = with pkgs; srcOnly sbcl.pkgs.chipz;
in depot.nix.buildLisp.library {
name = "chipz";
deps = [ (depot.nix.buildLisp.bundled "asdf") ];

View file

@ -1,7 +1,7 @@
# Portable chunked streams for Common Lisp
{ depot, pkgs, ... }:
let src = with pkgs; srcOnly lispPackages.chunga;
let src = with pkgs; srcOnly sbcl.pkgs.chunga;
in depot.nix.buildLisp.library {
name = "chunga";
deps = with depot.third_party.lisp; [

View file

@ -1,7 +1,7 @@
# Enables ANSI colors for printing.
{ depot, pkgs, ... }:
let src = with pkgs; srcOnly lispPackages.cl-ansi-text;
let src = with pkgs; srcOnly sbcl.pkgs.cl-ansi-text;
in depot.nix.buildLisp.library {
name = "cl-ansi-text";
deps = with depot.third_party.lisp; [

View file

@ -1,7 +1,7 @@
# Base64 encoding for Common Lisp
{ depot, pkgs, ... }:
let src = with pkgs; srcOnly lispPackages.cl-base64;
let src = with pkgs; srcOnly sbcl.pkgs.cl-base64;
in depot.nix.buildLisp.library {
name = "cl-base64";
srcs = [

View file

@ -1,6 +1,6 @@
{ depot, pkgs, ... }:
let src = with pkgs; srcOnly lispPackages.cl-change-case;
let src = with pkgs; srcOnly sbcl.pkgs.cl-change-case;
in depot.nix.buildLisp.library {
name = "cl-change-case";

View file

@ -1,6 +1,6 @@
{ depot, pkgs, ... }:
let src = with pkgs; srcOnly lispPackages.cl-colors;
let src = with pkgs; srcOnly sbcl.pkgs.cl-colors;
in depot.nix.buildLisp.library {
name = "cl-colors";
deps = [

View file

@ -1,11 +1,17 @@
# TODO(sterni): package (switch to?) cl-colors-ng
{ depot, pkgs, ... }:
let src = with pkgs; srcOnly lispPackages.cl-colors2;
let src = with pkgs; srcOnly sbcl.pkgs.cl-colors2;
in depot.nix.buildLisp.library {
name = "cl-colors2";
deps = with depot.third_party.lisp; [
alexandria
cl-ppcre
parse-number
{
sbcl = depot.nix.buildLisp.bundled "uiop";
default = depot.nix.buildLisp.bundled "asdf";
}
];
srcs = map (f: src + ("/" + f)) [
@ -13,6 +19,8 @@ in depot.nix.buildLisp.library {
"colors.lisp"
"colornames-x11.lisp"
"colornames-svg.lisp"
"colornames-gdk.lisp"
"hexcolors.lisp"
"print.lisp"
];
}

View file

@ -3,7 +3,7 @@
with depot.nix;
let src = with pkgs; srcOnly lispPackages.cl-fad;
let src = with pkgs; srcOnly sbcl.pkgs.cl-fad;
in buildLisp.library {
name = "cl-fad";

View file

@ -4,12 +4,9 @@
with depot.nix;
let
src = pkgs.fetchgit {
url = "https://github.com/cl-plus-ssl/cl-plus-ssl.git";
rev = "29081992f6d7b4e3aa2c5eeece4cd92b745071f4";
hash = "sha256:16lyrixl98b7vy29dbbzkbq0xaz789350dajrr1gdny5i55rkjq0";
};
src = pkgs.srcOnly pkgs.sbcl.pkgs.cl_plus_ssl;
in
buildLisp.library {
name = "cl-plus-ssl";
deps = with depot.third_party.lisp; [
@ -20,6 +17,7 @@ buildLisp.library {
trivial-features
trivial-garbage
trivial-gray-streams
usocket
{
scbl = buildLisp.bundled "uiop";
default = buildLisp.bundled "asdf";
@ -30,15 +28,18 @@ buildLisp.library {
native = [ pkgs.openssl ];
srcs = map (f: src + ("/src/" + f)) [
"config.lisp"
"package.lisp"
"reload.lisp"
"conditions.lisp"
"ffi.lisp"
"x509.lisp"
"bio.lisp"
"conditions.lisp"
"ssl-funcall.lisp"
"init.lisp"
"ffi-buffer-all.lisp"
"ffi-buffer.lisp"
"streams.lisp"
"bio.lisp"
"x509.lisp"
"random.lisp"
"context.lisp"
"verify-hostname.lisp"

View file

@ -1,7 +1,7 @@
# cl-ppcre is a Common Lisp regular expression library.
{ depot, pkgs, ... }:
let src = with pkgs; srcOnly lispPackages.cl-ppcre;
let src = with pkgs; srcOnly sbcl.pkgs.cl-ppcre;
in depot.nix.buildLisp.library {
name = "cl-ppcre";

View file

@ -2,12 +2,12 @@
# an in-memory database)
{ depot, pkgs, ... }:
let src = with pkgs; srcOnly lispPackages.cl-prevalence;
let src = with pkgs; srcOnly sbcl.pkgs.cl-prevalence;
in depot.nix.buildLisp.library {
name = "cl-prevalence";
deps = with depot.third_party.lisp; [
bordeaux-threads
moptilities
s-xml
s-sysdeps
];
@ -22,4 +22,8 @@ in depot.nix.buildLisp.library {
"master-slave.lisp"
"blob.lisp"
];
brokenOn = [
"ecl" # see moptilities
];
}

View file

@ -1,12 +1,13 @@
{ depot, pkgs, ... }:
let src = with pkgs; srcOnly lispPackages.cl-smtp;
let src = with pkgs; srcOnly sbcl.pkgs.cl-smtp;
in depot.nix.buildLisp.library {
name = "cl-smtp";
deps = with depot.third_party.lisp; [
alexandria
usocket
trivial-gray-streams
flexi-streams
frugal-uuid-non-frugal
cl-base64
cl-plus-ssl
];

View file

@ -1,6 +1,6 @@
{ depot, pkgs, ... }:
let src = with pkgs; srcOnly lispPackages.cl-who;
let src = with pkgs; srcOnly sbcl.pkgs.cl-who;
in depot.nix.buildLisp.library {
name = "cl-who";

View file

@ -3,7 +3,7 @@
# Lisp implementations
{ depot, pkgs, ... }:
let src = with pkgs; srcOnly lispPackages.closer-mop;
let src = with pkgs; srcOnly sbcl.pkgs.closer-mop;
in depot.nix.buildLisp.library {
name = "closer-mop";

View file

@ -1,7 +1,7 @@
{ depot, pkgs, ... }:
let
src = with pkgs; srcOnly lispPackages.closure-common;
src = with pkgs; srcOnly sbcl.pkgs.closure-common;
getSrcs = builtins.map (p: "${src}/${p}");
in
depot.nix.buildLisp.library {

View file

@ -3,7 +3,7 @@
let
src = pkgs.applyPatches {
name = "closure-html-source";
src = pkgs.lispPackages.closure-html.src;
src = pkgs.sbcl.pkgs.closure-html.src;
patches = [
# delete unexported and unused double defun in sgml-dtd.lisp

View file

@ -2,7 +2,7 @@
# Seems to be unmaintained (since early 2021)
{ depot, pkgs, ... }:
let src = with pkgs; srcOnly lispPackages.defclass-std;
let src = with pkgs; srcOnly sbcl.pkgs.defclass-std;
in depot.nix.buildLisp.library {
name = "defclass-std";
deps = with depot.third_party.lisp; [

View file

@ -1,7 +1,7 @@
# Drakma is an HTTP client for Common Lisp.
{ depot, pkgs, ... }:
let src = with pkgs; srcOnly lispPackages.drakma;
let src = with pkgs; srcOnly sbcl.pkgs.drakma;
in depot.nix.buildLisp.library {
name = "drakma";
deps = with depot.third_party.lisp; [

View file

@ -4,7 +4,7 @@
{ depot, pkgs, ... }:
let src = with pkgs; srcOnly lispPackages.fiveam;
let src = with pkgs; srcOnly sbcl.pkgs.fiveam;
in depot.nix.buildLisp.library {
name = "fiveam";

View file

@ -1,7 +1,7 @@
# Flexible bivalent streams for Common Lisp
{ depot, pkgs, ... }:
let src = with pkgs; srcOnly lispPackages.flexi-streams;
let src = with pkgs; srcOnly sbcl.pkgs.flexi-streams;
in depot.nix.buildLisp.library {
name = "flexi-streams";
deps = [ depot.third_party.lisp.trivial-gray-streams ];

View file

@ -0,0 +1,32 @@
{ depot, pkgs, ... }:
let
inherit (depot.nix) buildLisp;
inherit (pkgs.sbcl.pkgs.frugal-uuid) src;
in
buildLisp.library {
# TODO(sterni): can't use / since name influences paths
name = "frugal-uuid-non-frugal";
deps = [
depot.third_party.lisp.frugal-uuid
depot.third_party.lisp.babel
depot.third_party.lisp.bordeaux-threads
depot.third_party.lisp.ironclad
depot.third_party.lisp.trivial-clock
];
# Note that these can be built individually, but we don't bother (yet)
srcs = builtins.map (f: "${src}/non-frugal/${f}") [
"strong-random"
"thread-safe"
"name-based"
"accurate-clock"
"minara"
];
brokenOn = [
"ecl" # trivial-clock
];
}

40
third_party/lisp/frugal-uuid.nix vendored Normal file
View file

@ -0,0 +1,40 @@
{ pkgs, depot, ... }:
let
inherit (depot.nix) buildLisp;
inherit (pkgs.sbcl.pkgs.frugal-uuid) src;
in
buildLisp.library {
name = "frugal-uuid";
srcs = builtins.map (f: "${src}/${f}.lisp") [
"package"
"frugal-uuid"
"frugal-uuid-node"
"frugal-uuid-clock"
"frugal-uuid-random"
"frugal-uuid-namespace"
"frugal-uuid-v1"
"frugal-uuid-v2"
"frugal-uuid-v3"
"frugal-uuid-v4"
"frugal-uuid-v5"
"frugal-uuid-v6"
"frugal-uuid-v7"
"frugal-uuid-v8"
];
tests = {
name = "frugal-uuid-test";
srcs = [
"${src}/frugal-uuid-test.lisp"
];
deps = [
depot.third_party.lisp.fiveam
];
expression = ''
(fiveam:run! :frugal-uuid)
'';
};
}

View file

@ -1,6 +1,6 @@
{ depot, pkgs, ... }:
let src = with pkgs; srcOnly lispPackages.global-vars;
let src = with pkgs; srcOnly sbcl.pkgs.global-vars;
in depot.nix.buildLisp.library {
name = "global-vars";
srcs = [ "${src}/global-vars.lisp" ];

View file

@ -1,8 +1,8 @@
# Hunchentoot is a web framework for Common Lisp.
{ depot, pkgs, ... }:
{ depot, pkgs, lib, ... }:
let
src = with pkgs; srcOnly lispPackages.hunchentoot;
src = with pkgs; srcOnly sbcl.pkgs.hunchentoot;
url-rewrite = depot.nix.buildLisp.library {
name = "url-rewrite";
@ -36,10 +36,15 @@ depot.nix.buildLisp.library {
];
srcs = map (f: src + ("/" + f)) [
"hunchentoot.asd"
"packages.lisp"
"compat.lisp"
"specials.lisp"
] ++ [
(pkgs.runCommand "specials.lisp" { } ''
substitute "${src}/specials.lisp" "$out" --replace-fail \
${lib.escapeShellArg "#.(asdf:component-version (asdf:find-system :hunchentoot))"} \
'"${lib.removePrefix "v" src.version}"'
'')
] ++ map (f: src + ("/" + f)) [
"conditions.lisp"
"mime-types.lisp"
"util.lisp"
@ -52,6 +57,7 @@ depot.nix.buildLisp.library {
"headers.lisp"
"set-timeouts.lisp"
"taskmaster.lisp"
"ssl.lisp"
"acceptor.lisp"
"easy-handlers.lisp"
];

View file

@ -3,7 +3,7 @@
let
inherit (pkgs) runCommand;
inherit (depot.nix.buildLisp) bundled;
src = with pkgs; srcOnly lispPackages.ironclad;
src = with pkgs; srcOnly sbcl.pkgs.ironclad;
getSrc = f: "${src}/src/${f}";
in
@ -90,7 +90,17 @@ depot.nix.buildLisp.library {
"digests/crc24.lisp"
"digests/crc32.lisp"
"digests/groestl.lisp"
"digests/jh.lisp"
] ++ [
{
# Work around compiler warning for CCL:
# https://github.com/sharplispers/ironclad/commit/ebc994b06409829c463b099fe460276cba564d43#commitcomment-153059140
ccl = pkgs.runCommand "jh.lisp" { } ''
substitute "${src}/src/digests/jh.lisp" "$out" \
--replace-fail "(declare (notinline jh-buffer jh-state))" ""
'';
default = "${src}/src/digests/jh.lisp";
}
] ++ map getSrc [
"digests/kupyna.lisp"
"digests/md2.lisp"
"digests/md4.lisp"

View file

@ -2,7 +2,7 @@
# LOOP macro.
{ depot, pkgs, ... }:
let src = with pkgs; srcOnly lispPackages.iterate;
let src = with pkgs; srcOnly sbcl.pkgs.iterate;
in depot.nix.buildLisp.library {
name = "iterate";
srcs = [

View file

@ -1,6 +1,6 @@
{ depot, pkgs, ... }:
let src = with pkgs; srcOnly lispPackages.let-plus;
let src = with pkgs; srcOnly sbcl.pkgs.let-plus;
in depot.nix.buildLisp.library {
name = "let-plus";
deps = [

View file

@ -2,7 +2,7 @@
{ depot, pkgs, ... }:
let
src = pkgs.srcOnly pkgs.lispPackages.lisp-binary;
src = pkgs.srcOnly pkgs.sbcl.pkgs.lisp-binary;
in
depot.nix.buildLisp.library {
name = "lisp-binary";

View file

@ -3,7 +3,7 @@
let
inherit (depot.nix) buildLisp;
src = with pkgs; srcOnly lispPackages.local-time;
src = with pkgs; srcOnly sbcl.pkgs.local-time;
in
buildLisp.library {
name = "local-time";

View file

@ -1,6 +1,6 @@
{ depot, pkgs, ... }:
let src = with pkgs; srcOnly lispPackages.marshal;
let src = with pkgs; srcOnly sbcl.pkgs.marshal;
in depot.nix.buildLisp.library {
name = "marshal";
srcs = map (f: src + ("/" + f)) [

View file

@ -3,7 +3,7 @@
with depot.nix;
let src = with pkgs; srcOnly lispPackages.md5;
let src = with pkgs; srcOnly sbcl.pkgs.md5;
in buildLisp.library {
name = "md5";
deps = [

View file

@ -1,7 +1,7 @@
{ depot, pkgs, ... }:
let
getSrcs = builtins.map (p: "${pkgs.srcOnly pkgs.lispPackages.metabang-bind}/${p}");
getSrcs = builtins.map (p: "${pkgs.srcOnly pkgs.sbcl.pkgs.metabang-bind}/${p}");
in
depot.nix.buildLisp.library {

View file

@ -1,7 +1,7 @@
# Compatibility layer for minor MOP implementation differences
{ depot, pkgs, ... }:
let src = with pkgs; srcOnly lispPackages.moptilities;
let src = with pkgs; srcOnly sbcl.pkgs.moptilities;
in depot.nix.buildLisp.library {
name = "moptilities";
deps = [ depot.third_party.lisp.closer-mop ];

View file

@ -2,7 +2,19 @@
let
inherit (depot.nix.buildLisp) bundled;
src = with pkgs; srcOnly lispPackages.nibbles;
src = with pkgs; srcOnly (sbcl.pkgs.nibbles.overrideAttrs (oldAttrs: {
patches = oldAttrs.patches or [ ] ++ [
# Restoring the weird progn apparently fixes unbound MAKE-EA and EAX-OFFSET
# which we were seeing during macroexpansion. Curiously, building niblbes
# with ASDF is not affected by this problem.
(pkgs.fetchpatch {
name = "nibbles-sbcl-x86-restore-weird-progn.patch";
url = "https://github.com/sharplispers/nibbles/commit/f37322b864ea12018bc0acbd70cb1e24bf0426eb.patch";
revert = true;
sha256 = "0h601g145qscmvykrzrf9bnlakfh5qawwmdd1z8f2cslfxrkj9jc";
})
];
}));
in
depot.nix.buildLisp.library {
name = "nibbles";

View file

@ -1,6 +1,6 @@
{ depot, pkgs, ... }:
let src = with pkgs; srcOnly lispPackages.parse-float;
let src = with pkgs; srcOnly sbcl.pkgs.parse-float;
in depot.nix.buildLisp.library {
name = "parse-float";

View file

@ -1,6 +1,6 @@
{ depot, pkgs, ... }:
let src = with pkgs; srcOnly lispPackages.parse-number;
let src = with pkgs; srcOnly sbcl.pkgs.parse-number;
in depot.nix.buildLisp.library {
name = "parse-number";
srcs = map (f: src + ("/" + f)) [

View file

@ -1,6 +1,6 @@
{ depot, pkgs, ... }:
let src = with pkgs; srcOnly lispPackages.parseq;
let src = with pkgs; srcOnly sbcl.pkgs.parseq;
in depot.nix.buildLisp.library {
name = "parseq";

View file

@ -1,6 +1,6 @@
{ depot, pkgs, ... }:
let src = with pkgs; srcOnly lispPackages.physical-quantities;
let src = with pkgs; srcOnly sbcl.pkgs.physical-quantities;
in depot.nix.buildLisp.library {
name = "physical-quantities";

View file

@ -2,7 +2,7 @@
let
inherit (depot.nix.buildLisp) bundled;
src = with pkgs; srcOnly lispPackages.postmodern;
src = with pkgs; srcOnly sbcl.pkgs.postmodern;
cl-postgres = depot.nix.buildLisp.library {
name = "cl-postgres";

View file

@ -1,6 +1,6 @@
{ depot, pkgs, ... }:
let src = with pkgs; srcOnly lispPackages.prove;
let src = with pkgs; srcOnly sbcl.pkgs.prove;
in depot.nix.buildLisp.library {
name = "prove";

View file

@ -1,7 +1,7 @@
# Portable URI library
{ depot, pkgs, ... }:
let src = with pkgs; srcOnly lispPackages.puri;
let src = with pkgs; srcOnly sbcl.pkgs.puri;
in depot.nix.buildLisp.library {
name = "puri";
srcs = [

View file

@ -1,7 +1,7 @@
# Implementation of RFC2388 (multipart/form-data)
{ depot, pkgs, ... }:
let src = with pkgs; srcOnly lispPackages.rfc2388;
let src = with pkgs; srcOnly sbcl.pkgs.rfc2388;
in depot.nix.buildLisp.library {
name = "rfc2388";

View file

@ -1,7 +1,7 @@
# A Common Lisp abstraction layer over platform dependent functionality.
{ depot, pkgs, ... }:
let src = with pkgs; srcOnly lispPackages.s-sysdeps;
let src = with pkgs; srcOnly sbcl.pkgs.s-sysdeps;
in depot.nix.buildLisp.library {
name = "s-sysdeps";

View file

@ -4,7 +4,7 @@
let
src = pkgs.applyPatches {
name = "s-xml-source";
src = pkgs.lispPackages.s-xml.src;
src = pkgs.sbcl.pkgs.s-xml.src;
patches = [
./0001-fix-definition-order-in-xml.lisp.patch

View file

@ -1,7 +1,7 @@
# split-sequence is a library for, well, splitting sequences apparently.
{ depot, pkgs, ... }:
let src = with pkgs; srcOnly lispPackages.split-sequence;
let src = with pkgs; srcOnly sbcl.pkgs.split-sequence;
in depot.nix.buildLisp.library {
name = "split-sequence";
srcs = map (f: src + ("/" + f)) [

View file

@ -2,7 +2,7 @@
let
inherit (depot.nix) buildLisp;
src = with pkgs; srcOnly lispPackages.str;
src = with pkgs; srcOnly sbcl.pkgs.str;
in
buildLisp.library {
name = "str";
@ -22,7 +22,7 @@ buildLisp.library {
substitute ${src}/str.lisp $out \
--replace-fail \
'(asdf:component-version (asdf:find-system "str"))' \
'"${pkgs.lispPackages.str.meta.version}"'
'"${pkgs.sbcl.pkgs.str.version}"'
'')
];

View file

@ -1,7 +1,7 @@
# Imported from http://common-lisp.net/project/trivial-backtrace/trivial-backtrace.git
{ depot, pkgs, ... }:
let src = with pkgs; srcOnly lispPackages.trivial-backtrace;
let src = with pkgs; srcOnly sbcl.pkgs.trivial-backtrace;
in depot.nix.buildLisp.library {
name = "trivial-backtrace";

34
third_party/lisp/trivial-clock.nix vendored Normal file
View file

@ -0,0 +1,34 @@
{ depot, pkgs, ... }:
let
inherit (depot.nix) buildLisp;
src = pkgs.srcOnly pkgs.sbcl.pkgs.trivial-clock;
in
buildLisp.library {
name = "trivial-clock";
srcs = [
"${src}/trivial-clock.lisp"
];
deps = [
depot.third_party.lisp.cffi
];
tests = {
name = "trivial-clock-tests";
deps = [
depot.third_party.lisp.fiveam
];
srcs = [
"${src}/trivial-clock-test.lisp"
];
expression = ''
(fiveam:run! :trivial-clock)
'';
};
brokenOn = [
"ecl" # dyn cffi
];
}

View file

@ -1,6 +1,6 @@
{ depot, pkgs, ... }:
let src = with pkgs; srcOnly lispPackages.trivial-features;
let src = with pkgs; srcOnly sbcl.pkgs.trivial-features;
in depot.nix.buildLisp.library {
name = "trivial-features";
srcs = [

View file

@ -2,7 +2,7 @@
# hash-tables and weak pointers
{ depot, pkgs, ... }:
let src = with pkgs; srcOnly lispPackages.trivial-garbage;
let src = with pkgs; srcOnly sbcl.pkgs.trivial-garbage;
in depot.nix.buildLisp.library {
name = "trivial-garbage";
srcs = [ (src + "/trivial-garbage.lisp") ];

View file

@ -1,7 +1,7 @@
# Portability library for CL gray streams.
{ depot, pkgs, ... }:
let src = with pkgs; srcOnly lispPackages.trivial-gray-streams;
let src = with pkgs; srcOnly sbcl.pkgs.trivial-gray-streams;
in depot.nix.buildLisp.library {
name = "trivial-gray-streams";
srcs = [

View file

@ -1,6 +1,6 @@
{ depot, pkgs, ... }:
let src = with pkgs; srcOnly lispPackages.trivial-indent;
let src = with pkgs; srcOnly sbcl.pkgs.trivial-indent;
in depot.nix.buildLisp.library {
name = "trivial-indent";

View file

@ -1,7 +1,7 @@
{ depot, pkgs, ... }:
let
src = with pkgs; srcOnly lispPackages.trivial-mimes;
src = with pkgs; srcOnly sbcl.pkgs.trivial-mimes;
mime-types = pkgs.runCommand "mime-types.lisp" { } ''
substitute ${src}/mime-types.lisp $out \

View file

@ -3,7 +3,7 @@
let
inherit (pkgs) runCommand;
inherit (depot.nix.buildLisp) bundled;
src = with pkgs; srcOnly lispPackages.uax-15;
src = with pkgs; srcOnly sbcl.pkgs.uax-15;
in
depot.nix.buildLisp.library {
name = "uax-15";

View file

@ -2,7 +2,7 @@
{ depot, pkgs, ... }:
let src = with pkgs; srcOnly lispPackages.unix-opts;
let src = with pkgs; srcOnly sbcl.pkgs.unix-opts;
in depot.nix.buildLisp.library {
name = "unix-opts";

View file

@ -3,7 +3,7 @@
let
inherit (depot.nix) buildLisp;
src = with pkgs; srcOnly lispPackages.usocket-server;
src = with pkgs; srcOnly sbcl.pkgs.usocket-server;
in
buildLisp.library {
name = "usocket-server";

View file

@ -3,7 +3,7 @@
let
inherit (depot.nix) buildLisp;
src = with pkgs; srcOnly lispPackages.usocket;
src = with pkgs; srcOnly sbcl.pkgs.usocket;
in
buildLisp.library {
name = "usocket";

View file

@ -56,9 +56,6 @@ let
# newer trunk fails somewhere within reqwest, trying to read a mystery file
trunk = stableNixpkgs.trunk;
# the big lisp package change breaks everything in //3p/lisp, undo it for now.
lispPackages = stableNixpkgs.lispPackages;
# mypaint is broken on stable (2024-09-05)
mypaint = stableNixpkgs.mypaint;