As it turns out, some of the load/compile time set up the package does
doesn't work in ECL for unknown reasons at the moment. Executables using
closure-* will crash after starting up:
    ;;; Checking for wide character support... WARNING: Lisp implementation doesn't use UTF-16, but accepts surrogate code points.
     yes, using code points.
    ;;; Building Closure with CHARACTER RUNES
    Condition of type: SIMPLE-ERROR
    Invalid relative pathname #P"package.lisp" for component ("closure-common" "package")
Change-Id: I4b4bf96835a39696884ec6fea9c249fdeb53c853
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12863
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
		
	
			
		
			
				
	
	
		
			41 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
{ 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
 | 
						|
  ];
 | 
						|
 | 
						|
  brokenOn = [
 | 
						|
    # TODO(sterni): fails when loading because it tries to access package.lisp at runtime
 | 
						|
    "ecl"
 | 
						|
  ];
 | 
						|
}
 |