[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Using cuirass to build your own manifest.
From: |
Chris Marusich |
Subject: |
Re: Using cuirass to build your own manifest. |
Date: |
Fri, 10 Mar 2017 00:55:54 -0800 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux) |
Hi Mathieu!
Cool stuff! It's very interesting to see how others do things. I have
a basic Scheme question about what you did, though.
Mathieu Othacehe <address@hidden> writes:
> (define (drv-package store package)
> (lambda ()
> `((#:job-name . ,(string-append
> (package-name package)
> "-"
> (package-version package)
> "-job"))
> (#:derivation . ,(derivation-file-name
> (parameterize ((%graft? #f))
> (package-derivation store package #:graft? #f)))))))
It looks like drv-package is a procedure which returns a procedure. Is
that correct?
> (define (drv-list store arguments)
> (let* ((manifest
> (load* "/home/mathieu/conf/guix/manifest.scm"
> (make-user-module
> '((guix profiles) (gnu)))))
> (packages
> (map manifest-entry-item
> (manifest-entries manifest))))
> (parameterize ((%graft? #f))
> (map (lambda (package)
> (drv-package store package))
> (delete-duplicates! packages)))))
>
>
> The drv-list procedure loads the file manifest.scm which content is
> detailed below. The list produced by drv-list looks like :
>
> (((#:job-name . "acpi-1.7-job") (#:derivation
> . "/gnu/store/r9s5x0ksj02hsw4n3acdxab8ggjp4z7y-acpi-1.7.drv")) ...)
If drv-package is a procedure that returns a procedure, then it seems to
me like the the list produced by drv-list should look like a list of
procedures, but that isn't what you wrote. What am I misunderstanding?
--
Chris
signature.asc
Description: PGP signature