Re: [PATCH] gnu: mesa: Update to 13.0.1.

2016-12-04 Thread Ricardo Wurmus

Marius Bakke  writes:

> Pushed to staging anyway!

Just a note: the original plan was to freeze staging on November 30 and
merge on December 7 (Wednesday).  I think it’s time to actually freeze
staging now.

-- 
Ricardo

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




[PATCH] gnu: python-flask: Make python-click a propagated-input.

2016-12-04 Thread Danny Milosavljevic
* gnu/packages/python.scm (python-click)[native-inputs]: Move to ...
  [propagated-inputs]: ... here.
---
 gnu/packages/python.scm | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 8f8b0de72..9c3902c3e 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -9153,9 +9153,8 @@ useful for solving the Assignment Problem.")
 (propagated-inputs
  `(("python-itsdangerous" ,python-itsdangerous)
("python-jinja2" ,python-jinja2)
-   ("python-werkzeug" ,python-werkzeug)))
-(native-inputs
- `(("python-click" ,python-click)))
+   ("python-werkzeug" ,python-werkzeug)
+   ("python-click" ,python-click)))
 (home-page "https://github.com/mitsuhiko/flask/";)
 (synopsis "Microframework based on Werkzeug, Jinja2 and good intentions")
 (description "Flask is a micro web framework based on the Werkzeug toolkit



Re: [PATCH 0/4] Add Ingen

2016-12-04 Thread Ricardo Wurmus

Ricardo Wurmus  writes:

> Hi Guix,
>
> Ingen is a very flexible audio environment, which can be used as a modular
> synthesizer or an audio effects chain.
>
> There hasn't been a proper release even though it's been very usable since a
> couple of years already.  It depends on at least two development versions of
> LV2-related libraries (raul and ganv).
>
> This patch set adds ingen and the new package variants it needs.
>
> ~~ Ricardo
>
> Ricardo Wurmus (4):
>   gnu: Add ganv-devel.
>   gnu: Add raul-devel.
>   gnu: lv2: Update to 1.14.0.
>   gnu: Add ingen.
>
>  gnu/packages/audio.scm | 109 
> +++--
>  gnu/packages/gtk.scm   |  19 +
>  2 files changed, 124 insertions(+), 4 deletions(-)

I moved ingen from audio.scm to music.scm and pushed to master as
951581a2d6ff5681e55affadb7f3151e7ef51ffe.

-- 
Ricardo

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




[PATCH] gnu: Add Swedish Aspell dictionary

2016-12-04 Thread Christopher Andersson
From 9dc8524d7a874dd360dea642ac5956f6181266c8 Mon Sep 17 00:00:00 2001
From: Christopher Andersson 
Date: Sun, 4 Dec 2016 11:24:26 +0100
Subject: [PATCH] gnu: Add Swedish Aspell dictionary

* gnu/packages/aspell.scm (aspell-dict-sv): New variable.
---
 gnu/packages/aspell.scm | 9 +
 1 file changed, 9 insertions(+)

diff --git a/gnu/packages/aspell.scm b/gnu/packages/aspell.scm
index 04a9197..f392057 100644
--- a/gnu/packages/aspell.scm
+++ b/gnu/packages/aspell.scm
@@ -3,6 +3,7 @@
 ;;; Copyright © 2015, 2016 Alex Kost 
 ;;; Copyright © 2016 John Darrington 
 ;;; Copyright © 2016 Efraim Flashner 
+;;; Copyright © 2016 Christopher Andersson 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -163,3 +164,11 @@ dictionaries, including personal ones.")
  #:sha256
  (base32
   "13bhbghx5b8g0119g3wxd4n8mlf707y41vlf59irxjj0kynankfn")))
+
+(define-public aspell-dict-sv
+  (aspell-dictionary "sv" "Swedish"
+ #:version "0.51-0"
+ #:prefix "aspell-"
+ #:sha256
+ (base32
+  "02jwkjhr32kvyibnyzgx3smbnm576jwdzg3avdf6zxwckhy5fw4v")))
-- 
2.10.2



Re: [PATCH 0/2] Move image viewers to (gnu packages image-viewers).

2016-12-04 Thread Alex Kost
Marius Bakke (2016-12-02 11:59 +0100) wrote:

> Alex Kost  writes:
>
>> As discussed around here:
>> ,
>> these patches move image viewers to their module.  Also exiv2 is moved
>> to (gnu packages image).
>>
>> [PATCH 1/2] gnu: exiv2: Move to (gnu packages image).
>> [PATCH 2/2] gnu: Move image viewers to (gnu packages image-viewers).
>
> LGTM!

Thanks for looking!  Committed.

-- 
Alex



Time to build ‘staging’!

2016-12-04 Thread Ludovic Courtès
Hi Guix!

It’s time to merge master into staging and build it!

Leo, Marius: thoughts?  Since you’re the one who did most of the work
there, I suggest that you do this (Leo has access to Hydra).

TIA!  :-)

Ludo’.



Re: [PATCH] system: Remove spec->file-system.

2016-12-04 Thread Ludovic Courtès
David Craven  skribis:

> * gnu/system/file-systems.scm (spec->file-system): Remove variable.
> * gnu/system/linux-container.scm (container-script): Refactor.

[...]

