Re: [PATCH 0/6] gnupg updates.

2016-07-18 Thread Ricardo Wurmus

ng0  writes:

> How do other people create these chained x of y PATCH threads?
> With Gnus it took a while.
> Is it done with the git-email patch function?

Yes.  I’m using “git send-email” for this.  As Leo wrote you need to
have a configured mailer.

I’m using msmtp for sending email anyway, so all I needed to do was tell
git to use msmtp by adding this section to my ~/.gitconfig:

  [sendemail]
smtpserver = /home/rekado/.guix-profile/bin/msmtp

Hope this helps!

~~ Ricardo



Re: [PATCH 3/3] gnu: Add perl-log-any-adapter-log4perl.

2016-07-18 Thread Ricardo Wurmus

Alex Sassmannshausen  writes:

> Looking at this, there seems to be a larger problem in perl.scm with
> this. Many packages simply specify inputs, and I believe the same
> reasoning that applied to my package her will apply to those too.
>
> Binaries are not affected by this problem, as we generally use
> wrapping scripts to explicitly include all dependencies in PERL5LIB.
>
> Am I right in thinking that we should be systematically changing
> inputs to propagated-inputs in the whole of perl.scm?

Yes, I think this should be done.  We have the same problem with some
Python packages.

Ideally, we would find a way to do without propagation as it has some
ugly effects, but I’m not sure if this is possible in Perl.  There were
some discussions about fixing this is Python (see the mailing list
archives) but I must admit to being not knowledgeable enough about
Python to confidently propose a patch.

~~ Ricardo



Update giac-xcas

2016-07-18 Thread Nicolas Goaziou
Hello,

Here is an update for giac-xcas.

Regards,

-- 
Nicolas Goaziou0x80A93738
>From 5638fb6db6cd7692ef519a9865c4fb1f60a949a2 Mon Sep 17 00:00:00 2001
From: Nicolas Goaziou 
Date: Mon, 18 Jul 2016 10:52:31 +0200
Subject: [PATCH] gnu: giac-xcas: Update to 1.2.2-75.

