(zilch nixpkgs): fix non-out derivations

Change-Id: I542e0cb1f6a33261b9c4f1b620636c8c6a6a6964
This commit is contained in:
puck 2025-11-24 18:37:10 +00:00
parent 5bf80a463e
commit 553df0b2fe

View file

@ -4,7 +4,7 @@
(scheme base) (scheme lazy) (scheme read) (scheme base) (scheme lazy) (scheme read)
(zilch magic) (zilch nix drv) (zilch nix hash) (zilch magic) (zilch nix drv) (zilch nix hash)
(zilch nix path) (zilch zexpr) (zilch nix path) (zilch zexpr)
(srfi 18) (srfi 128) (srfi 146) (srfi 18) (srfi 128) (srfi 146) (srfi 152)
(chicken format) (chicken process) (chicken format) (chicken process)
json) json)
(export nix-prefetch-url nixpkgs nixpkgs-eval (export nix-prefetch-url nixpkgs nixpkgs-eval
@ -33,6 +33,10 @@
(define thread (thread-start! (make-thread (lambda () (run-stderr-thread (string-append path) stderr)) "read-from-nixpkgs-raw stderr passthrough"))) (define thread (thread-start! (make-thread (lambda () (run-stderr-thread (string-append path) stderr)) "read-from-nixpkgs-raw stderr passthrough")))
(close-port stdin) (close-port stdin)
(define drvpath (read-line stdout)) (define drvpath (read-line stdout))
; If we get a /nix/store/[...].drv![output name]: remove the suffix.
(let ((loc (string-contains drvpath "!")))
(when loc
(set! drvpath (string-copy drvpath 0 loc))))
(define-values (_ _ _) (process-wait pid #t)) (define-values (_ _ _) (process-wait pid #t))
(close-port stdout) (close-port stdout)
drvpath) drvpath)