> --- a/gnu/system/linux-container.scm
> +++ b/gnu/system/linux-container.scm
> @@ -81,8 +81,7 @@ MAPPINGS is a list of  objects that specify 
> the files/directories
>  that will be shared with the host system."
>(let* ((os   (containerized-operating-system os mappings))
>   (file-systems (filter file-system-needed-for-boot?
> -   (operating-system-file-systems os)))
> - (specs(map file-system->spec file-systems)))
> +   (operating-system-file-systems os
>  
>  (mlet* %store-monad ((os-drv (operating-system-derivation
>os
> @@ -94,10 +93,9 @@ that will be shared with the host system."
>(gnu build linux-container)))
>#~(begin
>(use-modules (gnu build linux-container)
> -   (gnu system file-systems) ;spec->file-system
> (guix build utils))
>  
> -  (call-with-container (map spec->file-system '#$specs)
> +  (call-with-container #$file-systems

AFAICS that doesn’t work because  and records in general
are not automatically marshalled/unmarshalled when staging code.  Thus,
the above would leave to an invalid on-disk s-expression like this:

  (begin
(use-modules …)
(call-with-container (#< …> #< …>)
  …))

Manually calling ‘file-system->spec’ on the host side, and then
‘spec->file-system’ on the build side is a way to explicitly
marshall/unmarshall the record (I mentioned it as a current limitation
of gexps in my Scheme Workshop talk).

Makes sense?

Thanks,
Ludo’.



Re: [PATCH] system: Remove spec->file-system.

2016-12-04 Thread David Craven
Hi Ludo,

Ah yes, that makes sense. Thank you for explaining. I think I'm
understanding the general design pattern better:

Build side code that uses a record from gnu/system is a gexp in
gnu/system. This gexp is passed to a function in gnu/build so that
gnu/build itself doesn't need to import gnu/system and can avoid
recursive imports.

David



Re: [PATCH 3/4] gnu: Add barrnap.

2016-12-04 Thread Ricardo Wurmus

Marius Bakke  writes:

> Ben Woodcroft  writes:
>
>> * gnu/packages/bioinformatics.scm (barrnap): New variable.

[…]

>> +16S) and eukaryotes (5S, 5.8S, 28S, 18S).  It takes FASTA DNA sequence as 
>> input,
>> +and write GFF3 as output.  It uses the NHMMER tool that comes with HMMER for
>> +HMM searching in RNA:DNA style.")
>> +   (license (list license:gpl3
>> +  ;; The Rfam HMMs are under cc0, and the SILVA-derived 
>> HMMs are
>> +  ;; academic-only.
>
> I don't think we can package the SILVA files. They are very much
> non-free according to the license text:

You’re right!  Ben, could you delete them from the package in a snippet?

-- 
Ricardo

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




Re: Time to build ‘staging’!

2016-12-04 Thread Marius Bakke
Ludovic Courtès  writes:

> Hi Guix!
>
> It’s time to merge master into staging and build it!
>
> Leo, Marius: thoughts?  Since you’re the one who did most of the work
> there, I suggest that you do this (Leo has access to Hydra).

I just did a master merge and picked the mupdf update. I think it's good
to go! :-)


signature.asc
Description: PGP signature


Staging (was [PATCH] gnu: mesa: Update to 13.0.1.)

2016-12-04 Thread Leo Famulari
On Sun, Dec 04, 2016 at 11:17:12AM +0100, Ricardo Wurmus wrote:
> 
> Marius Bakke  writes:
> 
> > Pushed to staging anyway!
> 
> Just a note: the original plan was to freeze staging on November 30 and
> merge on December 7 (Wednesday).  I think it’s time to actually freeze
> staging now.

Is there a reason to wait? Or should we start evaluating staging on
Hydra today?



Re: [PATCH] gnu: python-flask: Make python-click a propagated-input.

2016-12-04 Thread Marius Bakke
Danny Milosavljevic  writes:

> * gnu/packages/python.scm (python-click)[native-inputs]: Move to ...
>   [propagated-inputs]: ... here.
> ---
>  gnu/packages/python.scm | 5 ++---
>  1 file changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
> index 8f8b0de72..9c3902c3e 100644
> --- a/gnu/packages/python.scm
> +++ b/gnu/packages/python.scm
> @@ -9153,9 +9153,8 @@ useful for solving the Assignment Problem.")
>  (propagated-inputs
>   `(("python-itsdangerous" ,python-itsdangerous)
> ("python-jinja2" ,python-jinja2)
> -   ("python-werkzeug" ,python-werkzeug)))
> -(native-inputs
> - `(("python-click" ,python-click)))
> +   ("python-werkzeug" ,python-werkzeug)
> +   ("python-click" ,python-click)))

The commit message and diff is contradictory :) Did you mean to make
python-werkzeug a native-input?


signature.asc
Description: PGP signature


Re: Time to build ‘staging’!

2016-12-04 Thread Leo Famulari
On Sun, Dec 04, 2016 at 05:43:36PM +0100, Marius Bakke wrote:
> Ludovic Courtès  writes:
> 
> > Hi Guix!
> >
> > It’s time to merge master into staging and build it!
> >
> > Leo, Marius: thoughts?  Since you’re the one who did most of the work
> > there, I suggest that you do this (Leo has access to Hydra).
> 
> I just did a master merge and picked the mupdf update. I think it's good
> to go! :-)

I've created a staging jobset and asked Hydra to evaluate it:

https://hydra.gnu.org/jobset/gnu/staging

Thanks everyone!


signature.asc
Description: PGP signature


Add a pastebin client to the next guixsd image release

2016-12-04 Thread ng0
I think the next release image for GuixSD should include
wgetpaste as a tool. This would make it possible for people who
are stuck in the image and who are doing the installation, to
paste the config.scm or any other command output.

Are there any security concerns, or is this something we can do?
If the majority should be against it, another option I can think
of is that we add it to the documentation as a general suggestion
to search for "pastebin" with "guix package -s pastebin" and
install one of the available pastebin clients (there'll be more
than one at some point).
-- 
♥Ⓐ  ng0  | ng0.chaosnet.org



Re: [PATCH] gnu: Add Swedish Aspell dictionary

2016-12-04 Thread Marius Bakke
Christopher Andersson  writes:

> From 9dc8524d7a874dd360dea642ac5956f6181266c8 Mon Sep 17 00:00:00 2001
> From: Christopher Andersson 
> Date: Sun, 4 Dec 2016 11:24:26 +0100
> Subject: [PATCH] gnu: Add Swedish Aspell dictionary
>
> * gnu/packages/aspell.scm (aspell-dict-sv): New variable.
> ---
>  gnu/packages/aspell.scm | 9 +
>  1 file changed, 9 insertions(+)

Thanks, applied!


signature.asc
Description: PGP signature


[PATCH] gnu: Add qmidiarp.

2016-12-04 Thread Ricardo Wurmus
* gnu/packages/music.scm (qmidiarp): New variable.
---
 gnu/packages/music.scm | 32 
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index dc8c54e..f748b57 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -2639,6 +2639,38 @@ plugin on any system where Ingen is installed.  This 
allows users to visually
 develop custom plugins for use in other applications without programming.")
   (license license:agpl3+
 
+(define-public qmidiarp
+  (package
+(name "qmidiarp")
+(version "0.6.4")
+(source (origin
+  (method url-fetch)
+  (uri (string-append "mirror://sourceforge/qmidiarp/qmidiarp/"
+  version "/qmidiarp-" version ".tar.bz2"))
+  (sha256
+   (base32
+"1gkfv8ajgf86kbn6j5ilfc1zlz17gdi9yxzywqd6jwff4xlm75hx"
+(build-system gnu-build-system)
+(arguments
+ `(#:configure-flags
+   (list "--enable-qt5"
+ "CXXFLAGS=-std=gnu++11")))
+(inputs
+ `(("qtbase" ,qtbase)
+   ("alsa-lib" ,alsa-lib)
+   ("jack" ,jack-1)
+   ("liblo" ,liblo)
+   ("lv2" ,lv2)))
+(native-inputs
+ `(("pkg-config" ,pkg-config)
+   ("qttools" ,qttools)))
+(home-page "http://qmidiarp.sourceforge.net/";)
+(synopsis "MIDI arpeggiator")
+(description "QMidiArp is an advanced MIDI arpeggiator, programmable step
+sequencer and LFO.  It can hold any number of arpeggiator, sequencer, or LFO
+modules running in parallel.")
+(license license:gpl2+)))
+
 (define-public python-discogs-client
   (package
 (name "python-discogs-client")
-- 
2.10.2





Re: [PATCH] gnu: Add qmidiarp.

2016-12-04 Thread Leo Famulari
On Sun, Dec 04, 2016 at 07:38:08PM +0100, Ricardo Wurmus wrote:
> * gnu/packages/music.scm (qmidiarp): New variable.

> +(description "QMidiArp is an advanced MIDI arpeggiator, programmable step
> +sequencer and LFO.  It can hold any number of arpeggiator, sequencer, or LFO
> +modules running in parallel.")

AWESOME :)

LGTM



How to deal with UTF-8 filenames?

2016-12-04 Thread Marius Bakke
Hello Guix,

I'm trying to package the Norwegian Bokmål Aspell dictionary, which
contains a 'bokmål.alias' in the source archive. This causes 'readdir'
to throw a decoding-error. Here is the backtrace:

phase `unpack' succeeded after 0.1 seconds
starting phase `patch-usr-bin-file'
Backtrace:
In ice-9/boot-9.scm:
 160: 15 [catch #t # ...]
In unknown file:
   ?: 14 [apply-smob/1 #]
In ice-9/boot-9.scm:
  66: 13 [call-with-prompt prompt0 ...]
In ice-9/eval.scm:
 432: 12 [eval # #]
In ice-9/boot-9.scm:
2404: 11 [save-module-excursion #]
4056: 10 [#]
1727: 9 [%start-stack load-stack #]
1732: 8 [#]
In unknown file:
   ?: 7 [primitive-load 
"/gnu/store/2f1ikq718l8q0lz7y771m503vdwjf2q9-aspell-dict-nb-0.50.1-0-guile-builder"]
In ice-9/eval.scm:
 387: 6 [eval # ()]
In srfi/srfi-1.scm:
 827: 5 [every1 # ...]
In 
/gnu/store/ciqw5z470c8ihl1kfswj1j3ix6hs092d-module-import/guix/build/gnu-build-system.scm:
 627: 4 [# #]
 166: 3 [patch-usr-bin-file #:native-inputs #f ...]
In 
/gnu/store/ciqw5z470c8ihl1kfswj1j3ix6hs092d-module-import/guix/build/utils.scm:
 336: 2 [find-files "." "^configure$" ...]
In ice-9/ftw.scm:
 481: 1 [loop "." "" ...]
In unknown file:
   ?: 0 [readdir #]

ERROR: In procedure readdir:
ERROR: Throw to key `decoding-error' with args `("scm_from_stringn" "input 
locale conversion error" 84 #vu8(98 111 107 109 229 108 46 97 108 105 97 115))'.
builder for 
`/gnu/store/fnhnrmshycf6qgfv6b9xsil3ppvracad-aspell-dict-nb-0.50.1-0.drv' 
failed with exit code 1
cannot build derivation 
`/gnu/store/419306s2mf3300906ikk39vjy0bqqs64-profile.drv': 1 dependencies 
couldn't be built

This also happens in the 'patch-source-shebangs' phase which is
necessary for the 'configure' script to work.

Any suggestions for how to deal with this?

Patch attached.



signature.asc
Description: PGP signature
>From 6e6dd7144eecf9c04ba47c4a49207f17181259be Mon Sep 17 00:00:00 2001
From: Marius Bakke 
Date: Sun, 4 Dec 2016 19:56:20 +0100
Subject: [PATCH] =?UTF-8?q?gnu:=20Add=20Norwegian=20Bokm=C3=A5l=20Aspell?=
 =?UTF-8?q?=20dictionary.?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

* gnu/packages/aspell.scm (aspell-dict-nb): New variable.
---
 gnu/packages/aspell.scm | 9 +
 1 file changed, 9 insertions(+)

diff --git a/gnu/packages/aspell.scm b/gnu/packages/aspell.scm
index d27e8090b..396e89b2c 100644
--- a/gnu/packages/aspell.scm
+++ b/gnu/packages/aspell.scm
@@ -4,6 +4,7 @@
 ;;; Copyright © 2016 John Darrington 
 ;;; Copyright © 2016 Efraim Flashner 
 ;;; Copyright © 2016 Christopher Andersson 
+;;; Copyright © 2016 Marius Bakke 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -150,6 +151,14 @@ dictionaries, including personal ones.")
  (base32
   "1gdf7bc1a0kmxsmphdqq8pl01h667mjsj6hihy6kqy14k5qdq69v")))
 
+(define-public aspell-dict-nb
+  (aspell-dictionary "nb" "Norwegian Bokmål"
+ #:version "0.50.1-0"
+ #:prefix "aspell-"
+ #:sha256
+ (base32
+  "12i2bmgdnlkzfinb20j2a0j4a20q91a9j8qpq5vgabbvc65nwx77")))
+
 (define-public aspell-dict-nl
   (aspell-dictionary "nl" "Dutch"
  #:version "0.50-2"
-- 
2.11.0



Re: Preparing mass-packaging of 338 KDE application - how to do?

2016-12-04 Thread Hartmut Goebel
Hi,

the number of packages increased to 338(!).

The first list of 170 contained "only" the applications listed at
http://kde.org/applications. In addition there are ca. 90 packages in
download.kde.org/stable/applications and another ca. 90 in
download.kde.org/stable/ which are not listed at
http://kde.org/applications. Among these are important things like
plasma (which AFAIK is the desktop).

Given this huge number of package, we should agree on
a) into which .scm we want to split then
b) a proceeding.
c) volunteers

a) into which .scm we want to split then

The packages in my list have categories like Development, Education,
Office, Plasma, System, mostly following the categories in
http://kde.org/applications (plus one or two I created).

Guix already has kde.scm, containing a few "unsorted" packages, not even
listed are kde.org/applications. So using a file "kde-application.scm"
would not give a major benefit compared to using "kde.scm" IMHO. (The
framework is in kde-framework.scm already).

Another idea (which I'd prefer) is to put the packages into files
following the categories above, e.g. "kde-development.scm",
"kde-edu.scm", etc. It's up to the packager to select where to put the
"unlisted" stuff.

b) proceeding

I first had the idea to avoid flooding guix-commit with 340 messages by
pushing *one* commit to "wip-kde-applications". Whoever is working on a
package would copy-and-pastes the relevant part from this branch into
his/her working-copy. But when rethinking this, this is to complicated
and may distract people from working on packages.

So I'd follow iyzsong's suggestion and prepare 340 commits for
wip-kde-applications, where others can cherry-pick from and amending
with "git commit --amend --reset-author" (or using git gui). The commits
I prepare would already contain an appropriate draft message.

Additionally I'd putt a lot of information into each package, e.g.
typical URLs where to look for updates, etc.

c) Volunteers
> Regarding synopses and descriptions, please make sure those that are
> imported are generally in line with what we do (most likely they are).
>
> Congrats on the mass import!  :-)

Thanks for the congrats, but I'm only preparing the stuff. I'm not going
to import all these packages :-)

Does anybody have contact to KDE, KDE developers or Debian maintainers
we can ask for supporting our efforts? Esp. for the desktop services it
would be great if somebody already knowing the software could assist.
May we (Ludo?) could ask the KDE e.V. for assistance?

How does this sound? Comments are welcome!

-- 
Regards
Hartmut Goebel

| Hartmut Goebel  | h.goe...@crazy-compilers.com   |
| www.crazy-compilers.com | compilers which you thought are impossible |




Re: [PATCH v2 4/4] gnu: python2-flask: Pick up python-flask's native-inputs.

2016-12-04 Thread Hartmut Goebel
Am 03.12.2016 um 21:38 schrieb Efraim Flashner:
> > +  (native-inputs `(("python2-setuptools" ,python2-setuptools)
> > +   ,@(package-native-inputs base))
> >  

There is no need for adding setuptools here. It is now included in our
base python installation, even for Python 2. There is no need for adding
it here.

guix lint should tell you so :-)

-- 
Regards
Hartmut Goebel

| Hartmut Goebel  | h.goe...@crazy-compilers.com   |
| www.crazy-compilers.com | compilers which you thought are impossible |





New Danish PO file for 'guix' (version 0.11.0)

2016-12-04 Thread Translation Project Robot
Hello, gentle maintainer.

This is a message from the Translation Project robot.

A revised PO file for textual domain 'guix' has been submitted
by the Danish team of translators.  The file is available at:

http://translationproject.org/latest/guix/da.po

(We can arrange things so that in the future such files are automatically
e-mailed to you when they arrive.  Ask at the address below if you want this.)

All other PO files for your package are available in:

http://translationproject.org/latest/guix/

Please consider including all of these in your next release, whether
official or a pretest.

Whenever you have a new distribution with a new version number ready,
containing a newer POT file, please send the URL of that distribution
tarball to the address below.  The tarball may be just a pretest or a
snapshot, it does not even have to compile.  It is just used by the
translators when they need some extra translation context.

The following HTML page has been updated:

http://translationproject.org/domain/guix.html

If any question arises, please contact the translation coordinator.

Thank you for all your work,

The Translation Project robot, in the
name of your translation coordinator.





New Danish PO file for 'guix-packages' (version 0.11.0)

2016-12-04 Thread Translation Project Robot
Hello, gentle maintainer.

This is a message from the Translation Project robot.

A revised PO file for textual domain 'guix-packages' has been submitted
by the Danish team of translators.  The file is available at:

http://translationproject.org/latest/guix-packages/da.po

(We can arrange things so that in the future such files are automatically
e-mailed to you when they arrive.  Ask at the address below if you want this.)

All other PO files for your package are available in:

http://translationproject.org/latest/guix-packages/

Please consider including all of these in your next release, whether
official or a pretest.

Whenever you have a new distribution with a new version number ready,
containing a newer POT file, please send the URL of that distribution
tarball to the address below.  The tarball may be just a pretest or a
snapshot, it does not even have to compile.  It is just used by the
translators when they need some extra translation context.

The following HTML page has been updated:

http://translationproject.org/domain/guix-packages.html

If any question arises, please contact the translation coordinator.

Thank you for all your work,

The Translation Project robot, in the
name of your translation coordinator.





Re: Preparing mass-packaging of 338 KDE application - how to do?

2016-12-04 Thread Efraim Flashner
On Sun, Dec 04, 2016 at 08:59:24PM +0100, Hartmut Goebel wrote:
> Hi,
> 
> the number of packages increased to 338(!).
> 
> The first list of 170 contained "only" the applications listed at
> http://kde.org/applications. In addition there are ca. 90 packages in
> download.kde.org/stable/applications and another ca. 90 in
> download.kde.org/stable/ which are not listed at
> http://kde.org/applications. Among these are important things like
> plasma (which AFAIK is the desktop).
> 
> Given this huge number of package, we should agree on
> a) into which .scm we want to split then
> b) a proceeding.
> c) volunteers
> 
> a) into which .scm we want to split then
> 
> The packages in my list have categories like Development, Education,
> Office, Plasma, System, mostly following the categories in
> http://kde.org/applications (plus one or two I created).
> 
> Guix already has kde.scm, containing a few "unsorted" packages, not even
> listed are kde.org/applications. So using a file "kde-application.scm"
> would not give a major benefit compared to using "kde.scm" IMHO. (The
> framework is in kde-framework.scm already).
> 
> Another idea (which I'd prefer) is to put the packages into files
> following the categories above, e.g. "kde-development.scm",
> "kde-edu.scm", etc. It's up to the packager to select where to put the
> "unlisted" stuff.

I have no preferences

> 
> b) proceeding
> 
> I first had the idea to avoid flooding guix-commit with 340 messages by
> pushing *one* commit to "wip-kde-applications". Whoever is working on a
> package would copy-and-pastes the relevant part from this branch into
> his/her working-copy. But when rethinking this, this is to complicated
> and may distract people from working on packages.
> 
> So I'd follow iyzsong's suggestion and prepare 340 commits for
> wip-kde-applications, where others can cherry-pick from and amending
> with "git commit --amend --reset-author" (or using git gui). The commits
> I prepare would already contain an appropriate draft message.
> 
> Additionally I'd putt a lot of information into each package, e.g.
> typical URLs where to look for updates, etc.

This sounds like a good idea

> 
> c) Volunteers
> > Regarding synopses and descriptions, please make sure those that are
> > imported are generally in line with what we do (most likely they are).
> >
> > Congrats on the mass import!  :-)
> 
> Thanks for the congrats, but I'm only preparing the stuff. I'm not going
> to import all these packages :-)
> 
> Does anybody have contact to KDE, KDE developers or Debian maintainers
> we can ask for supporting our efforts? Esp. for the desktop services it
> would be great if somebody already knowing the software could assist.
> May we (Ludo?) could ask the KDE e.V. for assistance?

Back in March KDE started an outreach program to help distributions in
their KDE packaging efforts.
https://dot.kde.org/2016/03/03/announcing-kde-communitys-distribution-outreach-program

> 
> How does this sound? Comments are welcome!
> 
> -- 
> Regards
> Hartmut Goebel
> 
> | Hartmut Goebel  | h.goe...@crazy-compilers.com   |
> | www.crazy-compilers.com | compilers which you thought are impossible |
> 
> 

-- 
Efraim Flashner  אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted


signature.asc
Description: PGP signature


Re: New Danish PO file for 'guix' (version 0.11.0)

2016-12-04 Thread Marius Bakke
Translation Project Robot  writes:

> Hello, gentle maintainer.
>
> This is a message from the Translation Project robot.
>
> A revised PO file for textual domain 'guix' has been submitted
> by the Danish team of translators.  The file is available at:
>
> http://translationproject.org/latest/guix/da.po
>
> (We can arrange things so that in the future such files are automatically
> e-mailed to you when they arrive.  Ask at the address below if you want this.)
>
> All other PO files for your package are available in:
>
> http://translationproject.org/latest/guix/
>
> Please consider including all of these in your next release, whether
> official or a pretest.
>
> Whenever you have a new distribution with a new version number ready,
> containing a newer POT file, please send the URL of that distribution
> tarball to the address below.  The tarball may be just a pretest or a
> snapshot, it does not even have to compile.  It is just used by the
> translators when they need some extra translation context.
>
> The following HTML page has been updated:
>
> http://translationproject.org/domain/guix.html
>
> If any question arises, please contact the translation coordinator.
>
> Thank you for all your work,
>
> The Translation Project robot, in the
> name of your translation coordinator.
> 

Tak, applied as 2f1b17b2371f3cd843fcee1068d543437e8d61af!


signature.asc
Description: PGP signature


Re: New Danish PO file for 'guix-packages' (version 0.11.0)

2016-12-04 Thread Marius Bakke
Translation Project Robot  writes:

> Hello, gentle maintainer.
>
> This is a message from the Translation Project robot.
>
> A revised PO file for textual domain 'guix-packages' has been submitted
> by the Danish team of translators.  The file is available at:
>
> http://translationproject.org/latest/guix-packages/da.po
>
> (We can arrange things so that in the future such files are automatically
> e-mailed to you when they arrive.  Ask at the address below if you want this.)
>
> All other PO files for your package are available in:
>
> http://translationproject.org/latest/guix-packages/
>
> Please consider including all of these in your next release, whether
> official or a pretest.
>
> Whenever you have a new distribution with a new version number ready,
> containing a newer POT file, please send the URL of that distribution
> tarball to the address below.  The tarball may be just a pretest or a
> snapshot, it does not even have to compile.  It is just used by the
> translators when they need some extra translation context.
>
> The following HTML page has been updated:
>
> http://translationproject.org/domain/guix-packages.html
>
> If any question arises, please contact the translation coordinator.
>
> Thank you for all your work,
>
> The Translation Project robot, in the
> name of your translation coordinator.
> 

Applied as 58786f55e52a08f6f7b66c8578ec99c8840e5311, tak!


signature.asc
Description: PGP signature


Re: [PATCH] Generate multiple paginated packages pages.

2016-12-04 Thread Ludovic Courtès
Alex Sassmannshausen  skribis:

> * website/www.scm (%web-pages): Add code for generating our packages
>   pages.
> * website/www/packages.scm (packages-by-grouping): New procedure.
>   (paginated-packages-page): New procedure.
>   (packages-page): Tweak for use by `paginated-packages-page` as well as
>   standalone.
> * website/static/base/css/packages.css (li.package-index-link): Add
>   styling.

Sure, please push!

I thought we had agreed on that one already, but now I see this message
as unread in my inbox.  Go figure!

Thank you Alex!

Ludo’.



Re: Staging (was [PATCH] gnu: mesa: Update to 13.0.1.)

2016-12-04 Thread Ludovic Courtès
Leo Famulari  skribis:

> On Sun, Dec 04, 2016 at 11:17:12AM +0100, Ricardo Wurmus wrote:
>> 
>> Marius Bakke  writes:
>> 
>> > Pushed to staging anyway!
>> 
>> Just a note: the original plan was to freeze staging on November 30 and
>> merge on December 7 (Wednesday).  I think it’s time to actually freeze
>> staging now.
>
> Is there a reason to wait? Or should we start evaluating staging on
> Hydra today?

No there’s no reason to wait indeed!  (I emailed you later today on this
topic.  :-))

Ludo’.



Re: RFH: Add prosody service

2016-12-04 Thread Ludovic Courtès
Hello Clément,

Clément Lassieur  skribis:

>>> B. Common settings should have a default value in prosody-configuration,
>>>and be disabled by default in the list of virtualhost-configurations.
>>
>> Oh, I see.
>>
>>> I found two ways to solve this:
>>>
>>> 1. One uses "eval" to transform the input of "define-configuration" into
>>>a list that I can build from other lists.
>>>
>>> 2. The other uses a macro that takes define-configuration's input, plus
>>>a tag (called target) describing whether it's a global, common, or
>>>virtualhost specific field.  Then the macro calls
>>>define-configuration many times, each time with a subset of the
>>>original input, filtered with a specific tag ("global",
>>>"virtualhost") plus the "common" tag.
>>>(Its name is define-all-configurations.)
>>
>> I think you could always write a ‘define-common-configurations’ macro on
>> top of ‘define-configuration’ that would let you specify two default
>> values: one for the global context, and one for the virtual-host
>> contexts.  (Thus, no need for ‘eval’: the code is generated at macro
>> expansion time.)
>>
>> Would that work?
>
> That's kind of what I did here:
> http://lists.gnu.org/archive/html/guix-devel/2016-11/msg01075.html
>
> The macro 'define-all-configurations' defines two default values: one
> for the global context (def) and one for the virtual-host context
> ('disabled).
>
> (The macro I did also changes the doc and the type, depending on whether
> it's a virtualhost or not.)

Sounds good.

>> It would allow you to avoid repeating field definitions, but you’d end
>> up with two almost identical record types that are completely disjoint
>> (no inheritance in particular.)  This may or may not be desirable.
>>
>> For record type inheritance, we’d need SRFI-99 or something equivalent.
>
> Which is not implemented by Guile, is it?

No, though maybe the reference implementation just works.  Alternate,
SRFI-35 and (rnrs records), both available in Guile, support
inheritance.

> So is what I did desirable?  Or maybe should we wait until we have
> something similar to SRFI-99, and use opaque-prosody-configuration only?

What you did looks good.  Whether proper inheritance should be prefer
over the purely syntactic approach you took is something I can’t answer;
I guess it depends on the semantics and expected use of those data
structures.

So if it sounds good to you, we can certainly start with the patch you
have (minus duplication with (gnu services configuration).)

WDYT?

>> So you could define a ‘maybe-string’ type, say, with an associated
>> serializer.
>>
>> How does that sound?
>
> That's also what I did here:
> http://lists.gnu.org/archive/html/guix-devel/2016-11/msg01075.html

Perfect.  :-)

Sorry for the delay, I admit I got lost in the discussion, my bad!

Thanks,
Ludo’.



Re: [PATCH] gnu: file-system-shepherd-service: Use mount-file-system.

2016-12-04 Thread Ludovic Courtès
John Darrington  skribis:

> On Wed, Nov 30, 2016 at 01:51:23PM +0100, Ludovic Court??s wrote:
>  John Darrington  skribis:
>  
>  > * gnu/services/base.scm (file-system-shepherd-service): Use 
> mount-file-system
>  > instead of manually mounting the file system.
>  
>  [...]
>  
>  > + #$(if create?
>  > +   #~(mkdir-p #$target)
>  > +   #~#t)
>  
>  #~#t is equivalent to #t.
>  
>  > + (mount-file-system
>  > +  `(#$device #$title #$target #$type #$flags 
> #$options
>  > + #$check?) #:root "/")
>  > #t))
>  
>  #t must be align with the parent of ???(mount-file-system???.
>  
>  If you confirmed that at least ???make check-system TESTS=basic??? 
> passes,
>  fine with me.
>  
>
> Perhaps somebody who already has a copy of qemu in their store could check 
> that
> for me?

hydra.gnu.org has a copy.  :-)

Anyway, thanks for pushing this!

Ludo’.



Re: [PATCH] gnu: Patch libxt's default search path.

2016-12-04 Thread Ludovic Courtès
John Darrington  skribis:

> * gnu/packages/patches/libxt-guix-search-paths.patch: New file.
> * gnu/packages/xorg.scm (libxt) [source]: Add patch.
> ---
>  gnu/packages/patches/libxt-guix-search-paths.patch | 123 
> +
>  gnu/packages/xorg.scm  |   3 +-
>  2 files changed, 125 insertions(+), 1 deletion(-)
>  create mode 100644 gnu/packages/patches/libxt-guix-search-paths.patch
>
> diff --git a/gnu/packages/patches/libxt-guix-search-paths.patch 
> b/gnu/packages/patches/libxt-guix-search-paths.patch
> new file mode 100644
> index 000..dfeea8a
> --- /dev/null
> +++ b/gnu/packages/patches/libxt-guix-search-paths.patch
> @@ -0,0 +1,123 @@

Please add a comment here explaining what it does and why we chose this
approach.

> + {
> +-#if defined(WIN32)
> +-static char xfilesearchpath[] = "";
> +-
> +-return xfilesearchpath;
> +-#else
> +-return XFILESEARCHPATHDEFAULT;
> +-#endif
> ++  static const char *search_path_default_stem[6] = {

static const char *const *search_path_default_stem[]

> ++"/lib/X11/%L/%T/%N%C%S",
> ++"/lib/X11/%l/%T/%N%C%S",
> ++"/lib/X11/%T/%N%C%S",
> ++"/lib/X11/%L/%T/%N%S",
> ++"/lib/X11/%l/%T/%N%S",
> ++"/lib/X11/%T/%N%S"
> ++  };
> ++
> ++#define SIZEOF_STEMS  (strlen (search_path_default_stem[0]) \
> ++   + strlen (search_path_default_stem[1])   \
> ++   + strlen (search_path_default_stem[2])   \
> ++   + strlen (search_path_default_stem[3])   \
> ++   + strlen (search_path_default_stem[4])   \
> ++   + strlen (search_path_default_stem[5]))
> ++
> ++
> ++  int i;
> ++  const char *current_profile = "/run/current-system/profile";
> ++  char *home = getenv ("HOME");
> ++  char *guix_profile = getenv ("GUIX_PROFILE");

GUIX_PROFILE is not meant to be systematically defined, but maybe that’s
good enough.

Could you build, say, xterm against this, check whether this fixes the
ctrl-click issue for instance, and also run it in Valgrind to make sure?

If that works, ok for core-updates or the next ‘staging’ since ‘staging’
is now frozen.

Thanks,
Ludo’.



Re: [PATCH] Add libtermkey, vis and lua-lpeg packages

2016-12-04 Thread Ludovic Courtès
Hello, and welcome!

Thanks for sharing patches!  They are almost ready to be applied, I’ll
just point out a few issues.  You can look at

for more info.

jm...@openmailbox.org skribis:

> From 792a9ff128f397bcf9eac1f113e84ebe29f2eb2f Mon Sep 17 00:00:00 2001
> From: =?UTF-8?q?Jos=C3=A9=20Miguel=20S=C3=A1nchez=20Garc=C3=ADa?=
>  
> Date: Fri, 2 Dec 2016 23:39:08 +0100
> Subject: [PATCH] Add vis, libtermkey and lua-lpeg packages

As noted in the page above, we use “GNU ChangeLog” style for commit
logs.  You can see examples in ‘git log’.

> ---
>  gnu/packages/libtermkey.scm | 36 
>  gnu/packages/lua-lpeg.scm   | 33 +
>  gnu/packages/vis.scm| 37 +

Please make one patch per package.

> +++ b/gnu/packages/libtermkey.scm
> @@ -0,0 +1,36 @@
> +(define-module (gnu packages libtermkey)

Could you add the license header (as in the other files) with a
copyright line for yourself?

> +(description (string-append
> +  "Libtermkey handles all the necessary logic to recognise special keys, 
> "
> +  "UTF-8 combining, and so on, with a simple interface."))

Please use a literal string instead of ‘string-append’.  That way the
description will be picked up for translation.

Also, if you haven’t done already, make sure to run ‘guix lint’ for
these packages.  It’s usually a good way to catch tiny issues.

Could you send updated patches?  If minor problems remain we can fix
them for you if you want.

Thank you!

Ludo’.



GNU Shepherd 0.3.2 released

2016-12-04 Thread Ludovic Courtès
We are pleased to announce the GNU Shepherd version 0.3.2, a bug-fix
release.


• About

  The GNU Daemon Shepherd or GNU Shepherd is a service manager written
  in Guile that looks after the herd of system services.  It provides a
  replacement for the service-managing capabilities of SysV-init (or any
  other init) with a dependency-based system with a convenient
  interface.  The GNU Shepherd may also be used by unprivileged users to
  manage per-user daemons (e.g., tor, privoxy, mcron, etc.)  It is
  written in Guile Scheme, and is configured and extended using Guile.

  The GNU Shepherd is developed jointly with the GNU Guix project; it is
  used as the init system of GuixSD, GNU’s advanced GNU/Linux distribution.

  Before this release, the GNU Shepherd was known as GNU dmd, the
  daemon-managing daemon.

  https://www.gnu.org/software/shepherd/


• Download

  Here are the compressed sources and a GPG detached signature[*]:
ftp://alpha.gnu.org/gnu/shepherd/shepherd-0.3.2.tar.gz
ftp://alpha.gnu.org/gnu/shepherd/shepherd-0.3.2.tar.gz.sig

  Use a mirror for higher download bandwidth:
http://www.gnu.org/order/ftp.html

  Here are the MD5 and SHA1 checksums:

  03d168697d9676145e57c28728ca1316  shepherd-0.3.2.tar.gz
  fc3a8a0b5a3b208b45470e222809c31277f9df73  shepherd-0.3.2.tar.gz

  [*] Use a .sig file to verify that the corresponding file (without the
  .sig suffix) is intact.  First, be sure to download both the .sig file
  and the corresponding tarball.  Then, run a command like this:

gpg --verify shepherd-0.3.2.tar.gz.sig

  If that command fails because you don't have the required public key,
  then run this command to import it:

gpg --keyserver keys.gnupg.net --recv-keys 
3CE464558A84FDC69DB40CFB090B11993D9AEBB5

  and rerun the 'gpg --verify' command.

  This release was bootstrapped with the following tools:
Autoconf 2.69
Automake 1.15
Makeinfo 6.3
Help2man 1.47.4


• Changes since version 0.3.1 (excerpt from the NEWS file)

  ** ‘herd status’ displays a bullet list
  ** No longer crash when ‘enable’ & co. are passed a wrong argument number
 ()
  ** ‘make-forkexec-constructor’ has a new #:pid-file-timeout parameter
  ** Processes that failed to create their PID file are now killed
  ** .go files are now installed in LIBDIR/guile/2.X/site-ccache
  ** Build system supports compilation with Guile 2.2

Please report bugs to bug-g...@gnu.org.
Join guix-devel@gnu.org and gnu-system-disc...@gnu.org for discussions.

Ludovic.


signature.asc
Description: PGP signature


Re: [PATCH] gnu: Add qmidiarp.

2016-12-04 Thread Ricardo Wurmus

Leo Famulari  writes:

> On Sun, Dec 04, 2016 at 07:38:08PM +0100, Ricardo Wurmus wrote:
>> * gnu/packages/music.scm (qmidiarp): New variable.
>
>> +(description "QMidiArp is an advanced MIDI arpeggiator, programmable 
>> step
>> +sequencer and LFO.  It can hold any number of arpeggiator, sequencer, or LFO
>> +modules running in parallel.")
>
> AWESOME :)
>
> LGTM

Pushed to master as b3410b44b267b2164be1914a172b82e2a9144dbb.
Have fun!

-- 
Ricardo

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




[PATCH 1/2] gnu: xcb-util-cursor: Propagate dependencies from 'xcb-cursor.pc'.

2016-12-04 Thread Leo Famulari
* gnu/packages/xorg.scm (xcb-util-cursor)[inputs]: Move xcb-util-renderutil and
xcb-util-image to ...
[propagated-inputs]: ... here.
---
 gnu/packages/xorg.scm | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm
index 18271b5ed..fc721cafb 100644
--- a/gnu/packages/xorg.scm
+++ b/gnu/packages/xorg.scm
@@ -5408,8 +5408,9 @@ The XCB util module provides the following libraries:
  `(("m4" ,m4)
("pkg-config" ,pkg-config)))
 (inputs
- `(("libxcb" ,libxcb)
-   ("xcb-util-renderutil" ,xcb-util-renderutil)
+ `(("libxcb" ,libxcb)))
+(propagated-inputs
+ `(("xcb-util-renderutil" ,xcb-util-renderutil)
("xcb-util-image" ,xcb-util-image)))
 (home-page "https://cgit.freedesktop.org/xcb/util-cursor/";)
 (synopsis "Port of libxcursor")
-- 
2.11.0




[PATCH 0/2] i3 window manager update 4.13

2016-12-04 Thread Leo Famulari
These patches update i3 to the latest upstream version, 4.13.

The first seems necessary since xcb-util-cursor's pkg-config file
includes the propagated packages in its 'Requires.private' field. I
noticed this issue when the i3 build failed because these packages
weren't available.

i3 itself has switched from a hand-made build system to Autotools.

I haven't actually tested this package, since my GuixSD system is not
currently using a graphical interface.

Leo Famulari (2):
  gnu: xcb-util-cursor: Propagate dependences from 'xcb-cursor.pc'.
  gnu: i3-wm: Update to 4.13.

 gnu/packages/wm.scm   | 37 +
 gnu/packages/xorg.scm |  5 +++--
 2 files changed, 32 insertions(+), 10 deletions(-)

-- 
2.11.0




[PATCH 2/2] gnu: i3-wm: Update to 4.13.

2016-12-04 Thread Leo Famulari
* gnu/packages/wm.scm (i3-wm): Update to 4.13.
[arguments]: Pass '-std=c11' to #:make-flags. Provide path to XML_CATALOG_FILES.
Pass '--disable-builddir' to #:configure-flags. Re-enable the 'configure' phase
to adjust to new Autotools build system.
[inputs]: Add xcb-util-xrm.
[native-inputs]: Add docbook-xsl.
---
 gnu/packages/wm.scm | 40 
 1 file changed, 32 insertions(+), 8 deletions(-)

diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index 999f78927..46a8c3f87 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -162,27 +162,49 @@ commands would.")
 (define-public i3-wm
   (package
 (name "i3-wm")
-(version "4.12")
+(version "4.13")
 (source (origin
   (method url-fetch)
   (uri (string-append "https://i3wm.org/downloads/i3-";
   version ".tar.bz2"))
   (sha256
(base32
-"1d3q3lgpjbkmcwzjhp0dfr0jq847silcfg087slcnj95ikh1r7p1"
+"12ngz32swh9n85xy0cz1lq16aqi9ys5hq19v589q9a97wn1k3hcl"
 (build-system gnu-build-system)
 (arguments
- `(#:make-flags (list "CC=gcc" (string-append "PREFIX=" %output))
-   #:phases
-   (modify-phases %standard-phases
- (delete 'configure))
-   #:tests? #f)) ; no test suite
+ `(#:make-flags
+   (let* ((docbook-xsl-name-version ,(string-append
+  (package-name docbook-xsl) "-"
+  (package-version  docbook-xsl)))
+  (docbook-xsl-catalog-file (string-append
+ (assoc-ref %build-inputs 
"docbook-xsl")
+ "/xml/xsl/"
+ docbook-xsl-name-version
+ "/catalog.xml"))
+  (docbook-xml-catalog-file (string-append
+ (assoc-ref %build-inputs 
"docbook-xml")
+ "/xml/dtd/docbook/catalog.xml")))
+ ;; Reference the catalog files required to build the manpages.
+ (list (string-append "XML_CATALOG_FILES=" docbook-xsl-catalog-file " "
+  docbook-xml-catalog-file)
+  "CC=gcc"
+  (string-append "PREFIX=" %output)
+  ;; This works around the following error:
+  ;; 'error: ‘for’ loop initial declarations are only allowed in 
C99
+  ;; or C11 mode'
+  "CFLAGS=-std=c11"))
+   ;; The build system tries to build in a separate directory, but that
+   ;; seems to be unnecessary.
+   #:configure-flags '("--disable-builddir")
+   ;; The test suite appears to require the unpackaged Perl module 
AnyEvent.
+   #:tests? #f))
 (inputs
  `(("libxcb" ,libxcb)
("xcb-util" ,xcb-util)
("xcb-util-cursor" ,xcb-util-cursor)
("xcb-util-keysyms" ,xcb-util-keysyms)
("xcb-util-wm" ,xcb-util-wm)
+   ("xcb-util-xrm" ,xcb-util-xrm)
("libxkbcommon" ,libxkbcommon)
("libev" ,libev)
("libyajl" ,libyajl)
@@ -198,7 +220,9 @@ commands would.")
 (native-inputs
  `(("which" ,which)
("perl" ,perl)
-   ("pkg-config" ,pkg-config)))
+   ("pkg-config" ,pkg-config)
+   ;; For building the documentation.
+   ("docbook-xsl" ,docbook-xsl)))
 (home-page "https://i3wm.org/";)
 (synopsis "Improved tiling window manager")
 (description "A tiling window manager, completely written
-- 
2.11.0




Re: [PATCH 0/2] i3 window manager update 4.13

2016-12-04 Thread Marius Bakke
Leo Famulari  writes:

> These patches update i3 to the latest upstream version, 4.13.
>
> The first seems necessary since xcb-util-cursor's pkg-config file
> includes the propagated packages in its 'Requires.private' field. I
> noticed this issue when the i3 build failed because these packages
> weren't available.
>
> i3 itself has switched from a hand-made build system to Autotools.
>
> I haven't actually tested this package, since my GuixSD system is not
> currently using a graphical interface.


>
> Leo Famulari (2):
>   gnu: xcb-util-cursor: Propagate dependences from 'xcb-cursor.pc'.
>   gnu: i3-wm: Update to 4.13.
>
>  gnu/packages/wm.scm   | 37 +
>  gnu/packages/xorg.scm |  5 +++--
>  2 files changed, 32 insertions(+), 10 deletions(-)

Thanks for this! I'm using the new version right now.

The patches LGTM.

On a wholly-unrelated note, I found that
bf7ef1bb848db0977b54ea012789adc68751c68a made the early boot environment
unable to find fsck.ext4 after unlocking a cryptsetup partition (even
though it is present in the initrd).


signature.asc
Description: PGP signature


[PATCH] doc: Correct example for 'wpa-supplicant-service-type'

2016-12-04 Thread alex . ter . weele
>From 6356c26a14fe1f487eb7f185570420489a7f8d34 Mon Sep 17 00:00:00 2001
From: Alex ter Weele 
Date: Sun, 4 Dec 2016 20:46:14 -0500
Subject: [PATCH] doc: Correct example for 'wpa-supplicant-service-type'

---
 doc/guix.texi | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index 47d0d71..90e3e71 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -28,7 +28,8 @@ Copyright @copyright{} 2016 Efraim Flashner@*
 Copyright @copyright{} 2016 John Darrington@*
 Copyright @copyright{} 2016 ng0@*
 Copyright @copyright{} 2016 Jan Nieuwenhuizen@*
-Copyright @copyright{} 2016 Julien Lepiller
+Copyright @copyright{} 2016 Julien Lepiller@*
+Copyright @copyright{} 2016 Alex ter Weele
 
 Permission is granted to copy, distribute and/or modify this document
 under the terms of the GNU Free Documentation License, Version 1.3 or
@@ -8555,7 +8556,7 @@ Thus, it can be instantiated like this:
 (use-modules (gnu services networking)
  (gnu packages admin))
 
-(service wpa-supplicant-type wpa-supplicant)
+(service wpa-supplicant-service-type wpa-supplicant)
 @end lisp
 @end defvr
 
-- 
2.10.0




[PATCH 2/2] import: cpan: Add CPAN updater.

2016-12-04 Thread Eric Bavier
* guix/import/cpan.scm (module->dist-name): Fetch the field of interest.
(cpan-fetch): Accept release name rather than module name.
(fix-source-url): Rename to ...
(cpan-source-url): ... this.  Take metadata as parameter.
(cpan-module->sexp): Move local core-module? procedure to ...
(core-module?): ... here.
(package->upstream-name, cpan-version, cpan-package?, latest-release):
New procedures.
(%cpan-updater): New variable.
* guix/scripts/refresh.scm (%updaters): Add %cpan-updater.
---
 guix/import/cpan.scm | 170 ++-
 guix/scripts/refresh.scm |   1 +
 2 files changed, 125 insertions(+), 46 deletions(-)

diff --git a/guix/import/cpan.scm b/guix/import/cpan.scm
index d244969..b19d56d 100644
--- a/guix/import/cpan.scm
+++ b/guix/import/cpan.scm
@@ -24,18 +24,23 @@
   #:use-module ((ice-9 popen) #:select (open-pipe* close-pipe))
   #:use-module ((ice-9 rdelim) #:select (read-line))
   #:use-module (srfi srfi-1)
+  #:use-module (srfi srfi-26)
   #:use-module (json)
   #:use-module (guix hash)
   #:use-module (guix store)
   #:use-module (guix utils)
   #:use-module (guix base32)
-  #:use-module ((guix download) #:select (download-to-store))
-  #:use-module (guix import utils)
+  #:use-module (guix ui)
+  #:use-module ((guix download) #:select (download-to-store url-fetch))
+  #:use-module ((guix import utils) #:select (factorize-uri
+  flatten assoc-ref*))
   #:use-module (guix import json)
   #:use-module (guix packages)
+  #:use-module (guix upstream)
   #:use-module (guix derivations)
   #:use-module (gnu packages perl)
-  #:export (cpan->guix-package))
+  #:export (cpan->guix-package
+%cpan-updater))
 
 ;;; Commentary:
 ;;;
@@ -84,28 +89,49 @@
 module is distributed with 'Test::Simple', so (module->dist-name \"ok\") would
 return \"Test-Simple\""
   (assoc-ref (json-fetch (string-append "https://api.metacpan.org/module/";
-module))
+module
+"?fields=distribution"))
  "distribution"))
 
-(define (cpan-fetch module)
+(define (package->upstream-name package)
+  "Return the CPAN name of PACKAGE."
+  (let* ((properties (package-properties package))
+ (upstream-name (and=> properties
+   (cut assoc-ref <> 'upstream-name
+(or upstream-name
+(match (package-source package)
+  ((? origin? origin)
+   (match (origin-uri origin)
+ ((or (? string? url) (url _ ...))
+  (match (string-match (string-append "([^/]*)-v?[0-9\\.]+") url)
+(#f #f)
+(m (match:substring m 1
+ (_ #f)))
+  (_ #f)
+
+(define (cpan-fetch name)
   "Return an alist representation of the CPAN metadata for the perl module 
MODULE,
 or #f on failure.  MODULE should be e.g. \"Test::Script\""
   ;; This API always returns the latest release of the module.
-  (json-fetch (string-append "https://api.metacpan.org/release/";
- ;; XXX: The 'release' api requires the "release"
- ;; name of the package.  This substitution seems
- ;; reasonably consistent across packages.
- (module->name module
+  (json-fetch (string-append "https://api.metacpan.org/release/"; name)))
 
 (define (cpan-home name)
   (string-append "http://search.cpan.org/dist/"; name))
 
-(define (fix-source-url download-url)
-  "Return a new download URL based on DOWNLOAD-URL which now uses our mirrors,
-if the original's domain was metacpan."
-  (regexp-substitute/global #f "http[s]?://cpan.metacpan.org" download-url
+(define (cpan-source-url meta)
+  "Return the download URL for a module's source tarball."
+  (regexp-substitute/global #f "http[s]?://cpan.metacpan.org"
+(assoc-ref meta "download_url")
 'pre "mirror://cpan" 'post))
 
+(define (cpan-version meta)
+  "Return the version number from META."
+  (match (assoc-ref meta "version")
+((? number? version)
+ ;; version is sometimes not quoted in the module json, so it gets
+ ;; imported into Guile as a number, so convert it to a string.
+ (number->string version))
+(version version)))
 
 (define %corelist
   (delay
@@ -116,6 +142,31 @@ if the original's domain was metacpan."
   (and (access? core X_OK)
core
 
+(define core-module?
+  (let ((perl-version (package-version perl))
+(rx (make-regexp
+ (string-append "released with perl v?([0-9\\.]*)"
+"(.*and removed from v?([0-9\\.]*))?"
+(lambda (name)
+  (define (version-between? lower version upper)
+(and (version>=? version lower)
+ (or (not upper)
+ (version>? upper version
+  (and (force %corelist)
+

[PATCH 1/2] import: json: Silence json-fetch output.

2016-12-04 Thread Eric Bavier
* guix/import/json.scm (json-fetch): Use http-fetch instead of url-fetch
to avoid writing to stdout and a temporary file for each invocation.
* guix/import/gem.scm (rubygems-fetch): Do not redirect json-fetch
output to /dev/null.
* guix/import/pypi.scm (pypi-fetch): Likewise.
---
 guix/import/gem.scm  | 10 ++
 guix/import/json.scm | 14 +++---
 guix/import/pypi.scm | 10 ++
 3 files changed, 11 insertions(+), 23 deletions(-)

diff --git a/guix/import/gem.scm b/guix/import/gem.scm
index 3d0c190..3ad7fac 100644
--- a/guix/import/gem.scm
+++ b/guix/import/gem.scm
@@ -38,14 +38,8 @@
 (define (rubygems-fetch name)
   "Return an alist representation of the RubyGems metadata for the package 
NAME,
 or #f on failure."
-  ;; XXX: We want to silence the download progress report, which is especially
-  ;; annoying for 'guix refresh', but we have to use a file port.
-  (call-with-output-file "/dev/null"
-(lambda (null)
-  (with-error-to-port null
-(lambda ()
-  (json-fetch
-   (string-append "https://rubygems.org/api/v1/gems/"; name 
".json")))
+  (json-fetch
+   (string-append "https://rubygems.org/api/v1/gems/"; name ".json")))

 (define (ruby-package-name name)
   "Given the NAME of a package on RubyGems, return a Guix-compliant name for
diff --git a/guix/import/json.scm b/guix/import/json.scm
index c3092a5..f0d75fd 100644
--- a/guix/import/json.scm
+++ b/guix/import/json.scm
@@ -1,6 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2014 David Thompson 
-;;; Copyright © 2015 Eric Bavier 
+;;; Copyright © 2015, 2016 Eric Bavier 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -19,14 +19,14 @@

 (define-module (guix import json)
   #:use-module (json)
-  #:use-module (guix utils)
+  #:use-module (guix http-client)
   #:use-module (guix import utils)
   #:export (json-fetch))

 (define (json-fetch url)
   "Return an alist representation of the JSON resource URL, or #f on failure."
-  (call-with-temporary-output-file
-   (lambda (temp port)
- (and (url-fetch url temp)
-  (hash-table->alist
-   (call-with-input-file temp json->scm))
+  (and=> (false-if-exception (http-fetch url))
+ (lambda (port)
+   (let ((result (hash-table->alist (json->scm port
+ (close-port port)
+ result
diff --git a/guix/import/pypi.scm b/guix/import/pypi.scm
index 68153d5..9794ff9 100644
--- a/guix/import/pypi.scm
+++ b/guix/import/pypi.scm
@@ -51,14 +51,8 @@
 (define (pypi-fetch name)
   "Return an alist representation of the PyPI metadata for the package NAME,
 or #f on failure."
-  ;; XXX: We want to silence the download progress report, which is especially
-  ;; annoying for 'guix refresh', but we have to use a file port.
-  (call-with-output-file "/dev/null"
-(lambda (null)
-  (with-error-to-port null
-(lambda ()
-  (json-fetch (string-append "https://pypi.python.org/pypi/";
- name "/json")))
+  (json-fetch (string-append "https://pypi.python.org/pypi/";
+ name "/json")))

 ;; For packages found on PyPI that lack a source distribution.
 (define-condition-type &missing-source-error &error
--
2.10.2