about summary refs log tree commit diff
path: root/third_party/lisp/usocket.nix
blob: 920c41c58d2569f9f92a60ebe52c3d95c6223433 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# Usocket is a portable socket library
{ depot, ... }:

with depot.nix;

let src = depot.third_party.fetchFromGitHub {
  owner = "usocket";
  repo = "usocket";
  rev = "fdf4fd1e0051ce83340ccfbbc8a43a462bb19cf2";
  sha256 = "0x746wr2324l6bn7skqzgkzcbj5kd0zp2ck0c8rldrw0rzabg826";
};
in buildLisp.library {
  name = "usocket";
  deps = with depot.third_party.lisp; [
    (buildLisp.bundled "asdf")
    (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"
    "backend/sbcl.lisp"
  ]);
}