(zilch core nixpkgs): allow evaluating arbitrary Nix code

This commit is contained in:
puck 2025-03-01 15:41:18 +00:00
parent 5306246cdd
commit 16b2064fc6
4 changed files with 60 additions and 17 deletions

View file

@ -99,17 +99,20 @@
(cached-data derivation-cached-data))
(define is-printing-drv (make-parameter #f))
(define-record-printer (<derivation> drv out)
(fprintf out "#<derivation ~s ~s inputs: ~s ~s, ~s ~s ~s ~s, cached data ~S>"
(derivation-name drv)
(derivation-outputs drv)
(derivation-input-drvs drv)
(derivation-input-src drv)
(derivation-system drv)
(derivation-builder drv)
(derivation-args drv)
(derivation-env drv)
(derivation-cached-data drv)))
(define was-printing-drv (is-printing-drv))
(parameterize ((is-printing-drv #t))
(fprintf out "#<derivation ~s ~s inputs: ~s ~s, ~s ~s ~s ~s, cached data ~S>"
(derivation-name drv)
(derivation-outputs drv)
(if was-printing-drv (map derivation-name (derivation-input-drvs)) (derivation-input-drvs drv))
(derivation-input-src drv)
(derivation-system drv)
(derivation-builder drv)
(derivation-args drv)
(derivation-env drv)
(derivation-cached-data drv))))
(define (write-delim-list start end fn val port)
(write-char start port)