about summary refs log blame commit diff
path: root/third_party/lisp/closure-common.nix
blob: 7f7f79f8551b43ce4030220d5a9c179a8a381ade (plain) (tree)
1
2
3
4
5
6
7
8
9


                     
                                                       
                                            

                             

                          







                                                                               



                        
                                         
                 
                                             
                                                  

                                           





                                               
                                                    

    
{ depot, pkgs, ... }:

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

  # 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.
  srcs = getSrcs [
    "closure-common.asd"
    "package.lisp"
    "definline.lisp"
    "characters.lisp" #+rune-is-character
    "syntax.lisp"
    "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
    "hax.lisp"
  ];

  deps = [
    (depot.nix.buildLisp.bundled "asdf")
    depot.third_party.lisp.trivial-gray-streams
    depot.third_party.lisp.babel #+rune-is-character
  ];
}