Re: [PATCH 9/9] gnu: Add weston.

2016-09-07 Thread David Craven
> Did you test this?

> Pushed. but just realized now that I should have pushed to
> core-updates, since it requires patches from core-updates. Most builds
> will probably fail until core-updates is merged... Sorry about that.



Re: [PATCH v2] gnu: Add mtd-utils.

2016-09-07 Thread Danny Milosavljevic
Hi Leo,

On Tue, 6 Sep 2016 17:49:41 -0400
Leo Famulari  wrote:

> I imported the acl module, used #:make-flags to set PREFIX, and made a
> minor adjustment to the description.
> 
> What do you think?

Looks good and works :)



[PATCH] gnu: Simplify dtc package definition.

2016-09-07 Thread Danny Milosavljevic
---
 gnu/packages/u-boot.scm | 10 +++---
 1 file changed, 3 insertions(+), 7 deletions(-)

diff --git a/gnu/packages/u-boot.scm b/gnu/packages/u-boot.scm
index e9a4b90..7949d8a 100644
--- a/gnu/packages/u-boot.scm
+++ b/gnu/packages/u-boot.scm
@@ -47,15 +47,11 @@
("flex" ,flex)))
 (arguments
  `(#:make-flags
-   (list "CC=gcc" (string-append "PREFIX=" (assoc-ref %outputs "out")))
+   (list "CC=gcc"
+ (string-append "PREFIX=" (assoc-ref %outputs "out"))
+ "INSTALL=install")
#:phases
(modify-phases %standard-phases
- (add-after 'unpack 'patch-paths
-   (lambda _
- (substitute* "Makefile"
-   (("/usr/bin/install") "install"))
- (substitute* "Makefile"
-   (("PREFIX = \\$\\(HOME\\)") ""
  (delete 'configure
 (home-page "https://www.devicetree.org";)
 (synopsis "Compiles device tree source files")


Re: [PATCH] Build sandbox support etc. unconditionally on Linux.

2016-09-07 Thread Ludovic Courtès
Hello Manolis!

Manolis Ragkousis  skribis:

> On 08/10/16 20:39, Mark H Weaver wrote:
>>
>> I'm very reluctant to apply this patch.  In general, it's preferable to
>> rely on autoconf to test for individual features, rather than testing
>> for particular kernels by name.  It seems to me that this patch will
>> hinder portability to other kernels.
>>
>> I'd be inclined to return to the approach you were proposing before
>> discovering this upstream patch.  I'll take a look at it soon.
>>
>> What do you think?
>
> Well the other solution will be to break the CHROOT_ENABLED into smaller
> macros, depending on what we check.  If you think this is a better
> solution then okay with me.
>
> Locally I broke CHROOT_ENABLED into
>
> #define CHROOT_ENABLED HAVE_CHROOT && HAVE_SYS_MOUNT_H &&
> defined(MS_BIND) && defined(MS_PRIVATE)
> #define CLONE_ENABLED defined(CLONE_NEWNS)
> #if defined(SYS_pivot_root)
> #define pivot_root(new_root, put_old) (syscall(SYS_pivot_root, new_root,
> put_old))
> #endif

That sounds preferable, or maybe just avoid CHROOT_ENABLED altogether?

> And maybe we should rename CHROOT_ENABLED into SANDBOX_ENABLED or
> something similar to better describe its purpose.

I’d rather not (Nix made this change, but that’s largely because OS X
has a similar feature called “sandbox”, so they used this name in the
code.)

Ludo’.



Re: [PATCH] gnu: Simplify dtc package definition.

2016-09-07 Thread David Craven
LGTM. Are these changes part of the debian patchset?



Re: [PATCH] daemon: Break CHROOT_ENABLED into smaller macros.

2016-09-07 Thread Ludovic Courtès
Hi!

Manolis Ragkousis  skribis:

> From aea4bf23b699b7ef5d7007b81f296b77324d5b6c Mon Sep 17 00:00:00 2001
> From: Manolis Ragkousis 
> Date: Sun, 7 Aug 2016 17:48:30 +0300
> Subject: [PATCH] daemon: Break CHROOT_ENABLED into smaller macros.
>
> We need to check for CLONE_NEWNS only when we want to use the
> Linux specific clone(). Otherwise we use fork().  Also we define
> pivot_root() only if SYS_pivot_root is defined.

Nipick: it’s enough to write 'clone', without parentheses (info
"(standards) GNU Manuals").

> * nix/libstore/build.cc (CHROOT_ENABLED): Break into CHROOT_ENABLED
> and CLONE_ENABLED.  Define pivot_root() only if SYS_pivot_root is defined.
> (DerivationGoal::startBuilder): Replace CHROOT_ENABLED with CLONE_ENABLED.

[...]

> --- a/nix/libstore/build.cc
> +++ b/nix/libstore/build.cc
> @@ -51,7 +51,12 @@
>  #include 
>  #endif
>  
> -#define CHROOT_ENABLED HAVE_CHROOT && HAVE_SYS_MOUNT_H && defined(MS_BIND) 
> && defined(MS_PRIVATE) && defined(CLONE_NEWNS) && defined(SYS_pivot_root)
> +#define CHROOT_ENABLED HAVE_CHROOT && HAVE_SYS_MOUNT_H && defined(MS_BIND) 
> && defined(MS_PRIVATE)
> +#define CLONE_ENABLED defined(CLONE_NEWNS)

This a misleading name, and I think it’s best to directly use #ifdef
CLONE_NEWNS.

> +#if defined(SYS_pivot_root)
> +#define pivot_root(new_root, put_old) (syscall(SYS_pivot_root, 
> new_root,put_old))
^
Insert space here.

> - The UTS namespace ensures that builders see a hostname of
>   localhost rather than the actual hostname.
>  */
> -#if CHROOT_ENABLED
> +#if CLONE_ENABLED

#ifdef CLONE_NEWNS.

Could you send an updated patch?

Thank you for being patient enough!

Ludo’.



Re: [PATCH] gnu: Add pybitmessage, [PATCH] gnu: Add python2-pyqt-4, [PATCH] gnu: gnu: messaging: Use license: prefix.

2016-09-07 Thread Efraim Flashner
On Thu, Aug 25, 2016 at 09:52:22AM +, ng0 wrote:
> ng0  writes:
> 
> > These 3 patches enable us to have a functional pybitmessage version
> > 0.6.1, released 2 days ago.
> >
> > For tests you can use either the test channel which can be found on
> > bitmessage.org (or in the application itself? I don't know, I'm no
> > newcomer to this application) or the channel I did setup a while ago
> > (blame my window manager if there's a typo, the copy & paste is
> > sometimes stuck):
> > BM-2cTPsDEX29yRnrAmyfwZhC3RySsK4wnQUA
> > [chan] gnuguixchan
> >
> 
> Just a thought to change the description a tiny bit when someone
> packages another bitmessage client: This is the implementation as found
> on bitmessage.org, but it is not the only implementation.
> -- 
> ng0
> For non-prism friendly talk find me on http://www.psyced.org
> 

I've rebased the patches and applied some '#t' to some of the phases. If
anyone else would like to test them out or comment, they look ready to
me to be pushed.

-- 
Efraim Flashner  אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
From 2a34dccb32340772b91b4e6b6340dcbddad3175b Mon Sep 17 00:00:00 2001
From: ng0 
Date: Tue, 23 Aug 2016 10:13:59 +
Subject: [PATCH 1/3] gnu: Add python2-pyqt-4.

* gnu/packages/qt.scm (python2-pyqt-4): New variable.

Signed-off-by: Efraim Flashner 
---
 gnu/packages/qt.scm | 10 ++
 1 file changed, 10 insertions(+)

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 95690fa..a482d75 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -3,6 +3,7 @@
 ;;; Copyright © 2015 Sou Bunnbu 
 ;;; Copyright © 2015 Ludovic Courtès 
 ;;; Copyright © 2015, 2016 Efraim Flashner 
+;;; Copyright © 2016 ng0 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -1069,6 +1070,15 @@ contain over 620 classes.")
  %standard-phases)))
 (license (list license:gpl2 license:gpl3 ; choice of either license
 
+(define-public python2-pyqt-4
+  (package (inherit python-pyqt-4)
+   (name "python2-pyqt-4")
+   (native-inputs
+`(("python-sip" ,python2-sip)
+  ("qt" ,qt-4)))
+   (inputs
+`(("python" ,python-2)
+
 (define-public qtkeychain
   (package
 (name "qtkeychain")
-- 
2.10.0

From c528659cd5291d7d154ce40e2d9125cf2b1d747f Mon Sep 17 00:00:00 2001
From: ng0 
Date: Tue, 23 Aug 2016 11:07:17 +
Subject: [PATCH 2/3] gnu: messaging: Use license: prefix.

* gnu/packages/disk.scm (define-module): Import guix licenses with a prefix.
(libotr): Use the license prefix.
(bitlbee): Likewise.
(hexchat): Likewise.
(ngircd): Likewise.
(pidgin): Likewise.
(pidgin-otr): Likewise.
(znc): Likewise.
(python-nbxmpp): Likewise.
(gajim): Likewise.
(prosody): Likewise.
(libtoxcore): Likewise.

Signed-off-by: Efraim Flashner 
---
 gnu/packages/messaging.scm | 34 --
 1 file changed, 16 insertions(+), 18 deletions(-)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index b95239a..c584eaf 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -23,9 +23,7 @@
 ;;; along with GNU Guix.  If not, see .
 
 (define-module (gnu packages messaging)
-  #:use-module ((guix licenses)
-#:select (gpl3+ gpl2+ gpl2 lgpl2.1 lgpl2.0+ bsd-2 non-copyleft
-  asl2.0 x11))
+  #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix utils)
   #:use-module (guix packages)
   #:use-module (guix download)
@@ -95,7 +93,7 @@ correspondent is assured the messages he sees are authentic 
and
 unmodified.  (4) Perfect forward secrecy: If you lose control of your private
 keys, no previous conversation is compromised.")
 (home-page "https://otr.cypherpunks.ca/";)
-(license (list lgpl2.1 gpl2
+(license (list license:lgpl2.1 license:gpl2
 
 ;; These patches together fix https://github.com/bitlbee/bitlbee/pull/55, are
 ;; already upstream, and should be unnecessary when the next bitlbee comes
@@ -159,7 +157,7 @@ Google Talk), MSN Messenger, Yahoo!  Messenger, AIM and 
ICQ, and the Twitter
 microblogging network (plus all other Twitter API compatible services like
 identi.ca and status.net).")
 (home-page "http://www.bitlbee.org/";)
-(license (list gpl2+ bsd-2
+(license (list license:gpl2+ license:bsd-2
 
 (define-public hexchat
   (package
@@ -193,7 +191,7 @@ conversation and the list of users.  It uses colors to 
differentiate between
 users and to highlight messages.  It checks spelling using available
 dictionaries.  HexChat can be extended with multiple addons.")
 (home-page "http://hexchat.net/";)
-(license gpl2+)))
+(license license:gpl2+)))
 
 (define-public ngircd
   (package
@@ -258,7 +256,7 @@ dictionaries.  HexChat can be extended with multiple 
addons.")
  "ngIRCd is a lightweight Internet Relay Chat server for small

[PATCH 1/2] gnu: man-db: Use modify-phases syntax.

2016-09-07 Thread Ricardo Wurmus
* gnu/packages/man.scm (man-db)[arguments]: Use modify-phases syntax.
---
 gnu/packages/man.scm | 25 -
 1 file changed, 12 insertions(+), 13 deletions(-)

diff --git a/gnu/packages/man.scm b/gnu/packages/man.scm
index 9ffbba9..a5ee2d3 100644
--- a/gnu/packages/man.scm
+++ b/gnu/packages/man.scm
@@ -1,7 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2012, 2014, 2015 Ludovic Courtès 
 ;;; Copyright © 2014 David Thompson 
-;;; Copyright © 2015 Ricardo Wurmus 
+;;; Copyright © 2015, 2016 Ricardo Wurmus 
 ;;; Copyright © 2015 Alex Kost 
 ;;; Copyright © 2015, 2016 Efraim Flashner 
 ;;;
@@ -69,18 +69,17 @@ a flexible and convenient way.")
 (build-system gnu-build-system)
 (arguments
  '(#:phases
-   (alist-cons-after
-'patch-source-shebangs 'patch-test-shebangs
-(lambda* (#:key outputs #:allow-other-keys)
-  ;; Patch shebangs in test scripts.
-  (let ((out (assoc-ref outputs "out")))
-(for-each (lambda (file)
-(substitute* file
-  (("#! /bin/sh")
-   (string-append "#!" (which "sh")
-  (remove file-is-directory?
-  (find-files "src/tests" ".*")
-%standard-phases)
+   (modify-phases %standard-phases
+ (add-after 'patch-source-shebangs 'patch-test-shebangs
+   (lambda* (#:key outputs #:allow-other-keys)
+ ;; Patch shebangs in test scripts.
+ (let ((out (assoc-ref outputs "out")))
+   (for-each (lambda (file)
+   (substitute* file
+ (("#! /bin/sh")
+  (string-append "#!" (which "sh")
+ (remove file-is-directory?
+ (find-files "src/tests" ".*")))
#:configure-flags
(let ((groff (assoc-ref %build-inputs "groff"))
  (less  (assoc-ref %build-inputs "less"))
-- 
2.9.2





[PATCH 2/2] gnu: man-db: Patch path to iconv.

2016-09-07 Thread Ricardo Wurmus
* gnu/packages/man.scm (man-db)[arguments]: Add phase
  "patch-iconv-path".

Fixes .
---
 gnu/packages/man.scm | 8 +++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/man.scm b/gnu/packages/man.scm
index a5ee2d3..8658519 100644
--- a/gnu/packages/man.scm
+++ b/gnu/packages/man.scm
@@ -79,7 +79,13 @@ a flexible and convenient way.")
  (("#! /bin/sh")
   (string-append "#!" (which "sh")
  (remove file-is-directory?
- (find-files "src/tests" ".*")))
+ (find-files "src/tests" ".*"))
+ (add-after 'unpack 'patch-iconv-path
+   (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "src/man.c"
+   (("\"iconv\"")
+(string-append "\"" (which "iconv") "\"")))
+ #t)))
#:configure-flags
(let ((groff (assoc-ref %build-inputs "groff"))
  (less  (assoc-ref %build-inputs "less"))
-- 
2.9.2





Re: [PATCH v2] gnu: Add rust

2016-09-07 Thread David Craven
I haven't actually built rustc yet, because I know how long it takes...

> + (ld-so (string-append
> + (assoc-ref inputs "libc")
> + ,(glibc-dynamic-linker)))

> + ;; Remove reference to "/lib64/ld-linux-x86-64.so.2" 
> from binary
> + (zero? (system*
> + "patchelf"
> + "--set-interpreter" ld-so

I think that this should be part of the a rustc-bootstrap package. We
shouldn't export binaries to the user, but I think we need a fully
functional bootstrap compiler.

> + (setenv "SHELL" (which "sh"))
> + (setenv "CONFIG_SHELL" (which "sh"))
> + ;; Tell where to find libgcc_s.so
> + (setenv "LD_LIBRARY_PATH" (string-append gcc-lib 
> "/lib"))

I think this should be a separate phase. We can then use
#:configure-flags to pass --default-linker etc.

> +  #:tests? #f))

To get tests enabled you can apply this patch [0].

[0] 
https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/compilers/rust/patches/disable-lockfile-check.patch



Re: [PATCH] gnu: Simplify dtc package definition.

2016-09-07 Thread Danny Milosavljevic
Hi David,

On Wed, 7 Sep 2016 10:15:29 +0200
David Craven  wrote:

> LGTM. Are these changes part of the debian patchset?

No, I found out that GNU make allows you to override variables used inside 
Makefiles from make's command line.

To test:

write a Makefile containing:

#-
PREFIX = /foo

all:
echo $(PREFIX)
#-

Then try

$ make PREFIX=/bar

.

It will override the variable.



Re: [PATCH 1/2] gnu: man-db: Use modify-phases syntax.

2016-09-07 Thread Efraim Flashner
On Wed, Sep 07, 2016 at 10:47:06AM +0200, Ricardo Wurmus wrote:
> * gnu/packages/man.scm (man-db)[arguments]: Use modify-phases syntax.
> ---
>  gnu/packages/man.scm | 25 -
>  1 file changed, 12 insertions(+), 13 deletions(-)
> 
> diff --git a/gnu/packages/man.scm b/gnu/packages/man.scm
> index 9ffbba9..a5ee2d3 100644
> --- a/gnu/packages/man.scm
> +++ b/gnu/packages/man.scm
> @@ -1,7 +1,7 @@
>  ;;; GNU Guix --- Functional package management for GNU
>  ;;; Copyright © 2012, 2014, 2015 Ludovic Courtès 
>  ;;; Copyright © 2014 David Thompson 
> -;;; Copyright © 2015 Ricardo Wurmus 
> +;;; Copyright © 2015, 2016 Ricardo Wurmus 
>  ;;; Copyright © 2015 Alex Kost 
>  ;;; Copyright © 2015, 2016 Efraim Flashner 
>  ;;;
> @@ -69,18 +69,17 @@ a flexible and convenient way.")
>  (build-system gnu-build-system)
>  (arguments
>   '(#:phases
> -   (alist-cons-after
> -'patch-source-shebangs 'patch-test-shebangs
> -(lambda* (#:key outputs #:allow-other-keys)
> -  ;; Patch shebangs in test scripts.
> -  (let ((out (assoc-ref outputs "out")))
> -(for-each (lambda (file)
> -(substitute* file
> -  (("#! /bin/sh")
> -   (string-append "#!" (which "sh")
> -  (remove file-is-directory?
> -  (find-files "src/tests" ".*")
> -%standard-phases)
> +   (modify-phases %standard-phases
> + (add-after 'patch-source-shebangs 'patch-test-shebangs
> +   (lambda* (#:key outputs #:allow-other-keys)
> + ;; Patch shebangs in test scripts.
> + (let ((out (assoc-ref outputs "out")))
> +   (for-each (lambda (file)
> +   (substitute* file
> + (("#! /bin/sh")
> +  (string-append "#!" (which "sh")
> + (remove file-is-directory?
> + (find-files "src/tests" ".*")))
> #:configure-flags
> (let ((groff (assoc-ref %build-inputs "groff"))
>   (less  (assoc-ref %build-inputs "less"))
> -- 
> 2.9.2
> 

The patches look good to me. Also my quick test didn't show it causing
mass rebuilds.

-- 
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: [PATCH] gnu: Add tcp-wrappers.

2016-09-07 Thread Ludovic Courtès
John Darrington  skribis:

> * gnu/packages/networking.scm (tcp-wrappers): New variable.
> * gnu/packages/messaging.scm (ngircd) [inputs]: Add tcp-wrappers.

Could you commit the second part separately?

> +   (map (lambda (x)
> +  (install-file x (string-append
> +(assoc-ref %outputs "out")
> +   "/include"))) headers)
> +   (map (lambda (x)
> +  (install-file x (string-append
> +(assoc-ref %outputs "out")
> +   "/share/man/man"
> +   (string-take-right x 1 man-pages)
> +   (map (lambda (x)
> +  (install-file x (string-append
> +(assoc-ref %outputs "out")
> +   "/lib/"))) libs)
> +   (map (lambda (x)
> +  (install-file x (string-append
> +(assoc-ref %outputs "out")
> +"/bin/"))) bins)))

Please use the ‘out’ variable defined above, use ‘for-each’, and fix the
indentation:

  (for-each (lambda (file)
  (install-file file (string-append out "/bin")))
bins)

> +(home-page "http://www.porcupine.org";)
> +(synopsis  "Monitor and filter incoming requests for network services")
> +(description "With this package you can monitor and filter incoming 
> requests for
> +network services.  It includes a library which may be used by daemons to
> +transparently check connection attempts against an access control list.")
> +   (license (license:non-copyleft "file://DISCLAIMER"
  ^
Alignment.  :-)

OK with these changes, thank you!

Ludo’.



Re: PYTHONPATH anomaly

2016-09-07 Thread Ludovic Courtès
Hello!

Hartmut Goebel  skribis:

> Questions:
>
> 1) Is it intended that the current dir is not part of sys.path?

I don’t know about the specifics of Python here, but it’s always a
security problem to put “.” in a search path: users could end up
arbitrary code that just happens to be in $PWD.

So it’s probably intended.

Ludo’.



Re: ghc 8

2016-09-07 Thread Ludovic Courtès
ng0  skribis:

> Ludovic Courtès  writes:
>
>> ng0  skribis:
>>
>>> should we package ghc 8 in core-updates? It was released in May:
>>> https://ghc.haskell.org/trac/ghc/blog/ghc-8.0.1-released
>>
>> Probably a good idea.  :-)
>>
>> This can be done in ‘master’, or, if we change to default GHC, to a
>> dedicated ‘ghc-update’ branch.
>>
>> Ludo’.
>
> Should this replace current ghc? I don't know how much of our current
> (gnu packages haskell) would break.

No idea.  I suppose we take this route:

  1. First you test a sample of ghc-* packages and build them to see if
 there’s obvious breakage.

  2. If not, we commit the GHC upgrade in a branch and let Hydra build
 the branch.

  3. We fix package breaks that we notice on the branch.

  4. Merge the branch.

How does that sound?

Ludo’.



Re: [PATCH] gnu: rottlog: rotate messages daily.

2016-09-07 Thread Ludovic Courtès
Hi!

Jan Nieuwenhuizen  skribis:

> Using the attached patch and the configuration below, rottlog
> actually rotates /var/log/messages daily.

Woohoo!

> From c7fc570327faeb50503494b370a2f5ab21d4049b Mon Sep 17 00:00:00 2001
> From: Jan Nieuwenhuizen 
> Date: Sat, 18 Jun 2016 22:37:48 +0200
> Subject: [PATCH] gnu: rottlog: rotate messages daily.
>
> * gnu/packages/admin.scm (rottlog): Set packdir in etc/rc; fixes rotating.
> Rename weekly to daily; rotates /var/log/messages daily.

I split it in several patches and pushed part of this.

‘rottlog’ was looking for config files in OUT/etc, which made it
impossible for people to configure it.  So in commit
268ad34e0eadf8a015798b5c5587aad65b9f3a61 I changed it to look for
configuration files in /etc/rottlog.

Consequently, running “rottlog” alone won’t work; one has to provide
/etc/rottlog/{rc,daily} first.  We should have a GuixSD service that
does that.

Thoughts?

Thanks,
Ludo’.



Re: [PATCH] scripts: hash: Add --exclude-.git option.

2016-09-07 Thread Ludovic Courtès
Jan Nieuwenhuizen  skribis:

> From 060f9123acd4c6771e976c5442361285f8c8bc89 Mon Sep 17 00:00:00 2001
> From: Jan Nieuwenhuizen 
> Date: Tue, 6 Sep 2016 08:28:33 +0200
> Subject: [PATCH] scripts: hash: Add --exclude-vcs option.
>
> * guix/scripts/hash.scm (show-help): Add help text for --exclude-vcs option.
> (%options): Add --exclude-vcs option.
> (guix-hash): Handle exclude-vcs option.
> * doc/guix.texi ("Invoking guix hash"): Update doc.
> * tests/guix-hash.sh: Add test.

Pushed as 392a4e122350367c4b4ac331db5ec28360c7f38c with minor edits to
guix.texi, thanks!

Ludo’.



Re: ghc 8

2016-09-07 Thread ng0
Ludovic Courtès  writes:

> ng0  skribis:
>
>> Ludovic Courtès  writes:
>>
>>> ng0  skribis:
>>>
 should we package ghc 8 in core-updates? It was released in May:
 https://ghc.haskell.org/trac/ghc/blog/ghc-8.0.1-released
>>>
>>> Probably a good idea.  :-)
>>>
>>> This can be done in ‘master’, or, if we change to default GHC, to a
>>> dedicated ‘ghc-update’ branch.
>>>
>>> Ludo’.
>>
>> Should this replace current ghc? I don't know how much of our current
>> (gnu packages haskell) would break.
>
> No idea.  I suppose we take this route:
>
>   1. First you test a sample of ghc-* packages and build them to see if
>  there’s obvious breakage.
>
>   2. If not, we commit the GHC upgrade in a branch and let Hydra build
>  the branch.
>
>   3. We fix package breaks that we notice on the branch.
>
>   4. Merge the branch.
>
> How does that sound?
>
> Ludo’.

Sounds good to me.
-- 
ng0
For non-prism friendly talk find me on http://www.psyced.org



Re: [PATCH] refresh nss-certs

2016-09-07 Thread Vincent Legoll
On Fri, Sep 2, 2016 at 2:21 PM, Ludovic Courtès  wrote:
> Leo Famulari  skribis:
>
>> On Tue, Aug 30, 2016 at 01:33:10PM +0200, Vincent Legoll wrote:
>>> Here it is...
>>> I test-installed the 2 packages, but nothing more
>>
>>> From 966dd703fea7754d18fbe609215eff8381435458 Mon Sep 17 00:00:00 2001
>>> From: Vincent Legoll 
>>> Date: Wed, 24 Aug 2016 13:03:48 +0200
>>> Subject: [PATCH] gnu: nss & nss-certs: Update to 3.26
>>>
>>> * gnu/packages/certs.scm (nss-certs): Update to 3.26.
>>> * gnu/packages/gnuzilla.scm (nss): Update to 3.26.
>>
>> Thanks, looks good! I'm CC-ing Mark directly since he is usually the one
>> to update these packages.
>
> I think you didn’t actually Cc Mark, so here we go.  :-)
>
> If NSS and its main users (IceCat) build fine, I would suggest applying
> this patch.

Build tested on GuixSD, .config/guix/latest pointing to current git,
with above patch
(cleanly) rebased on top...

$ guix --version
guix (GNU Guix) 0.11.0
Copyright (C) 2016 the Guix authors
License GPLv3+: GNU GPL version 3 or later 
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

$ guix package -l

[...]

Generation 34Sep 07 2016 11:57:40(current)
  nss3.26out/gnu/store/fqzw00zvd5fvqikzk9f1yzsi2vn4n6kb-nss-3.26
  nss-certs3.26out
/gnu/store/4ij62g7004092sv9qm81xaxx8g3cpgnl-nss-certs-3.26
  urlmatch1.0out
/gnu/store/gsp3fqgmdhlay7k3cfbi5cgp3w7abvd8-urlmatch-1.0
  fltk1.3.3out/gnu/store/hvmsicw1ac45bfxmsf7sjp93pjiq9177-fltk-1.3.3
  icecat38.8.0-gnu2out
/gnu/store/afga2dhg6zikg71c5rxrqkm0dvkd0j5m-icecat-38.8.0-gnu2

But I haven't tested the resulting icecat (this is a headless VM, and
I haven't found the required
incantations to make ssh -X work...

Please apply or comment

-- 
Vincent Legoll



Re: [PATCHv2 1/2] gnu: Add wlc.

2016-09-07 Thread Efraim Flashner
On Sat, Aug 27, 2016 at 08:17:09PM +0200, Tomáš Čech wrote:
> * gnu/packages/freedesktop.scm(wlc): New variable.
> * gnu/packages/patches/wlc-implement-wlc_view_get_pid.patch: Add it
> * gnu/local.mk: Add entry for patch above.

there's no patch attached

> ---
>  gnu/packages/freedesktop.scm | 41 -
>  1 file changed, 40 insertions(+), 1 deletion(-)
> 
> diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
> index 67f1e1a..0bb87e7 100644
> --- a/gnu/packages/freedesktop.scm
> +++ b/gnu/packages/freedesktop.scm
> @@ -27,10 +27,14 @@
>#:use-module (guix packages)
>#:use-module (guix download)
>#:use-module (guix git-download)
> +  #:use-module (guix build-system cmake)
>#:use-module (guix build-system gnu)
>#:use-module (guix build-system python)
> +  #:use-module (gnu packages)
> +  #:use-module (gnu packages gl)
>#:use-module (gnu packages gnome)
>#:use-module (gnu packages python)
> +  #:use-module (gnu packages pth)
>#:use-module (gnu packages linux)
>#:use-module (gnu packages pkg-config)
>#:use-module (gnu packages autotools)
> @@ -51,7 +55,8 @@
>#:use-module (gnu packages acl)
>#:use-module (gnu packages admin)
>#:use-module (gnu packages polkit)
> -  #:use-module (gnu packages databases))
> +  #:use-module (gnu packages databases)
> +  #:use-module (gnu packages xdisorg))
>  
>  (define-public xdg-utils
>(package
> @@ -647,3 +652,37 @@ different sorts of messages in different formats.")
>  useful for both applications which need colour management and applications 
> that
>  wish to perform colour calibration.")
>  (license license:lgpl2.1+)))
> +
> +(define-public wlc
> +  (package
> +(name "wlc")
> +(version "0.0.5")
> +(source (origin
> +  (method url-fetch)
> +  (uri (string-append
> +"https://github.com/Cloudef/"; name "/releases/download/v"
> +version "/" name "-" version ".tar.bz2"))
> +  (sha256
> +   (base32
> +"0dmiklis820qzin74f16bmbz1jkjy93r5mix8cqbcqpb9f7qxahp"
> +(build-system cmake-build-system)
> +(native-inputs
> + `(("pkg-config" ,pkg-config)))
> +(inputs
> + `(("libinput" ,libinput)
> +   ("libx11" ,libx11)
> +   ("libxkbcommon" ,libxkbcommon)
> +   ("mesa" ,mesa)
> +   ("pixman" ,pixman)
> +   ("pth" ,pth)
> +   ("wayland" ,wayland)
> +   ("xcb-util-image" ,xcb-util-image)
> +   ("xcb-util-wm" ,xcb-util-wm)
> +   ("xproto" ,xproto)
> +   ("zlib" ,zlib)))
> +(synopsis "Wayland Compositor Library")
> +(home-page "https://github.com/Cloudef/wlc";)
> +(description
> + "This is wayland compositor library used by several projects like sway,
> +orbment or Gram.")
> +(license license:x11)))
> -- 
> 2.9.2
> 
> 

The package doesn't seem to be able to find all of the wayland libraries
it wants.

-- Found WAYLAND_CLIENT: 
/gnu/store/9jfrsgr6jw9hzqj81p3vn632m79x5gla-wayland-1.11.0/lib/libwayland-client.so
-- Found WAYLAND_SERVER: 
/gnu/store/9jfrsgr6jw9hzqj81p3vn632m79x5gla-wayland-1.11.0/lib/libwayland-server.so
-- Could NOT find WAYLAND_EGL (missing:  WAYLAND_EGL_LIBRARIES)
-- Could NOT find WAYLAND (missing:  WAYLAND_LIBRARIES)

This results in it saying it can't find wayland.  Also, why not also
include wayland-protocols and dbus?


-- 
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: [PATCHv2 1/2] gnu: Add wlc.

2016-09-07 Thread David Craven
> This results in it saying it can't find wayland.

He's probably using the mesa enable wayland flags patch from core-updates...



Re: 02/11: activation: Allow home directories to be created under /var/lib.

2016-09-07 Thread Ludovic Courtès
David Craven  skribis:

>>> +  (mkdir-p "/var/lib")
>
>>‘mkdir’ should be enough.
>
> I initially used mkdir-p...

My bad, sorry!

Ludo’.



Re: "move-phase-after"?

2016-09-07 Thread Ludovic Courtès
Hello,

Danny Milosavljevic  skribis:

> On Tue, 6 Sep 2016 10:03:34 +0200
> Hartmut Goebel  wrote:
>
>> for some package I need to switch the install and check phase. Could
>> please someone point me to a function like "move-phase-after"? Thanks.
>
> I don't think this exists yet. 
>
> See the ./guix/build/utils.scm for the macro definition.
>
> You would have to do something like
>
> (let ((check (assoc-ref %standard-phases 'check)))
>   (modify-phases %standard-phases
> (delete 'check)
> (add-after 'install 'check
>   check)))

Yeah, that’s what I would do.  I don’t think we need to extend
‘modify-phases’ just for this.

Ludo’.



Re: NPM and trusted binaries

2016-09-07 Thread Ludovic Courtès
Howdy,

Pjotr Prins  skribis:

> On Tue, Sep 06, 2016 at 11:48:04AM -0400, Thompson, David wrote:
>> On Sun, Sep 4, 2016 at 10:11 AM, Jan Nieuwenhuizen  wrote:
>> 
>> >* add --binary option to importer, sets (arguments (#:binary? #t))
>> 
>> This violates a core principle of Guix: reproducible builds.  I don't
>> support patches that encourage using pre-built binaries.
>
> In principle I agree. We want to be able to read the code.
>
> Still, I think Guix would benefit from a somewhat more relaxed stance
> in this.

It’s part of Guix’s mission to build from source whenever that is
possible, which is the case here, AIUI.

We know from previous discussions that some compilers can no longer be
built from source; we already have exceptions for these.

Ludo’.



Re: [PATCH] gnu: Add rpc-daemon service

2016-09-07 Thread Ludovic Courtès
Hi!

John Darrington  skribis:

> If I might be allowed to give my opinion though ...   I think this way of 
> documenting 
> things is of limited help to potential users.  It does nothing more than 
> repeat what
> is written in the code.  If that is what we want, then we could use some kind 
> of
> literate programming tool to do it.  That would be less maintenence and avoids
> the possibility of code and documentation becoming out of sync.

I don’t see anything in nfs.scm explaining, for instance, the
‘warm-start?’ knob; nor is anything (and rightfully so) hinting at what
NFS is and how rpcbind relates to it.

> However, what is really needed from documentation IMO, is not only a API 
> reference,
> but also a tutorial on how to use the thing.  I think this form of 
> documentation will only
> leave the newcommer scratching his head.

I agree.  It’s often a good idea to (1) give context and relevant
cross-references in the doc, and (2) include an example for non-trivial
services.  For instance, I think the “Desktop Services” and “Scheduled
Job Execution” sections are doing pretty good in this regard.

> * gnu/services/nfs.scm: New file.
> * gnu/local.mk (GNU_SYSTEM_MODULES): Add it.

[...]

> +@subsubheading RPC Bind Service
> +@cindex rpcbind
> +
> +The @code{(gnu services nfs)} module provides the following:
> +
> +@defvr {Scheme Variable} rpcbind-service-type
> +A service type  for the RPC portmapper daemon.
> +@end defvr
> +
> +
> +@deftp {Data Type} rpcbind-configuration
> +Data type representing the configuration of the RPC Bind Service.
> +This type has the following parameters:
> +@table @asis
> +@item @code{rpcbind} (default: @code{rpcbind})
> +The rpcbind package to use.
> +
> +@item @code{warm-start?}
   ^
Mention the default value here…

> +If this parameter is @code{#t} (the default), then the daemon will read a
  ^
… and not here.

Other than that, LGTM!

Regarding documentation, since you asked ;-), what could work well here
is to have a complete “Network File System” @subsection.  It would start
with a short intro of what NFS is, provide an example showing how to
export a directory over NFS, give an overview of the services involved
(rpcbind, mountd, statd), and then give the API reference.

Thoughts for future work.  :-)

Thank you!

Ludo’.



Re: [PATCH] gnu: rottlog: rotate messages daily.

2016-09-07 Thread Jan Nieuwenhuizen
Ludovic Courtès writes:

>> Using the attached patch and the configuration below, rottlog
>> actually rotates /var/log/messages daily.
>
> Woohoo!

:-)

Yeah, made me quite happy too.

>> * gnu/packages/admin.scm (rottlog): Set packdir in etc/rc; fixes rotating.
>> Rename weekly to daily; rotates /var/log/messages daily.
>
> I split it in several patches and pushed part of this.

Great, thanks.

> ‘rottlog’ was looking for config files in OUT/etc, which made it
> impossible for people to configure it.  So in commit
> 268ad34e0eadf8a015798b5c5587aad65b9f3a61 I changed it to look for
> configuration files in /etc/rottlog.
>
> Consequently, running “rottlog” alone won’t work; one has to provide
> /etc/rottlog/{rc,daily} first.  We should have a GuixSD service that
> does that.

Ah, yes configuration was the bit I was wondering about.  A service
that initializes/writes these sounds like a good idea!

Greetings,
Jan

-- 
Jan Nieuwenhuizen  | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar®  http://AvatarAcademy.nl  



Re: [PATCHv2 2/2] gnu: Add sway.

2016-09-07 Thread Efraim Flashner
On Sat, Aug 27, 2016 at 08:17:10PM +0200, Tomáš Čech wrote:
> * gnu/packages/freedesktop.scm(sway): New variable.
> ---
>  gnu/packages/freedesktop.scm | 44 
> 
>  1 file changed, 44 insertions(+)

here you're missing the patch and registering it in gnu/local.mk

> 
> diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
> index 0bb87e7..fec7cf5 100644
> --- a/gnu/packages/freedesktop.scm
> +++ b/gnu/packages/freedesktop.scm
> @@ -35,6 +35,7 @@
>#:use-module (gnu packages gnome)
>#:use-module (gnu packages python)
>#:use-module (gnu packages pth)
> +  #:use-module (gnu packages pcre)
>#:use-module (gnu packages linux)
>#:use-module (gnu packages pkg-config)
>#:use-module (gnu packages autotools)
> @@ -56,6 +57,7 @@
>#:use-module (gnu packages admin)
>#:use-module (gnu packages polkit)
>#:use-module (gnu packages databases)
> +  #:use-module (gnu packages web)
>#:use-module (gnu packages xdisorg))
>  
>  (define-public xdg-utils
> @@ -686,3 +688,45 @@ wish to perform colour calibration.")
>   "This is wayland compositor library used by several projects like sway,
>  orbment or Gram.")
>  (license license:x11)))
> +
> +(define-public sway
> +  (package
> +(name "sway")
> +(version "0.9")
> +(source (origin
> +  (method url-fetch)
> +  (uri (string-append
> +"https://github.com/SirCmpwn/"; name "/archive/"
> +version ".tar.gz"))
> +  (sha256
> +   (base32
> +"0bgli7scjlvbgas09dx5fnncgda41ssba6fzkw2vyk88pmdgx66w"))

here you need a (file-name

> +  (patches (list (search-patch "sway-debug.patch")
> +(build-system cmake-build-system)
> +(arguments
> + '(#:configure-flags '("-DVERBOSE=1")

I don't think it takes this configure flag.

> +   #:tests? #f)) ; no 'check' target
> +(native-inputs
> + `(("gdk-pixbuf" ,gdk-pixbuf)
> +   ("libxslt" ,libxslt)
> +   ("pkg-config" ,pkg-config)
> +   ("wayland" ,wayland)))
> +(inputs
> + `(("asciidoc" ,asciidoc)
> +   ("cairo" ,cairo)
> +   ("docbook-xml" ,docbook-xml)
> +   ("docbook-xsl" ,docbook-xsl)
> +   ("gdk-pixbuf" ,gdk-pixbuf)
> +   ("json-c" ,json-c)
> +   ("libinput" ,libinput)
> +   ("libxkbcommon" ,libxkbcommon)
> +   ("linux-pam" ,linux-pam)
> +   ("pango" ,pango)
> +   ("pcre" ,pcre)
> +   ("wlc" ,wlc)))

asciidoc. docbook-* can be native-inputs

> +(synopsis "Window manager for Wayland, compatible with i3")
> +(home-page "https://github.com/SirCmpwn/sway";)
> +(description
> + "SirCmpwn's WAYland window manager is work-in-progress i3-compatible
> +tiling window manager.")
> +(license license:x11)))
> -- 
> 2.9.2
> 
> 

-- 
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: [PATCH 1/2] gnu: man-db: Use modify-phases syntax.

2016-09-07 Thread Ludovic Courtès
Efraim Flashner  skribis:

> On Wed, Sep 07, 2016 at 10:47:06AM +0200, Ricardo Wurmus wrote:
>> * gnu/packages/man.scm (man-db)[arguments]: Use modify-phases syntax.

[...]

> The patches look good to me. Also my quick test didn't show it causing
> mass rebuilds.

Same here.

Thanks for finding out what the problem was!

Ludo’.



Re: [PATCH] gnu: Add mpop.

2016-09-07 Thread Ludovic Courtès
Arun Isaac  skribis:

> * gnu/packages/mail.scm (mpop): New variable.

I removed the tabs reported by ‘guix lint’ and committed.

Thank you!

Ludo’.



Re: Prototype for using Guix with python packages

2016-09-07 Thread Ludovic Courtès
Hello!

Christopher Baines  skribis:

> For a few months now, I've been assembling a prototype for how packages
> could be produced for software released as Python source distributions
> (sdists) [1].

Woow, quite an achievement!  Do you know how many of the automatically
generated packages built from source flawlessly?

IIRC, ‘guix import pypi’ currently produces templates that can require
extra tweaks, although that was improved by reading metadata from
Wheels.

How does sdist metadata differ from PyPI or Wheels metadata?  Is it
generally more complete, or of better quality?

> I will also try to look at how what I have been doing could be used to
> improve the Guix PyPI importer and the Python build system, as well as
> submit the packages that are currently just in the guix-env.scm file in
> the repository (pyguile, libsolv) for inclusion in Guix.

That would be awesome!  Anything towards making the output of ‘guix
import’ work out of the box would be great.

> I'm quite excited by the possibilities offered by approaches like this,
> and was wondering if anyone has feedback, questions, opinions, or if
> anyone is working on something similar?

That reminds me of the “recursive importer” that has been discussed a
few times and is currently implemented (but not in master yet) for the
CRAN and NPM importers.  Perhaps your work could be somehow integrated
to get a recursive PyPI/sdist importer?

An idea would be to automatically put all the imported packages into,
say, ~/.cache/guix/python, and add that to GUIX_PACKAGE_PATH.  Then we
could run “guix import pypi --update” to update it, or something like
that.

Thanks for sharing!

Ludo’.



Re: [PATCH] Add Zsh completion file.

2016-09-07 Thread Ludovic Courtès
Eric Le Bihan  skribis:

>  * etc/completion/zsh/_guix: New file.
>  * Makefile.am (dist_zshcompletion_DATA): New variable.
>  * configure.ac: Add --with-zsh-completion-dir.

Applied with reindentation in configure.ac.  Thank you!

Ludo’.



[PATCH] gnu: r-curl: Respect CURL_CA_BUNDLE variable.

2016-09-07 Thread Ricardo Wurmus
* gnu/packages/web.scm (r-curl)[arguments]: Add phase
"allow-CURL_CA_BUNDLE".
---
 gnu/packages/web.scm | 13 +
 1 file changed, 13 insertions(+)

diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 87bc3e2..321a250 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -3168,6 +3168,19 @@ applications.")
(base32
 "1p24bcaf1wbfdi1r9ibyyp0l0zp4kzs4g3srv8vikz93hycm1qa6"
 (build-system r-build-system)
+(arguments
+ `(#:phases
+   (modify-phases %standard-phases
+ ;; The environment variable CURL_CA_BUNDLE is only respected when
+ ;; running Windows, so we disable the platform checks.
+ (add-after 'unpack 'allow-CURL_CA_BUNDLE
+   (lambda _
+ (substitute* "R/onload.R"
+   (("if \\(!grepl\\(\"mingw\".*")
+"if (FALSE)\n"))
+ (substitute* "src/handle.c"
+   (("#ifdef _WIN32") "#if 1"))
+ #t)
 (inputs
  `(("libcurl" ,curl)))
 (home-page "https://github.com/jeroenooms/curl";)
-- 
2.9.3




Guile 2.2 packages

2016-09-07 Thread Ludovic Courtès
Hello!

The Guile 2.2 series is becoming a reality, so time has come to provide
packages built with/for Guile 2.2 (aka. 2.1, aka. ‘guile-next’).

Commit 947a5d47a50252cb0b87b78a8f83f274dec593e2 adds a
‘package-for-guile-2.2’ procedure similar in spirit to
‘package-with-python2’.  It provides a simple way to define 2.2-using
package variants, equivalent to:

  guix build something --with-input=guile=guile-next

You can install 2.0 and 2.2 variants of Guile packages side by side:

--8<---cut here---start->8---
$ ./pre-inst-env guix package -p foo -i guile-minikanren guile2.2-minikanren 
guile guile-next
The following packages will be installed:
   guile-minikanren 20150424.e844d85
/gnu/store/xib2gmbs0pgy572c8k7a658kph76yjra-guile-minikanren-20150424.e844d85
   guile2.2-minikanren  20150424.e844d85
/gnu/store/8y3cqkrqhg9v3f0cvzcrhv7fcq7rz2yz-guile2.2-minikanren-20150424.e844d85
   guile2.0.11  /gnu/store/95x5fxvcggyaa8ymjjgv5q0dnzkrign9-guile-2.0.11
   guile-next   2.1.3   
/gnu/store/kqq37w4xnl1q21g6vz93qq1rdb2y7ayc-guile-next-2.1.3

4 packages in profile
The following environment variable definitions may be needed:
   export PATH="foo/bin${PATH:+:}$PATH"
   export 
GUILE_LOAD_PATH="foo/share/guile/site/2.0${GUILE_LOAD_PATH:+:}$GUILE_LOAD_PATH"
   export 
GUILE_LOAD_COMPILED_PATH="foo/lib/guile/2.0/ccache:foo/share/guile/site/2.0${GUILE_LOAD_COMPILED_PATH:+:}$GUILE_LOAD_COMPILED_PATH"
   export 
GUILE_LOAD_PATH="foo/share/guile/site/2.2${GUILE_LOAD_PATH:+:}$GUILE_LOAD_PATH"
   export 
GUILE_LOAD_COMPILED_PATH="foo/lib/guile/2.2/ccache:foo/share/guile/site/2.2${GUILE_LOAD_COMPILED_PATH:+:}$GUILE_LOAD_COMPILED_PATH"
--8<---cut here---end--->8---

The main difficulty is that upstream build systems and some of our
recipes hard-code “/2.0” in the name of the module installation
directories.  I’ve fixed that in a few packages in the commits preceding
the one above.  I’m afraid there’s no simple automated way to fix that,
other than telling upstream developers to do the right thing.

Anyway, have fun!

Ludo’.



Re: Guile 2.2 packages

2016-09-07 Thread Ricardo Wurmus

Ludovic Courtès  writes:

> Hello!
>
> The Guile 2.2 series is becoming a reality, so time has come to provide
> packages built with/for Guile 2.2 (aka. 2.1, aka. ‘guile-next’).

[...]
>
> The main difficulty is that upstream build systems and some of our
> recipes hard-code “/2.0” in the name of the module installation
> directories.  I’ve fixed that in a few packages in the commits preceding
> the one above.  I’m afraid there’s no simple automated way to fix that,
> other than telling upstream developers to do the right thing.

This is very timely!  In a project that I’m working on I’ve just defined
guile-next versions of guile-json and guile-redis, both of which
hardcode “2.0” in a snippet.

Thanks!

~~ Ricardo



Re: Guile 2.2 packages

2016-09-07 Thread Danny Milosavljevic
Hi Ludo,

does that mean we can fix guile-emacs?

I've just updated to the latest version that is in Guix and I get:

Throw to key system-error with args ("load-thunk-from-memory" "A" ("No such 
file or directory") (2))Threads explicit registering is not previously enabled.

The same problem existed some time in the past, too. It was because of such a 
2.0 vs. 2.2 module version mismatch.



Re: NPM and trusted binaries

2016-09-07 Thread Jan Nieuwenhuizen
Ludovic Courtès writes:

>> Still, I think Guix would benefit from a somewhat more relaxed stance
>> in this.
>
> It’s part of Guix’s mission to build from source whenever that is
> possible, which is the case here, AIUI.

Yes, I thought so too...I shared my findings to get more viewpoints on
this assertion and also on the validity of the source/binary metaphor
for npm packages.

I spent the weekend to attempt building `q' using the repository+version
= source package metaphor.  Because given the facts that

  * an npm package must specify a name and a version
  * an npm package may optionally list a source repository
  * an npm package may optionally lists devDependencies
  * using repository + the devDepencies you can build the installable
npm package

I also thought it would be nice to build as many packages as possible
from their repsository urls.  I encountered several small problems with
the importer (or with inconsistencies/breakages in npm packages) that I
fixed.

Quoting my earlier mail

   ... that resulted in over 6004 dependencies (using build systems
   grunt, gulp and node-gyp, listing 582 errors)

Finally, I became discouraged and Sunday night I added the --binary flag
to the importer, decided to taint the resulting package description
doing

  (arguments `(#:binary #t))

to enable breaking this enormous dependency chain.  How many more
package dependencies will result from the 582 packages that have import
problems?

Oh, please note that the `binary' or installable version of this `q'
package consists of two javascript files: q.js and query.js which are
identical to the ones in the `source' package.  The git repository
additionally has tests and documentation (and history).

Another example is the `http' package: it does not list a repository url
and the installable package is plain readable javascript.  Does the
source/binary metaphor apply here?

The `fibers' package comes with precompiled binaries for popular
platforms.  It also includes all C sources to build these binaries.  It
could be possible that some npm package has only minimalized javascript
(i.e.: can really be considered binary) but I haven't seen such a
package yet.

WDYT, do we have enough information to decide if building from `source'
the right metaphor?  Is it pracically feasible and does feasibilty have
any weight?  What's the next step I could take to help to bring `q' and
`http' (and the other 316 packages I need) into Guix?

Greetings,
Jan

-- 
Jan Nieuwenhuizen  | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar®  http://AvatarAcademy.nl  



Alice, Bob's brother

2016-09-07 Thread Efraim Flashner
I've been using the lightweight-desktop template for quite a while now
as a starting point for my own VM templates, and I've only now
discovered that Alice, on occasion, is Bob's brother.  Attached is a
patch correcting this.

-- 
Efraim Flashner  אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
From fc0e6e2ae96b0586035de96c65cfd08186ceb28a Mon Sep 17 00:00:00 2001
From: Efraim Flashner 
Date: Wed, 7 Sep 2016 21:02:28 +0300
Subject: [PATCH] gnu: lightweight-desktop.tmpl: Fix typo.

* gnu/system/examples/lightweight-desktop.tmpl: While it is currently
unknown if Bob has a brother, it is sufficiently documented that Alice
is, in fact, Bob's sister.
---
 gnu/system/examples/lightweight-desktop.tmpl | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/system/examples/lightweight-desktop.tmpl 
b/gnu/system/examples/lightweight-desktop.tmpl
index 7cb461f..91e7d0b 100644
--- a/gnu/system/examples/lightweight-desktop.tmpl
+++ b/gnu/system/examples/lightweight-desktop.tmpl
@@ -24,7 +24,7 @@
 
   (users (cons (user-account
 (name "alice")
-(comment "Bob's brother")
+(comment "Bob's sister")
 (group "users")
 (supplementary-groups '("wheel" "netdev"
 "audio" "video"))
-- 
2.10.0



signature.asc
Description: PGP signature


Re: Alice, Bob's brother

2016-09-07 Thread David Craven
You could have just pushed without submitting to ML xD



Re: [PATCH] gnu: Add mpop.

2016-09-07 Thread Arun Isaac

>> * gnu/packages/mail.scm (mpop): New variable.
>
> I removed the tabs reported by ‘guix lint’ and committed.

Oh, I forgot to run 'guix lint'. My bad...

Thanks,
Arun Isaac.



Re: [PATCH 1/2] gnu: man-db: Use modify-phases syntax.

2016-09-07 Thread Ricardo Wurmus

Ludovic Courtès  writes:

> Efraim Flashner  skribis:
>
>> On Wed, Sep 07, 2016 at 10:47:06AM +0200, Ricardo Wurmus wrote:
>>> * gnu/packages/man.scm (man-db)[arguments]: Use modify-phases syntax.
>
> [...]
>
>> The patches look good to me. Also my quick test didn't show it causing
>> mass rebuilds.
>
> Same here.
>
> Thanks for finding out what the problem was!

Pushed as ea55a39530d6604cde07d5b23ba529a07a76ea7b.  Thanks!

~~ Ricardo




[PATCH] gnu: Add perl-mhonarc.

2016-09-07 Thread ng0
* gnu/packages/mail.scm (perl-mhonarc): New variable.
---
 gnu/packages/mail.scm | 23 +++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index c2fc1a9..9740339 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -1388,3 +1388,26 @@ to mbox files, maildir folders or a Mail Delivery Agent 
(MDA),
 TLS/SSL, several authentication methods, Internationalized Domain
 Names (IDN) and SOCKS proxies.")
 (license gpl3+)))
+
+(define-public perl-mhonarc
+  (package
+(name "perl-mhonarc")
+(version "2.6.19")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ "mirror://cpan/authors/id/E/EH/EHOOD/MHonArc-"
+ version ".tar.gz"))
+   (sha256
+(base32
+ "0ll3v93yji334zqp6xfzfxc0127pmjcznmai1l5q6dzawrs2igzq"
+(build-system perl-build-system)
+(home-page "https://www.mhonarc.org/";)
+(synopsis "Create HTML archives of mail/news messages")
+(description
+ "MHonArc is a Perl mail-to-HTML converter.  MHonArc
+provides HTML mail archiving with index, mail thread linking,
+etc; plus other capabilities including support for MIME and
+powerful user customization features.")
+(license gpl2)))
-- 
2.10.0




[PATCH] gnu: Use a directory owned by ntpd user for drift file.

2016-09-07 Thread John Darrington
Fixes bug #24366




* gnu/services/networking.scm (ntp-shepherd-service): Create new
directory at startup.
---
 gnu/services/networking.scm | 20 ++--
 1 file changed, 18 insertions(+), 2 deletions(-)

diff --git a/gnu/services/networking.scm b/gnu/services/networking.scm
index 71f49a0..f983961 100644
--- a/gnu/services/networking.scm
+++ b/gnu/services/networking.scm
@@ -2,6 +2,7 @@
 ;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès 
 ;;; Copyright © 2015 Mark H Weaver 
 ;;; Copyright © 2016 Efraim Flashner 
+;;; Copyright © 2016 John Darrington 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -272,7 +273,7 @@ Protocol (DHCP) client, on all the non-loopback network 
interfaces."
  (let ()
;; TODO: Add authentication support.
(define config
- (string-append "driftfile /var/run/ntp.drift\n"
+ (string-append "driftfile /var/run/ntpd/ntp.drift\n"
 (string-join (map (cut string-append "server " <>)
   servers)
  "\n")
@@ -307,13 +308,28 @@ restrict -6 ::1\n"))
  (home-directory "/var/empty")
  (shell #~(string-append #$shadow "/sbin/nologin")
 
+
+(define (ntp-service-activation config)
+  "Return the activation gexp for config"
+  #~(begin
+  (use-modules (guix build utils))
+
+  (define %user
+(getpw "ntpd"))
+
+  (let ((directory "/var/run/ntpd"))
+  (mkdir-p directory)
+  (chown directory (passwd:uid %user) (passwd:gid %user)
+
 (define ntp-service-type
   (service-type (name 'ntp)
 (extensions
  (list (service-extension shepherd-root-service-type
   ntp-shepherd-service)
(service-extension account-service-type
-  (const %ntp-accounts))
+  (const %ntp-accounts))
+   (service-extension activation-service-type
+  ntp-service-activation)
 
 (define* (ntp-service #:key (ntp ntp)
   (servers %ntp-servers))
-- 
2.1.4




[PATCH] gnu: Add nfs-utils

2016-09-07 Thread John Darrington
* gnu/packages/linux.scm (nfs-utils): New variable.
---
 gnu/packages/linux.scm | 87 +-
 1 file changed, 86 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 030e35e..eb9cb03 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -55,9 +55,14 @@
   #:use-module (gnu packages gnuzilla)
   #:use-module (gnu packages gperf)
   #:use-module (gnu packages gtk)
+  #:use-module (gnu packages gsasl)
+  #:use-module (gnu packages libevent)
   #:use-module (gnu packages libusb)
   #:use-module (gnu packages maths)
+  #:use-module (gnu packages mit-krb5)
   #:use-module (gnu packages ncurses)
+  #:use-module (gnu packages networking)
+  #:use-module (gnu packages onc-rpc)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pciutils)
   #:use-module (gnu packages pkg-config)
@@ -228,6 +233,86 @@ the default @code{nsswitch} and the experimental 
@code{umich_ldap}.")
 (license (license:non-copyleft "file://COPYING"
"See COPYING in the distribution."
 
+(define-public nfs-utils
+  (package
+(name "nfs-utils")
+(version "1.3.4")
+(source (origin
+ (method url-fetch)
+ (uri (string-append
+   "mirror://kernel.org/linux/utils/nfs-utils/" version
+   "/nfs-utils-" version ".tar.xz"))
+ (sha256
+  (base32
+   "0xarqhwy757vazv9gqhyrgxsrx083yhvkkih01jh83fqm305naml"
+(build-system gnu-build-system)
+(arguments
+ `(#:configure-flags
+   `("--without-tcp-wrappers"
+ ,(string-append "--with-start-statd="
+ (assoc-ref %outputs "out") "/sbin/start-statd")
+ ,(string-append "--with-krb5=" (assoc-ref %build-inputs "mit-krb5")))
+   #:phases (modify-phases %standard-phases
+  (add-before
+  'configure 'mutate-source
+(lambda _
+  ;; Eventually, we should provide our own start-statd
+  ;; script instead ... one which starts the rpc.statd
+  ;; service (which we don't yet have)
+  (substitute* `("utils/statd/start-statd")
+(("^PATH=.*") "")
+(("^flock")
+ (string-append
+  (assoc-ref %build-inputs "util-linux")
+  "/bin/flock"))
+(("^exec rpc.statd")
+ (string-append "exec "
+  (assoc-ref %outputs "out") "/sbin/rpc.statd")))
+
+  ;; This hook tries to write to /var
+  ;; That needs to be done by a service too.
+  (substitute* `("Makefile.in")
+(("^install-data-hook:")
+ "install-data-hook-disabled-for-guix:"))
+
+  ;; Replace some hard coded paths
+  (substitute* `("utils/nfsd/nfssvc.c")
+(("/bin/mount")
+ (string-append
+  (assoc-ref %build-inputs "util-linux")
+  "/bin/mount")))
+  (substitute* `("utils/statd/statd.c")
+(("/usr/sbin/")
+ (string-append (assoc-ref %outputs "out") "/sbin/")))
+  (substitute* `("utils/osd_login/Makefile.in"
+ "utils/mount/Makefile.in"
+ "utils/nfsdcltrack/Makefile.in")
+(("^sbindir = /sbin")
+ (string-append "sbindir = "
+(assoc-ref %outputs "out") 
"/sbin"
+(inputs `(("libevent" ,libevent)
+  ("libnfsidmap" ,libnfsidmap)
+  ("sqlite" ,sqlite)
+  ("lvm2" ,lvm2)
+  ("gss" ,gss)
+  ("util-linux" ,util-linux)
+  ("mit-krb5" ,mit-krb5)
+  ("libtirpc" ,libtirpc)))
+(native-inputs
+ `(("pkg-config" ,pkg-config)))
+(home-page "http://www.kernel.org/pub/linux/utils/nfs-utils/";)
+(synopsis "Tools for loading and managing Linux NFS mounts")
+(description "The Network File System (NFS) was developed to allow
+machines to mount a disk partition on a remote machine as if it were a local
+disk.  It allows for fast, seamless sharing of files across a network.")
+;; It is hard to be sure what the licence is.  Most of the source files
+;; contain no licence notice at all.  A few have a licence notice for a 3
+;; clause non-copyleft licence.  However the tarball has a COPYING file
+;; with the text of GPLv2 -- It seems then that GLPv2 is the most
+;; restrictive licence, and until advice to the contrary we must assume
+;; that is what is intended.
+(

Re: [PATCH v2 0/5] Add FPGA Tools

2016-09-07 Thread Danny Milosavljevic
Ping. This is the newest version of the patch series that includes the changes 
you suggested.



Re: Alice, Bob's brother

2016-09-07 Thread Ludovic Courtès
Efraim Flashner  skribis:

> I've been using the lightweight-desktop template for quite a while now
> as a starting point for my own VM templates, and I've only now
> discovered that Alice, on occasion, is Bob's brother.  Attached is a
> patch correcting this.

Thanks for the fix!  Please push it ASAP!  :-)

Ludo’.



Four thousand!

2016-09-07 Thread Ludovic Courtès
Hello Guix!

I wonder which one was the 4,000th, but we made it:

--8<---cut here---start->8---
$ GUIX_PACKAGE_PATH= ./pre-inst-env guix package -A |wc -l
4005
$ git describe 
v0.11.0-891-g947a5d4
--8<---cut here---end--->8---

\o/

Congrats everyone!  :-)

Ludo’.



Re: [PATCH] gnu: Add nfs-utils

2016-09-07 Thread John Darrington
On Wed, Sep 07, 2016 at 10:29:37PM +0200, Danny Milosavljevic wrote:
 > +   `("--without-tcp-wrappers"
 ^^^
 Since you also provided tcp-wrappers in a seperate patch, was this on 
purpose?

Yes. It was.   There are some unresolved issues with tcp-wrappers vs. NFS.

J'

-- 
Avoid eavesdropping.  Send strong encrypted email.
PGP Public key ID: 1024D/2DE827B3 
fingerprint = 8797 A26D 0854 2EAB 0285  A290 8A67 719C 2DE8 27B3
See http://sks-keyservers.net or any PGP keyserver for public key.



signature.asc
Description: Digital signature


Re: [PATCH] gnu: Add nfs-utils

2016-09-07 Thread Danny Milosavljevic
> +   `("--without-tcp-wrappers"
^^^
Since you also provided tcp-wrappers in a seperate patch, was this on purpose?



Re: [PATCH] gnu: Use a directory owned by ntpd user for drift file.

2016-09-07 Thread Ludovic Courtès
John Darrington  skribis:

> Fixes bug #24366

Rather:

  Fixes .

(See ‘git log’ for examples.)

>
>
>
> * gnu/services/networking.scm (ntp-shepherd-service): Create new
> directory at startup.

Please mention the new variables and changes.

> +(define (ntp-service-activation config)
> +  "Return the activation gexp for config"
 ^^^
Capitalize the variable name and add a period.

> +  #~(begin
> +  (use-modules (guix build utils))

Please wrap the gexp in:

  (with-imported-modules '((guix build utils))
#~(…))

> +  (let ((directory "/var/run/ntpd"))
> +  (mkdir-p directory)
^^
Indentation.

OK with these changes.

Thanks for fixing this bug!

Ludo’.



Re: Tracking package submissions with Debbugs

2016-09-07 Thread Ludovic Courtès
ng0  skribis:

> David Craven  writes:
>
>>> 1. Our commit history is not full of merges of tiny branches, which is
>>> what GitHub (and I thought Gitlab) encourages.
>>
>> Yes, that is right. But as I mentioned in a different thread, there
>> are many projects where the maintainers agree to not use the merge
>> button because of this. Since we are using gitlab we can actually go
>> further than an agreement and disable the merge button entirely.
>>
>>>   2. Contributors can revise their patch series (by rewriting history of
>>>  that series), and committers can incorporate the final patch set,
>>>  rather than the whole sequence of iterations.  This is what we
>>>  currently do; Gitlab should be able to recognize such patterns and
>>>  notice that the “merge request” can be closed, for instance.
>>
>> It depends on how much modification the maintainers make before
>> pushing. It's git that has to recognize the commits as being the same.
>> If a contributor can rebase his branch after the PR was merged without
>> getting any conflicts, gitlab will also recognize that the PR was
>> merged. Since it's a lot easier to iterate without spamming the
>> mailing list we can in practice ask contributors to fix issues like
>> indentation themselves, and if the worst case happens, PR can be
>> closed manually (in the web interface).
>>
>>>   3. People (especially, ahem, me!) can work from the comfort of their
>>>  favorite editor/terminal, or at least without having to run lots of
>>>  JS code and clicking around all day long.
>>
>> That's what we all want. The only time it's required to use the web
>> interface is when creating a new issue or a new PR. After that you can
>> reply via email, rebase and push via git.
>>
>>> I haven’t used Gitlab so I don’t know whether these requirements are
>>> satisfied.  If you set up an instance of Gitlab-free-software-edition
>>> and we do not have these problems, I’m happy!  :-)
>>
>> Some adjustments to the workflow might have to be made, but I think we
>> have to give it a test run of at least a week or two before throwing
>> the towel ;-)

Sure.  Thanks David for clarifying.

>> Who wants to take on this? Any volunteers?
>
> How would we proceed with this? One of us sets up a gitlab instance on a
> server under their control?
> I could volunteer for a test run.

Fine with me!

Ludo’.



Re:Four thousand!

2016-09-07 Thread d4n1
uhuuu :)



Daniel Pimentel (aka d4n1)On l...@gnu.org, Sep 7, 2016 5:29 PM wrote:Hello Guix!

I wonder which one was the 4,000th, but we made it:

--8<---cut here---start->8---
$ GUIX_PACKAGE_PATH= ./pre-inst-env guix package -A |wc -l
4005
$ git describe 
v0.11.0-891-g947a5d4
--8<---cut here---end--->8---

\o/

Congrats everyone!  :-)

Ludo’.




Re: Guile 2.2 packages

2016-09-07 Thread Ludovic Courtès
Hello,

Danny Milosavljevic  skribis:

> does that mean we can fix guile-emacs?

I don’t know.  What you describe sounds a lot like a search path issue.
This works well (albeit slowly):

  guix environment --ad-hoc --pure guile-emacs -- emacs -q

Ludo’.



Re: Novena

2016-09-07 Thread Ludovic Courtès
Hello,

Danny Milosavljevic  skribis:

> can someone with a Novena please do
>
> $ cat /proc/cpuinfo
>
> on it?
>
> Also, if applicable, try
>
> $ ls /sys/firmware/efi/vars

>From one of our build machines:

--8<---cut here---start->8---
$ cat /proc/cpuinfo
processor   : 0
model name  : ARMv7 Processor rev 10 (v7l)
BogoMIPS: 7.54
Features: half thumb fastmult vfp edsp thumbee neon vfpv3 tls vfpd32 
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x2
CPU part: 0xc09
CPU revision: 10

processor   : 1
model name  : ARMv7 Processor rev 10 (v7l)
BogoMIPS: 7.54
Features: half thumb fastmult vfp edsp thumbee neon vfpv3 tls vfpd32 
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x2
CPU part: 0xc09
CPU revision: 10

processor   : 2
model name  : ARMv7 Processor rev 10 (v7l)
BogoMIPS: 7.54
Features: half thumb fastmult vfp edsp thumbee neon vfpv3 tls vfpd32 
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x2
CPU part: 0xc09
CPU revision: 10

processor   : 3
model name  : ARMv7 Processor rev 10 (v7l)
BogoMIPS: 7.54
Features: half thumb fastmult vfp edsp thumbee neon vfpv3 tls vfpd32 
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x2
CPU part: 0xc09
CPU revision: 10

Hardware: Freescale i.MX6 Quad/DualLite (Device Tree)
Revision: 
Serial  : 
$ ls /sys/firmware/efi/vars
ls: cannot access /sys/firmware/efi/vars: No such file or directory
--8<---cut here---end--->8---

Sorry for the delay!

Ludo’.



Re: Guile 2.2 packages

2016-09-07 Thread Danny Milosavljevic
Hi,

On Wed, 07 Sep 2016 22:49:12 +0200
l...@gnu.org (Ludovic Courtès) wrote:
> I don’t know.

>What you describe sounds a lot like a search path issue.

It is a search path issue.

Does package-for-guile-2.2 take it into account?

Your E-mail contains:

The following environment variable definitions may be needed:
   export PATH="foo/bin${PATH:+:}$PATH"
   export 
GUILE_LOAD_PATH="foo/share/guile/site/2.0${GUILE_LOAD_PATH:+:}$GUILE_LOAD_PATH"
   export 
GUILE_LOAD_COMPILED_PATH="foo/lib/guile/2.0/ccache:foo/share/guile/site/2.0${GUILE_LOAD_COMPILED_PATH:+:}$GUILE_LOAD_COMPILED_PATH"
   export 
GUILE_LOAD_PATH="foo/share/guile/site/2.2${GUILE_LOAD_PATH:+:}$GUILE_LOAD_PATH"
   export 
GUILE_LOAD_COMPILED_PATH="foo/lib/guile/2.2/ccache:foo/share/guile/site/2.2${GUILE_LOAD_COMPILED_PATH:+:}$GUILE_LOAD_COMPILED_PATH"

This is setting the same environment variables twice, overwriting them.

I get (for a long time already, so it's not breakage introduced by your commit 
here):

$ emacs
...
open("/home/dannym/.guix-profile/lib/guile/2.0/ccache/ice-9/eval.go", 
O_RDONLY|O_CLOEXEC) = 6
   ^^^
$ set |grep 2.0
...
GUILE_LOAD_COMPILED_PATH=/home/dannym/.guix-profile/lib/guile/2.0/ccache:/home/dannym/.guix-profile/share/guile/site/2.0:/run/current-system/profile/lib/guile/2.0/ccache:/run/current-system/profile/share/guile/site/2.0
GUILE_LOAD_PATH=/home/dannym/.guix-profile/share/guile/site/2.0:/run/current-system/profile/share/guile/site/2.0

$ unset GUILE_LOAD_PATH
$ export GUILE_LOAD_PATH
$ unset GUILE_LOAD_COMPILED_PATH
$ export GUILE_LOAD_COMPILED_PATH
$ emacs


> This works well (albeit slowly):
> 
>   guix environment --ad-hoc --pure guile-emacs -- emacs -q

It does. I can do many things to make it temporarily work. But a normal user 
probably can't.



[PATCH 1/1] gnu: curl: Update replacement to 7.50.2 [fixes CVE-2016-7141].

2016-09-07 Thread Leo Famulari
* gnu/packages/curl.scm (curl)[replacement]: Update to 7.50.2
(curl-7.50.1): Replace with ...
(curl-7.50.2): ... this.
---
 gnu/packages/curl.scm | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/curl.scm b/gnu/packages/curl.scm
index a250bb1..f3c0ade 100644
--- a/gnu/packages/curl.scm
+++ b/gnu/packages/curl.scm
@@ -40,7 +40,7 @@
 (define-public curl
   (package
(name "curl")
-   (replacement curl-7.50.1)
+   (replacement curl-7.50.2)
(version "7.47.0")
(source (origin
 (method url-fetch)
@@ -125,15 +125,15 @@ tunneling, and so on.")
   "See COPYING in the distribution."))
(home-page "http://curl.haxx.se/";)))
 
-(define curl-7.50.1
+(define curl-7.50.2
   (package
 (inherit curl)
 (source
-  (let ((version "7.50.1"))
+  (let ((version "7.50.2"))
 (origin
   (method url-fetch)
   (uri (string-append "https://curl.haxx.se/download/curl-";
   version ".tar.lzma"))
   (sha256
(base32
-"0qc3qp3h18v24irzw7dgg1jf39v4hnz8irv83v9lbn9rxzrpdcdj")))
+"0d5ly1xms0hh5zkv0m77d50c1816ywmbvmi1m158jyl70ndi9gby")))
-- 
2.10.0




[PATCH 0/1] Update curl replacement to 7.50.2

2016-09-07 Thread Leo Famulari
The curl project disclosed a bug, CVE-2016-7141 [0]:

---
libcurl built on top of NSS (Network Security Services) incorrectly re-used
client certificates if a certificate from file was used for one TLS connection
but no certificate set for a subsequent TLS connection.

While the symptoms are similar to CVE-2016-5420 (Re-using connection with wrong
client cert), this vulnerability was caused by an implementation detail of the
NSS backend in libcurl, which is orthogonal to the cause of CVE-2016-5420.
---

As far as I can tell, our curl package does not use NSS, but people who
use Guix as a source of free software source code (`guix build
--source`) may be vulnerable.

[0]
http://seclists.org/oss-sec/2016/q3/433
https://curl.haxx.se/docs/vuln-7.50.1.html

Leo Famulari (1):
  gnu: curl: Update replacement to 7.50.2 [fixes CVE-2016-7141].

 gnu/packages/curl.scm | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

-- 
2.10.0




Re: Guile 2.2 packages

2016-09-07 Thread Danny Milosavljevic
On Wed, 7 Sep 2016 23:15:22 +0200
Danny Milosavljevic  wrote:

>export PATH="foo/bin${PATH:+:}$PATH"
>export 
> GUILE_LOAD_PATH="foo/share/guile/site/2.0${GUILE_LOAD_PATH:+:}$GUILE_LOAD_PATH"
>export 
> GUILE_LOAD_COMPILED_PATH="foo/lib/guile/2.0/ccache:foo/share/guile/site/2.0${GUILE_LOAD_COMPILED_PATH:+:}$GUILE_LOAD_COMPILED_PATH"
>export 
> GUILE_LOAD_PATH="foo/share/guile/site/2.2${GUILE_LOAD_PATH:+:}$GUILE_LOAD_PATH"
>export 
> GUILE_LOAD_COMPILED_PATH="foo/lib/guile/2.2/ccache:foo/share/guile/site/2.2${GUILE_LOAD_COMPILED_PATH:+:}$GUILE_LOAD_COMPILED_PATH"

Hmm... or not really overwriting them. So it should work?



Re: Four thousand!

2016-09-07 Thread Christopher Allan Webber
Ludovic Courtès writes:

> Hello Guix!
>
> I wonder which one was the 4,000th, but we made it:
>
> --8<---cut here---start->8---
> $ GUIX_PACKAGE_PATH= ./pre-inst-env guix package -A |wc -l
> 4005

Woohoo, over 4k!  Now I can't wait until we're over nine thousad



[PATCH 0/3] Add utox

2016-09-07 Thread Erik Edrosa
Hello guix,

These patches add utox, a lightweight client for tox, and it depedencies.
This was requested by ng0 to send to the mailing list.  One of the
issues I discovered was avatars were not working.  I will try to look 
into it when I have the chance.

- Erik (OrangeShark)

Erik Edrosa (3):
  gnu: openal: Update to 1.17.2.
  gnu: Add filteraudio.
  gnu: Add utox.

 gnu/packages/audio.scm | 35 +--
 gnu/packages/messaging.scm | 44 +++-
 2 files changed, 76 insertions(+), 3 deletions(-)

-- 
2.10.0




[PATCH 2/3] gnu: Add filteraudio.

2016-09-07 Thread Erik Edrosa
* gnu/packages/audio.scm (filteraudio): New variable.
---
 gnu/packages/audio.scm | 31 +++
 1 file changed, 31 insertions(+)

diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 40cc029..4a6f400 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -2483,3 +2483,34 @@ with support for HD extensions.")
 flavors EBU R128, ATSC A/85, and ReplayGain 2.0.  It helps normalizing the
 loudness of audio and video files to the same level.")
 (license license:gpl2+)))
+
+(define-public filteraudio
+  (let ((revision "1")
+(commit "2fc669581e2a0ff87fba8de85861b49133306094"))
+(package
+  (name "filteraudio")
+  (version (string-append "0.0.0-" revision "."
+  (string-take commit 7)))
+  (source
+   (origin
+ (method git-fetch)
+ (uri (git-reference
+   (url "https://github.com/irungentoo/filter_audio.git";)
+   (commit commit)))
+ (sha256
+  (base32
+   "0hbb290n3wb23f2k692a6bhc23nnqmxqi9sc9j15pnya8wifw64g"
+  (build-system gnu-build-system)
+  (arguments
+   '(#:make-flags (list (string-append "PREFIX=" %output)
+"CC=gcc")
+ #:tests? #f
+ #:phases 
+ (alist-delete 
+  'configure 
+  %standard-phases)))
+  (synopsis "Lightweight audio filtering library")
+  (description "An easy to use audio filtering library made from webrtc 
code, used
+in @code{libtoxcore}.")
+  (home-page "https://github.com/irungentoo/filter_audio";)
+  (license license:bsd-3
-- 
2.10.0




[PATCH 3/3] gnu: Add utox.

2016-09-07 Thread Erik Edrosa
* gnu/packages/messaging.scm (utox): New variable.
---
 gnu/packages/messaging.scm | 44 +++-
 1 file changed, 43 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index b95239a..27086c8 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -64,7 +64,9 @@
   #:use-module (gnu packages tls)
   #:use-module (gnu packages icu4c)
   #:use-module (gnu packages video)
-  #:use-module (gnu packages xiph))
+  #:use-module (gnu packages xiph)
+  #:use-module (gnu packages audio)
+  #:use-module (gnu packages fontutils))
 
 (define-public libotr
   (package
@@ -612,4 +614,44 @@ protocols.")
   (license gpl3+)
   (home-page "https://tox.chat";
 
+(define-public utox
+  (package
+   (name "utox")
+   (version "0.9.8")
+   (source
+(origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/GrayHatter/uTox/archive/v";
+ version ".tar.gz"))
+ (sha256
+  (base32
+   "13hfqbwzcgvfbvf9yjm62aqsvxnpqppb50c88sys43m7022yqcsy"
+   (build-system gnu-build-system)
+   (arguments
+'(#:make-flags (list (string-append "PREFIX=" %output)
+ "CC=gcc")
+  #:tests? #f
+  #:phases (alist-delete 'configure %standard-phases)))
+   (inputs
+`(("libtoxcore" ,libtoxcore)
+  ("filteraudio" ,filteraudio)
+  ("dbus" ,dbus)
+  ("openal" ,openal)
+  ("libvpx" ,libvpx)
+  ("libsodium" ,libsodium)
+  ("freetype" ,freetype)
+  ("fontconfig" ,fontconfig)
+  ("v4l-utils" ,v4l-utils)
+  ("libx11" ,libx11)
+  ("libxext" ,libxext)
+  ("libxrender" ,libxrender)))
+   (native-inputs
+`(("pkg-config" ,pkg-config)))
+   (synopsis "Lightweight Tox client")
+   (description "The lightest and fluffiest Tox client.  Tox is a
+distributed and secure instant messenger with audio and video chat
+capabilities.")
+   (home-page "http://utox.org/";)
+   (license gpl3+)))
+
 ;;; messaging.scm ends here
-- 
2.10.0




[PATCH 1/3] gnu: openal: Update to 1.17.2.

2016-09-07 Thread Erik Edrosa
* gnu/packages/audio.scm (openal): Update to 1.17.2.
---
 gnu/packages/audio.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 9f03368..40cc029 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -1468,7 +1468,7 @@ lv2-c++-tools.")
 (define-public openal
   (package
 (name "openal")
-(version "1.15.1")
+(version "1.17.2")
 (source (origin
   (method url-fetch)
   (uri (string-append
@@ -1476,7 +1476,7 @@ lv2-c++-tools.")
 version ".tar.bz2"))
   (sha256
(base32
-"0mmhdqiyb3c9dzvxspm8h2v8jibhi8pfjxnf6m0wn744y1ia2a8f"
+"051k5fy8pk4fd9ha3qaqcv08xwbks09xl5qs4ijqq2qz5xaghhd3"
 (build-system cmake-build-system)
 (arguments
  `(#:tests? #f  ; no check target
-- 
2.10.0




Re: NPM and trusted binaries

2016-09-07 Thread Mike Gerwitz
On Tue, Sep 06, 2016 at 18:50:48 +0200, Pjotr Prins wrote:
> On Tue, Sep 06, 2016 at 11:48:04AM -0400, Thompson, David wrote:
>> This violates a core principle of Guix: reproducible builds.  I don't
>> support patches that encourage using pre-built binaries.
>
> In principle I agree. We want to be able to read the code.
>
> Still, I think Guix would benefit from a somewhat more relaxed stance
> in this.

If a user is able to build from source, shouldn't Guix be able to?  And
if neither can, how can we guarantee that the provided binary is even
free and actually corresponds to the given source?

From a software freedom perspective, the source code _is_ the
program.  If that is unworkable, then so is the software itself.

-- 
Mike Gerwitz
Free Software Hacker+Activist | GNU Maintainer & Volunteer
GPG: 2217 5B02 E626 BC98 D7C0  C2E5 F22B B815 8EE3 0EAB
https://mikegerwitz.com


signature.asc
Description: PGP signature


Re: [PATCH 1/1] gnu: curl: Update replacement to 7.50.2 [fixes CVE-2016-7141].

2016-09-07 Thread Efraim Flashner
On Wed, Sep 07, 2016 at 06:04:23PM -0400, Leo Famulari wrote:
> * gnu/packages/curl.scm (curl)[replacement]: Update to 7.50.2
> (curl-7.50.1): Replace with ...
> (curl-7.50.2): ... this.
> ---
>  gnu/packages/curl.scm | 8 
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/gnu/packages/curl.scm b/gnu/packages/curl.scm
> index a250bb1..f3c0ade 100644
> --- a/gnu/packages/curl.scm
> +++ b/gnu/packages/curl.scm
> @@ -40,7 +40,7 @@
>  (define-public curl
>(package
> (name "curl")
> -   (replacement curl-7.50.1)
> +   (replacement curl-7.50.2)
> (version "7.47.0")
> (source (origin
>  (method url-fetch)
> @@ -125,15 +125,15 @@ tunneling, and so on.")
>"See COPYING in the distribution."))
> (home-page "http://curl.haxx.se/";)))
>  
> -(define curl-7.50.1
> +(define curl-7.50.2
>(package
>  (inherit curl)
>  (source
> -  (let ((version "7.50.1"))
> +  (let ((version "7.50.2"))
>  (origin
>(method url-fetch)
>(uri (string-append "https://curl.haxx.se/download/curl-";
>version ".tar.lzma"))
>(sha256
> (base32
> -"0qc3qp3h18v24irzw7dgg1jf39v4hnz8irv83v9lbn9rxzrpdcdj")))
> +"0d5ly1xms0hh5zkv0m77d50c1816ywmbvmi1m158jyl70ndi9gby")))
> -- 
> 2.10.0
> 

Looks good!

-- 
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