Re: [PATCHES] Add ruby-pg and adjust Ruby build system

2015-09-06 Thread Ludovic Courtès
David Thompson  skribis:

> From 8f29026d37a66d8bcbddc6f32a6354d93d40f50d Mon Sep 17 00:00:00 2001
> From: David Thompson 
> Date: Sat, 29 Aug 2015 21:55:12 -0400
> Subject: [PATCH 1/2] build: ruby: Avoid long build directory names.
>
> Having the hash of the source gem in the source directory file name proved to
> be problematic when running the test suite for the 'pg' gem that creates
> UNIX-domain sockets in the source directory and exceeded the 108 character
> limit on GNU/Linux systems.
>
> * guix/build/ruby-build-system.scm (unpack): Rename unpacked gem directory to
>   "gem".

Heh, LGTM.

> From efced81a77bc4a5a72a430987ab8168196358d47 Mon Sep 17 00:00:00 2001
> From: David Thompson 
> Date: Sat, 29 Aug 2015 22:03:51 -0400
> Subject: [PATCH 2/2] gnu: Add ruby-pg.
>
> * gnu/packages/ruby.scm (ruby-pg): New variable.

OK.

Thanks!

Ludo'.



Re: Texinfo in descriptions?

2015-09-06 Thread Ludovic Courtès
Alex Kost  skribis:

> Ludovic Courtès (2015-09-06 16:51 +0300) wrote:
>
>> Alex: We should maybe disable the paragraph filling code in guix.el so
>> that it doesn’t mess up with formatting?
>
> I don't mind (if you remember I didn't actually like such filling¹, and
> I've never used it).  So we can change the default value of
> ‘guix-package-info-fill-heading’ variable.

Yes, though ideally the elisp code would provide Scheme code the current
value of ‘fill-column’ so that text is filled using the right width.
WDYT?

Ludo’.



Re: (Geiser or guile bug) Guix-daemon output is missing

2015-09-06 Thread Ludovic Courtès
Alex Kost  skribis:

> Now the bug itself:
>
> 1. Start Geiser (M-x run-guile)
>
> 2. Make a scheme buffer and evaluate (use-modules (guix scripts build))
>there using "C-x C-e" or "C-M-x" (or any other "geiser-eval-…"
>command).  This is important: do not ,use module in the REPL;
>evaluate ‘use-modules’ clause in a scheme buffer!
>
> 3. Go to the REPL and run the following there:
>
>(catch 'quit (lambda () (guix-build "test-package")) (const #t)).
>
> You get only "The following derivation will be built: …" but there is no
> build output from guix-daemon.

Ha ha!  Try this before:

  (current-build-output-port (current-error-port))

The trick here is that ‘current-build-output-port’ is initialized to
(current-error-port), but that initialization happens at the top-level,
apparently before Geiser has rebound ‘current-error-port’, hence the
silence.

HTH!

Ludo’.



Service refactoring

2015-09-06 Thread Ludovic Courtès
Andy Wingo  skribis:

> So then, for example, the elogind service would indicate that it
> installs udev rules, dbus interfaces, and polkit rules from the elogind
> package.  The udev service would then query all services, adding rules
> from services that indicate that they extend the udev configuration.  To
> do this I propose a "finalize-configuration" field in services.  First,
> the services are collected into a list, as they are now.  Next, Guix
> does something like this:
>
>   (define (finalize-services services)
> (map (lambda (service)
>((service-finalize service) service services))
>  services))
>
> The default service-finalize will be (lambda (service services)
> service).  WDYT?

Yes, something like that.

An important characteristic is that service types extend each other:
dbus extends dmd (by adding stuff into dmd.conf), polkit extends dbus
(through .service files), elogind extends polkit (through policy files)
and dbus and udev, and so on.

Service types and their “extends” relations form a DAG like this:


I think we want to define a new API to capture this.  Service types will
declare which other service types they extend and how; service types
that can be extended will declare how extensions affect their
parameters.  (We need to distinguish between “service type” and “service
instance” because there can be several instances of a given type.)

Building the system works in two steps: first we propagate the
extensions down to the sinks of the DAG (such as dmd), then we
instantiate those.

Thoughts?

I’ll try to refine this and come up with a proof-of-concept for
discussion soonish.

Thanks,
Ludo’.


Re: [PATCH 2/2] gnu: Add oslo.i18n.

2015-09-06 Thread Cyril Roelandt
On 09/06/2015 11:01 PM, Ludovic Courtès wrote:
> Yes, definitely.  This counterexample invalidates my theory.  ;-)

