Re: Greetings

2018-09-30 Thread Tobias Geerinckx-Rice

Brett,

Brett Gilio wrote:

My name is Brett Gilio, I am a research scientist and hobbyist
developer coming from Parabola.


Welcome!

I am trying out GuixSD, and will probably be around in the IRC 
group
and mailing list a bit more. I look forward to engaging with you 
all.


You've probably noticed that #guix operates mostly on European 
time, although that might be slowly changing.


Kind regards,

T G-R



Re: Greetings

2018-09-30 Thread Pierre Neidhardt
Welcome! :)

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: cabal-install fail

2018-09-30 Thread Timothy Sample
Hi Brett,

Brett Gilio  writes:

> Hi, all. I am attempting to install cabal-install to my guix
> profile. I
> am getting a build error.
>
> build of
> /gnu/store/4rh26abgx8k0vkwsf57n4igp1mcrsfqg-cabal-install-1.22.6.0.drv
> failed
>
> I tried to look at the build log indicated in the error, but it is not
> parsing any unicode characters.
>
> Thoughts?

Unfortunately, the package definition for cabal-install is currently
non-functional.  We are just finishing updating our Haskell packages to
build with GHC 8.4.3.  These updates fix cabal-install as well.  They
should be available tomorrow (Monday).  (Note that it will be version
2.2 of cabal-install then.)


-- Tim



cabal-install fail

2018-09-30 Thread Brett Gilio
Hi, all. I am attempting to install cabal-install to my guix 
profile. I

am getting a build error.

build of
/gnu/store/4rh26abgx8k0vkwsf57n4igp1mcrsfqg-cabal-install-1.22.6.0.drv
failed

I tried to look at the build log indicated in the error, but it is 
not

parsing any unicode characters.

Thoughts?


--
Brett M. Gilio
Free Software Foundation, Member
https://parabola.nu | https://emacs.org



Greetings

2018-09-30 Thread Brett Gilio

Hi all,

My name is Brett Gilio, I am a research scientist and hobbyist 
developer coming from Parabola.
I am trying out GuixSD, and will probably be around in the IRC 
group and

mailing list a bit more. I look forward to engaging with you all.

Best

--
Brett M. Gilio
Free Software Foundation, Member
https://parabola.nu | https://emacs.org



Re: GHC 8.4.3

2018-09-30 Thread Ricardo Wurmus


宋文武  writes:

> Ricardo Wurmus  writes:
>
>> Ricardo Wurmus  writes:
>>
>>> Ricardo Wurmus  writes:
>>>
 Timothy Sample  writes:

>   • There are 21 failing packages.  They are agda, beast, corrode,
> git-annex, ghc-aws, ghc-gnuplot, ghc-haddock-test,
> ghc-hashable-bootstrap, ghc-indents, ghc-monadplus,
> ghc-nats-bootstrap, ghc-packedstring, ghc-regex, ghc-regex-tdfa-rc,
> ghc-statistics, ghc-vector-builder, ghc-wave, ghc-xmonad-contrib,
> raincat, rapicorn, and shellcheck.

 Raincat is now fixed on wip-haskell.
>>>
>>> git-annex is also fixed now.
>>
>> agda is also fixed now.
>>
>> ghc-regex has had its last release in 2017, so this is an upstream
>> problem, I think.  ghc-regex-tdfa-rc probably fails just because
>> ghc-regex cannot be built.
>>
>> ghc-monadplus was only needed for agda.  I found that version 1.3 builds
>> fine, but 1.4.x does not.
>>
>> ghc-nats-bootstrap builds fine.
>>
>> ghc-hashable-bootstrap builds fine.
>>
>> ghc-indents now builds fine (after disabling the tests).
>>
>> ghc-haddock-test is deprecated and should be removed.
>> ghc-packedstring is deprecated and should also be removed.
>>
>> This leaves ghc-aws, ghc-gnuplot, ghc-statistics, ghc-vector-builder,
>> ghc-wave, ghc-xmonad-contrib, and shellcheck.
>>
>> Any takers?
>
> Fixed 5, leaving ghc-aws and ghc-statistics (I got test fails for
> ghc-happy).

