guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Difficulty starting with Cuirass


From: Leo Famulari
Subject: Difficulty starting with Cuirass
Date: Fri, 4 Aug 2017 14:55:51 -0400
User-agent: Mutt/1.8.3 (2017-05-23)

Hi,

I'm trying to set up Cuirass to build some manifests on a foreign
distro. I decided to start by adapting Mathieu O's examples from March
2017:

https://lists.gnu.org/archive/html/guix-devel/2017-03/msg00222.html

However, when I try to use it with the files copied below, it fails:

------
$ cuirass --one-shot --specifications=/home/leo/tmp/test/specification.scm 
--database=/tmp/test.db --cache-directory=/tmp/cuirass-cache
fatal: repository '#f' does not exist
------

I've got a specification file:

------
(define base
  `((#:name . "my-spec")
    (#:url . "git://git.savannah.gnu.org/guix.git")
    (#:branch . "master")  
    (#:no-compile? . #t)
    (#:load-path . ".")
    (#:file . "./guix-drv.scm")
    (#:proc . drv-list)))

(list '(base))
------

... the procedures to turn my manifest into a list of derivations,
guix-drv.scm:

------
(use-modules (guix config)
             (guix store)
             (guix grafts)
             (guix packages)
             (guix ui)
             (guix derivations)
             (guix monads)
             (guix profiles)
             (gnu packages)
             (srfi srfi-1))

(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)))))))

(define (drv-list store arguments)
  (let* ((manifest
         (load* "leo.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)))))
------

... and the manifest, leo.scm:

------
(packages->manifest
 (map (compose list specification->package+output)
      '("coreutils" "nss-certs" "unzip" "bzip2" "which" "tar" "gawk" "vim" 
"bash")))
------

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]