(zilch magic): add nix-build build step
This commit is contained in:
parent
3e3b9a8bb9
commit
e65143d89e
2 changed files with 22 additions and 0 deletions
|
|
@ -20,6 +20,8 @@
|
||||||
trace
|
trace
|
||||||
json
|
json
|
||||||
|
|
||||||
|
(callPackage ../planner {})
|
||||||
|
|
||||||
libsodium # TODO(puck): don't propagate this
|
libsodium # TODO(puck): don't propagate this
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@
|
||||||
(import
|
(import
|
||||||
(scheme base) (scheme file)
|
(scheme base) (scheme file)
|
||||||
(zilch lib hash) (zilch nix daemon) (zilch nix drv) (zilch nix path)
|
(zilch lib hash) (zilch nix daemon) (zilch nix drv) (zilch nix path)
|
||||||
|
(zilch planner step)
|
||||||
(zilch zexpr)
|
(zilch zexpr)
|
||||||
(srfi 128) (srfi 132) (srfi 146) (srfi 152)
|
(srfi 128) (srfi 132) (srfi 146) (srfi 152)
|
||||||
(chicken base) (chicken format) socket)
|
(chicken base) (chicken format) socket)
|
||||||
|
|
@ -250,6 +251,25 @@
|
||||||
(daemon-wop-build-paths (*daemon*) (list->vector to-build)))
|
(daemon-wop-build-paths (*daemon*) (list->vector to-build)))
|
||||||
val)
|
val)
|
||||||
|
|
||||||
|
(register-build-step '((zilch core magic) build) #t
|
||||||
|
(lambda items
|
||||||
|
(printf "received build info: ~S\n" items)
|
||||||
|
(define all-paths '())
|
||||||
|
(for-each
|
||||||
|
(lambda (item)
|
||||||
|
(define outputs (list-ref item 1))
|
||||||
|
(define drv-path (list-ref item 2))
|
||||||
|
(set! all-paths (append (map (lambda (o) (string-append drv-path "!" o)) outputs) all-paths)))
|
||||||
|
items)
|
||||||
|
(daemon-wop-build-paths (*daemon*) (list->vector all-paths))
|
||||||
|
(define output '())
|
||||||
|
(for-each
|
||||||
|
(lambda (item)
|
||||||
|
(define output-map (daemon-wop-query-derivation-output-map (*daemon*) (list-ref item 2)))
|
||||||
|
(set! output (cons (cons (car item) output-map) output)))
|
||||||
|
items)
|
||||||
|
output))
|
||||||
|
|
||||||
;; Ensures the `<store-path>` exists, then opens an input port to allow reading from it.
|
;; Ensures the `<store-path>` exists, then opens an input port to allow reading from it.
|
||||||
(define (store-path-open path)
|
(define (store-path-open path)
|
||||||
(increment-counter 2)
|
(increment-counter 2)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue