fish: how to change the vendor_* directories

2017-05-05 Thread ng0
Today I noticed that my fish completions don't work if you install them from
within guix.
They do work if they are in one of the scanned directories, which includes and 
used to be
~/.config/fish/completions/ where I symlinked my developer copy to.
So I just learned about ${PREFIX}/share/fish/vendor_functions.d being one of 
the directories
which is intended for third party addons.
We can not change fish to pick up 
$HOME/.guix-profile/share/fish/vendor_functions.d, at least
not from what I tried in 5 minutes. Vim was easier, you are able to set a path 
manually.
Any suggestions on how we can hack this? Maybe simply extend the SEARCH PATH?
-- 
https://pragmatique.xyz
PGP: https://people.pragmatique.xyz/ng0/



Re: 01/01: guix: git: Add new module.

2017-05-05 Thread Leo Famulari
On Fri, May 05, 2017 at 01:53:25PM -0400, Mathieu Othacehe wrote:
> mothacehe pushed a commit to branch master
> in repository guix.
> 
> commit a70b784708fb5e1b78430aa793d89ca04bc641a8
> Author: Mathieu Othacehe 
> Date:   Fri May 5 11:01:50 2017 +0200
> 
> guix: git: Add new module.
> 
> * guix/git.scm: New file.
> * configure.ac: Check for (guile git).
> * Makefile.am: Build guix/git.scm if (guile git) is available.

This commit caused `guix pull` to fail:

--
copying and compiling to 
'/gnu/store/42nnrpz5n3yrf8x5vk75gf71ji20q86n-guix-latest'...
loading...   12.0% of 593 filesBacktrace:
In ice-9/boot-9.scm:
1734: 19 [%start-stack load-stack #]
1739: 18 [#]
In unknown file:
   ?: 17 [primitive-load 
"/gnu/store/8mj3lxzrpicjdz8x702p5hgc1f8y1hhm-guix-latest-builder"]
In ./guix/build/pull.scm:
  57: 16 [build-guix "/gnu/store/42nnrpz5n3yrf8x5vk75gf71ji20q86n-guix-latest" 
...]
 123: 15 [#]
In ice-9/boot-9.scm:
2900: 14 [resolve-interface (guix git) #:select ...]
2825: 13 [# # ...]
3101: 12 [try-module-autoload (guix git) #f]
2412: 11 [save-module-excursion #]
3121: 10 [#]
In unknown file:
   ?: 9 [primitive-load-path "guix/git" ...]
In ice-9/eval.scm:
 505: 8 [# (define-module # # 
...)]
In ice-9/psyntax.scm:
1107: 7 [expand-top-sequence ((define-module (guix git) #:use-module ...)) () 
...]
 990: 6 [scan ((define-module (guix git) #:use-module ...)) () ...]
 279: 5 [scan ((#(syntax-object let # ...) (#) (# #) ...)) () ...]
In ice-9/eval.scm:
 411: 4 [eval # ()]
In ice-9/boot-9.scm:
2987: 3 [define-module* (guix git) #:filename ...]
2962: 2 [resolve-imports (((git)) ((git object)) ((guix base32)) ...)]
2903: 1 [resolve-interface (git) #:select ...]
In unknown file:
   ?: 0 [scm-error misc-error #f "~A ~S" ("no code for module" (git)) #f]

ERROR: In procedure scm-error:
ERROR: no code for module (git)
builder for `/gnu/store/7j7i1vr3kmhjmkvcd3hislmjvbbzixrv-guix-latest.drv' 
failed with exit code 1
--

I could not reproduce the failure when building "by hand", but since
`guix pull` is the primary method of updating Guix, I reverted this
change for now:

https://git.savannah.gnu.org/cgit/guix.git/commit/?id=40d728a87d4b6993437ed33dbe2dcb47363ae7c0

Mathieu, can you take a look?

PS - It's possible to test `guix pull` locally like this:

$ git archive --prefix='guix/' --format=tar HEAD | gzip > /tmp/guix.tar.gz
$ guix pull --url=file:///tmp/guix.tar.gz


signature.asc
Description: PGP signature


Re: [PATCH] gnu: Add cool-retro-term.

2017-05-05 Thread Petter
Hi Eric,

On Thu, 4 May 2017 22:03:24 -0500
Eric Bavier  wrote:

> Hello Petter,
> 
> Pushed as f9ff014bf623071b9343265e8a5aa994a10ec9d4 !

Cool! :)

> I ended up whitelisting a few more of the fonts, after verifying their
> licenses, and made some more specific notes on the license of each
> font.

Nice! I appreciate you taking care of this. My interest and knowledge of
licensing is pretty low, so I find this quite daunting at the moment. I'm sure
this will be easier for me when I gain more knowledge.

I see you updated both the snippet and the patch for the settings menu. Good!

Maybe we should start, or perhaps encourage the FSF, to maintain a list of Free
fonts. Guess this isn't the last time we need to determine a font's license.
Just a thought.

> I had to add $out/qml to the wrapper QML2_IMPORT_PATH in order for crt
> to start up.  I figured that was alright, since that path was present
> in your initial patch.

Hm. Yeah, it certainly looks alright; in fact it looks "too alright". I don't
really understand now how this even can work for me without it. This is after
all where the qml for the embedded library is, which I assume is quite
important for the program :)

Aha! I had to investigate and now I get it. I've been using cool-retro-term
since the first time I was able to start it. At this point I built it with
(inputs qml). The wrapper at this point added only cool-retro-term/qml to
QML2_IMPORT_PATH (what you've added again). And QML2_IMPORT_PATH has been set
to this in my terminal environment ever since, and have further been included by
the wrapper script when I've run later builds:
  export QML2_IMPORT_PATH=
  "...988icm-qtquickcontrols-5.7.1/qml${QML2_IMPORT_PATH:+:}$QML2_IMPORT_PATH"

Now, when I went from full qml to qml components, I checked if this was still
required (wasn't thinking). It built and started fine without it so I removed
it.

Good thing you tried it!

> I added the patches to dist_patch_DATA in gnu/local.mk and listed them
> in the commit log too.

Thanks! I'm not familiar with gnu/local.mk. Looks like a build script.

I see you also changed (assoc-ref %build-inputs ..) to use "inputs". Noted!

> It even builds with "--rounds=2" :)

Yay! :)

> Thanks again,
> `~Eric

Thanks yourself! :)
Petter


pgpEkNqQ9N7FL.pgp
Description: OpenPGP digital signature


Re: Debugging info unavailability

2017-05-05 Thread Maxim Cournoyer
Hi!

> Maybe that’s because you stumbled upon corrupt items?  I really think
> we’re reaching the end of these problems now that we use ‘guix publish
> --cache’.
>

That's possible! I've stumbled on a few of those in the past 2 weeks.
It's good to know something's been done about it!

>> What good is a substitute server if it doesn't hold the stuff I need
>> *now*? :) On the other side, it really makes me want to look at GNUnet,
>> which seems like the better long term solution.
>
> Though GNUnet doesn’t solve the fact that one needs a lot of CPU and
> storage to build and store all this.  :-)
>

I think what I meant was "integration of GNUnet with guix publish".
Something which would allow anyone to effortlessly share what's been
built on their machine with the other Guix users. A zero config kind
of thing, with auto discovery of peers and available substitutes.

I haven't researched much about GNUnet yet, but it seems it might be
fit for that purpose.

Maxim



Re: reepca joins Guix for GSoC 2017!

2017-05-05 Thread Ricardo Wurmus

Ludovic Courtès  writes:

> Reepca: do not hesitate to ask any questions you may have on #guix or
> help-g...@gnu.org or guix-devel@gnu.org.  We’re here to help!
>
> Congratulations and welcome to Guix, reepca!  :-)

I second this: congrats and welcome!

You don’t need to wait until you have fully formed questions before
reaching out on #guix or the mailing lists.  With a project as large as
this it can certainly be helpful to “explore the solution space” a
little and to ask for input early on.

I’m looking forward to this.  Thanks for your initiative, reepca!

--
Ricardo

GPG: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
https://elephly.net




Re: Debugging info unavailability

2017-05-05 Thread Ricardo Wurmus

Ludovic Courtès  writes:

>> What good is a substitute server if it doesn't hold the stuff I need
>> *now*? :) On the other side, it really makes me want to look at GNUnet,
>> which seems like the better long term solution.
>
> Though GNUnet doesn’t solve the fact that one needs a lot of CPU and
> storage to build and store all this.  :-)

FWIW I’m working on setting up a Guix+Cuirass build farm at the MDC, and
the goal is to eventually make it available to the public.  Initially we
will restrict building to a subset that we use most often (all the
science stuff), but this will result in extra substitutes for packages
lower in the graph.

Ultimately, though, we ought to distribute the workload better, and
“guix publish” already helps with this.

-- 
Ricardo

GPG: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
https://elephly.net




Re: reepca joins Guix for GSoC 2017!

2017-05-05 Thread Adonay Felipe Nogueira
Welcome reepca! :)

Although I'm not a developer, I do contribute to Guix by testing,
reporting bugs, helping people out and also do some hacking from time to
time. Also, depending on the subject, I also can provide some insights
when called upon.

So, feel free to ask for help or insight if you need to.

Happy hacking! :)


Respectfully, Adonay.
-- 
- [[https://libreplanet.org/wiki/User:Adfeno]]
- Palestrante e consultor sobre /software/ livre (não confundir com
  gratis).
- "WhatsApp"? Ele não é livre, por isso não uso. Iguais a ele prefiro
  GNU Ring, ou Tox. Quer outras formas de contato? Adicione o vCard
  que está no endereço acima aos teus contatos.
- Pretende me enviar arquivos .doc, .ppt, .cdr, ou .mp3? OK, eu
  aceito, mas não repasso. Entrego apenas em formatos favoráveis ao
  /software/ livre. Favor entrar em contato em caso de dúvida.



reepca joins Guix for GSoC 2017!

2017-05-05 Thread Ludovic Courtès
Hello Guix!

I’m happy to announce that reepca (Cc’d) will join us for the Google
Summer of Code (GSoC).  Reepca will be working on rewriting the build
daemon in Scheme:

  https://lists.gnu.org/archive/html/guix-devel/2017-04/msg00059.html
  
https://libreplanet.org/wiki/Group:Guix/GSoC-2017#Rewrite_build_daemon_in_Guile_Scheme

Formally Ricardo and I will be mentoring, but of course everyone on this
list and on IRC is welcome to chime in and provide guidance and
feedback.

Reepca: do not hesitate to ask any questions you may have on #guix or
help-g...@gnu.org or guix-devel@gnu.org.  We’re here to help!

Congratulations and welcome to Guix, reepca!  :-)

Ludo’.


signature.asc
Description: PGP signature


Re: UEFI support in boot image

2017-05-05 Thread Ludovic Courtès
Hello Marius,

Marius Bakke  skribis:

> Thanks for the feedback! I'll keep hammering at this and should
> hopefully have something usable within a few weeks. Currently, need to
> figure out why the qemu builder can't find the ISO8859-1 kernel module.

Any news from the front?  :-)

Ludo’.



Re: Debugging info unavailability

2017-05-05 Thread Ludovic Courtès
Hi!

Maxim Cournoyer  skribis:

> The ideal situation would be to not be space contrived and to build a cache
> everything or at least following some heuristic such as "every package that
> was requested at least once in the past month". For someone following
> master, I find that the current way substitutes are built is not
> aggressive enough,

All the packages in ‘master’ are evaluated a couple of times a day
roughly; you can see that at .

For x86_64 I think the latency is usually not too bad; sometimes it’s
there’s an increased delay in building the latest packages because
hydra.gnu.org is loaded or something like that.

> and I find often find myself building the world with --fallback.

Maybe that’s because you stumbled upon corrupt items?  I really think
we’re reaching the end of these problems now that we use ‘guix publish
--cache’.

> What good is a substitute server if it doesn't hold the stuff I need
> *now*? :) On the other side, it really makes me want to look at GNUnet,
> which seems like the better long term solution.

Though GNUnet doesn’t solve the fact that one needs a lot of CPU and
storage to build and store all this.  :-)

Ludo’.



Re: [PATCH] doc: Document database schema.

2017-05-05 Thread Ricardo Wurmus

Ludovic Courtès  writes:

> For the record, the schema was loosely inspired by Hydra’s own schema:
>
>   https://github.com/NixOS/hydra/blob/master/src/sql/hydra.sql

Ah, good to know.

>> +@item file
>> +The full path of the Scheme file containing PROC.
>
> s/full path/absolute file name/  :-)
> Likewise on other occurrences of “path” that do not mean “search path”.

Oh, right.  I’ll push a follow-up in a moment.

-- 
Ricardo

GPG: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
https://elephly.net




Re: I can not run 'guix pull', how to deal with

2017-05-05 Thread Ludovic Courtès
tumashu  skribis:

> feng@tumashu:~ $ guix pull
> fetching path `/gnu/store/1drx7dy1zakc0xs60nb0im1jbvxp11dj-isrgrootx1.pem'...
> Downloading 
> https://mirror.hydra.gnu.org/guix/nar/gzip/1drx7dy1zakc0xs60nb0im1jbvxp11dj-isrgrootx1.pem
>  (2KiB installed)...
> guix substitute: error: download from 
> 'https://mirror.hydra.gnu.org/guix/nar/gzip/1drx7dy1zakc0xs60nb0im1jbvxp11dj-isrgrootx1.pem'
>  failed: 404, "Not Found"
> fetching path `/gnu/store/1drx7dy1zakc0xs60nb0im1jbvxp11dj-isrgrootx1.pem' 
> failed with exit code 1
> fetching path 
> `/gnu/store/bcq7sqhg18b7b1q87j8z60d5hybsdafm-letsencryptauthorityx3.pem'...
> killing process 3656
> guix pull: error: build failed: some substitutes for the outputs of 
> derivation `/gnu/store/hm8c3lfvxkspqg9g3hcb877lkiqriad9-isrgrootx1.pem.drv' 
> failed (usually happens due to networking issues); try `--fallback' to build 
> derivation from source
> feng@tumashu:~ $

This should be fixed as you read it (just the time for nginx to expire
the cached 404.)

(For the curious, I fixed it by running:

  wget -O - https://hydra.gnu.org/1drx7dy1zakc0xs60nb0im1jbvxp11dj.narinfo

which told ‘guix publish’ to regenerate the nar corresponding to this
narinfo.  The problem we had here was that the nginx caches had cached
the narinfo but not the nar, and ‘guix publish’ currently only
generate nars when their narinfo is first queried.)

Thanks for your report!

Ludo’.



Re: [PATCH] doc: Document database schema.

2017-05-05 Thread Ludovic Courtès
Ricardo Wurmus  skribis:

> * doc/cuirass.texi: Add "Database" node.

Great!

For the record, the schema was loosely inspired by Hydra’s own schema:

  https://github.com/NixOS/hydra/blob/master/src/sql/hydra.sql

> +@item file
> +The full path of the Scheme file containing PROC.

s/full path/absolute file name/  :-)
Likewise on other occurrences of “path” that do not mean “search path”.

Otherwise LGTM.  Thanks for doing it!

Ludo’.



Re: [PATCH] doc: Document database schema.

2017-05-05 Thread Ricardo Wurmus

Maxim Cournoyer  writes:

> On May 5, 2017 3:38:14 AM PDT, Ricardo Wurmus  wrote:
>>* doc/cuirass.texi: Add "Database" node.
>>---
[…]
> Very well written; LGTM! And thanks for documenting cuirass!

Thank you for the review!  Pushed to guix-cuirass with commit a733cd7.

--
Ricardo

GPG: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
https://elephly.net




Re: Problems running 'check-system'

2017-05-05 Thread Ludovic Courtès
Hi Chris,

Chris Marusich  skribis:

> l...@gnu.org (Ludovic Courtès) writes:

[...]

>>> Issue #2: even when I run 'make' first, the test fails.  It fails with
>>> this message:
>>>
>>> [... some output omitted for brevity ...]
>>>
>>> starting phase `copy-bootstrap-guile'
>>> Backtrace:
>>> In ice-9/boot-9.scm:
>>>  160: 13 [catch #t # ...]
>>> In unknown file:
>>>?: 12 [apply-smob/1 #]
>>> In ice-9/boot-9.scm:
>>>   66: 11 [call-with-prompt prompt0 ...]
>>> In ice-9/eval.scm:
>>>  432: 10 [eval # #]
>>> In ice-9/boot-9.scm:
>>> 2412: 9 [save-module-excursion #>> ice-9/boot-9.scm:4084:3 ()>]
>>> 4089: 8 [#]
>>> 1734: 7 [%start-stack load-stack #>> ice-9/boot-9.scm:4080:10 ()>]
>>> 1739: 6 [#]
>>> In unknown file:
>>>?: 5 [primitive-load 
>>> "/gnu/store/wgh83kqjif20wfdg56iz7bxk9d4xmlk0-guix-0.12.0-9.25a4+-guile-builder"]
>>> In ice-9/eval.scm:
>>>  387: 4 [eval # ()]
>>> In srfi/srfi-1.scm:
>>>  827: 3 [every1 #>> /gnu/store/a42pfdz8w5qxdkp6xz8783ydywmp0p8p-module-import/guix/build/gnu-build-system.scm:649:9
>>>  (expr)> ...]
>>> In 
>>> /gnu/store/a42pfdz8w5qxdkp6xz8783ydywmp0p8p-module-import/guix/build/gnu-build-system.scm:
>>>  653: 2 [#>> /gnu/store/a42pfdz8w5qxdkp6xz8783ydywmp0p8p-module-import/guix/build/gnu-build-system.scm:649:9
>>>  (expr)> #]
>>> In ice-9/eval.scm:
>>>  432: 1 [eval # #]
>>> In unknown file:
>>>?: 0 [copy-file 
>>> "/gnu/store/dgncc5wmw8prxq09y71hqjc6g7rxqvvb-guile-2.0.9.tar.xz" ...]
>>>
>>> ERROR: In procedure copy-file:
>>> ERROR: In procedure copy-file: Permission denied
>>
>> What this means is that the target of ‘copy-file’ is read-only.
>
> Why is this test is trying to copy a file into a read-only target?  I've
> tried debugging this myself by inserting pk statements in the relevant
> code, but the long iteration time makes it difficult.

This is coming from the ‘copy-bootstrap-guile’ phase of the ‘guix’
package, which happens before ‘configure’.

I wonder why you’re seeing that happening.  Does “./pre-inst-env guix
build guix” fail as well?

If not, one way to debug is to use “guix build -K” and inspect the files
under gnu/packages/bootstrap in the failed build tree.

And I don’t why we’re getting different results here.

HTH,
Ludo’.



Re: [PATCH] doc: Document database schema.

2017-05-05 Thread Maxim Cournoyer
On May 5, 2017 3:38:14 AM PDT, Ricardo Wurmus  wrote:
>* doc/cuirass.texi: Add "Database" node.
>---
>doc/cuirass.texi | 149
>+++
> 1 file changed, 149 insertions(+)
>
>diff --git a/doc/cuirass.texi b/doc/cuirass.texi
>index 39d256f..c045002 100644
>--- a/doc/cuirass.texi
>+++ b/doc/cuirass.texi
>@@ -55,6 +55,7 @@ Tutorial sections:
> 
> Reference sections:
> * Invocation::  How to run Cuirass.
>+* Database::About the database schema.
> 
> * Contributing::Your help needed!
> * GNU Free Documentation License::  The license of this manual.
>@@ -192,6 +193,154 @@ Display an help message that summarize all the
>options provided.
> @end table
> 
>@c
>*
>+@node Database
>+@chapter Database schema
>+@cindex cuirass database
>+@cindex sqlite database
>+@cindex persistent configuration
>+
>+Cuirass uses a SQLite database to store information about jobs and
>past
>+build results, but also to coordinate the execution of jobs.
>+
>+The database contains the following tables: @code{Specifications},
>+@code{Stamps}, @code{Evaluations}, @code{Derivations}, and
>+@code{Builds}.  The purpose of each of these tables is explained
>below.
>+
>+@section Specifications
>+@cindex specifications, database
>+
>+This table stores specifications describing the repository from whence
>+Cuirass fetches code and the environment in which it will be
>processed.
>+Entries in this table must have values for the following text fields:
>+
>+@table @code
>+@item repo_name
>+This field holds the name of the repository.  This field is also the
>+primary key of this table.
>+
>+@item url
>+The URL of the repository.
>+
>+@item load_path
>+This text field holds the name of the subdirectory in the checked out
>+repository that is passed to the @code{evaluate} tool as the Guile
>load
>+path.  This directory is interpreted relative to the repository in the
>+Cuirass cache directory.  This will usually be the current directory
>+@code{"."}.
>+
>+@item file
>+The full path of the Scheme file containing PROC.
>+
>+@item proc
>+This text field holds the name of the procedure in the Scheme file
>FILE
>+that produces a list of jobs.
>+
>+@item arguments
>+A list of arguments to be passed to PROC.  This can be used to produce
>a
>+different set of jobs using the same PROC.
>+@end table
>+
>+The following columns are optional:
>+
>+@table @code
>+@item branch
>+This text field determines which branch of the repository Cuirass
>should
>+check out.
>+
>+@item tag
>+This text field is an alternative to using BRANCH or REVISION.  It
>tells
>+Cuirass to check out the repository at the specified tag.
>+
>+@item revision
>+This text field is an alternative to using BRANCH or TAG.  It tells
>+Cuirass to check out the repository at a particular revision.  In the
>+case of a git repository this would be a commit hash.
>+
>+@item no_compile_p
>+When this integer field holds the value @code{1} Cuirass will skip
>+compilation for the specified repository.
>+@end table
>+
>+@section Stamps
>+@cindex stamps, database
>+
>+When a specification is processed, the repository must be downloaded
>at
>+a certain revision as specified.  The @code{Stamps} table stores the
>+current revision for every specification when it is being processed.
>+
>+The table only has two text columns: @code{specification}, which
>+references a specification from the @code{Specifications} table via
>the
>+field @code{repo_name}, and @code{stamp}, which holds the revision
>+(e.g. a commit hash).
>+
>+@section Evaluations
>+@cindex evaluations, database
>+
>+An evaluation relates a specification with the revision of the
>+repository specified therein.  Derivations and builds (see below) each
>+belong to a specific evaluation.
>+
>+The @code{Evaluations} table has the following columns:
>+
>+@table @code
>+@item id
>+This is an automatically incrementing numeric identifier.
>+
>+@item specification
>+This field holds the @code{repo_name} of a specification from the
>+@code{Specifications} table.
>+
>+@item revision
>+This text field holds the revision string (e.g. a git commit) of the
>+repository specified in the related specification.
>+@end table
>+
>+@section Derivations
>+@cindex derivations, database
>+
>+This table associates a tuple of derivation path and evaluation
>+identifier with a job name.
>+
>+@table @code
>+@item derivation
>+This column holds the path to the Guix derivation that is supposed to
>be
>+evaluated for this job.
>+
>+@item evaluation
>+This field holds the @code{id} of an evaluation from the
>+@code{Evaluations} table.
>+
>+@item job_name
>+This text field holds the name of the job.
>+@end table
>+
>+@section Builds
>+@cindex builds, database
>+
>+This table holds records of completed or failed package builds.  Note
>+that builds are not in a one to one relationship with derivations in

Re: I can not run 'guix pull', how to deal with

2017-05-05 Thread ng0
ng0 transcribed 1.2K bytes:
> Hi,
> 
> tumashu transcribed 2.7K bytes:
> > feng@tumashu:~ $ guix pull
> > fetching path 
> > `/gnu/store/1drx7dy1zakc0xs60nb0im1jbvxp11dj-isrgrootx1.pem'...
> > Downloading 
> > https://mirror.hydra.gnu.org/guix/nar/gzip/1drx7dy1zakc0xs60nb0im1jbvxp11dj-isrgrootx1.pem
> >  (2KiB installed)...
> > guix substitute: error: download from 
> > 'https://mirror.hydra.gnu.org/guix/nar/gzip/1drx7dy1zakc0xs60nb0im1jbvxp11dj-isrgrootx1.pem'
> >  failed: 404, "Not Found"
> > fetching path `/gnu/store/1drx7dy1zakc0xs60nb0im1jbvxp11dj-isrgrootx1.pem' 
> > failed with exit code 1
> > fetching path 
> > `/gnu/store/bcq7sqhg18b7b1q87j8z60d5hybsdafm-letsencryptauthorityx3.pem'...
> > killing process 3656
> > guix pull: error: build failed: some substitutes for the outputs of 
> > derivation `/gnu/store/hm8c3lfvxkspqg9g3hcb877lkiqriad9-isrgrootx1.pem.drv' 
> > failed (usually happens due to networking issues); try `--fallback' to 
> > build derivation from source
> > feng@tumashu:~ $
> > 
> My first suggestion is to follow the advice of the error message:
> run "guix pull --fallback" (though it could be that this is not
> possible, I remember opening a related bug but I could be wrong).

Correction: I opened the bug for offloading, but not for pull.

[user@abyayala ~]$ guix pull --fallback
guix pull: error: fallback: unrecognized option

This is possibly not the root of your problem, but could you open a bug
about guix pull not supporting fallback?

Thanks!
-- 
https://pragmatique.xyz
PGP: https://people.pragmatique.xyz/ng0/



Re: I can not run 'guix pull', how to deal with

2017-05-05 Thread ng0
Hi,

tumashu transcribed 2.7K bytes:
> feng@tumashu:~ $ guix pull
> fetching path `/gnu/store/1drx7dy1zakc0xs60nb0im1jbvxp11dj-isrgrootx1.pem'...
> Downloading 
> https://mirror.hydra.gnu.org/guix/nar/gzip/1drx7dy1zakc0xs60nb0im1jbvxp11dj-isrgrootx1.pem
>  (2KiB installed)...
> guix substitute: error: download from 
> 'https://mirror.hydra.gnu.org/guix/nar/gzip/1drx7dy1zakc0xs60nb0im1jbvxp11dj-isrgrootx1.pem'
>  failed: 404, "Not Found"
> fetching path `/gnu/store/1drx7dy1zakc0xs60nb0im1jbvxp11dj-isrgrootx1.pem' 
> failed with exit code 1
> fetching path 
> `/gnu/store/bcq7sqhg18b7b1q87j8z60d5hybsdafm-letsencryptauthorityx3.pem'...
> killing process 3656
> guix pull: error: build failed: some substitutes for the outputs of 
> derivation `/gnu/store/hm8c3lfvxkspqg9g3hcb877lkiqriad9-isrgrootx1.pem.drv' 
> failed (usually happens due to networking issues); try `--fallback' to build 
> derivation from source
> feng@tumashu:~ $
> 
My first suggestion is to follow the advice of the error message:
run "guix pull --fallback" (though it could be that this is not
possible, I remember opening a related bug but I could be wrong).
-- 
https://pragmatique.xyz
PGP: https://people.pragmatique.xyz/ng0/



I can not run 'guix pull', how to deal with

2017-05-05 Thread tumashu
feng@tumashu:~ $ guix pull
fetching path `/gnu/store/1drx7dy1zakc0xs60nb0im1jbvxp11dj-isrgrootx1.pem'...
Downloading 
https://mirror.hydra.gnu.org/guix/nar/gzip/1drx7dy1zakc0xs60nb0im1jbvxp11dj-isrgrootx1.pem
 (2KiB installed)...
guix substitute: error: download from 
'https://mirror.hydra.gnu.org/guix/nar/gzip/1drx7dy1zakc0xs60nb0im1jbvxp11dj-isrgrootx1.pem'
 failed: 404, "Not Found"
fetching path `/gnu/store/1drx7dy1zakc0xs60nb0im1jbvxp11dj-isrgrootx1.pem' 
failed with exit code 1
fetching path 
`/gnu/store/bcq7sqhg18b7b1q87j8z60d5hybsdafm-letsencryptauthorityx3.pem'...
killing process 3656
guix pull: error: build failed: some substitutes for the outputs of derivation 
`/gnu/store/hm8c3lfvxkspqg9g3hcb877lkiqriad9-isrgrootx1.pem.drv' failed 
(usually happens due to networking issues); try `--fallback' to build 
derivation from source
feng@tumashu:~ $



[PATCH] doc: Document database schema.

2017-05-05 Thread Ricardo Wurmus
* doc/cuirass.texi: Add "Database" node.
---
 doc/cuirass.texi | 149 +++
 1 file changed, 149 insertions(+)

diff --git a/doc/cuirass.texi b/doc/cuirass.texi
index 39d256f..c045002 100644
--- a/doc/cuirass.texi
+++ b/doc/cuirass.texi
@@ -55,6 +55,7 @@ Tutorial sections:
 
 Reference sections:
 * Invocation::  How to run Cuirass.
+* Database::About the database schema.
 
 * Contributing::Your help needed!
 * GNU Free Documentation License::  The license of this manual.
@@ -192,6 +193,154 @@ Display an help message that summarize all the options 
provided.
 @end table
 
 @c *
+@node Database
+@chapter Database schema
+@cindex cuirass database
+@cindex sqlite database
+@cindex persistent configuration
+
+Cuirass uses a SQLite database to store information about jobs and past
+build results, but also to coordinate the execution of jobs.
+
+The database contains the following tables: @code{Specifications},
+@code{Stamps}, @code{Evaluations}, @code{Derivations}, and
+@code{Builds}.  The purpose of each of these tables is explained below.
+
+@section Specifications
+@cindex specifications, database
+
+This table stores specifications describing the repository from whence
+Cuirass fetches code and the environment in which it will be processed.
+Entries in this table must have values for the following text fields:
+
+@table @code
+@item repo_name
+This field holds the name of the repository.  This field is also the
+primary key of this table.
+
+@item url
+The URL of the repository.
+
+@item load_path
+This text field holds the name of the subdirectory in the checked out
+repository that is passed to the @code{evaluate} tool as the Guile load
+path.  This directory is interpreted relative to the repository in the
+Cuirass cache directory.  This will usually be the current directory
+@code{"."}.
+
+@item file
+The full path of the Scheme file containing PROC.
+
+@item proc
+This text field holds the name of the procedure in the Scheme file FILE
+that produces a list of jobs.
+
+@item arguments
+A list of arguments to be passed to PROC.  This can be used to produce a
+different set of jobs using the same PROC.
+@end table
+
+The following columns are optional:
+
+@table @code
+@item branch
+This text field determines which branch of the repository Cuirass should
+check out.
+
+@item tag
+This text field is an alternative to using BRANCH or REVISION.  It tells
+Cuirass to check out the repository at the specified tag.
+
+@item revision
+This text field is an alternative to using BRANCH or TAG.  It tells
+Cuirass to check out the repository at a particular revision.  In the
+case of a git repository this would be a commit hash.
+
+@item no_compile_p
+When this integer field holds the value @code{1} Cuirass will skip
+compilation for the specified repository.
+@end table
+
+@section Stamps
+@cindex stamps, database
+
+When a specification is processed, the repository must be downloaded at
+a certain revision as specified.  The @code{Stamps} table stores the
+current revision for every specification when it is being processed.
+
+The table only has two text columns: @code{specification}, which
+references a specification from the @code{Specifications} table via the
+field @code{repo_name}, and @code{stamp}, which holds the revision
+(e.g. a commit hash).
+
+@section Evaluations
+@cindex evaluations, database
+
+An evaluation relates a specification with the revision of the
+repository specified therein.  Derivations and builds (see below) each
+belong to a specific evaluation.
+
+The @code{Evaluations} table has the following columns:
+
+@table @code
+@item id
+This is an automatically incrementing numeric identifier.
+
+@item specification
+This field holds the @code{repo_name} of a specification from the
+@code{Specifications} table.
+
+@item revision
+This text field holds the revision string (e.g. a git commit) of the
+repository specified in the related specification.
+@end table
+
+@section Derivations
+@cindex derivations, database
+
+This table associates a tuple of derivation path and evaluation
+identifier with a job name.
+
+@table @code
+@item derivation
+This column holds the path to the Guix derivation that is supposed to be
+evaluated for this job.
+
+@item evaluation
+This field holds the @code{id} of an evaluation from the
+@code{Evaluations} table.
+
+@item job_name
+This text field holds the name of the job.
+@end table
+
+@section Builds
+@cindex builds, database
+
+This table holds records of completed or failed package builds.  Note
+that builds are not in a one to one relationship with derivations in
+order to keep track of non-deterministic compilations.
+
+@table @code
+@item derivation
+This text field holds the path to the derivation file that resulted in
+this build.
+
+@item evaluation
+This integer field references the