Re: gnu: Add Go build system.

2016-12-15 Thread Leo Famulari
On Sun, Dec 11, 2016 at 01:17:48AM +0100, Petter wrote:
> From 4c0597a95ae3cd111ef12d675edf501c559458ba Mon Sep 17 00:00:00 2001
> From: Petter 
> Date: Sun, 11 Dec 2016 01:10:09 +0100
> Subject: [PATCH] gnu: Add Go build system.
> 
> * guix/build-system/go.scm: New file
> * guix/build/go-build-system.scm: New file.

Another question: does this build system try to run tests? In my own
Syncthing packaging I used `go run build.go test`, but I noticed that
your Syncthing package built with this build system doesn't seem to run
the tests.



Re: gnu: Add Go build system.

2016-12-15 Thread Leo Famulari
On Sun, Dec 11, 2016 at 01:17:48AM +0100, Petter wrote:
> I've made an attempt at making a build system for Go. It seems to
> work, but it's not pretty. My Guix/Guile skills are bad, so keep your
> expectations to a minimum. Consider it something where there was
> nothing.

Thank you for working on this!

> I started with a copy of the GNU build system, removed code I felt
> wasn't necessary, then adapted to Go's needs. Note, comments and those
> first text string after a (define) have not been updated. Unnecessary
> #:use-modules have not been removed. In short, it's bad and there's a
> lot to do make it ok-ish. That's where you come in :)

I haven't contributed or carefully studied the other build systems yet,
so my feedback will be rather superficial. I hope somebody with some
more knowledge will jump in :)

> Subject: [PATCH] gnu: Add Go build system.
> 
> * guix/build-system/go.scm: New file
> * guix/build/go-build-system.scm: New file.

> diff --git a/guix/build/go-build-system.scm b/guix/build/go-build-system.scm

