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>
		
			
				
	
	
		
			45 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
| # Usocket is a portable socket library
 | |
| { depot, pkgs, ... }:
 | |
| 
 | |
| let
 | |
|   inherit (depot.nix) buildLisp;
 | |
|   src = with pkgs; srcOnly lispPackages.usocket;
 | |
| in buildLisp.library {
 | |
|   name = "usocket";
 | |
|   deps = with depot.third_party.lisp; [
 | |
|     (buildLisp.bundled "asdf")
 | |
|     {
 | |
|       ecl = buildLisp.bundled "sb-bsd-sockets";
 | |
|       sbcl = buildLisp.bundled "sb-bsd-sockets";
 | |
|     }
 | |
|     split-sequence
 | |
|   ];
 | |
| 
 | |
|   srcs = [
 | |
|     # usocket also reads its version from ASDF, but there's further
 | |
|     # shenanigans happening there that I don't intend to support right
 | |
|     # now. Behold:
 | |
|     (builtins.toFile "usocket.asd" ''
 | |
|       (in-package :asdf)
 | |
|       (defsystem usocket
 | |
|         :version "0.8.3")
 | |
|     '')
 | |
|   ] ++
 | |
|   # Now for the regularly scheduled programming:
 | |
|   (map (f: src + ("/" + f)) [
 | |
|     "package.lisp"
 | |
|     "usocket.lisp"
 | |
|     "condition.lisp"
 | |
|   ] ++ [
 | |
|     { sbcl = "${src}/backend/sbcl.lisp"; }
 | |
| 
 | |
|     # ECL actually has two files, it supports the SBCL backend,
 | |
|     # but usocket also has some ECL specific code
 | |
|     { ecl = "${src}/backend/sbcl.lisp"; }
 | |
|     { ecl = "${src}/backend/ecl.lisp"; }
 | |
| 
 | |
|     # Same for CCL
 | |
|     { ccl = "${src}/backend/openmcl.lisp"; }
 | |
|     { ccl = "${src}/backend/clozure.lisp"; }
 | |
|   ]);
 | |
| }
 |