K, I'll push the patch (with oslo.i18n updated to 2.5.0) once pbr 1.6.0
has been pushed.

Cyril.



[PATCH] gnu: pbr: Update to 1.6.0

2015-09-06 Thread Cyril Roelandt
* gnu/packages/openstack.scm (python-pbr): Update to 1.6.0.
---
 gnu/packages/openstack.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/openstack.scm b/gnu/packages/openstack.scm
index 8e96455..d4d6813 100644
--- a/gnu/packages/openstack.scm
+++ b/gnu/packages/openstack.scm
@@ -100,7 +100,7 @@ tested on Python version 3.2, 2.7 and 2.6.")
 (define-public python-pbr
   (package
 (name "python-pbr")
-(version "1.2.0")
+(version "1.6.0")
 (source
   (origin
 (method url-fetch)
@@ -110,7 +110,7 @@ tested on Python version 3.2, 2.7 and 2.6.")
".tar.gz"))
 (sha256
   (base32
-"1l2mls8wnwpkqj6hxsphq7xibbbsf40gg37wc30nj4r600zgqhqm"
+"1lg1klrczvzfan89y3bl9ykrknl3nb01vvai37fkww24apzyibjf"
 (build-system python-build-system)
 (arguments
  `(#:tests? #f)) ;; Most tests seem to use the Internet.
-- 
2.1.4




[PATCH] Add gMTP.

2015-09-06 Thread Ricardo Wurmus
>From 83997a0d8783395d0307498d3b7c32b0de9fb404 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus 
Date: Sun, 6 Sep 2015 23:07:10 +0200
Subject: [PATCH] gnu: Add gMTP.

* gnu/packages/libusb.scm (gmtp): New variable.
---
 gnu/packages/libusb.scm | 40 +++-
 1 file changed, 39 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/libusb.scm b/gnu/packages/libusb.scm
index 86a59be..bb7bec9 100644
--- a/gnu/packages/libusb.scm
+++ b/gnu/packages/libusb.scm
@@ -2,6 +2,7 @@
 ;;; Copyright © 2012 Nikita Karetnikov 
 ;;; Copyright © 2015 Andreas Enge 
 ;;; Copyright © 2015 Andy Wingo 
+;;; Copyright © 2015 Ricardo Wurmus 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -25,9 +26,13 @@
   #:use-module (guix utils)
   #:use-module (guix download)
   #:use-module (guix build-system gnu)
+  #:use-module (guix build-system glib-or-gtk)
   #:use-module (gnu packages gnupg)
+  #:use-module (gnu packages gtk)
   #:use-module (gnu packages linux)
-  #:use-module (gnu packages pkg-config))
+  #:use-module (gnu packages mp3)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages xiph))
 
 (define-public libusb
   (package
@@ -116,3 +121,36 @@ proposed for standardization.")
 ;; Foundation; either version 2 of the License, or (at your option) any
 ;; later version."
 (license lgpl2.1+)))
+
+(define-public gmtp
+  (package
+(name "gmtp")
+(version "1.3.9")
+(source (origin
+  (method url-fetch)
+  (uri (string-append "mirror://sourceforge/gmtp/" version
+  "/gmtp-" version ".tar.gz"))
+  (sha256
+   (base32
+"0bdxvi0jf3q870a39xzsaj4qrjwc9b5bgvc95plc7xb6vf2m7zsv"
+(build-system glib-or-gtk-build-system)
+(arguments
+ '(#:configure-flags
+   (let ((libid3tag (assoc-ref %build-inputs "libid3tag")))
+ (list
+  ;; libid3tag provides no .pc file, so pkg-config fails to find them.
+  (string-append "ID3TAG_CFLAGS=-I" libid3tag "/include")
+  (string-append "ID3TAG_LIBS=-L" libid3tag "/lib -lid3tag -lz")
+(inputs
+ `(("gtk+" ,gtk+)
+   ("flac" ,flac)
+   ("libvorbis" ,libvorbis)
+   ("libid3tag" ,libid3tag)
+   ("libmtp" ,libmtp)))
+(native-inputs
+ `(("pkg-config" ,pkg-config)))
+(home-page "http://gmtp.sourceforge.net/";)
+(synopsis "Simple graphical MTP client")
+(description "gMTP is a simple graphical MTP client.  It supports all
+MTP-based devices including media players, tablets and mobile phones.")
+(license bsd-3)))
-- 
2.5.0





Re: [PATCH 2/2] gnu: Add oslo.i18n.

2015-09-06 Thread Ludovic Courtès
Cyril Roelandt  skribis:

> On 09/05/2015 10:26 PM, Ludovic Courtès wrote:
>> I had a vague recollection that maybe setuptools was now part of Python
>> core, so when I packaged ‘patches’ I removed it and everything was fine.
>
> That does ring a bell, but I don't know for sure. Anyway I tried
> compiling python-oslo.i18n without python-setuptools, and it fails with
> python 2, so I'd rather keep it for now. WDYT?

Yes, definitely.  This counterexample invalidates my theory.  ;-)

Ludo’.



Re: [PATCH 2/2] gnu: Add oslo.i18n.

2015-09-06 Thread Cyril Roelandt
On 09/05/2015 10:26 PM, Ludovic Courtès wrote:
> I had a vague recollection that maybe setuptools was now part of Python
> core, so when I packaged ‘patches’ I removed it and everything was fine.

That does ring a bell, but I don't know for sure. Anyway I tried
compiling python-oslo.i18n without python-setuptools, and it fails with
python 2, so I'd rather keep it for now. WDYT?

I should probably look into the setuptools thing one of these days.

Cyril.



Re: Texinfo in descriptions?

2015-09-06 Thread Alex Kost
Ludovic Courtès (2015-09-06 16:51 +0300) wrote:

> Alex: We should maybe disable the paragraph filling code in guix.el so
> that it doesn’t mess up with formatting?

I don't mind (if you remember I didn't actually like such filling¹, and
I've never used it).  So we can change the default value of
‘guix-package-info-fill-heading’ variable.

[1] https://lists.gnu.org/archive/html/guix-devel/2015-07/msg00387.html

-- 
Alex



Ilmbase and openexr header files

2015-09-06 Thread Andreas Enge
Hello,

the openexr package has ilmbase as a propagated input, since the openexr
header files include ilmbase header files. However, there is a problem with
subdirectories, since both packages put the include files into
.../include/OpenEXR.

Then, for instance,
   
/gnu/store/bnp4nsy7v4lzw562k4v7w34jdg8vkc3s-openexr-2.2.0/include/OpenEXR/ImfInt64.h
contains a line
   #include "ImathInt64.h"
This is the file
   
/gnu/store/6ih7f5cq1amgh134f75xw2sxk39p9gi7-ilmbase-2.2.0/include/OpenEXR/ImathInt64.h
which of course is not found, since it resides in the subdirectory OpenEXR.
(Well, I wonder whether things work when everything is installed together in
/usr/include/OpenEXR, but anyway this is not our case.)

There was an error when adding openexr support to vigra, which I repaired
with a kludge, and it is happening again in the package hugin that I am
preparing. So I wonder what would be the proper fix.

I see the following options:
1) In vigra, I added ilmbase explicitly as an input and a configure-flag
  (string-append "-DCMAKE_CXX_FLAGS=-I"
 (assoc-ref %build-inputs "ilmbase")
 "/include/OpenEXR"
   which adds the correct include directory with an "-I" option during
   compilation.
2) One might modify the environment variable CPATH in a separate phase
   by adding the OpenEXR subdirectory of ilmbase.
3) One might also patch the openexr header files, replacing
   #include "Imath...
   by
   #include "OpenEXR/Imath...

To me, 3) looks like the proper fix. What do you think?

Andreas




Re: Update youtube-dl

2015-09-06 Thread Andreas Enge
On Sun, Sep 06, 2015 at 10:49:58AM +0300, Efraim Flashner wrote:
> small patch to update youtube-dl to 2015.09.03

Tried out and pushed, thanks!

Andreas




Re: [PATCHES] Add ruby-nokogiri, ruby-mini-portile, and ruby-minitar

2015-09-06 Thread Ludovic Courtès
"Thompson, David"  skribis:

> On Sat, Aug 29, 2015 at 8:57 AM, David Thompson
>  wrote:
>> This small patch set adds a few more Ruby libraries to our arsenal, the
>> most important being Nokogiri: A widely used XML parsing library with
>> native C extensions.
>
> I decided to push these patches because they're pretty simple.  Just
> one tweak: I added a real synopsis and description to
> ruby-mini-portile.

OK, thanks!

Ludo’.



Re: Texinfo in descriptions?

2015-09-06 Thread Ludovic Courtès
Mathieu Lirzin  skribis:

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

[...]

>>> +++ b/gnu/packages/databases.scm
>>> @@ -578,7 +578,7 @@ columns, primary keys, unique constraints and 
>>> relationships.")
>>> ("postgresql" ,postgresql)))
>>>  (home-page "http://search.cpan.org/dist/DBD-Pg";)
>>>  (synopsis "DBI PostgreSQL interface")
>>> -(description "")
>>> +(description #f)
>>
>> Weird, and doesn’t really match the commit log.  Maybe this hunk can be
>> removed?
>
> I get an error with "guix package -s perl-dbd-pg" without this change

[...]

> In guix/ui.scm:
>  859: 4 [package->recutils # # 80]
>  790: 3 [texi->plain-text "description: Project-Id-Version: guix-packages 
> 0.8\nReport-Msgid-Bugs-To: l...@gnu.org\nPOT-Creation-Date: 2015-07-21 
> 21:35+0200\nPO-Revision-Date: 2014-12-20 22:00+0100\nLast-Translator: Rémy 
> Chevalier \nLanguage-Team: French 
> \nLanguage: fr\nMIME-Version: 1.0\nContent-Type: 
> text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit\n"]
> In unknown file:
>?: 2 [call-with-input-string "description: Project-Id-Version: 
> guix-packages 0.8\nReport-Msgid-Bugs-To: l...@gnu.org\nPOT-Creation-Date: 
> 2015-07-21 21:35+0200\nPO-Revision-Date: 2014-12-20 
> 22:00+0100\nLast-Translator: Rémy Chevalier 
> \nLanguage-Team: French 
> \nLanguage: fr\nMIME-Version: 1.0\nContent-Type: 
> text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit\n" ...]
> In texinfo.scm:
> 1131: 1 [parse #]
>  965: 0 [loop # (*fragment*) ...]
>
> texinfo.scm:965:23: In procedure loop:
> texinfo.scm:965:23: Throw to key `parser-error' with args `(#f "Unknown 
> command" gnu)'.

It looks as though (P_ "") returns the header of the PO file, an indeed

This also happens on ‘master’ for all the supported languages:

--8<---cut here---start->8---
$ ./pre-inst-env guix package --show=perl-dbd-pg
name: perl-dbd-pg
version: 3.5.1
outputs: out
systems: x86_64-linux i686-linux armhf-linux mips64el-linux
dependencies: perl-dbi-1.631 perl-dbi-1.631 postgresql-9.3.8
location: gnu/packages/databases.scm:562:2
homepage: http://search.cpan.org/dist/DBD-Pg
license: GPL 1+
synopsis: DBI PostgreSQL interface
description: Project-Id-Version: guix-packages 0.8.1 Report-Msgid-Bugs-To:
+ l...@gnu.org POT-Creation-Date: 2015-01-27 00:07+0100 PO-Revision-Date:
+ 2015-02-05 09:41-0300 Last-Translator: Felipe Castro 
+ Language-Team: Esperanto  Language:
+ eo MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8
+ Content-Transfer-Encoding: 8bit X-Generator: Poedit 1.6.10
--8<---cut here---end--->8---

Here’s a reduced case (where bindtextdomain is passed by $localedir):

--8<---cut here---start->8---
$ echo $LANGUAGE
eo
$ ./pre-inst-env guile -c '(bindtextdomain "guix-packages" 
"/home/ludo/soft/share/locale") (setlocale LC_ALL "") (pk (gettext "" 
"guix-packages"))'

;;; ("Project-Id-Version: guix-packages 0.8.1\nReport-Msgid-Bugs-To: 
l...@gnu.org\nPOT-Creation-Date: 2015-01-27 00:07+0100\nPO-Revision-Date: 
2015-02-05 09:41-0300\nLast-Translator: Felipe Castro 
\nLanguage-Team: Esperanto 
\nLanguage: eo\nMIME-Version: 
1.0\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 
8bit\nX-Generator: Poedit 1.6.10\n")
--8<---cut here---end--->8---

Same with the ‘gettext’ command:

--8<---cut here---start->8---
$ TEXTDOMAINDIR=$HOME/soft/share/locale gettext guix-packages ""
Project-Id-Version: guix-packages 0.8.1
Report-Msgid-Bugs-To: l...@gnu.org
POT-Creation-Date: 2015-01-27 00:07+0100
PO-Revision-Date: 2015-02-05 09:41-0300
Last-Translator: Felipe Castro 
Language-Team: Esperanto 
Language: eo
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Generator: Poedit 1.6.10
--8<---cut here---end--->8---

Although libc’s manual doesn’t mention it (info "(libc) Translation with
gettext"), gettext(3) states:

  When an empty string is used for msgid, the functions may return a
  nonempty string.

I have changed ‘P_’ to return the empty string when passed the empty
string.  I left ‘_’ and ‘N_’ unchanged because they normally shouldn’t
end up being passed the empty string.

>> Could you look into it?
>
> Here is "something" that seems to work. The idea is to append
> "description: " to package description before 'stexi->plain-text' fills
> the text.

Sounds reasonable.

> From 88f95bf594ded0e63b842e23bc06cbcd250d9660 Mon Sep 17 00:00:00 2001
> From: Mathieu Lirzin 
> Date: Fri, 7 Aug 2015 00:10:43 +0200
> Subject: [PATCH] ui: Add package-description-string.
>
> Provide support for Texinfo's markup in package description.
>
> * guix/ui.scm (%text-width): New parameter.
>   (texi->plain-text): New variable.
>   (package->recutils): Use them.
>   (package-description-string): New variable.
> * emacs/guix-main.scm (%package-param-alist): Us

Re: [PATCH] gnu: Add ruby-ox.

2015-09-06 Thread Thompson, David
Pushed!

- Dave



Re: [PATCHES] Add ruby-activesupport

2015-09-06 Thread Thompson, David
On Sun, Aug 30, 2015 at 10:33 AM, David Thompson
 wrote:
> Patches for ActiveSupport, the first big component of Rails, and the
> missing prerequisites.

The patches still look OK upon a second inspection, and they are all
straightforward, so I've pushed them.

- Dave



Re: [PATCHES] Add ruby-pry

2015-09-06 Thread Thompson, David
On Sat, Aug 29, 2015 at 10:58 PM, David Thompson
 wrote:
> This small patch set adds the Pry, a powerful Ruby REPL (but not as
> powerful as Geiser ;), and the missing prerequisites.

I pushed these + an additional small patch that uses ruby-slop 3.x
instead of 4.x because Pry is incompatible with 4.x.

- Dave



Two ARM machines donated

2015-09-06 Thread Ludovic Courtès
Hello, Guix!

I am pleased to announce that two armv7 machines were donated in August
for our build farm:

  • Steve Sprang sent us a Novena, which has already been building
packages for the ‘core-updates’ branch for a few days;

  • the Harmon Instruments company gave us a Wandboard; Mark has been
looking at it and it’ll hopefully be plugged into hydra.gnu.org
soonish.

Big thanks to Steve and to Darrell Harmon of Harmon Instruments for
their donations!  Special thanks also to Mark H Weaver, who took care of
the machines and is currently hosting them.

These donations are of course very important to the project since they
will allow us to continuously test the armhf-linux port and to publish
pre-built binaries for users.  Until now users on ARM had to build
packages by themselves or to find another user who could ‘guix publish’
their binaries, so this is a significant improvement!

Thanks again to the three of you!

Ludo’.


signature.asc
Description: PGP signature


Re: [PATCH 1/1] gnu: Add Anonymous Pro fonts.

2015-09-06 Thread Alex Kost
Leo Famulari (2015-09-05 22:06 +0300) wrote:

> On Sat, Sep 5, 2015, at 09:34, Alex Kost wrote:
[...]
>> Otherwise, LGTM.  So if there will be no other comments and objections
>> on the package name, I will push it.  No need to resend the patch — I'll
>> fix these small issues I mentioned.  Thank you.
>
> I think the package name is fine. Thank you!

Yeah, I agree.  Since Andreas didn't object, I have pushed this patch,
thanks.

-- 
Alex



Re: [PATCH 6/7] guix build: Add 'build-package'.

2015-09-06 Thread Alex Kost
Alex Kost (2015-09-06 12:03 +0300) wrote:

[...]
> diff --git a/guix/store.scm b/guix/store.scm
> index 132b8a3..93f2c77 100644
> --- a/guix/store.scm
> +++ b/guix/store.scm
> @@ -58,6 +58,7 @@
>  close-connection
>  with-store
>  set-build-options
> +set-build-options*
>  valid-path?
>  query-path-hash
>  hash-part->path
> @@ -535,6 +536,9 @@ encoding conversion errors."
>  (let loop ((done? (process-stderr server)))
>(or done? (process-stderr server)
>  
> +(define set-build-options*
> +  (store-lift set-build-options))

Arr, sorry, I sent the wrong patch: ‘set-build-options*’ should be moved
after ‘store-lift’ is defined.  In the current patch I put it after
‘build’ procedure.

>From 4569ff4868a01e205b9b13b41dc587f8b8d67f76 Mon Sep 17 00:00:00 2001
From: Alex Kost 
Date: Thu, 3 Sep 2015 18:33:51 +0300
Subject: [PATCH] store: Add 'set-build-options*'.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Suggested by: Ludovic Courtès 

* guix/store.scm (set-build-options*): New procedure.
---
 guix/store.scm | 4 
 1 file changed, 4 insertions(+)

diff --git a/guix/store.scm b/guix/store.scm
index 132b8a3..5f37e72 100644
--- a/guix/store.scm
+++ b/guix/store.scm
@@ -58,6 +58,7 @@
 close-connection
 with-store
 set-build-options
+set-build-options*
 valid-path?
 query-path-hash
 hash-part->path
@@ -986,6 +987,9 @@ permission bits are kept."
   ;; Monadic variant of 'build-things'.
   (store-lift build-things))
 
+(define set-build-options*
+  (store-lift set-build-options))
+
 (define %guile-for-build
   ;; The derivation of the Guile to be used within the build environment,
   ;; when using 'gexp->derivation' and co.
-- 
2.5.0



(Geiser or guile bug) Guix-daemon output is missing

2015-09-06 Thread Alex Kost
Hello.

There is a strange problem with evaluating a code using Geiser, which
leads to some missing output in a REPL.  I have an example demonstrating
the problem using some Guix code, but I would like to have a pure guile
recipe, so that it can be reported.

So how to reproduce the bug.  At first, make a file "test-bug.scm"
(attached) and put it somewhere to GUIX_PACKAGE_PATH.  Run "guix build
test-package" in shell to make sure that the package is found.  The
building will fail, but it's fine for this demonstration.  Note that
there is a usual output from guix-daemon ("@ build-started …").

Now the bug itself:

1. Start Geiser (M-x run-guile)

2. Make a scheme buffer and evaluate (use-modules (guix scripts build))
   there using "C-x C-e" or "C-M-x" (or any other "geiser-eval-…"
   command).  This is important: do not ,use module in the REPL;
   evaluate ‘use-modules’ clause in a scheme buffer!

3. Go to the REPL and run the following there:

   (catch 'quit (lambda () (guix-build "test-package")) (const #t)).

You get only "The following derivation will be built: …" but there is no
build output from guix-daemon.

Now if you close the REPL and repeat this recipe but on the 2nd step you
evaluate (use-modules (guix scripts build)) or ,use(guix scripts build)
in the REPL itself, you will see the build output as expected.

So there is something special with this guix-daemon output and with
Geiser synchronous evaluating (using ‘geiser-eval--send/wait’) that
sends this output to a better world.

I appreciate any ideas on solving this bug or making a guix-independent
recipe to reproduce it.

(define-module (test-bug)
  #:use-module (guix packages)
  #:use-module (guix build-system trivial)
  #:use-module (gnu packages base))

(define-public test-package
  (package (inherit hello)
(name "test-package")
(build-system trivial-build-system)
(arguments
 '(#:builder (const #t)


Re: [PATCH 6/7] guix build: Add 'build-package'.

2015-09-06 Thread Alex Kost
Ludovic Courtès (2015-08-28 12:24 +0300) wrote:

> Alex Kost  skribis:
>
>> Ludovic Courtès (2015-08-26 14:12 +0300) wrote:
>>
>>> Alex Kost  skribis:
>>>
 Ludovic Courtès (2015-08-18 17:15 +0300) wrote:

> Alex Kost  skribis:
>
>> * guix/scripts/build.scm (build-package): New procedure.
>
> [...]
>
>> +(define (build-package package . build-options)
>> +  "Build PACKAGE using BUILD-OPTIONS."
>> +  (with-store store
>> +(let* ((drv (run-with-store store
>> +  (package->derivation package)))
>> +   (drvs (list drv)))
>> +  (apply set-build-options store build-options)
>> +  (show-what-to-build store drvs)
>> +  (build-derivations store drvs)
>> +  (show-derivation-outputs drv
>
> I think this doesn’t fit here because it isn’t actually used by ‘guix
> build’.  Maybe keep it in emacs/ for now?

 If you mean "guix-main.scm", I don't think it's the right place either,
 as all this guix-devel stuff does not depend on Guix REPL (or on any
 code from "guix-main.scm" in general).  Besides, "guix-main.scm" doesn't
 provide a module.

 What about making some additional module?: (guix devel) or something.
 Other similar code may be put there in future.  For example, you are
 editing a package definition and you may want to download the current
 origin source.  It will probably also require some specific scheme code,
 which may be added to that module.
>>>
>>> Maybe ‘build-package’ could go to (guix packages)?
>>
>> ‘build-package’ uses ‘show-…’ procedures from (guix ui) module.  I
>> thought that adding this module to (guix packages) was not desired, or
>> is it OK?
>
> Right, sorry.  So maybe leave in (guix build scripts) with a comment
> explaining that it doesn’t have a better place and is for use by the
> Emacs UI.  (Make sure to use the monadic style as suggested in a
> previous message.)
>
> Could you send an updated patch?

Yes, sorry for the delay.  At some point I noticed that ‘build-package’
doesn't show any build output, and I had a hard time trying to find out
what's wrong.  Eventually it appeared to be totally unrelated to the
code itself.  I think it's a Geiser bug, but I don't know how to make a
guix independent recipe — I have sent a message describing it in details
to guix-devel — I hope you could help with it :-)

So I am attaching 2 patches here: for adding ‘set-build-options*’ and
for adding ‘build-package’.

Now about the second patch.  At first, I don't agree with it :-).  I
added #:dry-run? to ‘build-package’ procedure as I think it may be
useful, then I found a nice ‘maybe-build’ procedure in (guix scripts
system), and I just moved it to (guix scripts build) which doesn't seem
right.

We have some code in (guix scripts …) that is rather common (I mean not
specific to the current module), but there is no better place for it,
usually because it uses (guix ui).

So what about making (guix scripts) module for such general stuff?
I think we can move there ‘maybe-build’, ‘%standard-build-options’,
‘set-build-options-from-command-line(*)’, ‘show-build-options-help’,
perhaps exported procedures from (guix scripts package).  And
‘build-package’ may also go there, WDYT?

Or maybe just put those things into (guix ui)?

>From fd38fdae6e66effeba346e7bc863fc5348ec9b9a Mon Sep 17 00:00:00 2001
From: Alex Kost 
Date: Thu, 3 Sep 2015 18:33:51 +0300
Subject: [PATCH 1/2] store: Add 'set-build-options*'.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Suggested by: Ludovic Courtès 

* guix/store.scm (set-build-options*): New procedure.
---
 guix/store.scm | 4 
 1 file changed, 4 insertions(+)

diff --git a/guix/store.scm b/guix/store.scm
index 132b8a3..93f2c77 100644
--- a/guix/store.scm
+++ b/guix/store.scm
@@ -58,6 +58,7 @@
 close-connection
 with-store
 set-build-options
+set-build-options*
 valid-path?
 query-path-hash
 hash-part->path
@@ -535,6 +536,9 @@ encoding conversion errors."
 (let loop ((done? (process-stderr server)))
   (or done? (process-stderr server)
 
+(define set-build-options*
+  (store-lift set-build-options))
+
 (define-syntax operation
   (syntax-rules ()
 "Define a client-side RPC stub for the given operation."
-- 
2.5.0

>From 9ffc27f7a076e4213ef3bee00e5cebad501685ac Mon Sep 17 00:00:00 2001
From: Alex Kost 
Date: Thu, 23 Jul 2015 16:16:41 +0300
Subject: [PATCH 2/2] guix build: Add 'build-package'.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

* guix/scripts/system.scm (maybe-build): Move to ...
* guix/scripts/build.scm: ...here.
  (build-package): New procedure.

Co-authored-by: Ludovic Courtès 
---
 guix/scripts/build.scm  | 41 -
 guix/scripts/system.scm | 13 -
 2 files chan

Update youtube-dl

2015-09-06 Thread Efraim Flashner
small patch to update youtube-dl to 2015.09.03

-- 
Efraim Flashner  אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
From d9e67f6ae64c44888e31355255c2f062e3962600 Mon Sep 17 00:00:00 2001
From: Efraim Flashner 
Date: Sun, 6 Sep 2015 10:46:59 +0300
Subject: [PATCH] gnu: youtube-dl: Update to 2015.09.03.

* gnu/packages/video.scm (youtube-dl): Update to 2015.09.03.
---
 gnu/packages/video.scm | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index c1101cb..efa0a60 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -792,15 +792,15 @@ projects while introducing many more.")
 (define-public youtube-dl
   (package
 (name "youtube-dl")
-(version "2015.08.16.1")
+(version "2015.09.03")
 (source (origin
   (method url-fetch)
-  (uri (string-append "http://youtube-dl.org/downloads/";
+  (uri (string-append "https://youtube-dl.org/downloads/";
   version "/youtube-dl-"
   version ".tar.gz"))
   (sha256
(base32
-"04g78anvy519pj8m8ys1ifmnmp1x3i9bw3afwqjch71n9f77papy"
+"0wxjbqr07rm26iih12yhv0qwspfrg9safhgnrp8misqjjk4fz86z"
 (build-system python-build-system)
 (inputs `(("setuptools" ,python-setuptools)))
 (home-page "http://youtube-dl.org";)
-- 
2.5.1



pgpj7sNWB2Wjw.pgp
Description: OpenPGP digital signature