Thank you!  I just fixed ghc-aws and ghc-statistics.  I cannot reproduce
the test failure for ghc-happy.

I think we’re good to merge this.  Any objections?  If there are none
I’ll merge this branch into master tomorrow.

Thank you Tim and 宋文武!

--
Ricardo




Re: Blog: Guix packaging tutorial

2018-09-30 Thread Pierre Neidhardt

> ‘%build-inputs’ etc. are global variables of package derivation build
> scripts; see ‘build-expression->derivation’ in (guix derivations).
>
> To view the code of one of these scripts, open the file returned by:
>
>   $ guix gc --references $(guix build -d coreutils) | grep builder
>   /gnu/store/v02xky6f5rvjywd7ficzi5pyibbmk6cq-coreutils-8.29-guile-builder

Nice, I had never looked into the builders before.  Good to know :)

Maybe we keep the concept of derivations out of this tutorial for now.  So I
think I'll explain this as "variables global to the package definition".  Sounds
alright?

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: GHC 8.4.3

2018-09-30 Thread Timothy Sample
Hi,

Ricardo Wurmus  writes:

> ghc-regex has had its last release in 2017, so this is an upstream
> problem, I think.  ghc-regex-tdfa-rc probably fails just because
> ghc-regex cannot be built.

The impression that I got is that ghc-regex-tdfa-rc was a prerelease
package for ghc-regex-tdfa, and that the Haskell community has come to
prefer ghc-regex-tdfa over ghc-regex.

> This leaves ghc-aws, ghc-gnuplot, ghc-statistics, ghc-vector-builder,
> ghc-wave, ghc-xmonad-contrib, and shellcheck.

Wow!  Nice work.


-- Tim




Re: 02/02: services: Add Gitolite.

2018-09-30 Thread Ludovic Courtès
Christopher Baines  skribis:

> Mark H Weaver  writes:

[...]

