diff options
author | Vincent Ambo <mail@tazj.in> | 2021-12-14T21·32+0300 |
---|---|---|
committer | tazjin <mail@tazj.in> | 2021-12-15T10·34+0000 |
commit | e9bfa84aafc65896e2fffead2f1ef4853bdd59af (patch) | |
tree | 711bd7c6aa289a7175c635c8866e75c85287ab45 /third_party | |
parent | b0614b5c83ae62672cb036bebb6ce12675aa3074 (diff) |
refactor(3p/lisp): Use sources from nixpkgs where possible r/3246
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 <grfn@gws.fyi>
Diffstat (limited to 'third_party')
49 files changed, 172 insertions, 359 deletions
diff --git a/third_party/lisp/anaphora.nix b/third_party/lisp/anaphora.nix index d2356f7b05..c079943e67 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 c4a49e833f..ae7c5dd23d 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 92bc1f2629..17ee6e539e 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 c8d240c8cd..de1d0c2e8e 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 2a68d3b1f8..59e9914ee1 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 d402080633..d3f50bcb1a 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 5c01e02326..0e34015247 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 1152601a81..08055a0471 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 71f78e424e..b51e4d46a7 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 c90b8eae01..34201bc2fa 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 905e0821ca..ec1170bf16 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 1dc9eb5531..561e306191 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 f793136194..188cbc686d 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 a9905b5ef6..7ab9bea59f 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 50e4e68c03..601b09f118 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 21fb3ba14b..145b9cfd43 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 591620e487..0856fc9e52 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 781fd107f5..c31ddb3c5b 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 3757aad7b1..607f438d7e 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 8cdf062f1c..4b88809024 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 2b4078f588..0f6630f721 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 24eae6a348..5b953d94b2 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 cdd829924e..3436776b7d 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 5875be8d5c..b7d60265ac 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 3afb640e4e..bd7f31dfa0 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 65fb9c37fb..8e96c5e517 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 711e6e082d..73a1664a01 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 ef265d5b6e..8c3e255f16 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 a8a387ab91..d38fbcb946 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 da542fe911..3c0a75e46d 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 4e36e69c7d..e90824108e 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 1ceba2863d..61b0b1fddb 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 fe045d5299..23c67c2d9c 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 b8079e8eba..d594ff1a1c 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 333a9d9b77..b2ea318f8a 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 358049865e..af48149920 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 925b457f9f..f7146ba93f 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 6af55f9270..b82a490c9d 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 571eb147c7..9c4da4a02b 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 105646386f..4e8f723c31 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 13a63bab1a..02abac54a8 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 e5b3550de7..74224df60d 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 b5722f9a68..62a30f1e94 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 65d98604d7..70a6e19d48 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 ce45993d05..04e8b5ef5d 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 a13e5c1690..1e44f88d5c 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 389de25eff..e52eab959d 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 0000000000..f2f11d7a17 --- /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 dc4281c795..3359549784 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; [ |