1{
2 stdenv,
3 lib,
4 akku,
5 curl,
6 git,
7}:
8let
9 joinOverrides =
10 overrides: pkg: old:
11 lib.attrsets.mergeAttrsList (map (o: o pkg old) overrides);
12 addToBuildInputs = extras: pkg: old: {
13 propagatedBuildInputs = old.propagatedBuildInputs ++ extras;
14 };
15 broken = lib.addMetaAttrs { broken = true; };
16 skipTests = pkg: old: { doCheck = false; };
17 # debugging
18 showLibs = pkg: old: { preCheck = "echo $CHEZSCHEMELIBDIRS"; };
19 runTests = pkg: old: { doCheck = true; };
20 brokenOnAarch64 = _: lib.addMetaAttrs { broken = stdenv.hostPlatform.isAarch64; };
21 brokenOnx86_64Darwin = lib.addMetaAttrs {
22 broken = stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64;
23 };
24 brokenOnDarwin = lib.addMetaAttrs { broken = stdenv.hostPlatform.isDarwin; };
25in
26{
27 chez-srfi = joinOverrides [
28 (pkg: old: {
29 preCheck = ''
30 SKIP='
31 multi-dimensional-arrays.sps
32 time.sps
33 tables-test.ikarus.sps
34 lazy.sps
35 pipeline-operators.sps
36 os-environment-variables.sps
37 '
38 '';
39 })
40 ];
41
42 akku-r7rs = pkg: old: {
43 preBuild = ''
44 # tests aren't exported modules
45 rm -rf tests
46 '';
47 };
48
49 akku = joinOverrides [
50 # uses chez
51 (addToBuildInputs [
52 curl
53 git
54 ])
55 (pkg: old: {
56 # bump akku to 1.1.0-unstable-2024-03-03
57 src = akku.src;
58 })
59 # not a tar archive
60 (pkg: old: {
61 unpackPhase = null;
62 })
63 ];
64
65 machine-code = pkg: old: {
66 # fails on hydra with 'Log limit exceeded'
67 postPatch = ''
68 rm tests/all-a64.sps
69 '';
70 };
71
72 # circular dependency on wak-trc-testing !?
73 wak-foof-loop = skipTests;
74
75 scheme-langserver = joinOverrides [
76 (pkg: old: {
77 preInstall = ''
78 # add the lsp executable to be installed
79 echo "#!/usr/bin/env scheme-script" > .akku/bin/scheme-langserver
80 cat run.ss >> .akku/bin/scheme-langserver
81 chmod +x .akku/bin/scheme-langserver
82 '';
83 })
84 skipTests
85 ];
86
87 # broken tests
88 xitomatl = skipTests;
89 ufo-threaded-function = skipTests;
90 ufo-try = skipTests;
91
92 # unsupported schemes, it seems.
93 loko-srfi = broken;
94 ac-d-bus = broken;
95
96 # todo:
97 # system-specific:
98
99 # scheme-langserver doesn't work because of this
100 ufo-thread-pool = brokenOnDarwin;
101
102 # broken everywhere:
103 chibi-math-linalg = broken;
104 chibi-mecab = broken;
105 chibi-ssl = broken;
106 chibi-voting = broken;
107 chibi-xgboost = broken;
108 dockerfile = broken;
109 in-progress-hash-bimaps = broken;
110 in-progress-hash-tables = broken;
111 rapid-analyze-library = broken;
112 rapid-args-fold = broken;
113 rapid-eliminate-mutable-variables = broken;
114 rapid-fix-letrec = broken;
115 rapid-graph = broken;
116 rapid-library-definition = broken;
117 rapid-mapping = broken;
118 rapid-read = broken;
119 rapid-set = broken;
120 rapid-syntax = broken;
121 read-char-if = broken;
122 shell-quote = broken;
123 srfi-19 = broken;
124 srfi-64 = broken;
125 srfi-179 = broken;
126 string-inflection = broken;
127 tex-parser = broken;
128 trivial-tar-writer = broken;
129 unpack-assoc = broken;
130 agave = broken;
131 box2d-lite = broken;
132 chez-soop = broken;
133 chez-stats = broken;
134 dataframe = broken;
135 dharmalab = broken;
136 dorodango = broken;
137 fectors = broken;
138 fs-fatfs = broken;
139 fs-partitions = broken;
140 gnuplot-pipe = broken;
141 http-pixiu = broken;
142 influx-client = broken;
143 linenoise = broken;
144 mpl = broken;
145 mummel = broken;
146 ocelotl = broken;
147 r6lint = broken;
148 r6rs-clos = broken;
149 r6rs-coap = broken;
150 r6rs-msgpack = broken;
151 scheme-bytestructures = broken;
152 surfage = broken;
153 swish = broken;
154 text-mode = broken;
155 thunderchez = broken;
156 wak-ssax = broken;
157 wak-sxml-tools = broken;
158 yxskaft = broken;
159}