From e9bfa84aafc65896e2fffead2f1ef4853bdd59af Mon Sep 17 00:00:00 2001 From: Vincent Ambo Date: Wed, 15 Dec 2021 00:32:27 +0300 Subject: [PATCH] refactor(3p/lisp): Use sources from nixpkgs where possible nixpkgs includes a lispPackages set which is generated from something. In the meantime, we pretty much never update our Lisp deps. This commit ties our sources to nixpkgs.lispPackages where the desired package is included in nixpkgs (which is actually most of them!) Change-Id: I520a006535980271b2fa4e0ed4e34029475dcbef Reviewed-on: https://cl.tvl.fyi/c/depot/+/4331 Tested-by: BuildkiteCI Reviewed-by: grfn --- third_party/lisp/anaphora.nix | 7 +- third_party/lisp/babel.nix | 7 +- third_party/lisp/bordeaux-threads.nix | 7 +- third_party/lisp/cffi.nix | 7 +- third_party/lisp/chipz.nix | 7 +- third_party/lisp/chunga.nix | 7 +- third_party/lisp/cl-ansi-text.nix | 7 +- third_party/lisp/cl-base64.nix | 7 +- third_party/lisp/cl-colors.nix | 7 +- third_party/lisp/cl-colors2.nix | 11 +-- third_party/lisp/cl-fad.nix | 7 +- third_party/lisp/cl-ppcre.nix | 7 +- third_party/lisp/cl-prevalence.nix | 7 +- third_party/lisp/cl-smtp.nix | 10 +-- third_party/lisp/cl-who.nix | 10 +-- third_party/lisp/closer-mop.nix | 7 +- third_party/lisp/closure-common.nix | 12 +-- third_party/lisp/defclass-std.nix | 7 +- third_party/lisp/drakma.nix | 7 +- third_party/lisp/flexi-streams.nix | 9 +- third_party/lisp/global-vars.nix | 9 +- third_party/lisp/hunchentoot.nix | 8 +- third_party/lisp/ironclad.nix | 103 ++++++++++++---------- third_party/lisp/iterate.nix | 7 +- third_party/lisp/let-plus.nix | 7 +- third_party/lisp/local-time.nix | 19 ++-- third_party/lisp/marshal.nix | 9 +- third_party/lisp/md5.nix | 7 +- third_party/lisp/moptilities.nix | 7 +- third_party/lisp/nibbles.nix | 9 +- third_party/lisp/parse-float.nix | 9 +- third_party/lisp/parse-number.nix | 10 +-- third_party/lisp/parseq.nix | 9 +- third_party/lisp/physical-quantities.nix | 9 +- third_party/lisp/postmodern.nix | 15 ++-- third_party/lisp/prove.nix | 7 +- third_party/lisp/puri.nix | 6 +- third_party/lisp/rfc2388.nix | 7 +- third_party/lisp/s-sysdeps.nix | 13 +-- third_party/lisp/split-sequence.nix | 7 +- third_party/lisp/trivial-features.nix | 7 +- third_party/lisp/trivial-garbage.nix | 7 +- third_party/lisp/trivial-gray-streams.nix | 7 +- third_party/lisp/trivial-indent.nix | 9 +- third_party/lisp/trivial-mimes.nix | 7 +- third_party/lisp/uax-15.nix | 25 +++--- third_party/lisp/unix-opts.nix | 9 +- third_party/lisp/usocket-server.nix | 18 ++++ third_party/lisp/usocket.nix | 8 +- 49 files changed, 172 insertions(+), 359 deletions(-) create mode 100644 third_party/lisp/usocket-server.nix diff --git a/third_party/lisp/anaphora.nix b/third_party/lisp/anaphora.nix index d2356f7b0..c079943e6 100644 --- a/third_party/lisp/anaphora.nix +++ b/third_party/lisp/anaphora.nix @@ -1,11 +1,6 @@ { depot, pkgs, ... }: -let src = pkgs.fetchFromGitHub { - owner = "tokenrove"; - repo = "anaphora"; - rev = "018590df36ffb30ece561fb28ea6521363efc6e2"; - sha256 = "0pq6y5swvrjd0kjs2dl2648s13s0pzxin0chrq35jam8jrci3kd1"; - }; +let src = with pkgs; srcOnly lispPackages.anaphora; in depot.nix.buildLisp.library { name = "anaphora"; diff --git a/third_party/lisp/babel.nix b/third_party/lisp/babel.nix index c4a49e833..ae7c5dd23 100644 --- a/third_party/lisp/babel.nix +++ b/third_party/lisp/babel.nix @@ -1,10 +1,7 @@ # Babel is an encoding conversion library for Common Lisp. -{ depot, ... }: +{ depot, pkgs, ... }: -let src = builtins.fetchGit { - url = "https://github.com/cl-babel/babel.git"; - rev = "f892d0587c7f3a1e6c0899425921b48008c29ee3"; # 2020-07-19 -}; +let src = with pkgs; srcOnly lispPackages.babel; in depot.nix.buildLisp.library { name = "babel"; deps = [ diff --git a/third_party/lisp/bordeaux-threads.nix b/third_party/lisp/bordeaux-threads.nix index 92bc1f262..17ee6e539 100644 --- a/third_party/lisp/bordeaux-threads.nix +++ b/third_party/lisp/bordeaux-threads.nix @@ -1,12 +1,9 @@ # This library is meant to make writing portable multi-threaded apps # in Common Lisp simple. -{ depot, ... }: +{ depot, pkgs, ... }: let - src = builtins.fetchGit { - url = "https://github.com/sionescu/bordeaux-threads.git"; - rev = "499b6d3f0ce635417d6096acf0a671d8bf3f6e5f"; - }; + src = with pkgs; srcOnly lispPackages.bordeaux-threads; getSrc = f: "${src}/src/${f}"; in depot.nix.buildLisp.library { name = "bordeaux-threads"; diff --git a/third_party/lisp/cffi.nix b/third_party/lisp/cffi.nix index c8d240c8c..de1d0c2e8 100644 --- a/third_party/lisp/cffi.nix +++ b/third_party/lisp/cffi.nix @@ -1,11 +1,8 @@ # CFFI purports to be the Common Foreign Function Interface. -{ depot, ... }: +{ depot, pkgs, ... }: with depot.nix; -let src = builtins.fetchGit { - url = "https://github.com/cffi/cffi.git"; - rev = "a49ff36a95cb62ffa6cb069d98378d665769926b"; -}; +let src = with pkgs; srcOnly lispPackages.cffi; in buildLisp.library { name = "cffi"; deps = with depot.third_party.lisp; [ diff --git a/third_party/lisp/chipz.nix b/third_party/lisp/chipz.nix index 2a68d3b1f..59e9914ee 100644 --- a/third_party/lisp/chipz.nix +++ b/third_party/lisp/chipz.nix @@ -1,12 +1,7 @@ # Common Lisp library for decompressing deflate, zlib, gzip, and bzip2 data { depot, pkgs, ... }: -let src = pkgs.fetchFromGitHub { - owner = "froydnj"; - repo = "chipz"; - rev = "75dfbc660a5a28161c57f115adf74c8a926bfc4d"; - sha256 = "0plx4rs39zbs4gjk77h4a2q11zpy75fh9v8hnxrvsf8fnakajhwg"; -}; +let src = with pkgs; srcOnly lispPackages.chipz; in depot.nix.buildLisp.library { name = "chipz"; deps = [ (depot.nix.buildLisp.bundled "asdf") ]; diff --git a/third_party/lisp/chunga.nix b/third_party/lisp/chunga.nix index d40208063..d3f50bcb1 100644 --- a/third_party/lisp/chunga.nix +++ b/third_party/lisp/chunga.nix @@ -1,12 +1,7 @@ # Portable chunked streams for Common Lisp { depot, pkgs, ... }: -let src = pkgs.fetchFromGitHub { - owner = "edicl"; - repo = "chunga"; - rev = "16330852d01dfde4dd97dee7cd985a88ea571e7e"; - sha256 = "0jzn3nyb3f22gm983rfk99smqs3mhb9ivjmasvhq9qla5cl9pyhd"; -}; +let src = with pkgs; srcOnly lispPackages.chunga; in depot.nix.buildLisp.library { name = "chunga"; deps = with depot.third_party.lisp; [ diff --git a/third_party/lisp/cl-ansi-text.nix b/third_party/lisp/cl-ansi-text.nix index 5c01e0232..0e3401524 100644 --- a/third_party/lisp/cl-ansi-text.nix +++ b/third_party/lisp/cl-ansi-text.nix @@ -1,10 +1,7 @@ # Enables ANSI colors for printing. -{ depot, ... }: +{ depot, pkgs, ... }: -let src = builtins.fetchGit { - url = "https://github.com/pnathan/cl-ansi-text.git"; - rev = "257a5f19a2dc92d22f8fd772c0a78923b99b36a8"; -}; +let src = with pkgs; srcOnly lispPackages.cl-ansi-text; in depot.nix.buildLisp.library { name = "cl-ansi-text"; deps = with depot.third_party.lisp; [ diff --git a/third_party/lisp/cl-base64.nix b/third_party/lisp/cl-base64.nix index 1152601a8..08055a047 100644 --- a/third_party/lisp/cl-base64.nix +++ b/third_party/lisp/cl-base64.nix @@ -1,10 +1,7 @@ # Base64 encoding for Common Lisp -{ depot, ... }: +{ depot, pkgs, ... }: -let src = builtins.fetchGit { - url = "http://git.kpe.io/cl-base64.git"; - rev = "fc62a5342445d4ec1dd44e95f7dc513473a8c89a"; -}; +let src = with pkgs; srcOnly lispPackages.cl-base64; in depot.nix.buildLisp.library { name = "cl-base64"; srcs = [ diff --git a/third_party/lisp/cl-colors.nix b/third_party/lisp/cl-colors.nix index 71f78e424..b51e4d46a 100644 --- a/third_party/lisp/cl-colors.nix +++ b/third_party/lisp/cl-colors.nix @@ -1,11 +1,6 @@ { depot, pkgs, ... }: -let - src = pkgs.fetchgit { - url = "https://github.com/tpapp/cl-colors.git"; - rev = "827410584553f5c717eec6182343b7605f707f75"; - hash = "sha256:0l446lday4hybsm9bq3jli97fvv8jb1d33abg79vbylpwjmf3y9a"; - }; +let src = with pkgs; srcOnly lispPackages.cl-colors; in depot.nix.buildLisp.library { name = "cl-colors"; deps = [ diff --git a/third_party/lisp/cl-colors2.nix b/third_party/lisp/cl-colors2.nix index c90b8eae0..34201bc2f 100644 --- a/third_party/lisp/cl-colors2.nix +++ b/third_party/lisp/cl-colors2.nix @@ -1,10 +1,6 @@ +{ depot, pkgs, ... }: -{ depot, ... }: - -let src = builtins.fetchGit { - url = "https://notabug.org/cage/cl-colors2.git"; - rev = "795aedee593b095fecde574bd999b520dd03ed24"; -}; +let src = with pkgs; srcOnly lispPackages.cl-colors2; in depot.nix.buildLisp.library { name = "cl-colors2"; deps = with depot.third_party.lisp; [ @@ -15,7 +11,8 @@ in depot.nix.buildLisp.library { srcs = map (f: src + ("/" + f)) [ "package.lisp" "colors.lisp" - "colornames.lisp" + "colornames-x11.lisp" + "colornames-svg.lisp" "hexcolors.lisp" ]; } diff --git a/third_party/lisp/cl-fad.nix b/third_party/lisp/cl-fad.nix index 905e0821c..ec1170bf1 100644 --- a/third_party/lisp/cl-fad.nix +++ b/third_party/lisp/cl-fad.nix @@ -3,12 +3,7 @@ with depot.nix; -let src = pkgs.fetchFromGitHub { - owner = "edicl"; - repo = "cl-fad"; - rev = "13cbffe08fc660041359302f4057f8fc20d09402"; # 2021-01-10 - sha256 = "049laj8an6g9bh0m0cn0bxhq313p8qq1h37cil15l66147ad8slc"; -}; +let src = with pkgs; srcOnly lispPackages.cl-fad; in buildLisp.library { name = "cl-fad"; diff --git a/third_party/lisp/cl-ppcre.nix b/third_party/lisp/cl-ppcre.nix index 1dc9eb553..561e30619 100644 --- a/third_party/lisp/cl-ppcre.nix +++ b/third_party/lisp/cl-ppcre.nix @@ -1,10 +1,7 @@ # cl-ppcre is a Common Lisp regular expression library. -{ depot, ... }: +{ depot, pkgs, ... }: -let src = builtins.fetchGit { - url = "https://github.com/edicl/cl-ppcre"; - rev = "1ca0cd9ca0d161acd49c463d6cb5fff897596e2f"; -}; +let src = with pkgs; srcOnly lispPackages.cl-ppcre; in depot.nix.buildLisp.library { name = "cl-ppcre"; diff --git a/third_party/lisp/cl-prevalence.nix b/third_party/lisp/cl-prevalence.nix index f79313619..188cbc686 100644 --- a/third_party/lisp/cl-prevalence.nix +++ b/third_party/lisp/cl-prevalence.nix @@ -2,12 +2,7 @@ # an in-memory database) { depot, pkgs, ... }: -let src = pkgs.fetchFromGitHub { - owner = "40ants"; - repo = "cl-prevalence"; - rev = "b1f90a525f37be0335a8761051fa5661aa74b696"; - sha256 = "1svw58pp7jxb9l08cgnqxf0cf8qa9qsb0z2fnv86a51z7pfz4c0g"; -}; +let src = with pkgs; srcOnly lispPackages.cl-prevalence; in depot.nix.buildLisp.library { name = "cl-prevalence"; diff --git a/third_party/lisp/cl-smtp.nix b/third_party/lisp/cl-smtp.nix index a9905b5ef..7ab9bea59 100644 --- a/third_party/lisp/cl-smtp.nix +++ b/third_party/lisp/cl-smtp.nix @@ -1,14 +1,6 @@ { depot, pkgs, ... }: -let - src = pkgs.fetchFromGitLab { - domain = "gitlab.common-lisp.net"; - owner = "cl-smtp"; - repo = "cl-smtp"; - rev = "ed47d326fad867ee11323fa3a0f307b5d40e8f2b"; - sha256 = "0vjjfapcrdc5671jz2d24h8zvpz7skq1x6pi9fvw6ls5sgms6fr0"; - }; - +let src = with pkgs; srcOnly lispPackages.cl-smtp; in depot.nix.buildLisp.library { name = "cl-smtp"; deps = with depot.third_party.lisp; [ diff --git a/third_party/lisp/cl-who.nix b/third_party/lisp/cl-who.nix index 50e4e68c0..601b09f11 100644 --- a/third_party/lisp/cl-who.nix +++ b/third_party/lisp/cl-who.nix @@ -1,14 +1,6 @@ { depot, pkgs, ... }: -let - - src = pkgs.fetchFromGitHub { - owner = "edicl"; - repo = "cl-who"; - rev = "0d3826475133271ee8c590937136c1bc41b8cbe0"; - sha256 = "0sc8nji9q1df04lhsiwsjy1a35996bibl31w5hp5sh8q6sa122dy"; - }; - +let src = with pkgs; srcOnly lispPackages.cl-who; in depot.nix.buildLisp.library { name = "cl-who"; diff --git a/third_party/lisp/closer-mop.nix b/third_party/lisp/closer-mop.nix index 21fb3ba14..145b9cfd4 100644 --- a/third_party/lisp/closer-mop.nix +++ b/third_party/lisp/closer-mop.nix @@ -3,12 +3,7 @@ # Lisp implementations { depot, pkgs, ... }: -let src = pkgs.fetchFromGitHub { - owner = "pcostanza"; - repo = "closer-mop"; - rev = "8ec9577029b08ade5978236121c9ac276f78d8be"; # 2021-07-30 - sha256 = "0dm8xsa3hzpxjd7x248pbzd8blw01a8ls7spalzgbg1g7vbn6zg5"; -}; +let src = with pkgs; srcOnly lispPackages.closer-mop; in depot.nix.buildLisp.library { name = "closer-mop"; diff --git a/third_party/lisp/closure-common.nix b/third_party/lisp/closure-common.nix index 591620e48..0856fc9e5 100644 --- a/third_party/lisp/closure-common.nix +++ b/third_party/lisp/closure-common.nix @@ -1,17 +1,9 @@ { depot, pkgs, ... }: let - src = pkgs.fetchFromGitHub { - owner = "sharplispers"; - repo = "closure-common"; - rev = "e3c5f5f454b72b01b89115e581c3c52a7e201e5c"; # 2018-09-09 - sha256 = "0k5r2qxn122pxi301ijir3nayi9sg4d7yiy276l36qmzwhp4mg5n"; - }; - + src = with pkgs; srcOnly lispPackages.closure-common; getSrcs = builtins.map (p: "${src}/${p}"); -in - -depot.nix.buildLisp.library { +in depot.nix.buildLisp.library { name = "closure-common"; # closure-common.asd surpresses some warnings otherwise breaking diff --git a/third_party/lisp/defclass-std.nix b/third_party/lisp/defclass-std.nix index 781fd107f..c31ddb3c5 100644 --- a/third_party/lisp/defclass-std.nix +++ b/third_party/lisp/defclass-std.nix @@ -2,12 +2,7 @@ # Seems to be unmaintained (since early 2021) { depot, pkgs, ... }: -let src = pkgs.fetchFromGitHub { - owner = "EuAndreh"; - repo = "defclass-std"; - rev = "a4d32260a619eddf3a3e49df3af304f3c07ccec6"; - sha256 = "1c0ymb49wd205lzxmnmsrpqyv0pn61snn2xvsbk5iis135r4fr18"; - }; +let src = with pkgs; srcOnly lispPackages.defclass-std; in depot.nix.buildLisp.library { name = "defclass-std"; deps = with depot.third_party.lisp; [ diff --git a/third_party/lisp/drakma.nix b/third_party/lisp/drakma.nix index 3757aad7b..607f438d7 100644 --- a/third_party/lisp/drakma.nix +++ b/third_party/lisp/drakma.nix @@ -1,12 +1,7 @@ # Drakma is an HTTP client for Common Lisp. { depot, pkgs, ... }: -let src = pkgs.fetchFromGitHub { - owner = "edicl"; - repo = "drakma"; - rev = "87feb02bef00b11a753d5fb21a5fec526b0d0bbb"; - sha256 = "01b80am2vrw94xmdj7f21qm7p5ys08mmpzv4nc4icql81hqr1w2m"; -}; +let src = with pkgs; srcOnly lispPackages.drakma; in depot.nix.buildLisp.library { name = "drakma"; deps = with depot.third_party.lisp; [ diff --git a/third_party/lisp/flexi-streams.nix b/third_party/lisp/flexi-streams.nix index 8cdf062f1..4b8880902 100644 --- a/third_party/lisp/flexi-streams.nix +++ b/third_party/lisp/flexi-streams.nix @@ -1,10 +1,7 @@ # Flexible bivalent streams for Common Lisp -{ depot, ... }: +{ depot, pkgs, ... }: -let src = builtins.fetchGit { - url = "https://github.com/edicl/flexi-streams.git"; - rev = "0fd872ae32022e834ef861a67d86879cf33a6b64"; -}; +let src = with pkgs; srcOnly lispPackages.flexi-streams; in depot.nix.buildLisp.library { name = "flexi-streams"; deps = [ depot.third_party.lisp.trivial-gray-streams ]; @@ -14,7 +11,9 @@ in depot.nix.buildLisp.library { "mapping.lisp" "ascii.lisp" "koi8-r.lisp" + "mac.lisp" "iso-8859.lisp" + "enc-cn-tbl.lisp" "code-pages.lisp" "specials.lisp" "util.lisp" diff --git a/third_party/lisp/global-vars.nix b/third_party/lisp/global-vars.nix index 2b4078f58..0f6630f72 100644 --- a/third_party/lisp/global-vars.nix +++ b/third_party/lisp/global-vars.nix @@ -1,13 +1,6 @@ { depot, pkgs, ... }: -let - src = pkgs.fetchFromGitHub { - owner = "lmj"; - repo = "global-vars"; - rev = "c749f32c9b606a1457daa47d59630708ac0c266e"; - sha256 = "06m3xc8l3pgsapl8fvsi9wf6y46zs75cp9zn7zh6dc65v4s5wz3d"; - }; - +let src = with pkgs; srcOnly lispPackages.global-vars; in depot.nix.buildLisp.library { name = "global-vars"; srcs = [ "${src}/global-vars.lisp" ] ; diff --git a/third_party/lisp/hunchentoot.nix b/third_party/lisp/hunchentoot.nix index 24eae6a34..5b953d94b 100644 --- a/third_party/lisp/hunchentoot.nix +++ b/third_party/lisp/hunchentoot.nix @@ -2,12 +2,8 @@ { depot, pkgs, ...}: let - src = pkgs.fetchFromGitHub { - owner = "edicl"; - repo = "hunchentoot"; - rev = "585b45b6b873f2da421fdf456b61860ab5868207"; - sha256 = "13nazwix067mdclq9vgjhsi2vpr57a8dz51dd5d3h99ccsq4mik5"; - }; + src = with pkgs; srcOnly lispPackages.hunchentoot; + url-rewrite = depot.nix.buildLisp.library { name = "url-rewrite"; diff --git a/third_party/lisp/ironclad.nix b/third_party/lisp/ironclad.nix index cdd829924..3436776b7 100644 --- a/third_party/lisp/ironclad.nix +++ b/third_party/lisp/ironclad.nix @@ -3,13 +3,7 @@ let inherit (pkgs) runCommand; inherit (depot.nix.buildLisp) bundled; - src = pkgs.fetchFromGitHub { - owner = "sharplispers"; - repo = "ironclad"; - rev = "c3aa33080621abc10fdb0f34acc4655cc4e982a6"; - sha256 = "0k4bib9mbrzalbl9ivkw4a7g4c7bbad1l5jw4pzkifqszy2swkr5"; - }; - + src = with pkgs; srcOnly lispPackages.ironclad; getSrc = f: "${src}/src/${f}"; in depot.nix.buildLisp.library { @@ -24,19 +18,22 @@ in depot.nix.buildLisp.library { nibbles ]; - srcs = [ - { - # TODO(grfn): Figure out how to get this compiling with the assembly - # optimization eventually - see https://cl.tvl.fyi/c/depot/+/1333 - sbcl = runCommand "package.lisp" {} '' - substitute ${src}/src/package.lisp $out \ - --replace \#-ecl-bytecmp "" \ - --replace '(pushnew :ironclad-assembly *features*)' "" - ''; - default = getSrc "package.lisp"; - } - ] ++ map getSrc [ + srcs = map getSrc [ + # { + # # TODO(grfn): Figure out how to get this compiling with the assembly + # # optimization eventually - see https://cl.tvl.fyi/c/depot/+/1333 + # sbcl = runCommand "package.lisp" {} '' + # substitute ${src}/src/package.lisp $out \ + # --replace \#-ecl-bytecmp "" \ + # --replace '(pushnew :ironclad-assembly *features*)' "" + # ''; + # default = getSrc "package.lisp"; + # } + "package.lisp" + "conditions.lisp" + "generic.lisp" "macro-utils.lisp" + "util.lisp" ] ++ [ { sbcl = getSrc "opt/sbcl/fndb.lisp"; } { sbcl = getSrc "opt/sbcl/cpu-features.lisp"; } @@ -46,36 +43,31 @@ in depot.nix.buildLisp.library { { ccl = getSrc "opt/ccl/x86oid-vm.lisp"; } ] ++ map getSrc [ - "common.lisp" - "conditions.lisp" - "generic.lisp" - "util.lisp" - "ciphers/padding.lisp" "ciphers/cipher.lisp" - "ciphers/chacha.lisp" + "ciphers/padding.lisp" + "ciphers/make-cipher.lisp" "ciphers/modes.lisp" - "ciphers/salsa20.lisp" - "ciphers/xchacha.lisp" - "ciphers/xsalsa20.lisp" + + # subsystem def ironclad/ciphers "ciphers/aes.lisp" "ciphers/arcfour.lisp" - "ciphers/arcfour.lisp" "ciphers/aria.lisp" "ciphers/blowfish.lisp" "ciphers/camellia.lisp" "ciphers/cast5.lisp" + "ciphers/chacha.lisp" "ciphers/des.lisp" "ciphers/idea.lisp" - "ciphers/keystream.lisp" "ciphers/kalyna.lisp" "ciphers/kuznyechik.lisp" - "ciphers/make-cipher.lisp" "ciphers/misty1.lisp" "ciphers/rc2.lisp" "ciphers/rc5.lisp" "ciphers/rc6.lisp" + "ciphers/salsa20.lisp" + "ciphers/keystream.lisp" "ciphers/seed.lisp" "ciphers/serpent.lisp" "ciphers/sm4.lisp" @@ -84,10 +76,13 @@ in depot.nix.buildLisp.library { "ciphers/tea.lisp" "ciphers/threefish.lisp" "ciphers/twofish.lisp" + "ciphers/xchacha.lisp" "ciphers/xor.lisp" + "ciphers/xsalsa20.lisp" "ciphers/xtea.lisp" "digests/digest.lisp" + # subsystem def ironclad/digests "digests/adler32.lisp" "digests/blake2.lisp" "digests/blake2s.lisp" @@ -113,14 +108,8 @@ in depot.nix.buildLisp.library { "digests/tree-hash.lisp" "digests/whirlpool.lisp" - "prng/prng.lisp" - "prng/generator.lisp" - "prng/fortuna.lisp" - "prng/os-prng.lisp" - - "math.lisp" - "macs/mac.lisp" + # subsystem def ironclad/macs "macs/blake2-mac.lisp" "macs/blake2s-mac.lisp" "macs/cmac.lisp" @@ -130,26 +119,44 @@ in depot.nix.buildLisp.library { "macs/siphash.lisp" "macs/skein-mac.lisp" - "kdf/kdf-common.lisp" - "kdf/argon2.lisp" - "kdf/password-hash.lisp" - "kdf/pkcs5.lisp" - "kdf/scrypt.lisp" - "kdf/hmac.lisp" + "prng/prng.lisp" + "prng/os-prng.lisp" + "prng/generator.lisp" + "prng/fortuna.lisp" + + "math.lisp" + + "octet-stream.lisp" "aead/aead.lisp" + # subsystem def ironclad/aead "aead/eax.lisp" "aead/etm.lisp" "aead/gcm.lisp" + "kdf/kdf.lisp" + # subsystem def ironclad/kdfs + "kdf/argon2.lisp" + "kdf/bcrypt.lisp" + "kdf/hmac.lisp" + "kdf/pkcs5.lisp" + "kdf/password-hash.lisp" + "kdf/scrypt.lisp" + "public-key/public-key.lisp" + "public-key/pkcs1.lisp" + "public-key/elliptic-curve.lisp" + # subsystem def ironclad/public-keys + "public-key/dsa.lisp" + "public-key/rsa.lisp" + "public-key/elgamal.lisp" "public-key/curve25519.lisp" "public-key/curve448.lisp" - "public-key/dsa.lisp" "public-key/ed25519.lisp" "public-key/ed448.lisp" - "public-key/elgamal.lisp" - "public-key/pkcs1.lisp" - "public-key/rsa.lisp" + "public-key/secp256k1.lisp" + "public-key/secp256r1.lisp" + "public-key/secp384r1.lisp" + "public-key/secp521r1.lisp" ]; } diff --git a/third_party/lisp/iterate.nix b/third_party/lisp/iterate.nix index 5875be8d5..b7d60265a 100644 --- a/third_party/lisp/iterate.nix +++ b/third_party/lisp/iterate.nix @@ -1,11 +1,8 @@ # iterate is an iteration construct for Common Lisp, similar to the # LOOP macro. -{ depot, ... }: +{ depot, pkgs, ... }: -let src = builtins.fetchGit { - url = "https://gitlab.common-lisp.net/iterate/iterate.git"; - rev = "c24f6715bb3b962499bb4643636baaac2df4a957"; # 2021-05-23, 1.5.3 -}; +let src = with pkgs; srcOnly lispPackages.iterate; in depot.nix.buildLisp.library { name = "iterate"; srcs = [ diff --git a/third_party/lisp/let-plus.nix b/third_party/lisp/let-plus.nix index 3afb640e4..bd7f31dfa 100644 --- a/third_party/lisp/let-plus.nix +++ b/third_party/lisp/let-plus.nix @@ -1,11 +1,6 @@ { depot, pkgs, ... }: -let - src = pkgs.fetchgit { - url = "https://github.com/tpapp/let-plus.git"; - rev = "7cf18b29ed0fe9c667a9a6a101b08ab9661a59e9"; - hash = "sha256:1xy3b05dwjddk33mah2jaigm4jzsmrxjcc1d0dhsw0krwgr4450f"; - }; +let src = with pkgs; srcOnly lispPackages.let-plus; in depot.nix.buildLisp.library { name = "let-plus"; deps = [ diff --git a/third_party/lisp/local-time.nix b/third_party/lisp/local-time.nix index 65fb9c37f..8e96c5e51 100644 --- a/third_party/lisp/local-time.nix +++ b/third_party/lisp/local-time.nix @@ -1,15 +1,18 @@ # Library for manipulating dates & times { depot, pkgs, ... }: -let src = pkgs.fetchFromGitHub { - owner = "dlowe-net"; - repo = "local-time"; - rev = "dc54f61415c76ee755a6f69d4154a3a282f2789f"; - sha256 = "1l9v07ghx7g9p2gp003fki4j8bsa1w2gbm40qc41i94mdzikc0ry"; -}; -in depot.nix.buildLisp.library { +let + inherit (depot.nix) buildLisp; + src = with pkgs; srcOnly lispPackages.local-time; +in buildLisp.library { name = "local-time"; - deps = [ depot.third_party.lisp.cl-fad ]; + deps = [ + depot.third_party.lisp.cl-fad + { + scbl = buildLisp.bundled "uiop"; + default = buildLisp.bundled "asdf"; + } + ]; srcs = [ "${src}/src/package.lisp" diff --git a/third_party/lisp/marshal.nix b/third_party/lisp/marshal.nix index 711e6e082..73a1664a0 100644 --- a/third_party/lisp/marshal.nix +++ b/third_party/lisp/marshal.nix @@ -1,13 +1,6 @@ { depot, pkgs, ... }: -let - src = pkgs.fetchFromGitHub { - owner = "wlbr"; - repo = "cl-marshal"; - rev = "eff1b15f2b0af2f26f71ad6a4dd5c4beab9299ec"; - sha256 = "08qs6fhk38xpkkjkpcj92mxx0lgy4ygrbbzrmnivdx281syr0gwh"; - }; - +let src = with pkgs; srcOnly lispPackages.marshal; in depot.nix.buildLisp.library { name = "marshal"; srcs = map (f: src + ("/" + f)) [ diff --git a/third_party/lisp/md5.nix b/third_party/lisp/md5.nix index ef265d5b6..8c3e255f1 100644 --- a/third_party/lisp/md5.nix +++ b/third_party/lisp/md5.nix @@ -3,12 +3,7 @@ with depot.nix; -let src = pkgs.fetchFromGitHub { - owner = "pmai"; - repo = "md5"; - rev = "b1412600f60d526ee34a7ba1596ec483da7894ab"; - sha256 = "0lzip6b6xg7gd70xl1xmqp24fvxqj6ywjnz9lmx7988zpj20nhl2"; -}; +let src = with pkgs; srcOnly lispPackages.md5; in buildLisp.library { name = "md5"; deps = [ diff --git a/third_party/lisp/moptilities.nix b/third_party/lisp/moptilities.nix index a8a387ab9..d38fbcb94 100644 --- a/third_party/lisp/moptilities.nix +++ b/third_party/lisp/moptilities.nix @@ -1,12 +1,7 @@ # Compatibility layer for minor MOP implementation differences { depot, pkgs, ... }: -let src = pkgs.fetchFromGitHub { - owner = "gwkkwg"; - repo = "moptilities"; - rev = "a436f16b357c96b82397ec018ea469574c10dd41"; - sha256 = "1q12bqjbj47lx98yim1kfnnhgfhkl80102fkgp9pdqxg0fp6g5fc"; -}; +let src = with pkgs; srcOnly lispPackages.moptilities; in depot.nix.buildLisp.library { name = "moptilities"; deps = [ depot.third_party.lisp.closer-mop ]; diff --git a/third_party/lisp/nibbles.nix b/third_party/lisp/nibbles.nix index da542fe91..3c0a75e46 100644 --- a/third_party/lisp/nibbles.nix +++ b/third_party/lisp/nibbles.nix @@ -2,14 +2,7 @@ let inherit (depot.nix.buildLisp) bundled; - src = pkgs.fetchFromGitHub { - owner = "sharplispers"; - repo = "nibbles"; - rev = "dad25240928d5cf8f7df69c4398244e03570bb35"; - sha256 = "0r6ljlpgjmkf87pmvdwzva8qj15bhznc3ylgcjjqyy4frbx9lygz"; - name = "nibbles-source"; - }; - + src = with pkgs; srcOnly lispPackages.nibbles; in depot.nix.buildLisp.library { name = "nibbles"; diff --git a/third_party/lisp/parse-float.nix b/third_party/lisp/parse-float.nix index 4e36e69c7..e90824108 100644 --- a/third_party/lisp/parse-float.nix +++ b/third_party/lisp/parse-float.nix @@ -1,13 +1,6 @@ { depot, pkgs, ... }: -let - src = pkgs.fetchFromGitHub { - owner = "soemraws"; - repo = "parse-float"; - rev = "3074765101e41222b6b624a66aaf1e6416379f9c"; - sha256 = "0jd2spawc3v8vzqf8ky4cngl45jm65fhkrdf20mf6dcbn3mzpkmr"; - }; - +let src = with pkgs; srcOnly lispPackages.parse-float; in depot.nix.buildLisp.library { name = "parse-float"; diff --git a/third_party/lisp/parse-number.nix b/third_party/lisp/parse-number.nix index 1ceba2863..61b0b1fdd 100644 --- a/third_party/lisp/parse-number.nix +++ b/third_party/lisp/parse-number.nix @@ -1,14 +1,6 @@ { depot, pkgs, ... }: -let - - src = pkgs.fetchFromGitHub { - owner = "sharplispers"; - repo = "parse-number"; - rev = "7707b224c4b941c2cbd28459113534242cee3a31"; - sha256 = "0sk06ib1bhqv9y39vwnnw44vmbc4b0kvqm37xxmkxd4dwchq82d7"; - }; - +let src = with pkgs; srcOnly lispPackages.parse-number; in depot.nix.buildLisp.library { name = "parse-number"; srcs = map (f: src + ("/" + f)) [ diff --git a/third_party/lisp/parseq.nix b/third_party/lisp/parseq.nix index fe045d529..23c67c2d9 100644 --- a/third_party/lisp/parseq.nix +++ b/third_party/lisp/parseq.nix @@ -1,13 +1,6 @@ { depot, pkgs, ... }: -let - src = pkgs.fetchFromGitHub { - owner = "mrossini-ethz"; - repo = "parseq"; - rev = "5cd95b324b68255d89f27f8065f4c29674558b26"; - sha256 = "1f3vvxgyiv0xn2hzafhh63l3gnvn2vaxr5pi3ld7d340mka2ndg0"; - }; - +let src = with pkgs; srcOnly lispPackages.parseq; in depot.nix.buildLisp.library { name = "parseq"; diff --git a/third_party/lisp/physical-quantities.nix b/third_party/lisp/physical-quantities.nix index b8079e8eb..d594ff1a1 100644 --- a/third_party/lisp/physical-quantities.nix +++ b/third_party/lisp/physical-quantities.nix @@ -1,13 +1,6 @@ { depot, pkgs, ... }: -let - src = pkgs.fetchFromGitHub { - owner = "mrossini-ethz"; - repo = "physical-quantities"; - rev = "v0.2.1"; - sha256 = "0mb2s94s6fhw5vfa89naalw7ld11sdsszlqpz0c65dvpfyfmmdmh"; - }; - +let src = with pkgs; srcOnly lispPackages.physical-quantities; in depot.nix.buildLisp.library { name = "physical-quantities"; diff --git a/third_party/lisp/postmodern.nix b/third_party/lisp/postmodern.nix index 333a9d9b7..b2ea318f8 100644 --- a/third_party/lisp/postmodern.nix +++ b/third_party/lisp/postmodern.nix @@ -2,13 +2,7 @@ let inherit (depot.nix.buildLisp) bundled; - - src = pkgs.fetchFromGitHub { - owner = "marijnh"; - repo = "Postmodern"; - rev = "v1.32"; - sha256 = "0prwmpixcqpzqd67v77cs4zgbs73a10m6hs7q0rpv0z1qm7mqfcb"; - }; + src = with pkgs; srcOnly lispPackages.postmodern; cl-postgres = depot.nix.buildLisp.library { name = "cl-postgres"; @@ -24,13 +18,15 @@ let srcs = map (f: src + ("/cl-postgres/" + f)) [ "package.lisp" "features.lisp" + "config.lisp" + "oid.lisp" "errors.lisp" + "data-types.lisp" "sql-string.lisp" "trivial-utf-8.lisp" "strings-utf-8.lisp" "communicate.lisp" "messages.lisp" - "oid.lisp" "ieee-floats.lisp" "interpret.lisp" "saslprep.lisp" @@ -50,6 +46,7 @@ let srcs = map (f: src + ("/s-sql/" + f)) [ "package.lisp" + "config.lisp" "s-sql.lisp" ]; }; @@ -72,7 +69,9 @@ let "${src}/postmodern.asd" ] ++ (map (f: src + ("/postmodern/" + f)) [ "package.lisp" + "config.lisp" "connect.lisp" + "json-encoder.lisp" "query.lisp" "prepare.lisp" "roles.lisp" diff --git a/third_party/lisp/prove.nix b/third_party/lisp/prove.nix index 358049865..af4814992 100644 --- a/third_party/lisp/prove.nix +++ b/third_party/lisp/prove.nix @@ -1,11 +1,6 @@ { depot, pkgs, ... }: -let - src = pkgs.fetchgit { - url = "https://github.com/fukamachi/prove.git"; - rev = "5d71f02795b89e36f34e8c7d50e69b67ec6ca2de"; - hash = "sha256:0ca6ha3zhmckq3ad9lxm6sbg4i0hg3m81xhan4dkxd3x9898jzpc"; - }; +let src = with pkgs; srcOnly lispPackages.prove; in depot.nix.buildLisp.library { name = "prove"; diff --git a/third_party/lisp/puri.nix b/third_party/lisp/puri.nix index 925b457f9..f7146ba93 100644 --- a/third_party/lisp/puri.nix +++ b/third_party/lisp/puri.nix @@ -1,11 +1,7 @@ # Portable URI library { depot, pkgs, ... }: -let src = pkgs.fetchgit { - url = "http://git.kpe.io/puri.git"; - rev = "4bbab89d9ccbb26346899d1f496c97604fec567b"; - sha256 = "0gq2rsr0aihs0z20v4zqvmdl4szq53b52rh97pvnmwrlbn4mapmd"; -}; +let src = with pkgs; srcOnly lispPackages.puri; in depot.nix.buildLisp.library { name = "puri"; srcs = [ diff --git a/third_party/lisp/rfc2388.nix b/third_party/lisp/rfc2388.nix index 6af55f927..b82a490c9 100644 --- a/third_party/lisp/rfc2388.nix +++ b/third_party/lisp/rfc2388.nix @@ -1,12 +1,7 @@ # Implementation of RFC2388 (multipart/form-data) { depot, pkgs, ... }: -let src = pkgs.fetchFromGitHub { - owner = "jdz"; - repo = "rfc2388"; - rev = "591bcf7e77f2c222c43953a80f8c297751dc0c4e"; - sha256 = "0phh5n3clhl9ji8jaxrajidn22d3f0aq87mlbfkkxlnx2pnw694k"; -}; +let src = with pkgs; srcOnly lispPackages.rfc2388; in depot.nix.buildLisp.library { name = "rfc2388"; diff --git a/third_party/lisp/s-sysdeps.nix b/third_party/lisp/s-sysdeps.nix index 571eb147c..9c4da4a02 100644 --- a/third_party/lisp/s-sysdeps.nix +++ b/third_party/lisp/s-sysdeps.nix @@ -1,12 +1,7 @@ # A Common Lisp abstraction layer over platform dependent functionality. { depot, pkgs, ... }: -let src = pkgs.fetchFromGitHub { - owner = "svenvc"; - repo = "s-sysdeps"; - rev = "d28246b5dffef9e73a0e0e6cfbc4e878006fe34d"; - sha256 = "14b69b81yrxmjlvmm3lfxk04x5v7hqz4fql121334wh72czznfh9"; -}; +let src = with pkgs; srcOnly lispPackages.s-sysdeps; in depot.nix.buildLisp.library { name = "s-sysdeps"; @@ -14,4 +9,10 @@ in depot.nix.buildLisp.library { "${src}/src/package.lisp" "${src}/src/sysdeps.lisp" ]; + + deps = with depot.third_party.lisp; [ + bordeaux-threads + usocket + usocket-server + ]; } diff --git a/third_party/lisp/split-sequence.nix b/third_party/lisp/split-sequence.nix index 105646386..4e8f723c3 100644 --- a/third_party/lisp/split-sequence.nix +++ b/third_party/lisp/split-sequence.nix @@ -1,10 +1,7 @@ # split-sequence is a library for, well, splitting sequences apparently. -{ depot, ... }: +{ depot, pkgs, ... }: -let src = builtins.fetchGit { - url = "https://github.com/sharplispers/split-sequence.git"; - rev = "41c0fc79a5a2871d16e5727969a8f699ef44d791"; -}; +let src = with pkgs; srcOnly lispPackages.split-sequence; in depot.nix.buildLisp.library { name = "split-sequence"; srcs = map (f: src + ("/" + f)) [ diff --git a/third_party/lisp/trivial-features.nix b/third_party/lisp/trivial-features.nix index 13a63bab1..02abac54a 100644 --- a/third_party/lisp/trivial-features.nix +++ b/third_party/lisp/trivial-features.nix @@ -1,9 +1,6 @@ -{ depot, ... }: +{ depot, pkgs, ... }: -let src = builtins.fetchGit { - url = "https://github.com/trivial-features/trivial-features.git"; - rev = "f6e8dd7268ae0137dbde4be469101a7f735f6416"; # 2021-02-28 -}; +let src = with pkgs; srcOnly lispPackages.trivial-features; in depot.nix.buildLisp.library { name = "trivial-features"; srcs = [ diff --git a/third_party/lisp/trivial-garbage.nix b/third_party/lisp/trivial-garbage.nix index e5b3550de..74224df60 100644 --- a/third_party/lisp/trivial-garbage.nix +++ b/third_party/lisp/trivial-garbage.nix @@ -1,11 +1,8 @@ # trivial-garbage provides a portable API to finalizers, weak # hash-tables and weak pointers -{ depot, ... }: +{ depot, pkgs, ... }: -let src = builtins.fetchGit { - url = "https://github.com/trivial-garbage/trivial-garbage.git"; - rev = "dbc8e35acb0176b9a14fdc1027f5ebea93435a84"; -}; +let src = with pkgs; srcOnly lispPackages.trivial-garbage; in depot.nix.buildLisp.library { name = "trivial-garbage"; srcs = [ (src + "/trivial-garbage.lisp") ]; diff --git a/third_party/lisp/trivial-gray-streams.nix b/third_party/lisp/trivial-gray-streams.nix index b5722f9a6..62a30f1e9 100644 --- a/third_party/lisp/trivial-gray-streams.nix +++ b/third_party/lisp/trivial-gray-streams.nix @@ -1,10 +1,7 @@ # Portability library for CL gray streams. -{ depot, ... }: +{ depot, pkgs, ... }: -let src = builtins.fetchGit { - url = "https://github.com/trivial-gray-streams/trivial-gray-streams.git"; - rev = "ebd59b1afed03b9dc8544320f8f432fdf92ab010"; -}; +let src = with pkgs; srcOnly lispPackages.trivial-gray-streams; in depot.nix.buildLisp.library { name = "trivial-gray-streams"; srcs = [ diff --git a/third_party/lisp/trivial-indent.nix b/third_party/lisp/trivial-indent.nix index 65d98604d..70a6e19d4 100644 --- a/third_party/lisp/trivial-indent.nix +++ b/third_party/lisp/trivial-indent.nix @@ -1,13 +1,6 @@ - { depot, pkgs, ... }: -let - src = pkgs.fetchFromGitHub { - owner = "Shinmera"; - repo = "trivial-indent"; - rev = "2d016941751647c6cc5bd471751c2cf68861c94a"; - sha256 = "1sj90nqz17w4jq0ixz00gb9g5g6d2s7l8r17zdby27gxxh51w266"; - }; +let src = with pkgs; srcOnly lispPackages.trivial-indent; in depot.nix.buildLisp.library { name = "trivial-indent"; diff --git a/third_party/lisp/trivial-mimes.nix b/third_party/lisp/trivial-mimes.nix index ce45993d0..04e8b5ef5 100644 --- a/third_party/lisp/trivial-mimes.nix +++ b/third_party/lisp/trivial-mimes.nix @@ -1,12 +1,7 @@ { depot, pkgs, ... }: let - src = pkgs.fetchFromGitHub { - owner = "Shinmera"; - repo = "trivial-mimes"; - rev = "a741fc2f567a4f86b853fd4677d75e62c03e51d9"; - sha256 = "00kcm17q5plpzdj1qwg83ldhxksilgpcdkf3m9azxcdr968xs9di"; - }; + src = with pkgs; srcOnly lispPackages.trivial-mimes; mime-types = pkgs.runCommand "mime-types.lisp" {} '' substitute ${src}/mime-types.lisp $out \ diff --git a/third_party/lisp/uax-15.nix b/third_party/lisp/uax-15.nix index a13e5c169..1e44f88d5 100644 --- a/third_party/lisp/uax-15.nix +++ b/third_party/lisp/uax-15.nix @@ -3,16 +3,7 @@ let inherit (pkgs) runCommand; inherit (depot.nix.buildLisp) bundled; - - src = pkgs.fetchFromGitHub { - owner = "sabracrolleton"; - repo = "uax-15"; - rev = "a62fc7253663fac6467fc6b6bb69a73a0e8dfaa0"; - sha256 = "028kc3yfi29qjxs2nyr7dbrr2rcrr8lwpvbxvrq3g8bcwamc4jz4"; - }; - - # src = ../../../uax-15; - + src = with pkgs; srcOnly lispPackages.uax-15; in depot.nix.buildLisp.library { name = "uax-15"; @@ -23,22 +14,28 @@ in depot.nix.buildLisp.library { ]; srcs = [ - "${src}/uax-15.asd" "${src}/src/package.lisp" "${src}/src/utilities.lisp" "${src}/src/trivial-utf-16.lisp" + + # uax-15 has runtime data files that need to have their references + # replaced with store paths. + # + # additionally there are some wonky variable usages of variables + # that are never defined, for which we patch in defvar statements. (runCommand "precomputed-tables.lisp" {} '' substitute ${src}/src/precomputed-tables.lisp precomputed-tables.lisp \ --replace "(asdf:system-source-directory (asdf:find-system 'uax-15 nil))" \ '"${src}/"' sed -i precomputed-tables.lisp \ - -e '17i(defvar *canonical-decomp-map*)' \ - -e '17i(defvar *compatible-decomp-map*)' \ - -e '17i(defvar *canonical-combining-class*)' + -e '10i(defvar *canonical-decomp-map*)' \ + -e '10i(defvar *compatible-decomp-map*)' \ + -e '10i(defvar *canonical-combining-class*)' cp precomputed-tables.lisp $out '') + "${src}/src/normalize-backend.lisp" "${src}/src/uax-15.lisp" ]; diff --git a/third_party/lisp/unix-opts.nix b/third_party/lisp/unix-opts.nix index 389de25ef..e52eab959 100644 --- a/third_party/lisp/unix-opts.nix +++ b/third_party/lisp/unix-opts.nix @@ -1,13 +1,8 @@ # unix-opts is a portable command line argument parser { depot, pkgs, ...}: -let - src = pkgs.fetchFromGitHub { - owner = "libre-man"; - repo = "unix-opts"; - rev = "b805050b074bd860edd18cfc8776fdec666ec36e"; - sha256 = "0j93dkc9f77wz1zfspm7q1scx6wwbm6jhk8vl2rm6bfd0n8scxla"; - }; + +let src = with pkgs; srcOnly lispPackages.unix-opts; in depot.nix.buildLisp.library { name = "unix-opts"; diff --git a/third_party/lisp/usocket-server.nix b/third_party/lisp/usocket-server.nix new file mode 100644 index 000000000..f2f11d7a1 --- /dev/null +++ b/third_party/lisp/usocket-server.nix @@ -0,0 +1,18 @@ +# Universal socket library for Common Lisp (server side) +{ depot, pkgs, ... }: + +let + inherit (depot.nix) buildLisp; + src = with pkgs; srcOnly lispPackages.usocket-server; +in buildLisp.library { + name = "usocket-server"; + + deps = with depot.third_party.lisp; [ + usocket + bordeaux-threads + ]; + + srcs = [ + "${src}/server.lisp" + ]; +} diff --git a/third_party/lisp/usocket.nix b/third_party/lisp/usocket.nix index dc4281c79..335954978 100644 --- a/third_party/lisp/usocket.nix +++ b/third_party/lisp/usocket.nix @@ -3,13 +3,7 @@ let inherit (depot.nix) buildLisp; - - src = pkgs.fetchFromGitHub { - owner = "usocket"; - repo = "usocket"; - rev = "fdf4fd1e0051ce83340ccfbbc8a43a462bb19cf2"; - sha256 = "0x746wr2324l6bn7skqzgkzcbj5kd0zp2ck0c8rldrw0rzabg826"; - }; + src = with pkgs; srcOnly lispPackages.usocket; in buildLisp.library { name = "usocket"; deps = with depot.third_party.lisp; [