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
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
_type: ExprLambda
body:
  _type: ExprAssert
  body:
    _type: ExprAssert
    body:
      _type: ExprAssert
      body:
        _type: ExprAssert
        body:
          _type: ExprAssert
          body:
            _type: ExprAssert
            body:
              _type: ExprAssert
              body:
                _type: ExprCall
                args:
                  - _type: ExprSet
                    attrs:
                      builder:
                        _type: ExprLiteral
                        value: /foo/bar
                        valueType: Path
                      db4:
                        _type: ExprIf
                        cond:
                          _type: ExprVar
                          value: localServer
                        else:
                          _type: ExprVar
                          value: 'null'
                        then:
                          _type: ExprVar
                          value: db4
                      httpd:
                        _type: ExprIf
                        cond:
                          _type: ExprVar
                          value: httpServer
                        else:
                          _type: ExprVar
                          value: 'null'
                        then:
                          _type: ExprVar
                          value: httpd
                      j2sdk:
                        _type: ExprIf
                        cond:
                          _type: ExprVar
                          value: javaSwigBindings
                        else:
                          _type: ExprIf
                          cond:
                            _type: ExprVar
                            value: javahlBindings
                          else:
                            _type: ExprVar
                            value: 'null'
                          then:
                            _type: ExprVar
                            value: j2sdk
                        then:
                          _type: ExprSelect
                          attrs:
                            - j2sdk
                          e:
                            _type: ExprVar
                            value: swig
                      name:
                        _type: ExprLiteral
                        value: subversion-1.1.1
                        valueType: String
                      openssl:
                        _type: ExprIf
                        cond:
                          _type: ExprVar
                          value: sslSupport
                        else:
                          _type: ExprVar
                          value: 'null'
                        then:
                          _type: ExprVar
                          value: openssl
                      patches:
                        _type: ExprIf
                        cond:
                          _type: ExprVar
                          value: javahlBindings
                        else:
                          _type: ExprList
                          elems: []
                        then:
                          _type: ExprList
                          elems:
                            - _type: ExprLiteral
                              value: /javahl.patch
                              valueType: Path
                      python:
                        _type: ExprIf
                        cond:
                          _type: ExprVar
                          value: pythonBindings
                        else:
                          _type: ExprVar
                          value: 'null'
                        then:
                          _type: ExprSelect
                          attrs:
                            - python
                          e:
                            _type: ExprVar
                            value: swig
                      src:
                        _type: ExprCall
                        args:
                          - _type: ExprSet
                            attrs:
                              md5:
                                _type: ExprLiteral
                                value: a180c3fe91680389c210c99def54d9e0
                                valueType: String
                              url:
                                _type: ExprLiteral
                                value: http://subversion.tigris.org/tarballs/subversion-1.1.1.tar.bz2
                                valueType: String
                            recursive: false
                        fun:
                          _type: ExprVar
                          value: fetchurl
                      swig:
                        _type: ExprIf
                        cond:
                          _type: ExprOpOr
                          e1:
                            _type: ExprVar
                            value: pythonBindings
                          e2:
                            _type: ExprVar
                            value: javaSwigBindings
                        else:
                          _type: ExprVar
                          value: 'null'
                        then:
                          _type: ExprVar
                          value: swig
                    inherit:
                      expat:
                        _type: ExprVar
                        value: expat
                      httpServer:
                        _type: ExprVar
                        value: httpServer
                      javaSwigBindings:
                        _type: ExprVar
                        value: javaSwigBindings
                      javahlBindings:
                        _type: ExprVar
                        value: javahlBindings
                      localServer:
                        _type: ExprVar
                        value: localServer
                      pythonBindings:
                        _type: ExprVar
                        value: pythonBindings
                      sslSupport:
                        _type: ExprVar
                        value: sslSupport
                    recursive: false
                fun:
                  _type: ExprSelect
                  attrs:
                    - mkDerivation
                  e:
                    _type: ExprVar
                    value: stdenv
              cond:
                _type: ExprOpImpl
                e1:
                  _type: ExprVar
                  value: javahlBindings
                e2:
                  _type: ExprOpNEq
                  e1:
                    _type: ExprVar
                    value: j2sdk
                  e2:
                    _type: ExprVar
                    value: 'null'
            cond:
              _type: ExprOpImpl
              e1:
                _type: ExprVar
                value: javaSwigBindings
              e2:
                _type: ExprOpAnd
                e1:
                  _type: ExprOpNEq
                  e1:
                    _type: ExprVar
                    value: swig
                  e2:
                    _type: ExprVar
                    value: 'null'
                e2:
                  _type: ExprSelect
                  attrs:
                    - javaSupport
                  e:
                    _type: ExprVar
                    value: swig
          cond:
            _type: ExprOpImpl
            e1:
              _type: ExprVar
              value: pythonBindings
            e2:
              _type: ExprOpAnd
              e1:
                _type: ExprOpNEq
                e1:
                  _type: ExprVar
                  value: swig
                e2:
                  _type: ExprVar
                  value: 'null'
              e2:
                _type: ExprSelect
                attrs:
                  - pythonSupport
                e:
                  _type: ExprVar
                  value: swig
        cond:
          _type: ExprOpImpl
          e1:
            _type: ExprVar
            value: sslSupport
          e2:
            _type: ExprOpAnd
            e1:
              _type: ExprOpNEq
              e1:
                _type: ExprVar
                value: openssl
              e2:
                _type: ExprVar
                value: 'null'
            e2:
              _type: ExprOpImpl
              e1:
                _type: ExprVar
                value: httpServer
              e2:
                _type: ExprOpEq
                e1:
                  _type: ExprSelect
                  attrs:
                    - openssl
                  e:
                    _type: ExprVar
                    value: httpd
                e2:
                  _type: ExprVar
                  value: openssl
      cond:
        _type: ExprOpImpl
        e1:
          _type: ExprVar
          value: httpServer
        e2:
          _type: ExprOpAnd
          e1:
            _type: ExprOpNEq
            e1:
              _type: ExprVar
              value: httpd
            e2:
              _type: ExprVar
              value: 'null'
          e2:
            _type: ExprOpEq
            e1:
              _type: ExprSelect
              attrs:
                - expat
              e:
                _type: ExprVar
                value: httpd
            e2:
              _type: ExprVar
              value: expat
    cond:
      _type: ExprOpImpl
      e1:
        _type: ExprVar
        value: localServer
      e2:
        _type: ExprOpNEq
        e1:
          _type: ExprVar
          value: db4
        e2:
          _type: ExprVar
          value: 'null'
  cond:
    _type: ExprOpNEq
    e1:
      _type: ExprVar
      value: expat
    e2:
      _type: ExprVar
      value: 'null'
formals:
  db4:
    _type: ExprVar
    value: 'null'
  expat: null
  fetchurl: null
  httpServer:
    _type: ExprVar
    value: 'false'
  httpd:
    _type: ExprVar
    value: 'null'
  j2sdk:
    _type: ExprVar
    value: 'null'
  javaSwigBindings:
    _type: ExprVar
    value: 'false'
  javahlBindings:
    _type: ExprVar
    value: 'false'
  localServer:
    _type: ExprVar
    value: 'false'
  openssl:
    _type: ExprVar
    value: 'null'
  pythonBindings:
    _type: ExprVar
    value: 'false'
  sslSupport:
    _type: ExprVar
    value: 'false'
  stdenv: null
  swig:
    _type: ExprVar
    value: 'null'
formalsEllipsis: false