2021-07-27 22:09:21 +02:00
|
|
|
{ depot, pkgs, ... }:
|
|
|
|
|
|
|
|
let
|
2021-12-14 22:32:27 +01:00
|
|
|
src = with pkgs; srcOnly lispPackages.closure-common;
|
2021-07-27 22:09:21 +02:00
|
|
|
getSrcs = builtins.map (p: "${src}/${p}");
|
2021-12-14 22:32:27 +01:00
|
|
|
in
|
|
|
|
depot.nix.buildLisp.library {
|
2021-07-27 22:09:21 +02:00
|
|
|
name = "closure-common";
|
|
|
|
|
2021-09-02 01:17:50 +02:00
|
|
|
# closure-common.asd surpresses some warnings otherwise breaking
|
|
|
|
# compilation. Feature macros across implementations:
|
|
|
|
#
|
|
|
|
# ECL #+rune-is-character #-rune-is-integer #-x&y-streams-are-stream
|
|
|
|
# CCL #+rune-is-character #-rune-is-integer #-x&y-streams-are-stream
|
|
|
|
# SBCL #+rune-is-character #-rune-is-integer #-x&y-streams-are-stream
|
|
|
|
#
|
|
|
|
# Since all implementations agree, the alternative files aren't encoded here.
|
2021-07-27 22:09:21 +02:00
|
|
|
srcs = getSrcs [
|
|
|
|
"closure-common.asd"
|
|
|
|
"package.lisp"
|
|
|
|
"definline.lisp"
|
2021-09-02 01:17:50 +02:00
|
|
|
"characters.lisp" #+rune-is-character
|
2021-07-27 22:09:21 +02:00
|
|
|
"syntax.lisp"
|
2021-09-02 01:17:50 +02:00
|
|
|
"encodings.lisp" #-x&y-streams-are-stream
|
|
|
|
"encodings-data.lisp" #-x&y-streams-are-stream
|
|
|
|
"xstream.lisp" #-x&y-streams-are-stream
|
|
|
|
"ystream.lisp" #-x&y-streams-are-stream
|
2021-07-27 22:09:21 +02:00
|
|
|
"hax.lisp"
|
|
|
|
];
|
|
|
|
|
|
|
|
deps = [
|
|
|
|
(depot.nix.buildLisp.bundled "asdf")
|
|
|
|
depot.third_party.lisp.trivial-gray-streams
|
2021-09-02 01:17:50 +02:00
|
|
|
depot.third_party.lisp.babel #+rune-is-character
|
2021-07-27 22:09:21 +02:00
|
|
|
];
|
2024-12-02 23:54:45 +01:00
|
|
|
|
|
|
|
brokenOn = [
|
|
|
|
# TODO(sterni): fails when loading because it tries to access package.lisp at runtime
|
|
|
|
"ecl"
|
|
|
|
];
|
2021-07-27 22:09:21 +02:00
|
|
|
}
|