all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Leo Famulari <leo@famulari.name>
To: guix-devel@gnu.org
Cc: Mathieu Othacehe <mathieu.othacehe@parrot.com>
Subject: Difficulty starting with Cuirass
Date: Fri, 4 Aug 2017 14:55:51 -0400	[thread overview]
Message-ID: <20170804185551.GA3041@jasmine.lan> (raw)

[-- Attachment #1: Type: text/plain, Size: 2239 bytes --]

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 #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

                 reply	other threads:[~2017-08-04 18:56 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170804185551.GA3041@jasmine.lan \
    --to=leo@famulari.name \
    --cc=guix-devel@gnu.org \
    --cc=mathieu.othacehe@parrot.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.