>>> +(define-gexp-compiler (gitolite-rc-file-compiler
>>> +   (file ) system target)
>>> +  (match file
>>> +(($  umask git-config-keys roles enable)
>>> + (apply text-file* "gitolite.rc"
>>> +  `("%RC = (\n"
>>> +"UMASK => " ,(format #f "~4,'0o" umask) ",\n"

[...]

>> --8<---cut here---start->8---
>>0 (simple-format #f "~4,'0o" 63)
>>
>> ERROR: In procedure simple-format:
>> In procedure simple-format: FORMAT: Unsupported format option ~4 - use 
>> (ice-9 format) instead
>> --8<---cut here---end--->8---

[...]

> It sounds to me like adding #:use-modules (ice-9 format) to (gnu
> services version-control) would fix this, but I'll wait until I can
> reproduce the failure before re-adding the service.

Yes, adding #:use-module (ice-9 format) will fix the problem.

You should be able to reproduce it by running “make hydra-jobs”.

As to why you can’t necessarily reproduce it…  It turns out that loading
(ice-9 format) has the effect of set!ting the global ‘format’ binding.
So if some unrelated piece of code loads (ice-9 format), you don’t have
any problems; but if that doesn’t happen, you get the error.

This terrible behavior has been in Guile forever and nobody has dared
changing it so far.  :-)  The -Wformat warning tries hard to diagnose
the issue though.

HTH!

Ludo’.



Re: SeaGL 2018 Accepts Guix-Themed Talk: "Everyday Use of GNU Guix"

2018-09-30 Thread Ludovic Courtès
Hi Chris,

Chris Marusich  skribis:

> l...@gnu.org (Ludovic Courtès) writes:
>
>> I think a title, abstract, and link to the SeaGL web site would be
>> enough.  It’d be great if you could commit this to guix-artwork.git, and
>> then I can take care of putting it on line.
>
> Sounds good!  I've committed an announcement in commit
> bfe3af6a197f0f7363f444ea79ea63e5af6f6e39 in guix-artwork.git.  Please
> check it and, if it looks good to you, publish it.

Done!

  
https://www.gnu.org/software/guix/blog/2018/upcoming-talk-everyday-use-of-gnu-guix/

> Thank you for offering to announce my talk on the blog!  I hope we can
> get more people interested in Guix in the Seattle area.  I know some
> people who use Nix or NixOS, but so far I haven't met anyone who's heard
> of Guix.  I aim to change that!

Heheh, I wish you success!  :-)

Ludo’.



Re: Blog: Guix packaging tutorial

2018-09-30 Thread Ludovic Courtès
Hello,

Pierre Neidhardt  skribis:

> l...@gnu.org (Ludovic Courtès) writes:
>> I’m not sure what you mean by “generated in scope”.
>>
>> The ‘%’ convention is just a convention (and Andy and I realized a while
>> back we interpreted the convention differently :-)) so we shouldn’t draw
>> too much from that.
>>
>> Regarding ‘%build-inputs’ and ‘%outputs’, I think it’s enough to say
>> that these are global variables.  Whether they are in scope depends on
>> whether a local variable shadows them.
>>
>> Does that make sense?
>
> I borrowed the expression "generated in scope" from Pjotr's
> https://gitlab.com/pjotrp/guix-notes/blob/master/HACKING.org.
>
> Are they really "global" variables?  My (quick) understanding from
> derivations.scm is that the %-prefixed variables are defined at
> derivation-time.  I think it's important to make this explicit.  What do you
> think?

‘%build-inputs’ etc. are global variables of package derivation build
scripts; see ‘build-expression->derivation’ in (guix derivations).

To view the code of one of these scripts, open the file returned by:

  $ guix gc --references $(guix build -d coreutils) | grep builder
  /gnu/store/v02xky6f5rvjywd7ficzi5pyibbmk6cq-coreutils-8.29-guile-builder

> l...@gnu.org (Ludovic Courtès) writes:
>> When would you like it to be on line?
>
> Well, as soon as possible :)  Monday 1st, maybe?

Alright, let’s see how far we go; I’ll be AFK most of the day tomorrow
though, so it might have to be on Tuesday.

Thanks,
Ludo’.



Re: 02/02: services: Add Gitolite.

2018-09-30 Thread Mark H Weaver
Hi Christopher,

Christopher Baines  writes:

> Mark H Weaver  writes:
>
>> m...@cbaines.net (Christopher Baines) writes:
>>
>>> cbaines pushed a commit to branch master
>>> in repository guix.
>>>
>>> commit 258a6d944ed891fa92fa87a16731e5dfe0bac477
>>> Author: Christopher Baines 
>>> Date:   Fri Jul 13 20:39:46 2018 +0100
>>>
>>> services: Add Gitolite.
>>>
>>> * gnu/services/version-control.scm (,
>>> ): New record types.
>>> (gitolite-accounts, gitolite-activation): New procedures.
>>> (gitolite-service-type): New variables.
>>> * gnu/tests/version-control.scm (%gitolite-test-admin-keypair, 
>>> %gitolite-os,
>>> %test-gitolite): New variables.
>>> (run-gitolite-test): New procedure.
>>> * doc/guix.texi (Version Control): Document the gitolite service.
>>
>> This commit has a flaw which broke evaluations on Hydra, so I reverted
>> it for now.
>>
>>> +(define-gexp-compiler (gitolite-rc-file-compiler
>>> +   (file ) system target)
>>> +  (match file
>>> +(($  umask git-config-keys roles enable)
>>> + (apply text-file* "gitolite.rc"
>>> +  `("%RC = (\n"
>>> +"UMASK => " ,(format #f "~4,'0o" umask) ",\n"
>>
>> The problem is here, in the call to 'format'.  Guile has two variants of
>> the 'format' procedure: a very simple one which is always available
>> (also known as 'simple-format'), and a much more complex and featureful
>> variant in (ice-9 format).  In the code above, you are assuming that
>> (ice-9 format) has been loaded, but you have not arranged for that to
>> happen.  During the Hydra evaluation, this led to the following error:
>>
>> --8<---cut here---start->8---
>>0 (simple-format #f "~4,'0o" 63)
>>
>> ERROR: In procedure simple-format:
>> In procedure simple-format: FORMAT: Unsupported format option ~4 - use 
>> (ice-9 format) instead
>> --8<---cut here---end--->8---
>
> Thanks for looking at this Mark, do you know where I can find out what
> Hydra is doing when it encounters this error? I tried looking around the
> web interface, but the latest evaluation I could find was from 2017
> apparently.

Hydra's web interface is the wrong place to look for information on
this problem.

I guess the error happens when Hydra tries to create a derivation for
the system test '%test-gitolite'.

The relevant code that Hydra runs to generate an evaluation is in
build-aux/hydra/gnu-system.scm.  Specifically, 'system-test-jobs', which
calls (all-system-tests) from gnu/tests.scm, which looks for public
variables bound to 'system-test' records.  That includes
'%test-gitolite'.

>> I guess that the fix will involve 'with-imported-modules'.  Could you
>> take a look?
>
> Sure. The confusing thing to me here is that this code works when using
> the service, including the system test (at least when I run it
> locally). Also, as far as I understand, even though the code is within a
> gexp-compiler, it doesn't even involve the store, as the call to format
> happens before the g-expression is generated.
>
> It sounds to me like adding #:use-modules (ice-9 format) to (gnu
> services version-control) would fix this, but I'll wait until I can
> reproduce the failure before re-adding the service.

I'm not yet sufficiently familiar with gexp compilation to know where
the call to 'format' is ultimately being executed, and I don't have time
right now to investigate further, so I hoping that Ludovic can chime in
here with a definitive answer on how to fix this properly.

   Mark



Re: Blog: Guix packaging tutorial

2018-09-30 Thread Pierre Neidhardt

l...@gnu.org (Ludovic Courtès) writes:
> I’m not sure what you mean by “generated in scope”.
>
> The ‘%’ convention is just a convention (and Andy and I realized a while
> back we interpreted the convention differently :-)) so we shouldn’t draw
> too much from that.
>
> Regarding ‘%build-inputs’ and ‘%outputs’, I think it’s enough to say
> that these are global variables.  Whether they are in scope depends on
> whether a local variable shadows them.
>
> Does that make sense?

I borrowed the expression "generated in scope" from Pjotr's
https://gitlab.com/pjotrp/guix-notes/blob/master/HACKING.org.

Are they really "global" variables?  My (quick) understanding from
derivations.scm is that the %-prefixed variables are defined at
derivation-time.  I think it's important to make this explicit.  What do you
think?

l...@gnu.org (Ludovic Courtès) writes:
> Another option is to skip propagated inputs altogether.

I think it's important to highlight the distinction between the three kinds of
inputs.
When I got started, I was tempted to use propagated-inputs all the way.  The
distinction is very Guix-specific (Nix?) and is one of the lesser known strength
of Guix in my opinion.

l...@gnu.org (Ludovic Courtès) writes:
> When would you like it to be on line?

Well, as soon as possible :)  Monday 1st, maybe?

Ricardo Wurmus  writes:
> I wonder if a complicated example like that really has a place in a
> tutorial.  To me it seems a bit scary.  I image people who are used to
> Conda to browse the tutorial and recoil in horror at seeing a
> complicated example with all sorts of customizations.

In my opinion the "my-mg" example is not so long, although I could probably
remove some phase code because they don't add much to the tutorial.
But for the rest of it, it's rather widespread, idiomatic code.  I don't think
we can afford to remove much of it lest we make this tutorial useless for any
serious work.

Is there any specific element you'd like to cut off?

Also consider that the first part of this tutorial focuses on a hello-world
example that puts emphasis and getting an example up and running as soon as
possible.

What about splitting this tutorial in two separate blog entries and leaving the
advanced example for the second one?

Ricardo Wurmus  writes:
> FWIW, I think that maybe we should avoid quasi-quotation in the
> tutorial, or at least at this point.  It could be a little overwhelming
> to be introduced to so many new concepts at once before seeing how they
> might be useful.

I am not sure about this.  On the one hand, it adds some complexity especially
to users unfamiliar with Lisp.  On the other hand, quasi-quotes are all over the
place.

Ricardo Wurmus  writes:
> Maybe this could be interleaved and motivated by packaging features.
> For example, at the very beginning we define a package and then evaluate
> it at the end so that we can use it with “guix package -f”.  Maybe it
> would be better to avoid defining things and using the plain “package”
> form.

It would be more structured (and thus clearer), but it could also make the
tutorial a few lines longer...  I'll see if I can manage without adding too
much.

Ricardo Wurmus  writes:
> (I need to go now, but if you want I can comment on the next sections
> tomorrow.)

Please do! :)

Ludovic, Ricardo, I've taken all your other considerations into account.  Thanks
a lot for your time reviewing this!

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: Web interface review 2

2018-09-30 Thread Clément Lassieur
Hello Tatiana!

I rebased your branch and did the changes I talked about, along with a
few minor things like error handling and cosmetic changes.

The result is available there: https://cuirass.lassieur.org/ and the
code is available there: https://git.lassieur.org/cgit/cuirass.git/.

I plan to push everything tomorrow evening (with
https://bugs.gnu.org/32879) if nobody objects.

Cheers,
Clément



Re: GHC 8.4.3

2018-09-30 Thread 宋文武
Ricardo Wurmus  writes:

> Ricardo Wurmus  writes:
>
>> Ricardo Wurmus  writes:
>>
>>> Timothy Sample  writes:
>>>
   • There are 21 failing packages.  They are agda, beast, corrode,
 git-annex, ghc-aws, ghc-gnuplot, ghc-haddock-test,
 ghc-hashable-bootstrap, ghc-indents, ghc-monadplus,
 ghc-nats-bootstrap, ghc-packedstring, ghc-regex, ghc-regex-tdfa-rc,
 ghc-statistics, ghc-vector-builder, ghc-wave, ghc-xmonad-contrib,
 raincat, rapicorn, and shellcheck.
>>>
>>> Raincat is now fixed on wip-haskell.
>>
>> git-annex is also fixed now.
>
> agda is also fixed now.
>
> ghc-regex has had its last release in 2017, so this is an upstream
> problem, I think.  ghc-regex-tdfa-rc probably fails just because
> ghc-regex cannot be built.
>
> ghc-monadplus was only needed for agda.  I found that version 1.3 builds
> fine, but 1.4.x does not.
>
> ghc-nats-bootstrap builds fine.
>
> ghc-hashable-bootstrap builds fine.
>
> ghc-indents now builds fine (after disabling the tests).
>
> ghc-haddock-test is deprecated and should be removed.
> ghc-packedstring is deprecated and should also be removed.
>
> This leaves ghc-aws, ghc-gnuplot, ghc-statistics, ghc-vector-builder,
> ghc-wave, ghc-xmonad-contrib, and shellcheck.
>
> Any takers?

Fixed 5, leaving ghc-aws and ghc-statistics (I got test fails for
ghc-happy).



Re: GHC 8.4.3

2018-09-30 Thread Ricardo Wurmus


Ricardo Wurmus  writes:

> Ricardo Wurmus  writes:
>
>> Timothy Sample  writes:
>>
>>>   • There are 21 failing packages.  They are agda, beast, corrode,
>>> git-annex, ghc-aws, ghc-gnuplot, ghc-haddock-test,
>>> ghc-hashable-bootstrap, ghc-indents, ghc-monadplus,
>>> ghc-nats-bootstrap, ghc-packedstring, ghc-regex, ghc-regex-tdfa-rc,
>>> ghc-statistics, ghc-vector-builder, ghc-wave, ghc-xmonad-contrib,
>>> raincat, rapicorn, and shellcheck.
>>
>> Raincat is now fixed on wip-haskell.
>
> git-annex is also fixed now.

agda is also fixed now.

ghc-regex has had its last release in 2017, so this is an upstream
problem, I think.  ghc-regex-tdfa-rc probably fails just because
ghc-regex cannot be built.

ghc-monadplus was only needed for agda.  I found that version 1.3 builds
fine, but 1.4.x does not.

ghc-nats-bootstrap builds fine.

ghc-hashable-bootstrap builds fine.

ghc-indents now builds fine (after disabling the tests).

ghc-haddock-test is deprecated and should be removed.
ghc-packedstring is deprecated and should also be removed.

This leaves ghc-aws, ghc-gnuplot, ghc-statistics, ghc-vector-builder,
ghc-wave, ghc-xmonad-contrib, and shellcheck.

Any takers?

-- 
Ricardo




Re: 02/02: services: Add Gitolite.

2018-09-30 Thread Christopher Baines

Mark H Weaver  writes:

> Hi Christopher,
>
> m...@cbaines.net (Christopher Baines) writes:
>
>> cbaines pushed a commit to branch master
>> in repository guix.
>>
>> commit 258a6d944ed891fa92fa87a16731e5dfe0bac477
>> Author: Christopher Baines 
>> Date:   Fri Jul 13 20:39:46 2018 +0100
>>
>> services: Add Gitolite.
>>
>> * gnu/services/version-control.scm (,
>> ): New record types.
>> (gitolite-accounts, gitolite-activation): New procedures.
>> (gitolite-service-type): New variables.
>> * gnu/tests/version-control.scm (%gitolite-test-admin-keypair, 
>> %gitolite-os,
>> %test-gitolite): New variables.
>> (run-gitolite-test): New procedure.
>> * doc/guix.texi (Version Control): Document the gitolite service.
>
> This commit has a flaw which broke evaluations on Hydra, so I reverted
> it for now.
>
>> +(define-gexp-compiler (gitolite-rc-file-compiler
>> +   (file ) system target)
>> +  (match file
>> +(($  umask git-config-keys roles enable)
>> + (apply text-file* "gitolite.rc"
>> +  `("%RC = (\n"
>> +"UMASK => " ,(format #f "~4,'0o" umask) ",\n"
>
> The problem is here, in the call to 'format'.  Guile has two variants of
> the 'format' procedure: a very simple one which is always available
> (also known as 'simple-format'), and a much more complex and featureful
> variant in (ice-9 format).  In the code above, you are assuming that
> (ice-9 format) has been loaded, but you have not arranged for that to
> happen.  During the Hydra evaluation, this led to the following error:
>
> --8<---cut here---start->8---
>0 (simple-format #f "~4,'0o" 63)
>
> ERROR: In procedure simple-format:
> In procedure simple-format: FORMAT: Unsupported format option ~4 - use (ice-9 
> format) instead
> --8<---cut here---end--->8---

Thanks for looking at this Mark, do you know where I can find out what
Hydra is doing when it encounters this error? I tried looking around the
web interface, but the latest evaluation I could find was from 2017
apparently.

> I guess that the fix will involve 'with-imported-modules'.
> Could you take a look?

Sure. The confusing thing to me here is that this code works when using
the service, including the system test (at least when I run it
locally). Also, as far as I understand, even though the code is within a
gexp-compiler, it doesn't even involve the store, as the call to format
happens before the g-expression is generated.

It sounds to me like adding #:use-modules (ice-9 format) to (gnu
services version-control) would fix this, but I'll wait until I can
reproduce the failure before re-adding the service.

Thanks,

Chris


signature.asc
Description: PGP signature


Re: GHC 8.4.3

2018-09-30 Thread Ricardo Wurmus


Ricardo Wurmus  writes:

> Timothy Sample  writes:
>
>>   • There are 21 failing packages.  They are agda, beast, corrode,
>> git-annex, ghc-aws, ghc-gnuplot, ghc-haddock-test,
>> ghc-hashable-bootstrap, ghc-indents, ghc-monadplus,
>> ghc-nats-bootstrap, ghc-packedstring, ghc-regex, ghc-regex-tdfa-rc,
>> ghc-statistics, ghc-vector-builder, ghc-wave, ghc-xmonad-contrib,
>> raincat, rapicorn, and shellcheck.
>
> Raincat is now fixed on wip-haskell.

git-annex is also fixed now.

-- 
Ricardo