about summary refs log tree commit diff
path: root/web/panettone/default.nix
blob: 60fca99e7544a5b202589d353186c26228f484b9 (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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
{ depot, pkgs, ... }:

depot.nix.buildLisp.program {
  name = "panettone";

  deps = with depot.third_party.lisp; [
    bordeaux-threads
    cl-json
    cl-ppcre
    cl-smtp
    cl-who
    str
    defclass-std
    drakma
    easy-routes
    hunchentoot
    lass
    local-time
    postmodern

    depot.lisp.klatre
  ];

  srcs = [
    ./panettone.asd
    ./src/packages.lisp
    (pkgs.writeText "build.lisp" ''
      (defpackage build
        (:use :cl :alexandria)
        (:export :*migrations-dir* :*static-dir*))
      (in-package :build)
      (declaim (optimize (safety 3)))
      (defvar *migrations-dir* "${./src/migrations}")
      (defvar *static-dir* "${./src/static}")
    '')
    ./src/util.lisp
    ./src/css.lisp
    ./src/email.lisp
    ./src/inline-markdown.lisp
    ./src/authentication.lisp
    ./src/model.lisp
    ./src/irc.lisp
    ./src/panettone.lisp
  ];

  tests = {
    deps = with depot.third_party.lisp; [
      fiveam
    ];

    srcs = [
      ./test/package.lisp
      ./test/model_test.lisp
      ./test/inline-markdown_test.lisp
      ./test/util_test.lisp
    ];

    expression = "(fiveam:run!)";
  };

  brokenOn = [
    "ecl" # dependencies use dynamic cffi
    "ccl" # The value NIL is not of the expected type STRING. when loading model.lisp
  ];
}