> +(define* (build #:key import-path #:allow-other-keys)
> +  (system* "go" "install" import-path))
> +
> +(define* (install #:key inputs outputs #:allow-other-keys)
> +  (copy-recursively "bin" (string-append (assoc-ref outputs "out") "/bin"))
> +  (copy-recursively "pkg" (string-append (assoc-ref outputs "out") "/pkg"))
> +  (copy-recursively "src" (string-append (assoc-ref outputs "out") "/src")))

It looks like `go install` knows "where" to install the files, but
installs them in the wrong place, and then we copy them into place in
the install phase. I think it's inefficient to move the files twice.

Can the build phase use something like `go build`, followed by the
install phase using `go install` to move the files directly to the
package's output directory in /gnu/store?



Re: gnu: Add syncthing.

2016-12-15 Thread Leo Famulari
On Thu, Dec 15, 2016 at 10:06:59PM +0100, Petter wrote:
> Hi again,
> 
> I've prefixed most of the packages with "golang-" now. However, there are
> some
> packages already starting with "golang-", f.ex.
> "golang-org-x-text-unicode-norm",
> and I left those alone. It's inconsistent, but I felt this was preferable to
> names like "golang-golang-org-x-text-unicode-norm". What do you think?

That's the right way. It fits the package naming guidelines:

https://www.gnu.org/software/guix/manual/html_node/Package-Naming.html

> Finally, there's a telemetry configuration in Syncthing. It is opt-in;
> but it will ask the user after a few hours if they want to join. The
> plan is to disable the question, however I suspect I've messed up the
> build system in that area, so this takes some more looking in to.

Personally, I'm fine with the upstream "opt-in" nag warning. It only
shows up when you open the Syncthing web interface; it's not an
intrusive desktop "notification". Once the user has said "yes" or "no",
it doesn't appear again until Syncthing makes a change to what
information they collect.

But, if people think our package should never ask, I don't mind if we
disable the request, as long as we share our changes with the Syncthing
project and they don't notice anything broken.

Many of my comments below are about tedious things. Let us know if you
are getting sick of working on these packages, and I will help :) This
includes improving the descriptions.

> Date: Thu, 15 Dec 2016 21:42:03 +0100
> Subject: [PATCH] gnu: Add Syncthing.
> 
> * gnu/packages/syncthing.scm: New file.

Cool!

> +(define-public syncthing

> +(source (origin
> +  (method git-fetch)
> +  (uri (git-reference
> +(url "https://github.com/syncthing/syncthing/;)
> +(commit (string-append "v" version
> +  (file-name (string-append name "-" version "-checkout"))

We should use the Syncthing release tarball:

https://github.com/syncthing/syncthing/releases/download/v0.14.14/syncthing-source-v0.14.14.tar.gz

> +(arguments
> + `(#:import-path "github.com/syncthing/syncthing"

What do you think about having the go-build-system try to automatically
generate the import-path based on the source URL, with the option for
the packager to set it manually, as shown here?

For many of the packages in this patch (which will eventually be split
into one package per patch ;) ), that auto-generated import-path
could be correct.

I think that an (arguments) field indicates that the package's build
scripts have deviated from the standard. If a Guix build system requires
all of its packages to do something in (arguments), the build system
should be extended :)

> +   #:phases
> +   (modify-phases %standard-phases
> + (replace 'delete-files
> +   (lambda _
> + (delete-file-recursively 
> "src/github.com/syncthing/syncthing/vendor")))
> +
> + (replace 'build
> +   (lambda* (#:key inputs #:allow-other-keys)
> + (with-directory-excursion "src/github.com/syncthing/syncthing"
> +   (zero? (system* "go" "run" "build.go" "install" "syncthing" 
> "-no-upgrade")
> +
> + (replace 'install
> +   (lambda _
> + (copy-recursively "src/github.com/syncthing/syncthing/bin/"
> +   (string-append (assoc-ref %outputs "out") 
> "/bin"))
> + (copy-recursively "pkg"
> +   (string-append (assoc-ref %outputs "out") 
> "/pkg"))
> + (copy-recursively "src"
> +   (string-append (assoc-ref %outputs "out") 
> "/src")))
> +

Does this package need to use custom build and install phases?

> +(define-public golang-github-com-audriusbutkevicius-go-nat-pmp
> +  (let ((commit "452c97607362b2ab5a7839b8d1704f0396b640ca"))

Don't forget the revision counter :)

> +(define-public golang-github-com-bkaradzic-go-lz4
> +  (package
> +(name "golang-github-com-bkaradzic-go-lz4")
> +(version "1.0.0")
> +(source (origin
> +  (method git-fetch)
> +  (uri (git-reference
> +(url "https://github.com/bkaradzic/go-lz4;)
> +(commit "74ddf82598bc4745b965729e9c6a463bedd33049")))

For packages that we build from a Git tag (rather than an untagged
commit), you should do (commit (string-append "v" version)).

Although, if there is a release tarball, it's preferable to use it.

> +(define-public golang-github-com-calmh-xdr
> +  (let ((commit "f9b9f8f7aa27725f5cabb699bd9099ca7ce09143")
> +(revision "1"))
> +(package
> +  (name "golang-github-com-calmh-xdr")
> +  (version (string-append "2.0.0-" revision "." (string-take commit 7)))
> +  (source (origin
> +(method git-fetch)
> +(uri (git-reference
> +  (url "https://github.com/calmh/xdr;)
> +  

Re: Emacs-Guix released outside from Guix

2016-12-15 Thread Ricardo Wurmus

Hi Alex,

Ludovic Courtès  writes:

> Alex Kost  skribis:
>
>> Hello, I've been working on Emacs interface outside from the Guix repo
>> for some time, I mean I'm not going to maintain it inside Guix, sorry :-(
>>
>> The main reason, is, well, inconvenience for me: I don't like to bother
>> people with patches, etc.  I tried to explain it at
>> .
>
> As someone who’s always trusted you to do the right thing, I’m of course
> disappointed that we Guix folks didn’t get notified nor consulted before
> the fact.  I would also have loved a reply to my message back then¹.
> That’s your choice though.
>
> ¹ https://lists.gnu.org/archive/html/guix-devel/2016-07/msg01110.html

First of all, let me tell you that I really appreciate your work on
guix.el!  It’s excellent and makes me feel even more at home in Emacs.

I whole-heartedly second what Ludo wrote and just now and back then:

It would be a great loss and a technical hindrance if guix.el was moved
out of Guix.  I don’t want that to happen, so let me know what the
ransom should be!  ;-)

We’d love for guix.el to stay.  You can already modify the code as you
deem appropriate without having to worry about a veto from any of us.

> Breakage will occasionally occur as the Guix APIs change, which will
> make us all a bit sad.  What are your thoughts?

This is the biggie for me.  Having the Emacs interface so closely
integrated with the rest of Guix ensured that we wouldn’t have to worry
about breakage.  In my opinion this move increases the friction for the
users that most care about guix.el for the dubious improvement of
offering a slimmer guix.el to people who … don’t use Guix.

I feel like I’m missing something here.

> I’ll let you take care of the actual removal, along with update to the
> Texinfo cross-references and doc/htmlxref.cnf (assuming the manual will
> be available on-line.)  I think it would help users to keep
> cross-references between the two manuals.
>
> We need to see what Ricardo thinks and whether or not this can be done
> before 0.12, which is slated for sometime next week.

Yes, I’ll start preparing for the release (going through the motions) on
the weekend, so that the actual tagging and uploading can happen on the
20th (busy on the 19th) if all goes well.

If you go through with the move please double check that the Guix
sources are in a state that’s ready for release.  It would be terrible
to have a botched release.  (Frankly, I’m a little uncomfortable about
such a big change right before the release, but maybe I’m just being
nervous about doing the release myself this time…)

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




Re: 01/01: gnu: python-pyopenssl: Disable tests.

2016-12-15 Thread Leo Famulari
On Wed, Dec 14, 2016 at 05:38:04PM +, Marius Bakke wrote:
> mbakke pushed a commit to branch python-tests
> in repository guix.
> 
> commit 30e0229a1713e77dc0397dfb4ee6af4ac6a00443
> Author: Marius Bakke 
> Date:   Wed Dec 14 18:34:48 2016 +0100
> 
> gnu: python-pyopenssl: Disable tests.
> 
> * gnu/packages/python.scm (python-pyopenssl, 
> python2-pyopenssl)[arguments]:
> Set #:tests? #f.
> [native-inputs]: Add python-pytest.
> ---
>  gnu/packages/python.scm |5 +
>  1 file changed, 5 insertions(+)
> 
> diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
> index cd6ed1c..ebe0194 100644
> --- a/gnu/packages/python.scm
> +++ b/gnu/packages/python.scm
> @@ -6585,11 +6585,16 @@ message digests and key derivation functions.")
>  (base32
>   "0vji4yrfshs15xpczbhzhasnjrwcarsqg87n98ixnyafnyxs6ybp"
>  (build-system python-build-system)
> +(arguments
> + ;; FIXME: Some tests fail with "NameError: name 'long' is not defined".
> + '(#:tests? #f))

Do you think this indicates a real problem? Or is the issue limited to
the tests?



Re: Unable to configure a system with 'cuirass-service'

2016-12-15 Thread Mathieu Lirzin
ng0  writes:

> Mathieu Lirzin  writes:
>
>> Hi,
>>
>> Mathieu Lirzin  writes:
>>
>>> Carlo Zancanaro  writes:
>>>
 On Thu, Dec 01 2016, ng0 wrote 
> I tried that before (though I did just think it was wrong) and now I
> get the same message as yesterday:
>
> ...
>
> In gnu/services/cuirass.scm:   81: 1 [cuirass-shepherd-service #] In
> unknown file:?: 0 [string=? "" ((# # # # ...))]
>
> ERROR: In procedure string=?: ERROR: In procedure string=: Wrong
> type argument in position 2 (expecting string): (((#:name . "guix")
> (#:url . "git://git.savannah.gnu.org/guix.git") (#:load-path . ".")
> (#:file . "/.../cuirass/tests/gnu-system.scm") (#:proc . hydra-jobs)
> (#:arguments (subset . "hello")) (#:branch . "master")))

 It looks like cuirass is expecting the specifications to be a string,
 not a list. I don't know anything about cuirass, so I can't help you
 to configure the cuirass-service.

 Looking at the source, specifications has a comment ";string
 (file-name)". It looks like the "specifications" field of the
 configuration is just equivalent to the --specifications argument to the
 cuirass command, if that helps at all.
>>>
>>> Indeed, this is a mistake on my side.  Here are 2 patches that should
>>> fix this issue.
>>
>> I went ahead and pushed them in commits:
>>
>>  - 44ccd9622eb4a0083d4f833a61172973390ca62b
>>  - 57aa94bd7e7d530e52356723c8f1dbf727144b25
>>
>> Thanks,
>>
>> -- 
>> Mathieu Lirzin
>>
>
> Thanks, I wasn't able to test them before and provide you with
> feedback, I was just busy and the CI is kind of low priority for
> gnunet. 

Sure no problem.

-- 
Mathieu Lirzin



Re: Unable to configure a system with 'cuirass-service'

2016-12-15 Thread ng0
Mathieu Lirzin  writes:

> Hi,
>
> Mathieu Lirzin  writes:
>
>> Carlo Zancanaro  writes:
>>
>>> On Thu, Dec 01 2016, ng0 wrote 
 I tried that before (though I did just think it was wrong) and now I
 get the same message as yesterday:

 ...

 In gnu/services/cuirass.scm:   81: 1 [cuirass-shepherd-service #] In
 unknown file:?: 0 [string=? "" ((# # # # ...))]

 ERROR: In procedure string=?: ERROR: In procedure string=: Wrong
 type argument in position 2 (expecting string): (((#:name . "guix")
 (#:url . "git://git.savannah.gnu.org/guix.git") (#:load-path . ".")
 (#:file . "/.../cuirass/tests/gnu-system.scm") (#:proc . hydra-jobs)
 (#:arguments (subset . "hello")) (#:branch . "master")))
>>>
>>> It looks like cuirass is expecting the specifications to be a string,
>>> not a list. I don't know anything about cuirass, so I can't help you
>>> to configure the cuirass-service.
>>>
>>> Looking at the source, specifications has a comment ";string
>>> (file-name)". It looks like the "specifications" field of the
>>> configuration is just equivalent to the --specifications argument to the
>>> cuirass command, if that helps at all.
>>
>> Indeed, this is a mistake on my side.  Here are 2 patches that should
>> fix this issue.
>
> I went ahead and pushed them in commits:
>
>  - 44ccd9622eb4a0083d4f833a61172973390ca62b
>  - 57aa94bd7e7d530e52356723c8f1dbf727144b25
>
> Thanks,
>
> -- 
> Mathieu Lirzin
>

Thanks, I wasn't able to test them before and provide you with
feedback, I was just busy and the CI is kind of low priority for
gnunet. But we'd like to get a CI running on our own
infrastructure on systems like GuixSD as far as I understood
conversations so far.

But I am aware that a general CI might still take some time with
cuirass.
-- 
♥Ⓐ  ng0  | ng0.chaosnet.org



Re: Unable to configure a system with 'cuirass-service'

2016-12-15 Thread Mathieu Lirzin
Hi,

Mathieu Lirzin  writes:

> Carlo Zancanaro  writes:
>
>> On Thu, Dec 01 2016, ng0 wrote 
>>> I tried that before (though I did just think it was wrong) and now I
>>> get the same message as yesterday:
>>>
>>> ...
>>>
>>> In gnu/services/cuirass.scm:   81: 1 [cuirass-shepherd-service #] In
>>> unknown file:?: 0 [string=? "" ((# # # # ...))]
>>>
>>> ERROR: In procedure string=?: ERROR: In procedure string=: Wrong
>>> type argument in position 2 (expecting string): (((#:name . "guix")
>>> (#:url . "git://git.savannah.gnu.org/guix.git") (#:load-path . ".")
>>> (#:file . "/.../cuirass/tests/gnu-system.scm") (#:proc . hydra-jobs)
>>> (#:arguments (subset . "hello")) (#:branch . "master")))
>>
>> It looks like cuirass is expecting the specifications to be a string,
>> not a list. I don't know anything about cuirass, so I can't help you
>> to configure the cuirass-service.
>>
>> Looking at the source, specifications has a comment ";string
>> (file-name)". It looks like the "specifications" field of the
>> configuration is just equivalent to the --specifications argument to the
>> cuirass command, if that helps at all.
>
> Indeed, this is a mistake on my side.  Here are 2 patches that should
> fix this issue.

I went ahead and pushed them in commits:

 - 44ccd9622eb4a0083d4f833a61172973390ca62b
 - 57aa94bd7e7d530e52356723c8f1dbf727144b25

Thanks,

-- 
Mathieu Lirzin



[PATCH] gnu: Add Greek Aspell dictionary

2016-12-15 Thread Theodoros Foradis
* gnu/packages/aspell.scm (aspell-dict-el): 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 f392057..01a799f 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 Theodoros Foradis 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -172,3 +173,11 @@ dictionaries, including personal ones.")
  #:sha256
  (base32
   "02jwkjhr32kvyibnyzgx3smbnm576jwdzg3avdf6zxwckhy5fw4v")))
+
+(define-public aspell-dict-el
+  (aspell-dictionary "el" "Greek"
+ #:version "0.08-0"
+ #:prefix "aspell6-"
+ #:sha256
+ (base32
+  "1ljcc30zg2v2h3w5h5jr5im41mw8jbsgvvhdd2cii2yzi8d0zxja")))
-- 
2.10.2




Re: gnu: Add syncthing.

2016-12-15 Thread Petter

Hi again,

I've prefixed most of the packages with "golang-" now. However, there 
are some
packages already starting with "golang-", f.ex. 
"golang-org-x-text-unicode-norm",
and I left those alone. It's inconsistent, but I felt this was 
preferable to

names like "golang-golang-org-x-text-unicode-norm". What do you think?

Also, all the packages have meta-data now: synopsis, description, 
home-page and
license. And the (version) field have been adapted to the Guix 
guidelines.


Also also, a new version of Syncthing with some security fixes was just 
released,

and I've updated the recipe to this version (0.14.14).

Finally, there's a telemetry configuration in Syncthing. It is opt-in; 
but it
will ask the user after a few hours if they want to join. The plan is to 
disable
the question, however I suspect I've messed up the build system in that 
area, so

this takes some more looking in to.

Best,
PetterFrom f6b8324f4200c2dc89967b5f097fc8e28292bd5a Mon Sep 17 00:00:00 2001
From: Petter 
Date: Thu, 15 Dec 2016 21:42:03 +0100
Subject: [PATCH] gnu: Add Syncthing.

* gnu/packages/syncthing.scm: New file.
---
 gnu/packages/syncthing.scm | 1257 
 1 file changed, 1257 insertions(+)
 create mode 100644 gnu/packages/syncthing.scm

diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm
new file mode 100644
index 000..c4da737
--- /dev/null
+++ b/gnu/packages/syncthing.scm
@@ -0,0 +1,1257 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2016 Leo Famulari 
+;;; Copyright © 2016 Petter 
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see .
+
+(define-module (gnu packages syncthing)
+  #:use-module (guix build-system go)
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix git-download)
+  #:use-module (guix licenses)
+  #:use-module (gnu packages golang))
+
+(define-public syncthing
+  (package
+(name "syncthing")
+(version "0.14.14")
+(source (origin
+  (method git-fetch)
+  (uri (git-reference
+(url "https://github.com/syncthing/syncthing/;)
+(commit (string-append "v" version
+  (file-name (string-append name "-" version "-checkout"))
+  (sha256
+   (base32 "1c9x7j6pbbd3i34nvisw70v2l3llp3dhw5cvd72jgx3gm0j3v31y"
+(build-system go-build-system)
+(inputs
+ `(("github.com/AudriusButkevicius/go-nat-pmp"
+,golang-github-com-audriusbutkevicius-go-nat-pmp)
+   ("github.com/vitrun/qart/coding" ,golang-github-com-vitrun-qart-coding)
+   ("github.com/vitrun/qart/gf256" ,golang-github-com-vitrun-qart-gf256)
+   ("github.com/vitrun/qart/qr" ,golang-github-com-vitrun-qart-qr)
+   ("github.com/thejerf/suture" ,golang-github-com-thejerf-suture)
+   ("github.com/syndtr/goleveldb" ,golang-github-com-syndtr-goleveldb)
+   ("github.com/sasha-s/go-deadlock" ,golang-github-com-sasha-s-go-deadlock)
+   ("github.com/rcrowley/go-metrics" ,golang-github-com-rcrowley-go-metrics)
+   ("github.com/minio/sha256-simd" ,golang-github-com-minio-sha256-simd)
+   ("github.com/kardianos/osext" ,golang-github-com-kardianos-osext)
+   ("github.com/juju/ratelimit" ,golang-github-com-juju-ratelimit)
+   ("github.com/jackpal/gateway" ,golang-github-com-jackpal-gateway)
+   ("github.com/gogo/protobuf" ,golang-github-com-gogo-protobuf)
+   ("github.com/gobwas/glob" ,golang-github-com-gobwas-glob)
+   ("github.com/calmh/xdr" ,golang-github-com-calmh-xdr)
+   ("github.com/calmh/luhn" ,golang-github-com-calmh-luhn)
+   ("github.com/calmh/du" ,golang-github-com-calmh-du)
+   ("github.com/bkaradzic/go-lz4" ,golang-github-com-bkaradzic-go-lz4)
+   ("github.com/golang/snappy" ,golang-github-com-golang-snappy)
+   ("golang.org/x/crypto/bcrypt" ,golang-org-x-crypto-bcrypt)
+   ("golang.org/x/crypto/blowfish" ,golang-org-x-crypto-blowfish)
+   ("golang.org/x/text/transform" ,golang-org-x-text-transform)
+   ("golang.org/x/text/unicode/norm" ,golang-org-x-text-unicode-norm)
+   ("golang.org/x/net/proxy" ,golang-org-x-net-proxy)
+   ("golang.org/x/net/bpf" ,golang-org-x-net-bpf)
+   ("golang.org/x/net/ipv6" 

Re: Emacs-Guix released outside from Guix

2016-12-15 Thread Ludovic Courtès
Hi Alex!

Alex Kost  skribis:

> Hello, I've been working on Emacs interface outside from the Guix repo
> for some time, I mean I'm not going to maintain it inside Guix, sorry :-(
>
> The main reason, is, well, inconvenience for me: I don't like to bother
> people with patches, etc.  I tried to explain it at
> .

As someone who’s always trusted you to do the right thing, I’m of course
disappointed that we Guix folks didn’t get notified nor consulted before
the fact.  I would also have loved a reply to my message back then¹.
That’s your choice though.

¹ https://lists.gnu.org/archive/html/guix-devel/2016-07/msg01110.html

> There are 2 more reasons above that:
>
> - I'd like to make it available on MELPA (people asked about it several
>   times in the past);

This is surprising: I’d expect Guix users to install it with Guix, and
non-Guix users to, well, not care about Guix.

> - Currently, to be able to use it on non-GuixSD system, a user has to
>   install 'guix' package into their profile.  This has never looked good
>   to me (installing a whole guix only for a small part of it). I would
>   prefer to make "guix package -i emacs-guix" possible instead.

OK.

This change will prevent joint feature development (updating
completions, ‘emacs-build-system’ and how it interacts with the Emacs
UI, M-x guix, cross-cutting changes to the UI, and so on).  This isn’t
good news for users.

Breakage will occasionally occur as the Guix APIs change, which will
make us all a bit sad.  What are your thoughts?

> So I'd like to add 'emacs-guix' package (the current patchset) and to
> remove it from the Guix source tree, if you don't mind.

I think “if you don’t mind” is misplaced.

> The code of Emacs-Guix can be found on github¹ or notabug².  I've just
> made a release (v0.2); and I'm going to send a message with the summary
> of changes later.
>
> ¹ https://github.com/alezost/guix.el
> ² https://notabug.org/alezost/emacs-guix
>
> I'm also sending the following patches:
>
> [PATCH 1/2] gnu: Add emacs-bui.
> [PATCH 2/2] gnu: Add emacs-guix.

OK!

I’ll let you take care of the actual removal, along with update to the
Texinfo cross-references and doc/htmlxref.cnf (assuming the manual will
be available on-line.)  I think it would help users to keep
cross-references between the two manuals.

We need to see what Ricardo thinks and whether or not this can be done
before 0.12, which is slated for sometime next week.

Keep up the great Emacs work.  Long live guix.el!

Ludo’.



Re: 03/04: graph: Add d3js backend.

2016-12-15 Thread Ludovic Courtès
Hi!

rek...@elephly.net (Ricardo Wurmus) skribis:

> commit 4d93f312f084c34a70cf7da3abe5f92a74d76861
> Author: Ricardo Wurmus 
> Date:   Sat Oct 22 00:02:19 2016 +0200
>
> graph: Add d3js backend.
> 
> * d3.v3.js, graph.js: New files.
> * Makefile.am (EXTRA_DIST): List them.
> * guix/graph.scm (%d3js-backend): New variable.
> (emit-d3js-prologue, emit-d3js-epilogue, emit-d3js-node,
> emit-d3js-edge): New procedures.
> (%graph-backends): Add %d3js-backend.

Woohoo!  \o/

Could you add a note in guix.texi about this?  (Eventually, as time
permits, we could add an example in @ifhtml in the manual.)

Thanks for the great stuff!

Ludo’.



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

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

> I think this commit broke the pypi tests.

Indeed, because it’s a different procedure that needs to be mocked now.

Eric, could you have a look?

Thanks for the heads-up!

Ludo’.



Re: [PATCH 2/2] gnu: Add emacs-guix.

2016-12-15 Thread Ludovic Courtès
Alex Kost  skribis:

> * gnu/packages/emacs.scm (emacs-guix): New variable.

OK!



Re: [PATCH 1/2] gnu: Add emacs-bui.

2016-12-15 Thread Ludovic Courtès
Alex Kost  skribis:

> * gnu/packages/emacs.scm (emacs-bui): New variable.

OK!



[PATCH] utox: fix description.

2016-12-15 Thread ng0
This is a follow-up to the update of utox.




[PATCH] gnu: utox: Fix description.

2016-12-15 Thread ng0
* gnu/packages/messaging.scm (utox): Fix description.
---
 gnu/packages/messaging.scm | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index d9877b7ea..f6586db62 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -705,7 +705,8 @@ protocols.")
   ("openal" ,openal)
   ("v4l-utils" ,v4l-utils)))
(synopsis "Lightweight Tox client")
-   (description "A  lightweight Tox client.  Tox is a distributed and secure
+   (description
+"Utox is a lightweight Tox client.  Tox is a distributed and secure
 instant messenger with audio and video chat capabilities.")
(home-page "http://utox.org/;)
(license license:gpl3)))
-- 
2.11.0




[PATCH 1/2] gnu: Add c-toxcore.

2016-12-15 Thread ng0
* gnu/packages/messaging.scm (c-toxcore): New variable.
---
 gnu/packages/messaging.scm | 37 +
 1 file changed, 37 insertions(+)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 8660915bb..dcea40836 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -622,6 +622,43 @@ protocols.")
   (license license:gpl3+)
   (home-page "https://tox.chat;
 
+(define-public c-toxcore
+  (package
+(name "c-toxcore")
+(version "0.1.0")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append "https://github.com/TokTok/c-toxcore/archive/v;
+   version ".tar.gz"))
+   (file-name (string-append name "-" version ".tar.gz"))
+   (sha256
+(base32
+ "0mx79da7bhv2bba5x4nx4ld8rb0vmrs84jabk5cliinpnwnim24n"
+(build-system gnu-build-system)
+(native-inputs
+ `(("autoconf" ,autoconf)
+   ("automake" ,automake)
+   ("libtool" ,libtool)
+   ("check" ,check)
+   ("pkg-config" ,pkg-config)))
+(inputs
+ `(("libsodium" ,libsodium)
+   ("opus" ,opus)
+   ("libvpx" ,libvpx)))
+(arguments
+ `(#:phases
+   (modify-phases %standard-phases
+ (add-after 'unpack 'autoconf
+   (lambda _
+ (zero? (system* "autoreconf" "-vfi")
+   #:tests? #f)) ; FIXME: Testsuite fails, needs internet connection.
+(synopsis "Library for the Tox encrypted messenger protocol")
+(description
+ "Official fork of the C library implementation of the Tox encrypted 
messenger protocol.")
+(license license:gpl3+)
+(home-page "https://tox.chat;)))
+
 (define-public utox
   (package
(name "utox")
-- 
2.11.0




[PATCH 2/2] gnu: utox: Update to 0.11.0.

2016-12-15 Thread ng0
* gnu/packages/messaging.scm (utox): Update to 0.11.0.
[source]: Update source uri.
[build-system]: Change to cmake-build-system.
[arguments]: Remove previous content and disable tests,
add two new phases.
[inputs]: Remove libtoxcore, add c-toxcore.
[native-inputs]: Remove it.
---
 gnu/packages/messaging.scm | 32 
 1 file changed, 20 insertions(+), 12 deletions(-)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index dcea40836..d9877b7ea 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -34,6 +34,7 @@
   #:use-module (guix build-system glib-or-gtk)
   #:use-module (guix build-system python)
   #:use-module (guix build-system perl)
+  #:use-module (guix build-system cmake)
   #:use-module (gnu packages)
   #:use-module (gnu packages aidc)
   #:use-module (gnu packages autotools)
@@ -662,40 +663,47 @@ protocols.")
 (define-public utox
   (package
(name "utox")
-   (version "0.9.8")
+   (version "0.11.0")
(source
 (origin
  (method url-fetch)
- (uri (string-append "https://github.com/GrayHatter/uTox/archive/v;
+ (uri (string-append "https://github.com/uTox/uTox/archive/v;
  version ".tar.gz"))
  (file-name (string-append name "-" version ".tar.gz"))
  (sha256
   (base32
-   "13hfqbwzcgvfbvf9yjm62aqsvxnpqppb50c88sys43m7022yqcsy"
-   (build-system gnu-build-system)
+   "15s4iwjk1s0kihjqn0f07c9618clbphpr827mds3xddkiwnjz37v"
+   (build-system cmake-build-system)
(arguments
-'(#:make-flags (list (string-append "PREFIX=" %output)
- "CC=gcc")
-  #:tests? #f ; No tests
+'(#:tests? #f ; No test phase.
   #:phases
   (modify-phases %standard-phases
-;; No configure script
-(delete 'configure
+(add-after 'unpack 'fix-freetype-include
+  (lambda _
+(substitute* "CMakeLists.txt"
+  (("/usr/include/freetype2")
+   (string-append (assoc-ref %build-inputs "freetype")
+  "/include/freetype2")
+(add-before 'install 'patch-cmake-find-utox
+  (lambda _
+(substitute* "../build/cmake_install.cmake"
+  (("/uTox-0.11.0/utox")
+   "/build/utox")))
(inputs
+;; TODO: Fix the filechoser dialogue, which input
+;; does it need?
 `(("dbus" ,dbus)
   ("filteraudio" ,filteraudio)
   ("fontconfig" ,fontconfig)
   ("freetype" ,freetype)
   ("libsodium" ,libsodium)
-  ("libtoxcore" ,libtoxcore)
+  ("c-toxcore" ,c-toxcore)
   ("libvpx" ,libvpx)
   ("libx11" ,libx11)
   ("libxext" ,libxext)
   ("libxrender" ,libxrender)
   ("openal" ,openal)
   ("v4l-utils" ,v4l-utils)))
-   (native-inputs
-`(("pkg-config" ,pkg-config)))
(synopsis "Lightweight Tox client")
(description "A  lightweight Tox client.  Tox is a distributed and secure
 instant messenger with audio and video chat capabilities.")
-- 
2.11.0




[PATCH] utox update, c-toxcore new package

2016-12-15 Thread ng0
Adds c-toxcore, updates utox.




[PATCH 2/2] gnu: python-sympy: Update to 1.0.

2016-12-15 Thread Marius Bakke
* gnu/packages/python.scm (python-sympy, python2-sympy): Update to 1.0.
[propagated-inputs]: Add python-mpmath.
---
 gnu/packages/python.scm | 6 --
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 7f16a9620..3e3c032ad 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -5342,7 +5342,7 @@ more advanced mathematics.")
 (define-public python-sympy
   (package
 (name "python-sympy")
-(version "0.7.6")
+(version "1.0")
 (source
  (origin
(method url-fetch)
@@ -5350,8 +5350,10 @@ more advanced mathematics.")
  "https://github.com/sympy/sympy/releases/download/sympy-;
  version "/sympy-" version ".tar.gz"))
(sha256
-(base32 "19yp0gy4i7p4g6l3b8vaqkj9qj7yqb5kqy0qgbdagpzgkdz958yz"
+(base32 "1bpzjwr9hrr7w88v4vgnj9lr6vxcldc94si13n8xpr1rv08d5b1y"
 (build-system python-build-system)
+(propagated-inputs
+ `(("python-mpmath" ,python-mpmath)))
 (home-page "http://www.sympy.org/;)
 (synopsis "Python library for symbolic mathematics")
 (description
-- 
2.11.0




[PATCH 0/2] python-sympy: Update to 1.0.

2016-12-15 Thread Marius Bakke
Fixes test failure..

Marius Bakke (2):
  gnu: Add python-mpmath.
  gnu: python-sympy: Update to 1.0.

 gnu/packages/python.scm | 36 ++--
 1 file changed, 34 insertions(+), 2 deletions(-)

-- 
2.11.0




[PATCH 1/2] gnu: Add python-mpmath.

2016-12-15 Thread Marius Bakke
* gnu/packages/python.scm (python-mpmath, python2-mpmath): New variables.
---
 gnu/packages/python.scm | 30 ++
 1 file changed, 30 insertions(+)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 789e199f5..7f16a9620 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -5309,6 +5309,36 @@ and statistical routines from scipy and statsmodels.")
   (propagated-inputs `(("python2-pytz" ,python2-pytz)
,@(package-propagated-inputs base))
 
+(define-public python-mpmath
+  (package
+  (name "python-mpmath")
+  (version "0.19")
+  (source (origin
+(method url-fetch)
+(uri (string-append "http://mpmath.org/files/mpmath-;
+version ".tar.gz"))
+(sha256
+ (base32
+  "08ijsr4ifrqv3cjc26mkw0dbvyygsa99in376hr4b96ddm1gdpb8"
+  (build-system python-build-system)
+  (arguments
+   '(#:phases
+ (modify-phases %standard-phases
+   (replace 'check
+ (lambda _
+   (zero?
+(system* "python" "mpmath/tests/runtests.py" "-local")))
+  (home-page "http://mpmath.org;)
+  (synopsis "Arbitrary-precision floating-point arithmetic in python")
+  (description
+"@code{mpmath} can be used as an arbitrary-precision substitute for
+Python's float/complex types and math/cmath modules, but also does much
+more advanced mathematics.")
+  (license license:bsd-3)))
+
+(define-public python2-mpmath
+  (package-with-python2 python-mpmath))
+
 (define-public python-sympy
   (package
 (name "python-sympy")
-- 
2.11.0




‘guix refresh’ broken on master?

2016-12-15 Thread Tobias Geerinckx-Rice
Guix, David,

Commit 3e0c036 (‘import: Add importer for rust crates’) reliably breaks
all calls to ‘guix refresh’ for me:

  nckx@ubuntu$ ~/guix/pre-inst-env guix refresh --help
  ;;; note: source file /home/nckx/guix/guix/utils.scm
  ;;;   newer than compiled /home/nckx/guix/guix/utils.go
  ;;; note: source file /home/nckx/guix/guix/store.scm
  ;;;   newer than compiled /home/nckx/guix/guix/store.go
  warning: failed to install locale: Invalid argument
  ;;; note: source file /home/nckx/guix/guix/scripts/refresh.scm
  ;;;   newer than compiled /home/nckx/guix/guix/scripts/refresh.go
  ;;; note: source file /home/nckx/guix/guix/upstream.scm
  ;;;   newer than compiled /home/nckx/guix/guix/upstream.go
  ;;; note: source file /home/nckx/guix/guix/gnu-maintenance.scm
  ;;;   newer than compiled /home/nckx/guix/guix/gnu-maintenance.go
  ;;; note: source file /home/nckx/guix/guix/import/utils.scm
  ;;;   newer than compiled /home/nckx/guix/guix/import/utils.go
  ;;; note: source file /home/nckx/guix/guix/import/json.scm
  ;;;   newer than compiled /home/nckx/guix/guix/import/json.go
  guix: refresh: command not found
  Try `guix --help' for more information.

Running the same command one commit earlier spews a lot more ‘note’s
before showing the help message, suggesting that one of the above files
is to blame. I'm not sure how to coax more information out of Guile, though.

Can anyone reproduce this, or suggest a way Forward?

Kind regards,

T G-R



signature.asc
Description: OpenPGP digital signature


[PATCH 2/2] gnu: Add idris-lightyear.

2016-12-15 Thread David Craven
* gnu/packages/haskell.scm (idris-lightyear): New variable.
---
 gnu/packages/haskell.scm | 46 ++
 1 file changed, 46 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 2f75c6c37..54fdba72f 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -29,6 +29,7 @@
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix download)
+  #:use-module (guix git-download)
   #:use-module (guix utils)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system haskell)
@@ -6747,6 +6748,51 @@ can be specified precisely in the type.  The language is 
closely related to
 Epigram and Agda.")
 (license license:bsd-3)))
 
+(define-public idris-lightyear
+  (let ((commit "6d65ad111b4bed2bc131396f8385528fc6b3678a")
+(revision "1"))
+(package
+  (name "idris-lightyear")
+  (version (string-append "0.1-" revision "."
+  (string-take commit 7)))
+  (source (origin
+(method git-fetch)
+(uri (git-reference
+  (url "https://github.com/ziman/lightyear;)
+  (commit commit)))
+(file-name (string-append name "-" version "-checkout"))
+(sha256
+ (base32
+  "1pkxnn3ryr0v0cin4nasw7kgkc9dnnpja1nfbj466mf3qv5s98af"
+  ;; Uses the gnu-build-system so that the IDRIS_LIBRARY_PATH is set.
+  (build-system gnu-build-system)
+  (native-inputs
+   `(("idris" ,idris)))
+  (arguments
+   `(#:phases
+ (modify-phases %standard-phases
+   (delete 'configure)
+   (delete 'build)
+   (delete 'check)
+   (replace 'install
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+   (let* ((out (assoc-ref outputs "out"))
+  (src (assoc-ref inputs "source"))
+  (idris (assoc-ref inputs "idris"))
+  (libs (string-append out "/idris/libs/lightyear")))
+ (mkdir-p libs)
+ (zero? (system* (string-append idris "/bin/idris")
+  "--ibcsubdir" libs
+  "--install" "lightyear.ipkg"))
+ ;; Seems to be a bug in idris.
+ #t))
+  (home-page "https://github.com/ziman/lightyear;)
+  (synopsis "Lightweight parser combinator library for Idris")
+  (description "Lightweight parser combinator library for Idris, inspired
+by Parsec.  This package is used (almost) the same way as Parsec, except for 
one
+difference: backtracking.")
+  (license license:bsd-2
+
 (define-public ghc-base16-bytestring
   (package
 (name "ghc-base16-bytestring")
-- 
2.11.0



[PATCH 1/2] gnu: idris: Update to 0.99.

2016-12-15 Thread David Craven
* gnu/packages/haskell.scm (idris): Update to 0.99.
---
 gnu/local.mk   |  2 +
 gnu/packages/haskell.scm   | 35 
 .../patches/idris-IDRIS_LIBRARY_PATH.patch | 46 ++
 gnu/packages/patches/idris-install-to-TARGET.patch | 27 +
 4 files changed, 91 insertions(+), 19 deletions(-)
 create mode 100644 gnu/packages/patches/idris-IDRIS_LIBRARY_PATH.patch
 create mode 100644 gnu/packages/patches/idris-install-to-TARGET.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 739d92a7b..af6e36618 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -632,6 +632,8 @@ dist_patch_DATA =   
\
   %D%/packages/patches/icu4c-CVE-2014-6585.patch   \
   %D%/packages/patches/icu4c-CVE-2015-1270.patch   \
   %D%/packages/patches/icu4c-CVE-2015-4760.patch   \
+  %D%/packages/patches/idris-IDRIS_LIBRARY_PATH.patch  \
+  %D%/packages/patches/idris-install-to-TARGET.patch   \
   %D%/packages/patches/id3lib-CVE-2007-4460.patch  \
   %D%/packages/patches/ilmbase-fix-tests.patch \
   %D%/packages/patches/inkscape-drop-wait-for-targets.patch\
diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 8e5927a00..2f75c6c37 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -32,6 +32,7 @@
   #:use-module (guix utils)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system haskell)
+  #:use-module (gnu packages)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages compression)
@@ -6670,24 +6671,9 @@ constant-time:
 (license license:bsd-3)))
 
 (define-public idris
-  ;; TODO: IDRIS_LIBRARY_PATH only accepts a single path and not a colon
-  ;; separated list.
-  ;; TODO: When installing idris the location of the standard libraries
-  ;; cannot be specified.
-  ;; NOTE: Creating an idris build system:
-  ;; Idris packages can be packaged and installed using a trivial
-  ;; build system.
-  ;; (zero? (system* (string-append idris "/bin/idris")
-  ;;"--ibcsubdir"
-  ;;(string-append out "/idris/libs/lightyear")
-  ;;"--install" "lightyear.ipkg")
-  ;; (native-search-paths
-  ;;   (list (search-path-specification
-  ;;  (variable "IDRIS_LIBRARY_PATH")
-  ;;  (files '("idris/libs")
   (package
 (name "idris")
-(version "0.12.3")
+(version "0.99")
 (source (origin
   (method url-fetch)
   (uri (string-append
@@ -6695,7 +6681,9 @@ constant-time:
 "idris-" version "/idris-" version ".tar.gz"))
   (sha256
(base32
-"1ijrbgzaahw9aagn4al55nqcggrg9ajlrkq2fjc1saq3xdd3v7rs"
+"1sd4vy5rx0mp32xj99qijhknkgw4d2rxvz6wiy3pym6kaqmc497i"))
+  (patches (search-patches "idris-IDRIS_LIBRARY_PATH.patch"
+   "idris-install-to-TARGET.patch"
 (build-system haskell-build-system)
 (arguments
  `(;; FIXME: runhaskell Setup.hs test doesn't set paths required by test
@@ -6704,8 +6692,13 @@ constant-time:
#:phases
(modify-phases %standard-phases
  (add-before 'configure 'patch-cc-command
-   (lambda _
- (setenv "CC" "gcc"))
+   (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+(lib (string-append out "/idris")))
+   (setenv "CC" "gcc")
+   ;; TARGET sets the path that the idris stdlibs are installed to.
+   (setenv "TARGET" lib))
+ #t)
 (inputs
  `(("gmp" ,gmp)
("ncurses" ,ncurses)
@@ -6741,6 +6734,10 @@ constant-time:
("ghc-vector" ,ghc-vector)
("ghc-zip-archive" ,ghc-zip-archive)
("ghc-zlib" ,ghc-zlib)))
+(native-search-paths
+ (list (search-path-specification
+(variable "IDRIS_LIBRARY_PATH")
+(files '("idris/libs")
 (home-page "http://www.idris-lang.org;)
 (synopsis "General purpose language with full dependent types")
 (description "Idris is a general purpose language with full dependent
diff --git a/gnu/packages/patches/idris-IDRIS_LIBRARY_PATH.patch 
b/gnu/packages/patches/idris-IDRIS_LIBRARY_PATH.patch
new file mode 100644
index 0..97a2f5bd3
--- /dev/null
+++ b/gnu/packages/patches/idris-IDRIS_LIBRARY_PATH.patch
@@ -0,0 +1,46 @@
+From 8617ba8f391da875ea0d59c6b8fdce26b64e2abd Mon Sep 17 00:00:00 2001
+From: David Craven 
+Date: Sun, 6 Nov 2016 15:46:50 +0100
+Subject: [PATCH 1/2] IDRIS_LIBRARY_PATH accepts a colon separated search path.
+
+* src/Idris/Imports.hs (installedPackages): SplitOn colon and concatMap
+  the results.
+---
+ 

Re: [PATCH] gnu: tor: Recommend torsocks.

2016-12-15 Thread Kei Kebreau
ng0  writes:

> Hi, I see this received no feedback so far. Can someone review
> this? Or is it already on someones list?
>
> Thanks.
>
> ng0  writes:
>
>> * gnu/packages/tor.scm (tor)[description]: Recommend torsocks.
>> ---
>>  gnu/packages/tor.scm | 9 +
>>  1 file changed, 5 insertions(+), 4 deletions(-)
>>
>> diff --git a/gnu/packages/tor.scm b/gnu/packages/tor.scm
>> index e6fbf6e..f0970ef 100644
>> --- a/gnu/packages/tor.scm
>> +++ b/gnu/packages/tor.scm
>> @@ -54,9 +54,6 @@
>>   `(("zlib" ,zlib)
>> ("openssl" ,openssl)
>> ("libevent" ,libevent)))
>> -
>> -;; TODO: Recommend `torsocks' since `torify' needs it.
>> -
>>  (home-page "https://www.torproject.org/;)
>>  (synopsis "Anonymous network router to improve privacy on the Internet")
>>  (description
>> @@ -66,7 +63,11 @@ somebody watching your Internet connection from learning 
>> what sites you
>>  visit, and it prevents the sites you visit from learning your physical
>>  location.  Tor works with many of your existing applications, including
>>  web browsers, instant messaging clients, remote login, and other
>> -applications based on the TCP protocol.")
>> +applications based on the TCP protocol.
>> +To @code{torify} applications (to take measures to ensure that an 
>> application,
>> +which has not been designed for use with Tor such as ssh, will use only Tor 
>> for
>> +internet connectivity, and also ensures that there are no leaks from DNS, 
>> UDP or
>> +the application layer) you need to install @code{torsocks}.")
>>  (license bsd-3)))
>>  
>>  (define-public torsocks
>> -- 
>> 2.10.1
>>
>>

LGTM. :)


signature.asc
Description: PGP signature


Re: Guix IceCat users have had early access to security fixes

2016-12-15 Thread Ludovic Courtès
Mark H Weaver  skribis:

> Yesterday, Mozilla released Firefox ESR 45.6 and announced several CVEs
> fixed by it:
>
>   https://www.mozilla.org/en-US/security/advisories/mfsa2016-95/
>
> I'm pleased to announce that Guix users of IceCat have had early access
> all of these fixes.

You rock!  Thank you!

Ludo’.



Re: [PATCH 3/3] gnu: Add kdevelop.

2016-12-15 Thread Ludovic Courtès
Thomas Danckaert  skribis:

> * gnu/packages/kde.scm (kdevelop): New variable.

Applied with qttools as a native input to make ‘guix lint’ happy.

Thank you!

Ludo’.



Re: Guix IceCat users have had early access to security fixes

2016-12-15 Thread Kei Kebreau
Mark H Weaver  writes:

> Yesterday, Mozilla released Firefox ESR 45.6 and announced several CVEs
> fixed by it:
>
>   https://www.mozilla.org/en-US/security/advisories/mfsa2016-95/
>
> I'm pleased to announce that Guix users of IceCat have had early access
> all of these fixes.
>
> Since November 30 (commit 9689e71d2f2b5e766415a40d5f5ab267768d217d),
> we've had fixes for CVE-2016-9897, CVE-2016-9898, CVE-2016-9899,
> CVE-2016-9900, CVE-2016-9904, and 4 out of 11 patches for CVE-2016-9893.
>
> Since December 3 (commit 5bdec7d634ce0058801cd212e9e4ea56e914ca0c),
> we've had the fixes that were later announced as CVE-2016-9901,
> CVE-2016-9902, CVE-2016-9905, and another patch for CVE-2016-9893.
>
> On December 10 (commit 56c394ee4397015d6144dab002ee43fc7e32a331), I
> cherry-picked the remaining fixes from the not-yet-released Firefox
> ESR 45.6: CVE-2016-9895, and the final six patches for CVE-2016-9893.
>
>   Mark

This is excellent news! Thank you very much, Mark! :)


signature.asc
Description: PGP signature


Re: [PATCH] gnu: kdbusaddons: Embed path to kdeinit5, avoid dependency cycles.

2016-12-15 Thread Ludovic Courtès
Hello!

Thomas Danckaert  skribis:

> A remaining issue with kdeinit is, that it needs to run in an
> environment with all the required environment variables (such as
> QT_PLUGIN_PATH and QML2_IMPORT_PATH) for all possible KDE applications
> it has to start (and any libraries they depend on), in order to find
> dependencies at runtime, such as plugins and Qml modules.  If a user
> wants to run a KDE application which relies on kdeinit, but kdeinit is
> already running without all the required environment vars, the
> application will not find all the plugins or Qml modules it needs.
> (In a conventional system, kde applications just need to know one
> central directory where they will find all KDE plugins present on the
> system)

OK.

> I don't know what would be a good solution.  A “kde-master” package,
> which has references to all packaged KDE applications (and some
> libraries which provide plugins) as inputs, and just adds the required
> paths to the user's profile (not very modular, but it could work)?
> Could a kdeinit service could help with this in GuixSD (haven't really
> looked at services yet)?

Other options that come to mind: (1) make ‘QT_PLUGIN_PATH’ and
‘QML2_IMPORT_PATH’ search paths of ‘kinit’; or (2) add a “profile hook”
that creates a file containing the search path, and patch kinit to honor
that file somehow.

Option 1 sounds better, but ‘QT_PLUGIN_PATH’ really belongs to Qt, not
to kinit.

Thoughts?

> From ba729cd9a2bbbc98bd308702ded837cae5980281 Mon Sep 17 00:00:00 2001
> From: Thomas Danckaert 
> Date: Tue, 6 Dec 2016 14:55:39 +0100
> Subject: [PATCH] gnu: kdbusaddons: Embed path to kdeinit5, avoid dependency
>  cycles.
>
> kdbusaddons needs to know the location of the kdeinit5 executable,
> provided by kinit. kinit depends on kdbusaddons, so we add bootstrap
> versions of all packages in the dependency chain from kinit to
> kdbusaddons to avoid cyclic dependencies.
>
> * gnu/packages/kde-frameworks.scm (kinit-bootstrap,
>   kdbusaddons-bootstrap, kbookmarks-bootstrap, kglobalaccel-bootstrap,
>   kio-bootstrap, kservice-bootstrap, ktextwidgets-bootstrap,
>   kwallet-bootstrap, kxmlgui-bootstrap): New variables.
>   (kdbusaddons)[inputs]: Add kinit-bootstrap.
>   [source,arguments]: Add patch and substitution to embed
>   kinit-bootstrap's store path in the code.
> * gnu/packages/patches/kdbusaddons-kinit-path.patch: New file.
> * gnu/local.mk (dist_patch_DATA): Add it.

[...]

> +;; This version of kdbusaddons does not use kinit as an input, and is used to
> +;; build kinit-bootstrap, as well as bootstrap versions of all kinit
> +;; dependencies which also rely on kdbusaddons.
> +(define kdbusaddons-bootstrap
> +  (package
> +(inherit kdbusaddons)
> +(source (origin
> +  (inherit (package-source kdbusaddons))
> +  (patches '(

Since ‘kdbusaddons’ doesn’t have any patches, you can omit this ‘source’
field.

> +(define kservice-bootstrap
> +  ((package-input-rewriting `((,kdbusaddons . ,kdbusaddons-bootstrap))) 
> kservice))
> +
> +(define ktextwidgets-bootstrap
> +  ((package-input-rewriting `((,kservice . ,kservice-bootstrap))) 
> ktextwidgets))
> +
> +(define kwallet-bootstrap
> +  ((package-input-rewriting `((,kdbusaddons . ,kdbusaddons-bootstrap)
> +  (,kservice . ,kservice-bootstrap))) kwallet))
> +
> +(define kglobalaccel-bootstrap
> +  ((package-input-rewriting `((,kdbusaddons . ,kdbusaddons-bootstrap)
> +   (,kservice . ,kservice-bootstrap))) 
> kglobalaccel))
> +
> +(define kxmlgui-bootstrap
> +  ((package-input-rewriting `((,kglobalaccel . ,kglobalaccel-bootstrap)
> +  (,ktextwidgets . ,ktextwidgets-bootstrap))) 
> kxmlgui))
> +
> +(define kbookmarks-bootstrap
> +  ((package-input-rewriting `((,kxmlgui . ,kxmlgui-bootstrap))) kbookmarks))
> +
> +(define kio-bootstrap
> +  ((package-input-rewriting `((,kservice . ,kservice-bootstrap)
> +  (,kxmlgui . ,kxmlgui-bootstrap)
> +  (,kbookmarks . ,kbookmarks-bootstrap)
> +  (,kdbusaddons . ,kdbusaddons-bootstrap)
> +  (,kwallet . ,kwallet-bootstrap)
> +  (,ktextwidgets . ,ktextwidgets-bootstrap))) 
> kio))
> +
> +(define kinit-bootstrap
> +  ((package-input-rewriting `((,kio . ,kio-bootstrap)
> +  (,kservice . ,kservice-bootstrap)
> +  (,kbookmarks . ,kbookmarks-bootstrap)
> +  (,kxmlgui . ,kxmlgui-bootstrap))) kinit))

Isn’t it enough to do:

  (define kinit-bootstrap
((package-input-rewriting `((,kdbusaddons . ,kdbusaddons-bootstrap)))
 kinit))

?  Remember that ‘package-input-rewriting’ replaces inputs recursively.

You can check with ‘guix graph -e '(@ (gnu packages kde) kdeinit-bootstrap)'’
whether you’re really getting 

Re: [PATCH 2/3] gnu: Add kdevplatform.

2016-12-15 Thread Ludovic Courtès
Thomas Danckaert  skribis:

> * gnu/packages/kde.scm (kdevplatform): New variable.

Applied with changes to placate ‘guix lint’ (period at the end of
synopsis, wrong source file name.)

Thanks!

Ludo’.



Re: [PATCH 1/3] gnu: libksysguard: Correct inputs.

2016-12-15 Thread Ludovic Courtès
Thomas Danckaert  skribis:

> * gnu/packages/kde.scm (libksysguard)[inputs]: Remove kdbusaddons,
>   kdoctools, kinit, knewstruff, knotifications, kio; add kauth,
>   kcompletion, kconfig, kcoreaddons, kwidgetsaddons.

Applied!



Re: [PATCH 1/2] services: postgresql: Add port to configuration

2016-12-15 Thread Ludovic Courtès
Christopher Baines  skribis:

> * gnu/services/databases.scm (): Add port
>   field.
>   (postgresql-shepherd-service): Pass port to postgres.
>   (postgresql-service): Add port default.

Applied, thanks!

Ludo’.



Re: [PATCH 2/2] services: postgresql: Add locale to configuration

2016-12-15 Thread Ludovic Courtès
Christopher Baines  skribis:

> * gnu/services/databases.scm (): Add locale
>   field.
>   (postgresql-shepherd-service): Pass locale to initdb.
>   (postgresql-service): Add locale default.

Applied, thanks!  :-)

Ludo’.



Re: NetworkManager doesn't "Connect automatically"

2016-12-15 Thread Ludovic Courtès
Chris Marusich  skribis:

> I tried following polkit's example.  These patches enable me to build
> network-manager with elogind, but when I reconfigure my system using the
> new network-manager package, NetworkManager still fails to automatically
> connect (like before, there are no error messages that I can find).
>
> I suspect I didn't replace the right "systemd" references, but it's hard
> to say.  A second pair of eyes on this would be very helpful!

[...]

> From 775e0f0c18fb2bcfc297c92184c54e81fb2db79d Mon Sep 17 00:00:00 2001
> From: Chris Marusich 
> Date: Wed, 14 Dec 2016 00:44:54 -0800
> Subject: [PATCH 1/2] gnome: Enable session tracking in network-manager.
>
> * gnu/packages/gnome.scm (network-manager): Add configuration options
>   "--with-systemd-logind=yes" (so we can use elogind to track login sessions)
>   and "--with-consolekit=no" (so we don't use consolekit to track sessions,
>   since it isn't packaged yet).  Add elogind as an input, and add a snippet to
>   replace some references to systemd with elogind.

[...]

> From d6de68789959bd657c5697c717201d5bcdaf2fcf Mon Sep 17 00:00:00 2001
> From: Chris Marusich 
> Date: Wed, 14 Dec 2016 00:01:26 -0800
> Subject: [PATCH 2/2] gnome: Enable NetworkManager in gnome-settings-daemon.
>
> * gnu/packages/gnome.scm (gnome-settings-daemon): remove the configure option
>   "--disable-network-manager".  Add network-manager as an input.

Following Andy’s advice I committed both with slightly-tweaked commit
logs.  That’ll give lurkers out there an incentive to give it a try.
;-)

Thank you Chris!

Ludo’.



Re: [PATCH 1/7] build-system: Add cargo build system.

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

>> Would that help?
>
> Awesome! Thank you.
>
> The bootstrapping solution turned out much better. I added the
> #:system argument to rustc-bootstrap and cargo-bootstrap and moved the
> gcc -> cc symlink into rust-bootstrap, so that we get a native
> toolchain. We can build rustc on i686 and x86_64 using the same
> binary.

Cool, thanks!

Ludo'.



[PATCH 2/2] gnu: Add emacs-guix.

2016-12-15 Thread Alex Kost
* gnu/packages/emacs.scm (emacs-guix): New variable.
---
 gnu/packages/emacs.scm | 53 ++
 1 file changed, 53 insertions(+)

diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index d95c683..eea20d0 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -1269,6 +1269,59 @@ and stored in memory.")
 type, for example: packages, buffers, files, etc.")
 (license license:gpl3+)))
 
+(define-public emacs-guix
+  (package
+(name "emacs-guix")
+(version "0.2")
+(source (origin
+  (method url-fetch)
+  (uri (string-append "https://github.com/alezost/guix.el;
+  "/releases/download/v" version
+  "/emacs-guix-" version ".tar.gz"))
+  (sha256
+   (base32
+"0h168597am5vcix149l27g876v4f5yqwx8v0s9mmsdva1qqcq5s5"
+(build-system gnu-build-system)
+(arguments
+ `(#:configure-flags
+   (let ((guix(assoc-ref %build-inputs "guix"))
+ (geiser  (assoc-ref %build-inputs "geiser"))
+ (dash(assoc-ref %build-inputs "dash"))
+ (bui (assoc-ref %build-inputs "bui"))
+ (magit-popup (assoc-ref %build-inputs "magit-popup"))
+ (site-lisp   "/share/emacs/site-lisp"))
+ (list (string-append "--with-guix-site-dir="
+  guix "/share/guile/site/2.0")
+   (string-append "--with-geiser-lispdir=" geiser site-lisp)
+   (string-append "--with-dash-lispdir="
+  dash site-lisp "/guix.d/dash-"
+  ,(package-version emacs-dash))
+   (string-append "--with-bui-lispdir="
+  bui site-lisp "/guix.d/bui-"
+  ,(package-version emacs-bui))
+   (string-append "--with-popup-lispdir="
+  magit-popup site-lisp "/guix.d/magit-popup-"
+  ,(package-version emacs-magit-popup))
+(native-inputs
+ `(("pkg-config" ,pkg-config)
+   ("emacs" ,emacs-minimal)))
+(inputs
+ `(("guile" ,guile-2.0)
+   ("guix" ,guix)))
+(propagated-inputs
+ `(("geiser" ,geiser)
+   ("dash" ,emacs-dash)
+   ("bui" ,emacs-bui)
+   ("magit-popup" ,emacs-magit-popup)))
+(home-page "https://github.com/alezost/guix.el;)
+(synopsis "Emacs interface for GNU Guix")
+(description
+ "Emacs-Guix provides a visual interface, tools and features for the
+GNU Guix package manager.  Particularly, it allows you to do various
+package management tasks from Emacs.  To begin with, run @code{M-x
+guix-help} command.")
+(license license:gpl3+)))
+
 (define-public emacs-d-mode
   (package
 (name "emacs-d-mode")
-- 
2.10.2




[PATCH 1/2] gnu: Add emacs-bui.

2016-12-15 Thread Alex Kost
* gnu/packages/emacs.scm (emacs-bui): New variable.
---
 gnu/packages/emacs.scm | 24 
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 5e6b99f..d95c683 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -1245,6 +1245,30 @@ and stored in memory.")
 (description "This package provides a modern list API library for Emacs.")
 (license license:gpl3+)))
 
+(define-public emacs-bui
+  (package
+(name "emacs-bui")
+(version "1.0.1")
+(source (origin
+  (method url-fetch)
+  (uri (string-append
+"https://github.com/alezost/bui.el/archive/v;
+version ".tar.gz"))
+  (file-name (string-append name "-" version ".tar.gz"))
+  (sha256
+   (base32
+"0vsh1v99xxm6hhqp0vg9fbs230kawa7xb5dnd8fidf3vwm622aqh"
+(build-system emacs-build-system)
+(propagated-inputs
+ `(("dash" ,emacs-dash)))
+(home-page "https://github.com/alezost/bui.el;)
+(synopsis "Buffer interface library for Emacs")
+(description
+ "BUI (Buffer User Interface) is a library for making @code{list} and
+@code{info} interfaces to display an arbitrary data of the same
+type, for example: packages, buffers, files, etc.")
+(license license:gpl3+)))
+
 (define-public emacs-d-mode
   (package
 (name "emacs-d-mode")
-- 
2.10.2




Emacs-Guix released outside from Guix

2016-12-15 Thread Alex Kost
Hello, I've been working on Emacs interface outside from the Guix repo
for some time, I mean I'm not going to maintain it inside Guix, sorry :-(

The main reason, is, well, inconvenience for me: I don't like to bother
people with patches, etc.  I tried to explain it at
.
There are 2 more reasons above that:

- I'd like to make it available on MELPA (people asked about it several
  times in the past);

- Currently, to be able to use it on non-GuixSD system, a user has to
  install 'guix' package into their profile.  This has never looked good
  to me (installing a whole guix only for a small part of it). I would
  prefer to make "guix package -i emacs-guix" possible instead.

So I'd like to add 'emacs-guix' package (the current patchset) and to
remove it from the Guix source tree, if you don't mind.

The code of Emacs-Guix can be found on github¹ or notabug².  I've just
made a release (v0.2); and I'm going to send a message with the summary
of changes later.

¹ https://github.com/alezost/guix.el
² https://notabug.org/alezost/emacs-guix

I'm also sending the following patches:

[PATCH 1/2] gnu: Add emacs-bui.
[PATCH 2/2] gnu: Add emacs-guix.



Re: Guix IceCat users have had early access to security fixes

2016-12-15 Thread julien lepiller

Le 2016-12-15 02:00, Mark H Weaver a écrit :

Yesterday, Mozilla released Firefox ESR 45.6 and announced several CVEs
fixed by it:

  https://www.mozilla.org/en-US/security/advisories/mfsa2016-95/

I'm pleased to announce that Guix users of IceCat have had early access
all of these fixes.

Since November 30 (commit 9689e71d2f2b5e766415a40d5f5ab267768d217d),
we've had fixes for CVE-2016-9897, CVE-2016-9898, CVE-2016-9899,
CVE-2016-9900, CVE-2016-9904, and 4 out of 11 patches for 
CVE-2016-9893.


Since December 3 (commit 5bdec7d634ce0058801cd212e9e4ea56e914ca0c),
we've had the fixes that were later announced as CVE-2016-9901,
CVE-2016-9902, CVE-2016-9905, and another patch for CVE-2016-9893.

On December 10 (commit 56c394ee4397015d6144dab002ee43fc7e32a331), I
cherry-picked the remaining fixes from the not-yet-released Firefox
ESR 45.6: CVE-2016-9895, and the final six patches for CVE-2016-9893.

  Mark


Impressive, thank you!

I'm a bit curious though, how did you get these patches? Were they 
already advertised as vulnerability fixes at the time you applied them? 
Were they already publicly-available?




Re: NetworkManager doesn't "Connect automatically"

2016-12-15 Thread Andy Wingo
On Thu 15 Dec 2016 11:24, Chris Marusich  writes:

> I tried following polkit's example.  These patches enable me to build
> network-manager with elogind, but when I reconfigure my system using the
> new network-manager package, NetworkManager still fails to automatically
> connect (like before, there are no error messages that I can find).
>
> I suspect I didn't replace the right "systemd" references, but it's hard
> to say.  A second pair of eyes on this would be very helpful!

Patches LGTM but I don't have the bandwidth right now to test :)  I
suggest just pushing them and then people with NM can more easily debug
things.

Andy



Re: [PATCH] gnu: tor: Recommend torsocks.

2016-12-15 Thread ng0
Hi, I see this received no feedback so far. Can someone review
this? Or is it already on someones list?

Thanks.

ng0  writes:

> * gnu/packages/tor.scm (tor)[description]: Recommend torsocks.
> ---
>  gnu/packages/tor.scm | 9 +
>  1 file changed, 5 insertions(+), 4 deletions(-)
>
> diff --git a/gnu/packages/tor.scm b/gnu/packages/tor.scm
> index e6fbf6e..f0970ef 100644
> --- a/gnu/packages/tor.scm
> +++ b/gnu/packages/tor.scm
> @@ -54,9 +54,6 @@
>   `(("zlib" ,zlib)
> ("openssl" ,openssl)
> ("libevent" ,libevent)))
> -
> -;; TODO: Recommend `torsocks' since `torify' needs it.
> -
>  (home-page "https://www.torproject.org/;)
>  (synopsis "Anonymous network router to improve privacy on the Internet")
>  (description
> @@ -66,7 +63,11 @@ somebody watching your Internet connection from learning 
> what sites you
>  visit, and it prevents the sites you visit from learning your physical
>  location.  Tor works with many of your existing applications, including
>  web browsers, instant messaging clients, remote login, and other
> -applications based on the TCP protocol.")
> +applications based on the TCP protocol.
> +To @code{torify} applications (to take measures to ensure that an 
> application,
> +which has not been designed for use with Tor such as ssh, will use only Tor 
> for
> +internet connectivity, and also ensures that there are no leaks from DNS, 
> UDP or
> +the application layer) you need to install @code{torsocks}.")
>  (license bsd-3)))
>  
>  (define-public torsocks
> -- 
> 2.10.1
>
>

-- 
♥Ⓐ  ng0  | ng0.chaosnet.org



Re: Guix IceCat users have had early access to security fixes

2016-12-15 Thread Chris Marusich
Mark H Weaver  writes:

> Yesterday, Mozilla released Firefox ESR 45.6 and announced several CVEs
> fixed by it:
>
>   https://www.mozilla.org/en-US/security/advisories/mfsa2016-95/
>
> I'm pleased to announce that Guix users of IceCat have had early access
> all of these fixes.
>
> Since November 30 (commit 9689e71d2f2b5e766415a40d5f5ab267768d217d),
> we've had fixes for CVE-2016-9897, CVE-2016-9898, CVE-2016-9899,
> CVE-2016-9900, CVE-2016-9904, and 4 out of 11 patches for CVE-2016-9893.
>
> Since December 3 (commit 5bdec7d634ce0058801cd212e9e4ea56e914ca0c),
> we've had the fixes that were later announced as CVE-2016-9901,
> CVE-2016-9902, CVE-2016-9905, and another patch for CVE-2016-9893.
>
> On December 10 (commit 56c394ee4397015d6144dab002ee43fc7e32a331), I
> cherry-picked the remaining fixes from the not-yet-released Firefox
> ESR 45.6: CVE-2016-9895, and the final six patches for CVE-2016-9893.
>
>   Mark

That's really awesome!  Thank you for keeping track of this.

By the way, I'm curious: I see that those changes (e.g.,
9689e71d2f2b5e766415a40d5f5ab267768d217d) added patches.  Do those
patches result in grafts, or is grafting a totally unrelated thing?

-- 
Chris


signature.asc
Description: PGP signature


Re: NetworkManager doesn't "Connect automatically"

2016-12-15 Thread Chris Marusich
Chris Marusich  writes:

> Chris Marusich  writes:
>
>> Andy Wingo  writes:
>>
>>> On Wed 14 Dec 2016 10:13, Chris Marusich  writes:
>>>
 Did I make a mistake, or does NetworkManager just not recognize elogind?
 I'll look into this more, but unless I made a mistake, I suspect that
 either elogind or network-manager might require some tweaks to convince
 network-manager that elogind is equivalent to systemd in this case.
>>>
>>> See README where it mentions differences to logind:
>>>
>>>   https://github.com/elogind/elogind
>>>
>>> In particular see the changes in gnu/packages/polkit.scm to get
>>> PolicyKit to recognize elogind.
>>>
>>> ANdy
>>
>> Awesome, thank you for the tip!  At first blush it looks like the word
>> "systemd" is mentioned in surprisingly many files inside the
>> NetworkManager source.  I'll try following the example of polkit and see
>> how it goes!
>
> Upon closer inspection, it looks almost as if NetworkManager has
> extracted code from systemd for its own internal use.  I'll continue to
> look into this, but I don't expect to be able to make progress on my own
> very soon, so if someone else wants to dive in and help figure out what
> substitutions to make in the NetworkManager code, it would be welcome.

I tried following polkit's example.  These patches enable me to build
network-manager with elogind, but when I reconfigure my system using the
new network-manager package, NetworkManager still fails to automatically
connect (like before, there are no error messages that I can find).

I suspect I didn't replace the right "systemd" references, but it's hard
to say.  A second pair of eyes on this would be very helpful!

-- 
Chris
From 775e0f0c18fb2bcfc297c92184c54e81fb2db79d Mon Sep 17 00:00:00 2001
From: Chris Marusich 
Date: Wed, 14 Dec 2016 00:44:54 -0800
Subject: [PATCH 1/2] gnome: Enable session tracking in network-manager.

* gnu/packages/gnome.scm (network-manager): Add configuration options
  "--with-systemd-logind=yes" (so we can use elogind to track login sessions)
  and "--with-consolekit=no" (so we don't use consolekit to track sessions,
  since it isn't packaged yet).  Add elogind as an input, and add a snippet to
  replace some references to systemd with elogind.
---
 gnu/packages/gnome.scm | 21 ++---
 1 file changed, 18 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 1762381cf..846317f1d 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -4399,7 +4399,19 @@ users.")
   "NetworkManager-" version ".tar.xz"))
   (sha256
(base32
-"016jc21mwjxvnfiblp5lji55sr8aq6w8a08fsjmqvnpnvm3y6r58"
+"016jc21mwjxvnfiblp5lji55sr8aq6w8a08fsjmqvnpnvm3y6r58"))
+  (snippet
+  '(begin
+ (use-modules (guix build utils))
+ (substitute* "configure"
+   ;; Replace libsystemd-login with libelogind.
+   (("libsystemd-login") "libelogind"))
+ (substitute* "src/devices/wwan/nm-modem-manager.c"
+   (("systemd") "elogind"))
+ (substitute* "src/nm-session-monitor.c"
+   (("systemd") "elogind"))
+ (substitute* "./src/nm-logging.c"
+   (("systemd") "elogind"))
 (build-system gnu-build-system)
 (outputs '("out"
"doc")) ; 8 MiB of gtk-doc HTML
@@ -4409,7 +4421,9 @@ users.")
  (doc  (assoc-ref %outputs "doc"))
  (dhclient (string-append (assoc-ref %build-inputs "isc-dhcp")
   "/sbin/dhclient")))
- (list "--with-crypto=gnutls"
+ (list "--with-systemd-logind=yes" ; In Guix, this is provided via elogind.
+   "--with-consolekit=no" ; We haven't packaged consolekit yet.
+   "--with-crypto=gnutls"
"--disable-config-plugin-ibft"
"--sysconfdir=/etc"
"--localstatedir=/var"
@@ -4474,7 +4488,8 @@ users.")
("polkit" ,polkit)
("ppp" ,ppp)
("readline" ,readline)
-   ("util-linux" ,util-linux)))
+   ("util-linux" ,util-linux)
+   ("elogind" ,elogind)))
 (synopsis "Network connection manager")
 (home-page "http://www.gnome.org/projects/NetworkManager/;)
 (description
-- 
2.11.0

From d6de68789959bd657c5697c717201d5bcdaf2fcf Mon Sep 17 00:00:00 2001
From: Chris Marusich 
Date: Wed, 14 Dec 2016 00:01:26 -0800
Subject: [PATCH 2/2] gnome: Enable NetworkManager in gnome-settings-daemon.

* gnu/packages/gnome.scm (gnome-settings-daemon): remove the configure option
  "--disable-network-manager".  Add network-manager as an input.
---
 gnu/packages/gnome.scm | 7 +++
 1 file changed, 3 insertions(+), 4 

Re: [PATCH] gnu: Add python-xopen.

2016-12-15 Thread Tobias Geerinckx-Rice
Marius,

On 15/12/16 10:20, Marius Bakke wrote:
> Why not use 'pypi-uri' here? Otherwise LGTM.

What would that give us?

Thanks,

T G-R



signature.asc
Description: OpenPGP digital signature


Re: [PATCH] gnu: Add python-xopen.

2016-12-15 Thread Marius Bakke
Tobias Geerinckx-Rice  writes:

> * gnu/packages/python.scm (python-xopen, python2-xopen): New variables.
> ---
>  gnu/packages/python.scm | 26 ++
>  1 file changed, 26 insertions(+)
>
> diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
> index 789e199..70c5aed 100644
> --- a/gnu/packages/python.scm
> +++ b/gnu/packages/python.scm
> @@ -11929,3 +11929,29 @@ network.")
>  
>  (define-public python2-argcomplete
>(package-with-python2 python-argcomplete))
> +
> +(define-public python-xopen
> +  (package
> +(name "python-xopen")
> +(version "0.1.1")
> +(source
> +  (origin
> +(method url-fetch)
> +(uri (string-append "https://github.com/marcelm/xopen/archive/v;
> +version ".tar.gz"))

Why not use 'pypi-uri' here? Otherwise LGTM.

> +(sha256
> +  (base32
> +   "1dp0fg56fk5kiz9n1h82b6bf9vf15p4c79bvidlbgvsx3jqqaa39"))
> +(file-name (string-append name "-" version ".tar.gz"
> +(build-system python-build-system)
> +(home-page "https://github.com/marcelm/xopen/;)
> +(synopsis "Open compressed files transparently")
> +(description "This module provides an @code{xopen} function that works 
> like
> +Python's built-in @code{open} function, but can also deal with compressed 
> files.
> +Supported compression formats are gzip, bzip2 and, xz, and are automatically
> +recognized by their file extensions.  The focus is on being as efficient as
> +possible on all supported Python versions.")
> +(license license:expat)))
> +
> +(define-public python2-xopen
> +  (package-with-python2 python-xopen))
> -- 
> 2.9.3


signature.asc
Description: PGP signature


Re: Shutdown of googlecode end of the year - we have affected packages!

2016-12-15 Thread Taylan Ulrich Bayırlı/Kammer
taylanbayi...@gmail.com (Taylan Ulrich "Bayırlı/Kammer") writes:

> Ricardo Wurmus  writes:
>
>> ng0  writes:
>>
>>> ng0@wasp ~$ cd src/guix/guix
>>> ng0@wasp ~/src/guix/guix$ git grep googlecode
>>> gnu/packages/key-mon.scm:
>>> "http://key-mon.googlecode.com/files/key-mon-;
>>>
>>>
>>> Are we done then and we only need to find the right source for
>>> key-mon if there is a new one?
>>
>> There’s more:
>>
>> $ grep -r 'code\.google' gnu/packages
>>
>> gnu/packages/key-mon.scm:(home-page "http://code.google.com/p/key-mon;)
>> gnu/packages/scheme.scm:(home-page 
>> "https://code.google.com/p/chibi-scheme/;)
>
> I will update Chibi's recipe promptly.  It's on GitHub by now.

Looks like Tobias beat me to it. :-)

Taylan



Re: Shutdown of googlecode end of the year - we have affected packages!

2016-12-15 Thread Taylan Ulrich Bayırlı/Kammer
Ricardo Wurmus  writes:

> ng0  writes:
>
>> ng0@wasp ~$ cd src/guix/guix
>> ng0@wasp ~/src/guix/guix$ git grep googlecode
>> gnu/packages/key-mon.scm:
>> "http://key-mon.googlecode.com/files/key-mon-;
>>
>>
>> Are we done then and we only need to find the right source for
>> key-mon if there is a new one?
>
> There’s more:
>
> $ grep -r 'code\.google' gnu/packages
>
> gnu/packages/key-mon.scm:(home-page "http://code.google.com/p/key-mon;)
> gnu/packages/scheme.scm:(home-page 
> "https://code.google.com/p/chibi-scheme/;)

I will update Chibi's recipe promptly.  It's on GitHub by now.

> gnu/packages/python.scm:(home-page "https://code.google.com/p/py-bcrypt;)
> gnu/packages/python.scm:(home-page "http://code.google.com/p/mock/;)
> gnu/packages/python.scm:(home-page 
> "https://code.google.com/archive/p/socksipy-branch/;)
> gnu/packages/python.scm:(home-page 
> "http://code.google.com/p/prettytable/;)
> gnu/packages/java.scm:
> "code.google.com/jarjar/jarjar-src-" version ".zip"))
> gnu/packages/java.scm:(home-page 
> "https://code.google.com/archive/p/jarjar/;)
> gnu/packages/boost.scm:(home-page 
> "https://code.google.com/p/multidimalgorithm/;)
> gnu/packages/image.scm:   ;; 
> https://code.google.com/p/tesseract-ocr/issues/detail?id=1436

Trying to access the link, I get a page saying Tesseract moved to GitHub
as well.  After a bit of struggling I managed to find a link to the
archived issue report in JSON format:

https://www.googleapis.com/storage/v1/b/google-code-archive/o/v2%2Fcode.google.com%2Ftesseract-ocr%2Fissues%2Fissue-1436.json?alt=media

Apparently the report was closed at some point, and I think Leptonica
also fixed the issue on the meanwhile.  I'll see that I update the
recipe suitably...

> gnu/packages/games.scm:   
> "google-code-archive-downloads/v2/code.google.com/"
> gnu/packages/games.scm:(home-page 
> "http://code.google.com/p/abbaye-for-linux/;)
> gnu/packages/openstack.scm:(http://code.google.com/p/pymox/) to Python 3.  It 
> was meant to be as compatible
> gnu/packages/fontutils.scm:   
> "code.google.com/ttf2eot/"
> gnu/packages/fontutils.scm:(home-page 
> "https://code.google.com/archive/p/ttf2eot/;)))
> gnu/packages/patches/ttf2eot-cstddef.patch:From resolution of 
> https://code.google.com/p/ttf2eot/issues/detail?id=26
> gnu/packages/bioinformatics.scm:(home-page 
> "https://code.google.com/p/cutadapt/;)
> gnu/packages/bioinformatics.scm:  (home-page 
> "https://code.google.com/p/mosaik-aligner/;)
> gnu/packages/bioinformatics.scm:(home-page 
> "https://code.google.com/p/pepr-chip-seq/;)
>
> Most of them are home page fields (will they also disappear?), but there
> are some where the sources are affected.

>From a bit of Googling I can't find any info on whether the homepages
will still be available either...

- Taylan, trying to at least maintain the packages he added!