* gnu/packages/algebra.scm (giac-xcas): Update to 1.2.2-75.
---
 gnu/packages/algebra.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index b0ffd70..92b4d4c 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -202,7 +202,7 @@ GP2C, the GP to C compiler, translates GP scripts to PARI programs.")
 (define-public giac-xcas
   (package
 (name "giac-xcas")
-(version "1.2.2-59")
+(version "1.2.2-75")
 (source (origin
   (method url-fetch)
   ;; "~parisse/giac" is not used because the maintainer regularly
@@ -214,7 +214,7 @@ GP2C, the GP to C compiler, translates GP scripts to PARI programs.")
   "source/giac_" version ".tar.gz"))
   (sha256
(base32
-"02s774v2zg2ya43rm8s7bcwzrmp4wlmn8h2rlg4816zpfrjkrdn4"
+"0vs111fkd900wkm7yypaxmplc8i8j63d9shc3fbdhddn7cdj70b1"
 (build-system gnu-build-system)
 (arguments
  `(#:phases
-- 
2.8.4



[PATCH 0/3] icedtea: Generate keystore.

2016-07-18 Thread Ricardo Wurmus
Hi Guix,

our current IcedTea packages don't have TLS/SSL support as they don't come
with a certificate store.  In the Java world we need to import certificates
into a keystore.  (This is, unfortunately, not reproducible.)

These there patches add a build phase to icedtea-6 to generate a keystore from
the certificates in the nss-certs package.  I've tested this with the Java
bindings for git and an HTTPS URL of a repository.

For some reason generating a keystore fails with icedtea-8, so I'm explicitly
deleting the build phase there.  I'm not sure why this happens.

Overall I think this is an improvement, but more work is needed here.

What do you think?

~~ Ricardo


Ricardo Wurmus (3):
  gnu: nss-certs: Stop inheriting from nss package.
  gnu: icedtea-6: Use modify-phases syntax.
  gnu: icedtea-6: Generate keystore.

 gnu/packages/certs.scm |  22 ++-
 gnu/packages/java.scm  | 492 +++--
 2 files changed, 289 insertions(+), 225 deletions(-)

-- 
2.9.0




[PATCH 3/3] gnu: icedtea-6: Generate keystore.

2016-07-18 Thread Ricardo Wurmus
From: Ricardo Wurmus 

* gnu/packages/java.scm (icedtea-6)[arguments]: Add phase
"install-keystore".
[native-inputs]: Add nss-certs and openssl.
---
 gnu/packages/java.scm | 63 +--
 1 file changed, 61 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index faa6e5b..95e273e 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -30,6 +30,7 @@
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages base)
   #:use-module (gnu packages bash)
+  #:use-module (gnu packages certs)
   #:use-module (gnu packages cpio)
   #:use-module (gnu packages cups)
   #:use-module (gnu packages compression)
@@ -47,6 +48,7 @@
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages mit-krb5)
+  #:use-module (gnu packages tls)
   #:use-module (gnu packages xml)
   #:use-module (gnu packages xorg)
   #:use-module (gnu packages zip)
@@ -262,7 +264,8 @@ build process and its dependencies, whereas Make uses 
Makefile format.")
#:modules ((guix build utils)
   (guix build gnu-build-system)
   (ice-9 popen)
-  (ice-9 rdelim))
+  (ice-9 rdelim)
+  (srfi srfi-19))
 
#:configure-flags
(let* ((gcjdir (assoc-ref %build-inputs "gcj"))
@@ -521,7 +524,58 @@ build process and its dependencies, whereas Make uses 
Makefile format.")
(jdk (assoc-ref outputs "jdk")))
(copy-recursively "openjdk.build/docs" doc)
(copy-recursively "openjdk.build/j2re-image" jre)
-   (copy-recursively "openjdk.build/j2sdk-image" jdk)))
+   (copy-recursively "openjdk.build/j2sdk-image" jdk
+ (add-after 'install 'install-keystore
+   (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((keystore  "cacerts")
+(certs-dir (string-append (assoc-ref inputs "nss-certs")
+  "/etc/ssl/certs"))
+(keytool   (string-append (assoc-ref outputs "jdk")
+  "/bin/keytool"))
+(openssl   (which "openssl"))
+(recent(date->time-utc (string->date "2016-1-1"
+ "~Y-~m-~d"
+   (define (valid? cert)
+ (let* ((port (open-pipe* OPEN_READ openssl
+  "x509" "-enddate" "-in" cert 
"-noout"))
+(str  (read-line port))
+(end  (begin (close-pipe port)
+ ;; TODO: use match?
+ (cadr (string-split str #\=)
+   (time>? (date->time-utc
+(string->date end "~b ~d ~H:~M:~S ~Y")) recent)))
+
+   (define (import-cert cert)
+ (format #t "Importing certificate ~a\n" (basename cert))
+ (let* ((port (open-pipe* OPEN_WRITE keytool
+  "-import"
+  "-alias" (basename cert)
+  "-keystore" keystore
+  "-storepass" "changeit"
+  "-file" cert)))
+   (display "yes\n" port)
+   (when (not (eqv? 0 (status:exit-val (close-pipe port
+ (format (current-error-port)
+ "Failed to import certificate.\n"
+
+   ;; This is necessary because the certificate directory contains
+   ;; files with non-ASCII characters in their names.
+   (setlocale LC_ALL "en_US.utf8")
+   (setenv "LC_ALL" "en_US.utf8")
+
+   (for-each import-cert
+ (filter valid? (find-files certs-dir "\\.pem$")))
+   (mkdir-p (string-append (assoc-ref outputs "out")
+   "/lib/security"))
+   (mkdir-p (string-append (assoc-ref outputs "jdk")
+   "/jre/lib/security"))
+   (install-file keystore
+ (string-append (assoc-ref outputs "out")
+"/lib/security"))
+   (install-file keystore
+ (string-append (assoc-ref outputs "jdk")
+"/jre/lib/security"))
+   #t))
 (native-inputs
  `(("ant" ,ant)
("alsa-lib" ,alsa-lib)
@@ -544,6 +598,7 @@ build process and its dependencies, whereas Make uses 
Makefile format.")
("libxslt" ,libxslt) ;for xsltproc
("mit-krb5" ,mit-krb5)
("nss" ,nss)
+   ("nss-certs" ,nss-certs)
  

[PATCH 1/3] gnu: nss-certs: Stop inheriting from nss package.

2016-07-18 Thread Ricardo Wurmus
From: Ricardo Wurmus 

* gnu/packages/certs.scm (nss-certs): Stop inheriting from nss package.
---
 gnu/packages/certs.scm | 22 ++
 1 file changed, 18 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/certs.scm b/gnu/packages/certs.scm
index dd7d339..f5a4372 100644
--- a/gnu/packages/certs.scm
+++ b/gnu/packages/certs.scm
@@ -1,6 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2015 Andreas Enge 
 ;;; Copyright © 2015 Mark H Weaver 
+;;; Copyright © 2016 Ludovic Courtès 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -24,7 +25,6 @@
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system trivial)
   #:use-module (gnu packages)
-  #:use-module (gnu packages gnuzilla)
   #:use-module (gnu packages python)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages tls))
@@ -71,8 +71,20 @@
(home-page "http://pkgs.fedoraproject.org/cgit/ca-certificates.git/";)))
 
 (define-public nss-certs
-  (package (inherit nss) ; to reuse the source, version and some metadata
+  (package
 (name "nss-certs")
+(version "3.23")
+(source (origin
+  (method url-fetch)
+  (uri (let ((version-with-underscores
+  (string-join (string-split version #\.) "_")))
+ (string-append
+  "https://ftp.mozilla.org/pub/mozilla.org/security/nss/";
+  "releases/NSS_" version-with-underscores "_RTM/src/"
+  "nss-" version ".tar.gz")))
+  (sha256
+   (base32
+"1kqidv91icq96m9m8zx50n7px08km2l88458rkgyjwcn3kiq7cwl"
 (build-system gnu-build-system)
 (outputs '("out"))
 (native-inputs
@@ -123,5 +135,7 @@
 '(set-paths install-locale unpack)
 (synopsis "CA certificates from Mozilla")
 (description
-  "This package provides certificates for Certification Authorities (CA)
-taken from the NSS package and thus ultimately from the Mozilla project.")))
+ "This package provides certificates for Certification Authorities (CA)
+taken from the NSS package and thus ultimately from the Mozilla project.")
+(home-page "https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS";)
+(license license:mpl2.0)))
-- 
2.9.0




[PATCH 2/3] gnu: icedtea-6: Use modify-phases syntax.

2016-07-18 Thread Ricardo Wurmus
From: Ricardo Wurmus 

* gnu/packages/java.scm (icedtea-6)[arguments]: Use modify-phases
  syntax.
---
 gnu/packages/java.scm | 431 --
 1 file changed, 211 insertions(+), 220 deletions(-)

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 753fb77..faa6e5b 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -281,111 +281,108 @@ build process and its dependencies, whereas Make uses 
Makefile format.")
,(string-append "--with-jdk-home=" jdk)
,(string-append "--with-java=" jdk "/bin/java")))
#:phases
-   (alist-replace
-'unpack
-(lambda* (#:key source inputs #:allow-other-keys)
-  (and (zero? (system* "tar" "xvf" source))
-   (begin
- (chdir (string-append "icedtea6-" ,version))
- (mkdir "openjdk.src")
- (with-directory-excursion "openjdk.src"
-   (copy-file (assoc-ref inputs "openjdk6-src")
-  "openjdk6-src.tar.xz")
-   (zero? (system* "tar" "xvf" "openjdk6-src.tar.xz"))
-(alist-cons-after
- 'unpack 'patch-patches
- (lambda _
-   ;; shebang in patches so that they apply cleanly
-   (substitute* '("patches/jtreg-jrunscript.patch"
-  "patches/hotspot/hs23/drop_unlicensed_test.patch")
- (("#!/bin/sh") (string-append "#!" (which "sh"
+   (modify-phases %standard-phases
+ (replace 'unpack
+   (lambda* (#:key source inputs #:allow-other-keys)
+ (and (zero? (system* "tar" "xvf" source))
+  (begin
+(chdir (string-append "icedtea6-" ,version))
+(mkdir "openjdk.src")
+(with-directory-excursion "openjdk.src"
+  (copy-file (assoc-ref inputs "openjdk6-src")
+ "openjdk6-src.tar.xz")
+  (zero? (system* "tar" "xvf" "openjdk6-src.tar.xz")))
+ (add-after 'unpack 'patch-patches
+   (lambda _
+ ;; shebang in patches so that they apply cleanly
+ (substitute* '("patches/jtreg-jrunscript.patch"
+"patches/hotspot/hs23/drop_unlicensed_test.patch")
+   (("#!/bin/sh") (string-append "#!" (which "sh"
 
-   ;; fix path to alsa header in patch
-   (substitute* "patches/openjdk/6799141-split_out_versions.patch"
- (("ALSA_INCLUDE=/usr/include/alsa/version.h")
-  (string-append "ALSA_INCLUDE="
- (assoc-ref %build-inputs "alsa-lib")
- "/include/alsa/version.h"
- (alist-cons-after
-  'unpack 'patch-paths
-  (lambda _
-;; buildtree.make generates shell scripts, so we need to replace
-;; the generated shebang
-(substitute* 
'("openjdk.src/hotspot/make/linux/makefiles/buildtree.make")
-  (("/bin/sh") (which "bash")))
+ ;; fix path to alsa header in patch
+ (substitute* "patches/openjdk/6799141-split_out_versions.patch"
+   (("ALSA_INCLUDE=/usr/include/alsa/version.h")
+(string-append "ALSA_INCLUDE="
+   (assoc-ref %build-inputs "alsa-lib")
+   "/include/alsa/version.h")
+ (add-after 'unpack 'patch-paths
+   (lambda _
+ ;; buildtree.make generates shell scripts, so we need to replace
+ ;; the generated shebang
+ (substitute* 
'("openjdk.src/hotspot/make/linux/makefiles/buildtree.make")
+   (("/bin/sh") (which "bash")))
 
-(let ((corebin (string-append
-(assoc-ref %build-inputs "coreutils") "/bin/"))
-  (binbin  (string-append
-(assoc-ref %build-inputs "binutils") "/bin/"))
-  (grepbin (string-append
-(assoc-ref %build-inputs "grep") "/bin/")))
-  (substitute* 
'("openjdk.src/jdk/make/common/shared/Defs-linux.gmk"
- 
"openjdk.src/corba/make/common/shared/Defs-linux.gmk")
-(("UNIXCOMMAND_PATH  = /bin/")
- (string-append "UNIXCOMMAND_PATH = " corebin))
-(("USRBIN_PATH  = /usr/bin/")
- (string-append "USRBIN_PATH = " corebin))
-(("DEVTOOLS_PATH *= */usr/bin/")
- (string-append "DEVTOOLS_PATH = " corebin))
-(("COMPILER_PATH *= */usr/bin/")
- (string-append "COMPILER_PATH = "
-(assoc-ref %build-inputs "gcc") "/bin/"))
-(("DEF_OBJCOPY *=.*objcopy")
- (string-append "DEF_OBJCOPY = " (which "objcopy"
+ (let ((corebin (string-append
+

Re: hydra.gnu.org down

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

After more bug hunting, the web server at hydra.gnu.org is back up.  You
should now be able to get substitutes from there and, more importantly,
mirror.hydra.gnu.org will be able to do that too.

If you notice any issues related to substitutes, please report them
here!

(In the past 24 hours or so, you may have experienced problems with
substitutes when the web server at hydra.gnu.org was unstable.  Notably,
it could drop connections prematurely, which one could experience even
when connecting to mirror.hydra.gnu.org since it’s just a proxy.)

Thanks,
Ludo’.


signature.asc
Description: PGP signature


Re: dry-run defunct

2016-07-18 Thread Ludovic Courtès
Andreas Enge  skribis:

> On Sun, Jul 17, 2016 at 06:52:01PM +0200, Pjotr Prins wrote:
>> Grafts, I thought, an intermediate solution to prevent excessive
>> rebuilds. Still, regularly we would rebuild everything, right? Or are
>> we now grafting on grafting?
>
> Yes. No. :-)  We undo the grafts in core-updates and rebuild everything
> there.

Exactly.  So far we did not rebuild as frequently as we’d like due to
limited resources, but hopefully the situation will improve when our new
server is up and running!

Ludo’.



Re: gnutls 'name-constraints' test failure

2016-07-18 Thread Ludovic Courtès
Leo Famulari  skribis:

> From 55512c47d6331109a82acc083ad5ea905d386be7 Mon Sep 17 00:00:00 2001
> From: Leo Famulari 
> Date: Sun, 17 Jul 2016 13:07:35 -0400
> Subject: [PATCH] gnu: gnutls: Fix test failure.
>
> * gnu/packages/patches/gnutls-fix-stale-test.patch: New file.
> * gnu/local.mk (dist_patch_DATA): Add it.
> * gnu/packages/tls.scm (gnutls)[replacement]: New field.
> (gnutls/fixed): New variable.

LGTM, thanks!

Ludo'.



Re: [PATCH] Add pam-limits-service.

2016-07-18 Thread Ludovic Courtès
Guten Tag!

Ricardo Wurmus  skribis:

> We now have a constructor “pam-limits-entry”, which validates given
> settings (i.e. it throws an error when values are passed that don’t make
> sense) and returns a value of type “”.
>
> A list of these values can be passed to “pam-limits-service”, which
> generates a working “/etc/security/limits.conf”.  I’m using it right now
> with the exact same limits that are now documented in the manual.
>
> This snippet:
>
>   (pam-limits-service
>(list
> (pam-limits-entry "@realtime" 'both 'rtprio 99)
> (pam-limits-entry "@realtime" 'both 'memlock 'unlimited)))
>
> generates a limits.conf file with the following contents:
>
>   @realtime   -  rtprio 99
>   @realtime   -  memlockunlimited
>
> One advantage of using “pam-limits-entry” instead of a plain string is
> that values are validated according to the documentation in “man 5
> limits.conf”.

Nice!

Eventually, we should probably use a constructor in the spirit of (rnrs
enums) to provide expansion-time validation, as already done in (gnu
system nss) (info "(guile) rnrs enums").

> From 3f5d7b405ac7faadd753719fe4100d8f6605d191 Mon Sep 17 00:00:00 2001
> From: Ricardo Wurmus 
> Date: Mon, 12 Oct 2015 07:11:51 +0200
> Subject: [PATCH] services: Add pam-limits-service.
>
> * gnu/system/pam.scm (): New record type.
> (pam-limits-entry, pam-limits-entry->string): New procedures.
> * gnu/services/base.scm (pam-limits-service-type): New variable.
> (pam-limits-service): New procedure.
> * doc/guix.texi (Base Services): Document it.

[...]

> +@deffn {Scheme Procedure} pam-limits-service [#:limits @var{limits}]
> +
> +Return a service that installs a configuration file for the
> +@code{pam_limits} module.  The procedure optionally takes a list of
 ^^
It would be nice to add an @uref to the on-line manual of pam_limits, if
it exists.

> +(define pam-limits-service-type
> +  (let ((security-limits
> + ;; Create /etc/security containing the provided "limits.conf" file.
> + (lambda (limits-file)
> +   `(("security"
> +  ,(computed-file
> +"security"
> +#~(begin (mkdir #$output)
> + (stat #$limits-file)
> + (symlink #$limits-file
> +  (string-append #$output 
> "/limits.conf"

Indentation, rather:

  (begin
(mkdir #$output)
…)

> +(service-type
> + (name 'limits)
> + (extensions
> +  (list (service-extension etc-service-type security-limits)
> +(service-extension pam-root-service-type
> +   (lambda _ (list pam-extension

It may be useful to allow users to extend this service with additional
 objects.  To do that we’d simply need something like:

  (service-type
(name 'limits)
;; …
(compose concatenate)   ;concatenate lists of 
(extend append));append them

WDYT?

This shouldn’t block this patch, though.

> +(define-record-type 
> +  (make-pam-limits-entry domain type item value)

Maybe just add a comment above with the URL of the reference manual.

Otherwise LGTM, thank you!

Ludo’.



Re: [PATCH 4/6] gnu: Add gpgscm.

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

ng0  skribis:

> From 6babb18479de83bd19c44412c7957918d2c917b2 Mon Sep 17 00:00:00 2001
> From: ng0 
> Date: Sun, 17 Jul 2016 22:11:41 +
> Subject: [PATCH 4/6] gnu: Add gpgscm.
>
> * gnu/packages/gnupg.scm (gpgscm): New variable.

[...]

> +(home-page "https://gnupg.org/";)
> +(synopsis "tinyscheme implementation used by The GNU Privacy Guard")

I’ve seen some of the discussions on IRC about gpgscm.  However, it’s
not clear to me why we should make it a separate package.  AIUI, it’s
meant as a purely GnuPG-internal tool, and as such it may evolve in
lockstep with the rest of the GnuPG code base.

So I’d be tempted to keep it internal to GnuPG, unless upstream decides
to make it a separate package (which seems unlikely; it may be come part
of libgpg-error, though.)

WDYT?

Thanks,
Ludo’.



Re: Seeking guidance regarding system roll-back and switch-generation

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

Tobias Geerinckx-Rice  skribis:

> On 2016-07-17 11:22, Chris Marusich wrote:
>> However, it may not be necessary to generate a
>> "switch-to-configuration"
>> script at all.  Instead, what if we just stored the operating system
>> configuration file in a well known location within each system
>> generation?
>
> NixOS offers this option. I've forgot the name, because its utility is
> so limited, and its main use is to confuse people on IRC.
>
> All it does is copy /etc/nixos/configuration.nix to the store. That's
> it. All your imports are now broken, if they pointed to a relative path
> that doesn't exist in the store, or impure, if they pointed to an
> absolute
> path that wasn't immutable. This breaks all but the most trivial (or
> unmaintainable) set-ups. Even the NixOS installer creates a multi-file
> configuration by default.

I was about to make the same comment.  To put it differently, the
configuration.{scm,nix} file is not self-contained; its semantics are
determined by the rest of Guix/Nix{pkgs,OS}.  As such, it’s not very
helpful to keep it alone.

Thanks for your feedback,
Ludo’.



Re: Seeking guidance regarding system roll-back and switch-generation

2016-07-18 Thread Ludovic Courtès
Hi Chris,

Chris Marusich  skribis:

> I've noticed that the GuixSD mechanism is different from the NixOS
> mechanism.  In particular, NixOS uses an "install-grub" script (which is
> specific to each system generation) to install grub, but GuixSD does
> not.  Is this difference intentional?

Looking at
,
part of it seems to be concerned with the generation of grub.cfg, which
is what (gnu system grub) does.

It also does a couple more things, such as providing proper EFI support,
and avoiding reinstalling GRUB when possible (whereas ‘guix system
reconfigure’ currently reruns ‘grub-install’ each time, even when it’s
not strictly needed.)

So I don’t think it’s very different, after all.  Or am I missing
something?

> COMPARISON OF NIXOS AND GUIXSD MECHANISMS

[...]

> The GuixSD mechanism differs from the NixOS mechanism in a few ways.
> The biggest difference is that GuixSD does not use a
> "switch-to-configuration" script (although GuixSD does have a system
> activation script, which activates the system but does not install the
> bootloader).  In NixOS, all activities involving a system configuration
> switch - upgrade the system, roll back the system, switch the system to
> an arbitrary, existing generation - use this script to install grub
> and/or activate services.  Because the scripts are generated at build
> time and hard-coded with the paths to things like grub, the
> 'nixos-rebuild' command does not need to concern itself with finding all
> the right things; to install the right grub and activate the right
> services for a particular system generation, the 'nixos-rebuild' command
> just needs to invoke the switch-to-generation script for that
> generation.  This means that to perform rollback, the 'nixos-rebuild'
> command does not need to know what the original operating system
> configuration file was.

Interesting, I forgot (or ignored!) these details about NixOS.  :-)

> SOLUTION 1: USE A SWITCH-TO-CONFIGURATION SCRIPT
>
> The current mechanism for installing grub and activating services in
> GuixSD requires the presence of an operating system configuration file.
> This makes it difficult to roll back or switch configurations, since we
> do not currently store the operating system configuration files for
> previous system configurations.  One way to solve this problem is to
> follow the NixOS example and generate a similar
> "switch-to-configuration" script at system build time.  Perhaps it could
> be a gexp or something.

Switching to a generations primarily means: (1) running the target’s
activation script, (2) updating Shepherd services, and (3) updating
grub.cfg.

Of these (1) and (3) are currently easy to do on GuixSD.  (Right? :-))

(2) is more difficult.  It’s already difficult when switching to a *new*
generation because we have to arrange to change the state of the
currently-running PID 1 to get closer to its target state.

It’s even more difficult when rolling back to a previous generation
because, as we discussed, we currently don’t have any representation of
the previous generation’s list of Shepherd services.

When we discussed it previously, I said that we could add a purely
declarative representation of Shepherd services in the output of ‘guix
system build’ (just like we currently have a ‘parameters’ file.)  A
‘switch-to-configuration’ script would essentially be an executable
variant of that representation.

However, I think I prefer the declarative approach (sexps to describe
services) over the procedural approach (a ‘switch-to-configuration’
script), because it leaves more flexibility to the ‘guix system’ command
and to the user, and also decouples things a bit more.

Does that make sense?  WDYT?

> SOLUTION 2: STORE THE OPERATING SYSTEM CONFIGURATION FILE

Won’t work, as Tobias notes.  :-)

Thank you for the detailed analysis!

Ludo’.



Re: [PATCH] Add gctp

2016-07-18 Thread Ludovic Courtès
Thomas Danckaert  skribis:

> From: Leo Famulari  Subject: Re: [PATCH] Add gctp
> Date: Fri, 1 Jul 2016 16:33:12 -0400
>
>> On Mon, Jun 27, 2016 at 09:07:54PM +0200, Thomas Danckaert wrote:
>>> Indeed, I believe GCTP is not maintained anymore, and each project
>>> using it makes a few small adjustments. From the changelog, it
>>> seems GCTP was last changed March 1998.
>> In this case, I think it's appropriate to use the bundled GCTP. What
>> do others think?
>
> It's not a lot of work to submit a patch for HDF-EOS5 with the bundled
> GCTP, but I'm afraid that other packages which depend on two libraries
> that each bundle (a version of) GCTP (such as HDF-EOS2 and HDF-EOS5),
> will run into problems. There would be either a conflict due to
> multiple versions of libGctp, or, if we statically include GCTP in the
> libraries that use it, conflicting symbols when we link those
> libraries, no?
>
> For this reason, maybe using a separate GCTP package, and adding a
> patch to projects that use it, is the best solution after all?
> Development of GCTP and most packages that depend on it seems to be
> mostly finished anyway, so maintaining the patches might not be that
> much work.

Leo, what’s your take on this?  It seems we’ve forgotten about this
patch for too long already.  :-)

Thanks,
Ludo’.



Re: [PATCH 3/3] gnu: Add perl-log-any-adapter-log4perl.

2016-07-18 Thread Eric Bavier
On Mon, 18 Jul 2016 10:29:41 +0200
Ricardo Wurmus  wrote:

> Alex Sassmannshausen  writes:
> 
> > Looking at this, there seems to be a larger problem in perl.scm with
> > this. Many packages simply specify inputs, and I believe the same
> > reasoning that applied to my package her will apply to those too.
> >
> > Binaries are not affected by this problem, as we generally use
> > wrapping scripts to explicitly include all dependencies in PERL5LIB.
> >
> > Am I right in thinking that we should be systematically changing
> > inputs to propagated-inputs in the whole of perl.scm?  
> 
> Yes, I think this should be done.  We have the same problem with some
> Python packages.

Though, it's not quite as simple as propagate-all-inputs.  Some care
must be taken, since many inputs are for tests only.  While some
packages have test-only inputs in native-inputs, this is not
universally true.

`~Eric



Re: [PATCH 4/6] gnu: Add gpgscm.

2016-07-18 Thread ng0
Hi,

Ludovic Courtès writes:

> Hello!
>
> ng0  skribis:
>
>> From 6babb18479de83bd19c44412c7957918d2c917b2 Mon Sep 17 00:00:00 2001
>> From: ng0 
>> Date: Sun, 17 Jul 2016 22:11:41 +
>> Subject: [PATCH 4/6] gnu: Add gpgscm.
>>
>> * gnu/packages/gnupg.scm (gpgscm): New variable.
>
> [...]
>
>> +(home-page "https://gnupg.org/";)
>> +(synopsis "tinyscheme implementation used by The GNU Privacy Guard")
>
> I’ve seen some of the discussions on IRC about gpgscm.  However, it’s
> not clear to me why we should make it a separate package.  AIUI, it’s
> meant as a purely GnuPG-internal tool, and as such it may evolve in
> lockstep with the rest of the GnuPG code base.
>
> So I’d be tempted to keep it internal to GnuPG, unless upstream decides
> to make it a separate package (which seems unlikely; it may be come part
> of libgpg-error, though.)
>
> WDYT?
>
> Thanks,
> Ludo’.

I'm not familiar with all the short words being used all the
time. What is AIUI? "As I understand it"?


I think I forgot to add more descriptions above this patch and
the gnupg one.

It should've read:

This is a not very pleasant, but working hack
to enable building >=gnupg-2.1.14 without wasting much time on
having to built gpgscm in the gnupg package.  Whoever wants to
fix this may step forward and do it, I am done with this as I
need to focus on something else.
This is left intentionally with comments for other people to
improve in case we even use this. Else, someone can improve my
gnupg-2.1.14 patch and make the gpgscm patc obsolete.

-- 
♥Ⓐ  ng0
For non-prism friendly talk find me on http://www.psyced.org
SecuShare – http://secushare.org



Re: [PATCH 4/6] gnu: Add gpgscm.

2016-07-18 Thread ng0
Upstream discussion thread / statement on gpgscm:
https://lists.gnupg.org/pipermail/gnupg-users/2016-July/056303.html
-- 
♥Ⓐ  ng0
For non-prism friendly talk find me on http://www.psyced.org
SecuShare – http://secushare.org



rottlog daily test

2016-07-18 Thread Jan Nieuwenhuizen
Hi

I tried running rottlog by hand and found that it needs `packdir' to be
set, and it needs a config file if you want to run it daily (e.g., for
testing.  Patch attached.

Then I tried to get cron run rottlog each day at 5 doing:

(use-package-modules admin)
(use-service-modules mcron)

(define (rottlog-service)
  (service mcron-service-type
   (mcron-configuration
(jobs (list (mcron-job
 (user "root")
 (specification
  #~(job '(next-hour '(5))
 (lambda ()
   (system (string-append rottlog 
"/sbin/rottlog")))


(operating-system
 ...
  (services ...
   (rottlog-service)))

but I did not see this working.

Greetings,
Jan

>From 192c442b597e9e54bc7ab787f680861f919b37e1 Mon Sep 17 00:00:00 2001
From: Jan Nieuwenhuizen 
Date: Sat, 18 Jun 2016 22:37:48 +0200
Subject: [PATCH] admin: rottlog: daily

---
 gnu/packages/admin.scm | 20 +++-
 1 file changed, 15 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index 415a35a..e10483e 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -769,11 +769,21 @@ over ssh connections.")
   (assoc-ref %outputs "out")
   "/etc")
"--localstatedir=/var")
-   #:phases (alist-cons-after
- 'install 'install-info
- (lambda _
-   (zero? (system* "make" "install-info")))
- %standard-phases)))
+   #:phases (modify-phases %standard-phases
+  (add-after 'build 'set-packdir
+(lambda _
+  (substitute* "rc/rc"
+(("packdir=\"\"")
+ "packdir=\"/var/log\""
+  (add-after 'install 'install-daily
+(lambda* (#:key outputs #:allow-other-keys)
+  (let ((out (assoc-ref outputs "out")))
+(zero? (system* "mv"
+(string-append out "/etc/weekly")
+(string-append out "/etc/daily"))
+  (add-after 'install 'install-info
+(lambda _
+  (zero? (system* "make" "install-info")))
 (native-inputs `(("texinfo" ,texinfo)
  ("util-linux" ,util-linux))) ; for 'cal'
 (home-page "http://www.gnu.org/software/rottlog/";)
-- 
2.8.4


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


Re: [PATCH 1/3] gnu: nss-certs: Stop inheriting from nss package.

2016-07-18 Thread Leo Famulari
On Mon, Jul 18, 2016 at 01:59:39PM +0200, Ricardo Wurmus wrote:
> * gnu/packages/certs.scm (nss-certs): Stop inheriting from nss package.

Why do we want to do this?

It appears to me that the resulting package would be the same. Is there
a plan to let the versions diverge in the future?

> +;;; Copyright © 2016 Ludovic Courtès 

Is this intentional?



Re: gnutls 'name-constraints' test failure

2016-07-18 Thread Leo Famulari
On Sun, Jul 17, 2016 at 01:33:34PM -0400, Leo Famulari wrote:
> Subject: [PATCH] gnu: gnutls: Fix test failure.
> 
> * gnu/packages/patches/gnutls-fix-stale-test.patch: New file.
> * gnu/local.mk (dist_patch_DATA): Add it.
> * gnu/packages/tls.scm (gnutls)[replacement]: New field.
> (gnutls/fixed): New variable.

Mark pointed out that using a graft won't work, since the ungrafted and
unpatched gnutls will still need to be built.

Any ideas?



[PATCH 04/10] gnu: Rename #:prefix l: to #:prefix license:.

2016-07-18 Thread David Craven
* gnu/packages/gl.scm: Rename #:prefix l: to #:prefix license:.
---
 gnu/packages/gl.scm | 20 ++--
 1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm
index 853c8b5..4ac926e 100644
--- a/gnu/packages/gl.scm
+++ b/gnu/packages/gl.scm
@@ -71,7 +71,7 @@ matrices for creating perspective and orthographic 
projections,
 positioning a camera, and selection/picking, Rendering of disk,
 cylinder, and sphere primitives, Interpreting OpenGL error values
 as ASCII text.")
-(license (l:x11-style 
"http://directory.fsf.org/wiki/License:SGIFreeBv2";
+(license (license:x11-style 
"http://directory.fsf.org/wiki/License:SGIFreeBv2";
 
 (define-public freeglut
   (package
@@ -112,7 +112,7 @@ GLUT (and hence freeglut) allows the user to create and 
manage windows
 containing OpenGL contexts on a wide range of platforms and also read
 the mouse, keyboard and joystick functions.  Freeglut is released under
 the X-Consortium license.")
-(license l:x11)))
+(license license:x11)))
 
 (define-public ftgl
   (package
@@ -138,7 +138,7 @@ the X-Consortium license.")
  "FTGL is a font rendering library for OpenGL applications.  Supported
 rendering modes are: Bitmaps, Anti-aliased pixmaps, Texture maps, Outlines,
 Polygon meshes, and Extruded polygon meshes.")
-(license l:x11)))
+(license license:x11)))
 
 (define-public s2tc
   (package
@@ -170,7 +170,7 @@ Polygon meshes, and Extruded polygon meshes.")
 (description
  "S2TC is a patent-free implementation of S3 Texture Compression (S3TC,
 also known as DXTn or DXTC) for Mesa.")
-(license l:expat)))
+(license license:expat)))
 
 ;;; Mesa needs LibVA headers to build its Gallium-based VA API implementation;
 ;;; LibVA itself depends on Mesa.  We use the following to solve the circular
@@ -287,7 +287,7 @@ also known as DXTn or DXTC) for Mesa.")
 a system for rendering interactive 3D graphics.  A variety of device drivers
 allows Mesa to be used in many different environments ranging from software
 emulation to complete hardware acceleration for modern GPUs.")
-(license l:x11)))
+(license license:x11)))
 
 (define-public mesa-headers
   (package
@@ -355,7 +355,7 @@ emulation to complete hardware acceleration for modern 
GPUs.")
  "The mesa-utils package contains several utility tools for Mesa: glxdemo,
 glxgears, glxheads, and glxinfo.")
 ;; glxdemo is public domain; others expat.
-(license (list l:expat l:public-domain
+(license (list license:expat license:public-domain
 
 (define-public glew
   (package
@@ -399,7 +399,7 @@ glxgears, glxheads, and glxinfo.")
 loading library.  GLEW provides efficient run-time mechanisms for determining
 which OpenGL extensions are supported on the target platform.  OpenGL core and
 extension functionality is exposed in a single header file.")
-(license l:bsd-3)))
+(license license:bsd-3)))
 
 (define-public guile-opengl
   (package
@@ -445,7 +445,7 @@ extension functionality is exposed in a single header 
file.")
 (description
  "Guile-OpenGL is a library for Guile that provides bindings to the
 OpenGL graphics API.")
-(license l:lgpl3+)))
+(license license:lgpl3+)))
 
 (define-public libepoxy
   (package
@@ -502,7 +502,7 @@ OpenGL graphics API.")
 (synopsis "A library for handling OpenGL function pointer management")
 (description
  "A library for handling OpenGL function pointer management.")
-(license l:x11)))
+(license license:x11)))
 
 (define-public soil
   (package
@@ -544,4 +544,4 @@ OpenGL graphics API.")
 (description
  "SOIL is a tiny C library used primarily for uploading textures into
 OpenGL.")
-(license l:public-domain)))
+(license license:public-domain)))
-- 
2.9.0



[PATCH 01/10] system: Do not export GST_PLUGIN_PATH in /etc/profile.

2016-07-18 Thread David Craven
* gnu/system.scm (operating-system-etc-service): Remove "export" for
'GST_PLUGIN_PATH'.
---
 gnu/system.scm | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/gnu/system.scm b/gnu/system.scm
index 476720b..fe62c3e 100644
--- a/gnu/system.scm
+++ b/gnu/system.scm
@@ -433,9 +433,6 @@ fi
 # See .
 umask 022
 
-# Allow GStreamer-based applications to find plugins.
-export GST_PLUGIN_PATH=\"$HOME/.guix-profile/lib/gstreamer-1.0\"
-
 if [ -n \"$BASH_VERSION\" -a -f /etc/bashrc ]
 then
   # Load Bash-specific initialization code.
-- 
2.9.0



[PATCH 06/10] gnu: mesa: Enable wayland support.

2016-07-18 Thread David Craven
* gnu/packages/gl.scm (mesa): Enable configure-flags required by wayland.
---
 gnu/packages/gl.scm | 9 +++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm
index 6e635a3..67bab1b 100644
--- a/gnu/packages/gl.scm
+++ b/gnu/packages/gl.scm
@@ -223,7 +223,8 @@ also known as DXTn or DXTC) for Mesa.")
 ("makedepend" ,makedepend)
 ("presentproto" ,presentproto)
 ("s2tc" ,s2tc)
-("udev" ,eudev)))
+("udev" ,eudev)
+("wayland" ,wayland)))
 (native-inputs
   `(("pkg-config" ,pkg-config)
 ("python" ,python-2)))
@@ -233,12 +234,16 @@ also known as DXTn or DXTC) for Mesa.")
  "--with-gallium-drivers=r600,svga,swrast,nouveau"
  ;; Enable various optional features.  TODO: opencl requires libclc,
  ;; omx requires libomxil-bellagio
- "--with-egl-platforms=x11,drm"
+ "--with-egl-platforms=x11,drm,wayland"
  "--enable-glx-tls";Thread Local Storage, improves performance
  ;; "--enable-opencl"
  ;; "--enable-omx"
  "--enable-osmesa"
  "--enable-xa"
+ ;; features required by wayland
+ "--enable-gles2"
+ "--enable-gbm"
+ "--enable-shared-glapi"
 
  ;; on non-intel systems, drop i915 and i965
  ;; from the default dri drivers
-- 
2.9.0



[PATCH 02/10] gnu: libdrm: Update to 2.4.68.

2016-07-18 Thread David Craven
* gnu/packages/xdisorg.scm (libdrm): Update to 2.4.68.
---
 gnu/packages/xdisorg.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index 0e16f6b..b58a248 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -262,7 +262,7 @@ rasterisation.")
 (define-public libdrm
   (package
 (name "libdrm")
-(version "2.4.65")
+(version "2.4.68")
 (source
   (origin
 (method url-fetch)
@@ -272,7 +272,7 @@ rasterisation.")
".tar.bz2"))
 (sha256
   (base32
-"1i4n7mz49l0j4kr0dg9n1j3hlc786ncqgj0v5fci1mz7pp40m5ki"))
+"1px91j6imaaq2fy8ksvgldmv0cdz3w379jqiciqvqa99jajxjjsv"))
 (patches (search-patches "libdrm-symbol-check.patch"
 (build-system gnu-build-system)
 (inputs
-- 
2.9.0



[PATCH 07/10] gnu: mesa: Enable virtio gallium driver.

2016-07-18 Thread David Craven
* gnu/packages/gl.scm (mesa): Enable virtio gallium driver.
---
 gnu/packages/gl.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm
index 67bab1b..5e4fca9 100644
--- a/gnu/packages/gl.scm
+++ b/gnu/packages/gl.scm
@@ -231,7 +231,7 @@ also known as DXTn or DXTC) for Mesa.")
 (arguments
  `(#:configure-flags
'(;; drop r300 from default gallium drivers, as it requires llvm
- "--with-gallium-drivers=r600,svga,swrast,nouveau"
+ "--with-gallium-drivers=r600,svga,swrast,nouveau,virgl"
  ;; Enable various optional features.  TODO: opencl requires libclc,
  ;; omx requires libomxil-bellagio
  "--with-egl-platforms=x11,drm,wayland"
-- 
2.9.0



[PATCH 05/10] gnu: mesa: Update to 12.0.0.

2016-07-18 Thread David Craven
* gnu/packages/gl.scm (mesa): Update to 12.0.0.
---
 gnu/packages/gl.scm | 21 -
 1 file changed, 12 insertions(+), 9 deletions(-)

diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm
index 4ac926e..6e635a3 100644
--- a/gnu/packages/gl.scm
+++ b/gnu/packages/gl.scm
@@ -192,7 +192,7 @@ also known as DXTn or DXTC) for Mesa.")
 (define-public mesa
   (package
 (name "mesa")
-(version "11.0.9")
+(version "12.0.0")
 (source
   (origin
 (method url-fetch)
@@ -200,7 +200,7 @@ also known as DXTn or DXTC) for Mesa.")
 version "/mesa-" version ".tar.xz"))
 (sha256
  (base32
-  "009b3nq8ly5nzy9cxi9cxf4qasrhggjz0v0q87rwq5kaqvqjy9m1"
+  "1ikxaj4avz29ch403bblq3l47g1r6hp4har94i8r664k44jw1400"
 (build-system gnu-build-system)
 (propagated-inputs
   `(("glproto" ,glproto)
@@ -213,19 +213,20 @@ also known as DXTn or DXTC) for Mesa.")
 ("libxxf86vm" ,libxxf86vm)))
 ;; TODO: Add vdpau.
 (inputs
-  `(("udev" ,eudev)
+  `(("expat" ,expat)
 ("dri2proto" ,dri2proto)
 ("dri3proto" ,dri3proto)
-("presentproto" ,presentproto)
-("expat" ,expat)
 ("libva" ,(force libva-without-mesa))
 ("libxml2" ,libxml2)
 ;; TODO: Add 'libxml2-python' for OpenGL ES 1.1 and 2.0 support
 ("libxvmc" ,libxvmc)
 ("makedepend" ,makedepend)
-("s2tc" ,s2tc)))
+("presentproto" ,presentproto)
+("s2tc" ,s2tc)
+("udev" ,eudev)))
 (native-inputs
-  `(("pkg-config" ,pkg-config)))
+  `(("pkg-config" ,pkg-config)
+("python" ,python-2)))
 (arguments
  `(#:configure-flags
'(;; drop r300 from default gallium drivers, as it requires llvm
@@ -249,8 +250,10 @@ also known as DXTn or DXTC) for Mesa.")
#:phases (alist-cons-after
  'unpack 'patch-create_test_cases
  (lambda _
-   (substitute* 
"src/glsl/tests/lower_jumps/create_test_cases.py"
- (("/usr/bin/env bash") (which "bash"
+   (substitute* 
"src/compiler/glsl/tests/lower_jumps/create_test_cases.py"
+ (("/usr/bin/env bash") (which "bash")))
+   (substitute* "src/intel/genxml/gen_pack_header.py"
+ (("/usr/bin/env python2") (which "python"
  (alist-cons-before
   'build 'fix-dlopen-libnames
   (lambda* (#:key inputs outputs #:allow-other-keys)
-- 
2.9.0



[PATCH 03/10] gnu: Order module imports in (gnu packages gl) alphabetically.

2016-07-18 Thread David Craven
* gnu/packages/gl.scm: Order module imports alphabetically.
---
 gnu/packages/gl.scm | 30 +++---
 1 file changed, 15 insertions(+), 15 deletions(-)

diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm
index 907e3bf..853c8b5 100644
--- a/gnu/packages/gl.scm
+++ b/gnu/packages/gl.scm
@@ -20,29 +20,29 @@
 ;;; along with GNU Guix.  If not, see .
 
 (define-module (gnu packages gl)
-  #:use-module (ice-9 match)
-  #:use-module (guix build utils)
-  #:use-module ((guix licenses) #:prefix l:)
-  #:use-module (guix packages)
-  #:use-module (guix download)
-  #:use-module (guix build-system gnu)
-  #:use-module (guix build-system cmake)
-  #:use-module (guix packages)
-  #:use-module (guix utils)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages bison)
   #:use-module (gnu packages flex)
-  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages fontutils)
+  #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages gettext)
+  #:use-module (gnu packages guile)
   #:use-module (gnu packages linux)
+  #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
-  #:use-module (gnu packages xorg)
-  #:use-module (gnu packages xml)
-  #:use-module (gnu packages fontutils)
-  #:use-module (gnu packages guile)
   #:use-module (gnu packages video)
   #:use-module (gnu packages xdisorg)
-  #:use-module (gnu packages zip))
+  #:use-module (gnu packages xml)
+  #:use-module (gnu packages xorg)
+  #:use-module (gnu packages zip)
+  #:use-module (guix download)
+  #:use-module (guix build utils)
+  #:use-module (guix build-system gnu)
+  #:use-module (guix build-system cmake)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix packages)
+  #:use-module (guix utils)
+  #:use-module (ice-9 match))
 
 (define-public glu
   (package
-- 
2.9.0



[PATCH 09/10] vm: Honor 'QEMU_FLAGS' and 'QEMU_NET_FLAGS'.

2016-07-18 Thread David Craven
* gnu/system/vm.scm (common-qemu-options): Add 'QEMU_FLAGS' and
'QEMU_NET_FLAGS'.
---
 gnu/system/vm.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm
index c31e3a8..9f52909 100644
--- a/gnu/system/vm.scm
+++ b/gnu/system/vm.scm
@@ -462,11 +462,11 @@ with '-virtfs' options for the host file systems listed 
in SHARED-FS."
"")
  " -no-reboot -net nic,model=virtio \
   " #$@(map virtfs-option shared-fs) " \
-  -net user \
+  -net user,$QEMU_NET_FLAGS \
   -vga std \
   -drive file=" #$image
   ",if=virtio,cache=writeback,werror=report,readonly \
-  -m 256"))
+  -m 256 $QEMU_FLAGS"))
 
 (define* (system-qemu-image/shared-store-script os
 #:key
-- 
2.9.0



[PATCH 08/10] gnu: mesa-utils: Update to 8.3.0.

2016-07-18 Thread David Craven
* gnu/packages/gl.scm (mesa-utils): Update to 8.3.0.
---
 gnu/packages/gl.scm | 11 +++
 1 file changed, 3 insertions(+), 8 deletions(-)

diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm
index 5e4fca9..21a9463 100644
--- a/gnu/packages/gl.scm
+++ b/gnu/packages/gl.scm
@@ -325,12 +325,12 @@ emulation to complete hardware acceleration for modern 
GPUs.")
 (method url-fetch)
 (uri (string-append "ftp://ftp.freedesktop.org/pub/mesa/demos/"; version
 "/mesa-demos-" version ".tar.bz2"))
-(sha256 (base32 "14msj0prbl3ljwd24yaqv9pz1xzicdmqgg616xxlppbdh6syrgz4"
+(sha256 (base32 "1vqb7s5m3fcg2csbiz45mha1pys2xx6rhw94fcyvapqdpm5iawy1"
 
 (define-public mesa-utils
   (package
 (name "mesa-utils")
-(version "8.2.0")
+(version "8.3.0")
 (source (mesa-demos-source version))
 (build-system gnu-build-system)
 (inputs
@@ -340,12 +340,7 @@ emulation to complete hardware acceleration for modern 
GPUs.")
 (native-inputs
  `(("pkg-config" ,pkg-config)))
 (arguments
- '(;; XXX: fails to build against latest mesa:
-   ;;   eglut.c: error: 'EGL_SCREEN_BIT_MESA' undeclared
-   ;;
-   ;; 
-   #:configure-flags '("--disable-egl")
-   #:phases
+ '(#:phases
(modify-phases %standard-phases
  (replace
   'install
-- 
2.9.0



[PATCH 10/10] vm: Enable virtio gpu by default.

2016-07-18 Thread David Craven
* gnu/system/vm.scm (common-qemu-options): Enable virtio gpu by default.
---
 gnu/system/vm.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm
index 9f52909..1a2c2eb 100644
--- a/gnu/system/vm.scm
+++ b/gnu/system/vm.scm
@@ -463,7 +463,7 @@ with '-virtfs' options for the host file systems listed in 
SHARED-FS."
  " -no-reboot -net nic,model=virtio \
   " #$@(map virtfs-option shared-fs) " \
   -net user,$QEMU_NET_FLAGS \
-  -vga std \
+  -vga virtio \
   -drive file=" #$image
   ",if=virtio,cache=writeback,werror=report,readonly \
   -m 256 $QEMU_FLAGS"))
-- 
2.9.0



Re: gnutls 'name-constraints' test failure

2016-07-18 Thread Efraim Flashner
On Mon, Jul 18, 2016 at 12:48:55PM -0400, Leo Famulari wrote:
> On Sun, Jul 17, 2016 at 01:33:34PM -0400, Leo Famulari wrote:
> > Subject: [PATCH] gnu: gnutls: Fix test failure.
> > 
> > * gnu/packages/patches/gnutls-fix-stale-test.patch: New file.
> > * gnu/local.mk (dist_patch_DATA): Add it.
> > * gnu/packages/tls.scm (gnutls)[replacement]: New field.
> > (gnutls/fixed): New variable.
> 
> Mark pointed out that using a graft won't work, since the ungrafted and
> unpatched gnutls will still need to be built.
> 
> Any ideas?
> 

Can we do an
(if (system-prefix? "i686-linux" (or %target... %current...))
(disable test)
(echo "hi mom!"))

the other option I saw from the bug report
https://github.com/libgd/libgd/issues/242#issuecomment-228676965
was apparently to add the flags -msse -mfpmath=sse to CFLAGS to make it
pass.

-- 
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 4/6] gnu: Add gpgscm.

2016-07-18 Thread Leo Famulari
On Sun, Jul 17, 2016 at 11:19:41PM +, ng0 wrote:
> Whoever wants to fix how this looks in code can change it before
> commit, like it is now it works and serves its purpose (run the
> gnupg tests).
> Commented parts included for people who want to make it smaller,
> if you make it smaller in size the code size on our side will
> grow.

Thank you for beginning this!

It looks as if the gpgscm executable is built in our build phase, and
then used in our check phase. So, I will try patching the shebangs of
the tests in between the build and check phases.



Re: [PATCH 0/3] icedtea: Generate keystore.

2016-07-18 Thread Roel Janssen

Ricardo Wurmus writes:

> Hi Guix,
>
> our current IcedTea packages don't have TLS/SSL support as they don't come
> with a certificate store.  In the Java world we need to import certificates
> into a keystore.  (This is, unfortunately, not reproducible.)
>
> These there patches add a build phase to icedtea-6 to generate a keystore from
> the certificates in the nss-certs package.  I've tested this with the Java
> bindings for git and an HTTPS URL of a repository.
>
> For some reason generating a keystore fails with icedtea-8, so I'm explicitly
> deleting the build phase there.  I'm not sure why this happens.
>
> Overall I think this is an improvement, but more work is needed here.
>
> What do you think?

I haven't looked at the patches, but I would like to say that I have run
into the missing certificates with Java.  I haven't looked at whether
this resolves the problem either, but I would like to thank you for your
work in this area.

I really appreciate your work on IcedTea and Java packages.

Thanks,
Roel



Re: gnutls 'name-constraints' test failure

2016-07-18 Thread Leo Famulari
On Mon, Jul 18, 2016 at 12:48:55PM -0400, Leo Famulari wrote:
> On Sun, Jul 17, 2016 at 01:33:34PM -0400, Leo Famulari wrote:
> > Subject: [PATCH] gnu: gnutls: Fix test failure.
> > 
> > * gnu/packages/patches/gnutls-fix-stale-test.patch: New file.
> > * gnu/local.mk (dist_patch_DATA): Add it.
> > * gnu/packages/tls.scm (gnutls)[replacement]: New field.
> > (gnutls/fixed): New variable.
> 
> Mark pointed out that using a graft won't work, since the ungrafted and
> unpatched gnutls will still need to be built.
> 
> Any ideas?

Unfortunately, the version of gnutls in core-updates (3.5.0) does not
include the fix. It was introduced in 3.5.2.



Re: SourceForge URLs changed

2016-07-18 Thread Alex Griffin
Hey Leo,

On Sun, Jul 17, 2016, at 03:58 PM, Leo Famulari wrote:
> I've attached the list of bad packages, which includes the ones I've
> done so far. If you want to fix some of them, please pick a section of
> the alphabet and reply to claim it, so we don't duplicate effort.

I'll start by claiming Q-Z, and maybe I can do more than that depending
on how things go.
-- 
Alex Griffin



Re: [PATCH 1/3] gnu: nss-certs: Stop inheriting from nss package.

2016-07-18 Thread Ricardo Wurmus

Leo Famulari  writes:

> On Mon, Jul 18, 2016 at 01:59:39PM +0200, Ricardo Wurmus wrote:
>> * gnu/packages/certs.scm (nss-certs): Stop inheriting from nss package.
>
> Why do we want to do this?
>
> It appears to me that the resulting package would be the same. Is there
> a plan to let the versions diverge in the future?

We have a module cycle when using the certs module from the java
module.  By separating “nss-certs” from the “nss” package we break the
cycle.  Ludo explained it well in this email:

http://lists.gnu.org/archive/html/guix-devel/2016-06/msg00648.html

>> +;;; Copyright © 2016 Ludovic Courtès 
>
> Is this intentional?

Yes.  This patch is almost exactly the same as what Ludo proposed in the
email above.  I cannot take credit for this.

~~ Ricardo




Re: [PATCH 1/3] gnu: nss-certs: Stop inheriting from nss package.

2016-07-18 Thread Leo Famulari
On Mon, Jul 18, 2016 at 09:34:18PM +0200, Ricardo Wurmus wrote:
> Leo Famulari  writes:
> 
> > On Mon, Jul 18, 2016 at 01:59:39PM +0200, Ricardo Wurmus wrote:
> >> * gnu/packages/certs.scm (nss-certs): Stop inheriting from nss package.
> >
> > Why do we want to do this?
> >
> > It appears to me that the resulting package would be the same. Is there
> > a plan to let the versions diverge in the future?
> 
> We have a module cycle when using the certs module from the java
> module.  By separating “nss-certs” from the “nss” package we break the
> cycle.  Ludo explained it well in this email:
> 
> http://lists.gnu.org/archive/html/guix-devel/2016-06/msg00648.html
> 
> >> +;;; Copyright © 2016 Ludovic Courtès 
> >
> > Is this intentional?
> 
> Yes.  This patch is almost exactly the same as what Ludo proposed in the
> email above.  I cannot take credit for this.

Ah, thanks for explaining!



Re: Update giac-xcas

2016-07-18 Thread Ricardo Wurmus

Hi Nicolas,

> Here is an update for giac-xcas.

Thanks for the patch!  I’ve applied it and built the new version of
giac-xcas locally.  The commit has been pushed to the master branch with
hash “a2d469afaff47f2c1cd819290d9d97ab006ca423”.

Thanks again!

~~ Ricardo




Re: [PATCH] Add gctp

2016-07-18 Thread Leo Famulari
On Thu, Jul 07, 2016 at 09:40:18AM +0200, Thomas Danckaert wrote:
> It's not a lot of work to submit a patch for HDF-EOS5 with the bundled
> GCTP, but I'm afraid that other packages which depend on two libraries
> that each bundle (a version of) GCTP (such as HDF-EOS2 and HDF-EOS5),
> will run into problems. There would be either a conflict due to
> multiple versions of libGctp, or, if we statically include GCTP in the
> libraries that use it, conflicting symbols when we link those
> libraries, no?

I'm not sure if there will be problems or not... it's unfortunately
beyond my level of expertise :) I've asked someone with more experience
than me to weigh in.

> For this reason, maybe using a separate GCTP package, and adding a
> patch to projects that use it, is the best solution after all?
> Development of GCTP and most packages that depend on it seems to be
> mostly finished anyway, so maintaining the patches might not be that
> much work.

Based on my experience with Guix so far, I think that maintaining our
own forks of 3rd party software is outside of the scope of the Guix
project. I think that the {nix,guix}-daemon is the only software for
which we do this.

If it's not possible to use the bundled GCTPs then we have to use an
external library, but I think it should be maintained outside of Guix.
As you say, it should not be much work to put it on a public Git repo or
to host a tarball, since the development is basically complete.

Too bad no other distros have already packaged it; often we can copy
them ;)

I'm sorry for the lng delayed reply.



Re: [PATCH 4/6] gnu: Add gpgscm.

2016-07-18 Thread Leo Famulari
On Mon, Jul 18, 2016 at 01:44:07PM -0400, Leo Famulari wrote:
> On Sun, Jul 17, 2016 at 11:19:41PM +, ng0 wrote:
> > Whoever wants to fix how this looks in code can change it before
> > commit, like it is now it works and serves its purpose (run the
> > gnupg tests).
> > Commented parts included for people who want to make it smaller,
> > if you make it smaller in size the code size on our side will
> > grow.
> 
> Thank you for beginning this!
> 
> It looks as if the gpgscm executable is built in our build phase, and
> then used in our check phase. So, I will try patching the shebangs of
> the tests in between the build and check phases.

The attached patch series works for me, when I put it on top of your
GnuPG-related library updates.
>From 474fd1807a0870a7156a22200b763e89997c10a6 Mon Sep 17 00:00:00 2001
From: Leo Famulari 
Date: Mon, 18 Jul 2016 14:47:50 -0400
Subject: [PATCH 1/4] gnu: gnupg: Use modify-phases syntax.

* gnu/packages/gnupg.scm (gnupg)[arguments]: Use modify-phases syntax.
---
 gnu/packages/gnupg.scm | 15 +++
 1 file changed, 7 insertions(+), 8 deletions(-)

diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm
index 444c60a..5b61881 100644
--- a/gnu/packages/gnupg.scm
+++ b/gnu/packages/gnupg.scm
@@ -233,14 +233,13 @@ compatible to GNU Pth.")
("readline" ,readline)
("sqlite" ,sqlite)
("zlib" ,zlib)))
-   (arguments
-`(#:phases
-   (alist-cons-before
-'configure 'patch-config-files
-(lambda _
-  (substitute* "tests/openpgp/defs.inc"
-(("/bin/pwd") (which "pwd"
-   %standard-phases)))
+(arguments
+ `(#:phases
+   (modify-phases %standard-phases
+ (add-after 'configure 'patch-config-files
+   (lambda _
+ (substitute* "tests/openpgp/defs.inc"
+   (("/bin/pwd") (which "pwd"
 (home-page "http://gnupg.org/";)
 (synopsis "GNU Privacy Guard")
 (description
-- 
2.9.1

>From 379b84a09e22312a6d777bc2dc30b97199265229 Mon Sep 17 00:00:00 2001
From: Leo Famulari 
Date: Mon, 18 Jul 2016 14:48:24 -0400
Subject: [PATCH 2/4] gnu: gnupg-2.0: Use modify-phases syntax.

* gnu/packages/gnupg.scm (gnupg-2.0)[arguments]: Use modify-phases syntax.
---
 gnu/packages/gnupg.scm | 11 +--
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm
index 5b61881..1958462 100644
--- a/gnu/packages/gnupg.scm
+++ b/gnu/packages/gnupg.scm
@@ -278,12 +278,11 @@ libskba (working with X.509 certificates and CMS data).")
("readline" ,readline)))
(arguments
 `(#:phases
-   (alist-cons-before
-'configure 'patch-config-files
-(lambda _
-  (substitute* "tests/openpgp/Makefile.in"
-(("/bin/sh") (which "bash"
-   %standard-phases)
+  (modify-phases %standard-phases
+(add-after 'configure 'patch-config-files
+  (lambda _
+(substitute* "tests/openpgp/Makefile.in"
+  (("/bin/sh") (which "bash"))
 
 (define-public gnupg-1
   (package (inherit gnupg)
-- 
2.9.1

>From 728e0bf170547b9cfa721d5770e75a7699644f05 Mon Sep 17 00:00:00 2001
From: Leo Famulari 
Date: Mon, 18 Jul 2016 14:48:55 -0400
Subject: [PATCH 3/4] gnu: gnupg-1: Use modify-phases syntax.

* gnu/packages/gnupg.scm (gnupg-1)[arguments]: Use modify-phases syntax.
---
 gnu/packages/gnupg.scm | 12 ++--
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm
index 1958462..8ef98a8 100644
--- a/gnu/packages/gnupg.scm
+++ b/gnu/packages/gnupg.scm
@@ -302,12 +302,12 @@ libskba (working with X.509 certificates and CMS data).")
("readline" ,readline)
("libgpg-error" ,libgpg-error)))
 (arguments
- `(#:phases (alist-cons-after
- 'unpack 'patch-check-sh
- (lambda _
-   (substitute* "checks/Makefile.in"
- (("/bin/sh") (which "bash"
- %standard-phases)
+ `(#:phases
+   (modify-phases %standard-phases
+ (add-after 'unpack 'patch-check-sh
+   (lambda _
+ (substitute* "checks/Makefile.in"
+   (("/bin/sh") (which "bash"))
 
 (define-public gpgme
   (package
-- 
2.9.1

>From 0d9b1e5d922ad9c4efb3ae751b36b764a09e1edb Mon Sep 17 00:00:00 2001
From: Leo Famulari 
Date: Mon, 18 Jul 2016 18:13:48 -0400
Subject: [PATCH 4/4] gnu: gnupg: Patch test shebangs.

* gnu/packages/gnupg.scm (gnupg)[arguments]: Add 'patch-scheme-tests' phase.
---
 gnu/packages/gnupg.scm | 11 ---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm
index 8ef98a8..d3ad8e7 100644
--- a/gnu/packages/gnupg.scm
+++ b/gnu/packages/gnupg.scm
@@ -208,14 +208,14 @@ compatible to GNU Pth.")
 (define-public gnupg
   (package
 (name "gnupg")
-(version "2.1.13")
+(version "2.1.14")
 (sour

Re: SourceForge URLs changed

2016-07-18 Thread Leo Famulari
On Mon, Jul 18, 2016 at 01:30:47PM -0500, Alex Griffin wrote:
> I'll start by claiming Q-Z, and maybe I can do more than that depending
> on how things go.

Thank you!

I'll do A-F next.



‘guix publish’ now compresses archives

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

‘guix publish --compression’ can now compress archives in gzip format,
using zlib, which makes it much more usable in real life.  See commit
4a1fc562ae5eedf40f6ae4eabe30580b0983b8f6.

‘guix publish’ is cache-friendly: it uses /nar/gzip URLs for gzipped
archives, and /nar for uncompressed archives.  That way, even if ‘guix
publish’ is restarted with different compression parameters, previously
announced /nar/* URLs remain valid.

Please try it and report back.

To recap, the difficulty with all this is that we couldn’t just call out
the ‘gzip’ command because ‘guix publish’ uses threads, and threads and
fork(2) don’t go together well.  So we needed zlib bindings, and when
discussing it earlier with Dave, I thought we’d have to wrap zlib’s
low-level API, which is painful, so we were sad and all.  Next we had
this hydra.gnu.org outage, which entailed more sadness.

Then I realized that zlib has this high-level ‘gz’ API, which is easy
and does what we need; hence, (guix zlib) provides bindings to that.
The only limitation is that it needs a file descriptor as its source or
sink and cannot compress into memory.  That’s enough for ‘guix publish’
though.

Comments welcome!

Ludo’.



Re: [PATCH 4/6] gnu: Add gpgscm.

2016-07-18 Thread ng0
Hi,

thanks for picking up the work.

Leo Famulari writes:

> On Mon, Jul 18, 2016 at 01:44:07PM -0400, Leo Famulari wrote:
>> On Sun, Jul 17, 2016 at 11:19:41PM +, ng0 wrote:
>> > Whoever wants to fix how this looks in code can change it before
>> > commit, like it is now it works and serves its purpose (run the
>> > gnupg tests).
>> > Commented parts included for people who want to make it smaller,
>> > if you make it smaller in size the code size on our side will
>> > grow.
>> 
>> Thank you for beginning this!
>> 
>> It looks as if the gpgscm executable is built in our build phase, and
>> then used in our check phase. So, I will try patching the shebangs of
>> the tests in between the build and check phases.
>
> The attached patch series works for me, when I put it on top of your
> GnuPG-related library updates.

On top of all 5 of the updates I did in gnupg.scm and sent in or
what are the GnuPG-related library updates you mean?

I will test this series tomorrow. If it works and I can remove
the gpgscm package, is master okay or should it go into
core-updates and if so why should it go into core-updates when it
works on master?

> From 474fd1807a0870a7156a22200b763e89997c10a6 Mon Sep 17 00:00:00 2001
> From: Leo Famulari 
> Date: Mon, 18 Jul 2016 14:47:50 -0400
> Subject: [PATCH 1/4] gnu: gnupg: Use modify-phases syntax.
>
> * gnu/packages/gnupg.scm (gnupg)[arguments]: Use modify-phases syntax.
> ---
>  gnu/packages/gnupg.scm | 15 +++
>  1 file changed, 7 insertions(+), 8 deletions(-)
>
> diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm
> index 444c60a..5b61881 100644
> --- a/gnu/packages/gnupg.scm
> +++ b/gnu/packages/gnupg.scm
> @@ -233,14 +233,13 @@ compatible to GNU Pth.")
> ("readline" ,readline)
> ("sqlite" ,sqlite)
> ("zlib" ,zlib)))
> -   (arguments
> -`(#:phases
> -   (alist-cons-before
> -'configure 'patch-config-files
> -(lambda _
> -  (substitute* "tests/openpgp/defs.inc"
> -(("/bin/pwd") (which "pwd"
> -   %standard-phases)))
> +(arguments
> + `(#:phases
> +   (modify-phases %standard-phases
> + (add-after 'configure 'patch-config-files
> +   (lambda _
> + (substitute* "tests/openpgp/defs.inc"
> +   (("/bin/pwd") (which "pwd"
>  (home-page "http://gnupg.org/";)
>  (synopsis "GNU Privacy Guard")
>  (description
> -- 
> 2.9.1
>
>
> From 379b84a09e22312a6d777bc2dc30b97199265229 Mon Sep 17 00:00:00 2001
> From: Leo Famulari 
> Date: Mon, 18 Jul 2016 14:48:24 -0400
> Subject: [PATCH 2/4] gnu: gnupg-2.0: Use modify-phases syntax.
>
> * gnu/packages/gnupg.scm (gnupg-2.0)[arguments]: Use modify-phases syntax.
> ---
>  gnu/packages/gnupg.scm | 11 +--
>  1 file changed, 5 insertions(+), 6 deletions(-)
>
> diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm
> index 5b61881..1958462 100644
> --- a/gnu/packages/gnupg.scm
> +++ b/gnu/packages/gnupg.scm
> @@ -278,12 +278,11 @@ libskba (working with X.509 certificates and CMS 
> data).")
> ("readline" ,readline)))
> (arguments
>  `(#:phases
> -   (alist-cons-before
> -'configure 'patch-config-files
> -(lambda _
> -  (substitute* "tests/openpgp/Makefile.in"
> -(("/bin/sh") (which "bash"
> -   %standard-phases)
> +  (modify-phases %standard-phases
> +(add-after 'configure 'patch-config-files
> +  (lambda _
> +(substitute* "tests/openpgp/Makefile.in"
> +  (("/bin/sh") (which "bash"))
>  
>  (define-public gnupg-1
>(package (inherit gnupg)
> -- 
> 2.9.1
>
>
> From 728e0bf170547b9cfa721d5770e75a7699644f05 Mon Sep 17 00:00:00 2001
> From: Leo Famulari 
> Date: Mon, 18 Jul 2016 14:48:55 -0400
> Subject: [PATCH 3/4] gnu: gnupg-1: Use modify-phases syntax.
>
> * gnu/packages/gnupg.scm (gnupg-1)[arguments]: Use modify-phases syntax.
> ---
>  gnu/packages/gnupg.scm | 12 ++--
>  1 file changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm
> index 1958462..8ef98a8 100644
> --- a/gnu/packages/gnupg.scm
> +++ b/gnu/packages/gnupg.scm
> @@ -302,12 +302,12 @@ libskba (working with X.509 certificates and CMS 
> data).")
> ("readline" ,readline)
> ("libgpg-error" ,libgpg-error)))
>  (arguments
> - `(#:phases (alist-cons-after
> - 'unpack 'patch-check-sh
> - (lambda _
> -   (substitute* "checks/Makefile.in"
> - (("/bin/sh") (which "bash"
> - %standard-phases)
> + `(#:phases
> +   (modify-phases %standard-phases
> + (add-after 'unpack 'patch-check-sh
> +   (lambda _
> + (substitute* "checks/Makefile.in"
> +   (("/bin/sh") (which "bash"))
>  
>  (define-public gpgme
>(package
> -- 
> 2.9.1
>
>
> From 0d9b1e5d922ad9c4efb3ae751b36b764a09

Re: GuixSD on ARM

2016-07-18 Thread Eric Bavier
On Wed, 13 Jul 2016 08:55:23 +0200
Ricardo Wurmus  wrote:

> Hi Daniel,
> 
> > I'd like GuixSD on ARM plataform, for instance Libre Tea Computer Card 
> > or other ARM libre plataform.
> >
> > I buy a Libre Tea Computer Card:
> > - https://www.crowdsupply.com/eoma68/micro-desktop
> > - http://retro-freedom.nz/blog/2016/06/30/eoma68-my-dream-machine/  
> 
> I’m also very excited about this project and wish it to succeed, because
> it is appalling and discouraging to see how little environmental
> concerns are usually considered in tech.
> 
> It would be very nice to be able to use GuixSD on the EOMA68.  Alas, I
> don’t have an overview on what work needs to be done to get there.

I've signed up for the Libre Tea and the desktop enclosure, so I'll be
playing with the GuixSD support in the coming days/weeks/months.  I'm
looking forward to working with other backers here.

It Would Be Nice™ if we could get something up and running before
shipment so we could propose a pre-imaged GuixSD version of the card.  :-)

`~Eric



[PATCH] gnu: Add ssdeep.

2016-07-18 Thread Tobias Geerinckx-Rice
* gnu/packages/datastructures.scm (ssdeep): New variable.
---

Hullo Guix,

I'm not sure where the following package belongs.

Kind regards,

T G-R

 gnu/packages/datastructures.scm | 22 ++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/datastructures.scm b/gnu/packages/datastructures.scm
index 74b9fff..b9e6061 100644
--- a/gnu/packages/datastructures.scm
+++ b/gnu/packages/datastructures.scm
@@ -1,5 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2015, 2016 Ricardo Wurmus 
+;;; Copyright © 2016 Tobias Geerinckx-Rice 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -70,3 +71,24 @@ probing.  This method is space-efficient -- there is no 
pointer overhead --
 and time-efficient for good hash functions.")
 (home-page "https://github.com/sparsehash/sparsehash";)
 (license license:bsd-3)))
+
+(define-public ssdeep
+  (package
+(name "ssdeep")
+(version "2.13")
+(source (origin
+  (method url-fetch)
+  (uri (string-append "mirror://sourceforge/ssdeep/"
+  name "-" version "/"
+  name "-" version ".tar.gz"))
+  (sha256
+   (base32
+"1igqy0j7jrklb8fdlrm6ald4cyl1fda5ipfl8crzyl6bax2ajk3f"
+(build-system gnu-build-system)
+(home-page "http://ssdeep.sourceforge.net";)
+(synopsis "Context-triggered piecewise hashing algorithm")
+(description "ssdeep computes and matches context triggered piecewise
+hashes (CTPH), also called fuzzy checksums.  It can identify similar files
+that have sequences of identical bytes in the same order, even though bytes
+in between these sequences may be different in both content and length.")
+(license license:gpl2+)))
-- 
2.9.0




[PATCH 1/2] gnu: Add cpupower.

2016-07-18 Thread Tobias Geerinckx-Rice
* gnu/packages/linux.scm (cpupower): New variable.
---
 gnu/packages/linux.scm | 38 ++
 1 file changed, 38 insertions(+)

diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index d20314f..8b8d8d6 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -2752,3 +2752,41 @@ from that to the system kernel's @file{/dev/random} 
machinery.")
 ;; The source package is offered under the GPL2+, but the files
 ;; 'rngd_rdrand.c' and 'rdrand_asm.S' are only available under the GPL2.
 (license (list license:gpl2 license:gpl2+
+
+(define-public cpupower
+  (package
+(name "cpupower")
+(version (package-version linux-libre))
+(source (package-source linux-libre))
+(build-system gnu-build-system)
+(arguments
+ '(#:phases (modify-phases %standard-phases
+  (add-after 'unpack 'enter-subdirectory
+(lambda _
+  (chdir "tools/power/cpupower")))
+  (delete 'configure)
+  (add-before 'build 'fix-makefiles
+(lambda _
+  (substitute* "Makefile"
+(("/usr/") "/")
+(("/bin/(install|pwd)" _ command) command))
+  (substitute* "bench/Makefile"
+(("\\$\\(CC\\) -o") "$(CC) $(LDFLAGS) -o")
+   #:make-flags (let ((out (assoc-ref %outputs "out")))
+  (list (string-append "DESTDIR=" out)
+(string-append "LDFLAGS=-Wl,-rpath=" out "/lib")
+"docdir=/share/doc/cpupower"
+"confdir=$(docdir)/examples"
+;; The Makefile recommends the following changes
+"DEBUG=false"
+"PACKAGE_BUGREPORT=bug-g...@gnu.org"))
+   #:tests? #f)) ;no tests
+(inputs `(("gettext" ,gnu-gettext)
+  ("pciutils" ,pciutils)))
+(home-page (package-home-page linux-libre))
+(synopsis "CPU frequency and voltage scaling tools for Linux")
+(description
+ "cpupower is a set of user-space tools that use the cpufreq feature of the
+Linux kernel to retrieve and control processor features related to power 
saving,
+such as frequency and voltage scaling.")
+(license license:gpl2)))
-- 
2.9.0




[PATCH 0/2] Add cpupower

2016-07-18 Thread Tobias Geerinckx-Rice
Hullo Guix,

I was surprised not to find cpupower available. It's a replacement
for the older cpufrequtils package. I didn't much feel like
re-writing my scripts or muscle memory, so I wrote a quick package.

I also rewrote the ‘atlas’ description to use that, instead of
a cpufreq-selector command for each separate core.

Kind regards,

T G-R

Tobias Geerinckx-Rice (2):
  gnu: Add cpupower.
  gnu: atlas: Use cpupower in description.

 gnu/packages/linux.scm | 38 ++
 gnu/packages/maths.scm |  9 +++--
 2 files changed, 41 insertions(+), 6 deletions(-)

-- 
2.9.0




[PATCH 2/2] gnu: atlas: Use cpupower in description.

2016-07-18 Thread Tobias Geerinckx-Rice
* gnu/packages/maths.scm (atlas)[description]: Replace 'cpufreq-selector'
with its replacement 'cpupower --governor'.
---
 gnu/packages/maths.scm | 9 +++--
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 643bce5..776963e 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -2120,14 +2120,11 @@ Optimization occurs at build time.  For this reason, 
the library is built on
 the machine where it is installed, without resorting to pre-built substitutes.
 
 Before building the library, CPU throttling should be disabled.  This can be
-done in the BIOS, or, on GNU/Linux, with the following commands:
+done in the BIOS, or, on GNU/Linux, with the following command:
 
-cpufreq-selector -g performance -c 0
-...
-cpufreq-selector -g performance -c N-1
+# cpupower --governor performance
 
-where N is the number of cores of your CPU.  Failure to do so will result in a
-library with poor performance.")
+Failure to do so will result in a library with poor performance.")
 (license license:bsd-3)))
 
 (define-public glm
-- 
2.9.0




Re: [PATCH 4/6] gnu: Add gpgscm.

2016-07-18 Thread Leo Famulari
On Mon, Jul 18, 2016 at 11:10:00PM +, ng0 wrote:
> On top of all 5 of the updates I did in gnupg.scm and sent in or
> what are the GnuPG-related library updates you mean?

Yes, I'm referring to the updates you sent.

> I will test this series tomorrow. If it works and I can remove
> the gpgscm package, is master okay or should it go into
> core-updates and if so why should it go into core-updates when it
> works on master?

gnupg-2.1.14 requires libgcrypt >= 1.7.0 [0] and libgpg-error >= 1.24.
Those are both core packages. `guix refresh -l` reports that 2206 and
2214 packages will need to be rebuilt, respectively, if those packages
are changed.

I added a few more packages to the HTTPS home-page patch. I pushed it
along with the libassuan update.



Re: ‘guix publish’ now compresses archives

2016-07-18 Thread Tomáš Čech

On Tue, Jul 19, 2016 at 12:22:42AM +0200, Ludovic Courtès wrote:

Hi!

‘guix publish --compression’ can now compress archives in gzip format,
using zlib, which makes it much more usable in real life.  See commit
4a1fc562ae5eedf40f6ae4eabe30580b0983b8f6.

‘guix publish’ is cache-friendly: it uses /nar/gzip URLs for gzipped
archives, and /nar for uncompressed archives.  That way, even if ‘guix
publish’ is restarted with different compression parameters, previously
announced /nar/* URLs remain valid.

Please try it and report back.

To recap, the difficulty with all this is that we couldn’t just call out
the ‘gzip’ command because ‘guix publish’ uses threads, and threads and
fork(2) don’t go together well.  So we needed zlib bindings, and when
discussing it earlier with Dave, I thought we’d have to wrap zlib’s
low-level API, which is painful, so we were sad and all.  Next we had
this hydra.gnu.org outage, which entailed more sadness.

Then I realized that zlib has this high-level ‘gz’ API, which is easy
and does what we need; hence, (guix zlib) provides bindings to that.
The only limitation is that it needs a file descriptor as its source or
sink and cannot compress into memory.  That’s enough for ‘guix publish’
though.

Comments welcome!


When I saw archive improvement I remembered I have a comment about
that (but not associated to compression).

Recently when Snappy and Flatpak news flew around the world I saw some
people were thinking about Guix as possible and cleaner alternative to
new package types.

As I am happy to see enthusiasm about Guix, I don't think that current
archive format is usable for distribution of binary packages of
whatever origin. Problem is that we have package definition as part of
package manager GIT snapshot or local files but this information is
not distributed along with the package archive.

If this area is interesting for us, we can do better. It would be
great to be able to verify such archive, maintain the reproducibility
or provide recipe how to bake missing dependencies.

I was thinking that we could (and should) add some optional support
for metadata which could describe the origin of the package. It could
contain:
- Guix GIT revision used
- differences against GIT revision
- local package recipe
- exported dependency tree of package recipes
- optionally URL where missing dependencies can be found

What do you think?

S_W


signature.asc
Description: Digital signature