diff options
Diffstat (limited to 'third_party/lisp')
49 files changed, 172 insertions, 359 deletions
diff --git a/third_party/lisp/anaphora.nix b/third_party/lisp/anaphora.nix index d2356f7b05ea..c079943e6725 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 c4a49e833f76..ae7c5dd23d18 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 92bc1f2629c4..17ee6e539ef8 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 c8d240c8cd0e..de1d0c2e8ed7 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 2a68d3b1f8e9..59e9914ee1d1 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 d40208063372..d3f50bcb1af8 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 5c01e023265a..0e3401524755 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 1152601a81d3..08055a047119 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 71f78e424e79..b51e4d46a747 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 c90b8eae0118..34201bc2faa0 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 905e0821cac7..ec1170bf1661 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 1dc9eb553118..561e306191ca 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 f793136194cb..188cbc686d28 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 a9905b5ef6f5..7ab9bea59ff5 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 50e4e68c0348..601b09f118db 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 21fb3ba14bef..145b9cfd4325 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 591620e48705..0856fc9e52d8 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 781fd107f59d..c31ddb3c5b74 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 3757aad7b144..607f438d7e72 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 8cdf062f1cf2..4b8880902458 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 2b4078f588cd..0f6630f721de 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 24eae6a348cf..5b953d94b29e 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 cdd829924ee5..3436776b7da6 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 5875be8d5c88..b7d60265ac37 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 3afb640e4e5a..bd7f31dfa0de 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 65fb9c37fbf2..8e96c5e51714 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 711e6e082d61..73a1664a0162 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 ef265d5b6e8f..8c3e255f166b 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 a8a387ab914f..d38fbcb9469a 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 da542fe91130..3c0a75e46dc7 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 4e36e69c7d98..e90824108ed1 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 1ceba2863d8d..61b0b1fddbda 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 fe045d52996f..23c67c2d9c30 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 b8079e8ebaaf..d594ff1a1cf7 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 333a9d9b770f..b2ea318f8a40 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 358049865efb..af481499207f 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 925b457f9f03..f7146ba93f1f 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 6af55f927001..b82a490c9d71 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 571eb147c724..9c4da4a02b25 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 105646386fd3..4e8f723c3182 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 13a63bab1aba..02abac54a853 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 e5b3550de7ba..74224df60d91 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 b5722f9a685a..62a30f1e94f3 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 65d98604d78c..70a6e19d48a9 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 ce45993d05e9..04e8b5ef5d10 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 a13e5c1690d3..1e44f88d5cb7 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 389de25eff4f..e52eab959d3e 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 000000000000..f2f11d7a17c8 --- /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 dc4281c795c0..335954978494 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; [ |