isnan, isinf in ldc; Was: Re: Release imminent

2016-08-03 Thread Danny Milosavljevic
> And to repair your remaining, not building favourite packages - for instance
> bio packages with disappeared source...
>http://hydra.gnu.org/eval/109040#tabs-still-fail

ldc fails because they do

  ::isnan

which is a bad idea if isnan is a C macro (which it usually isn't - but hey 
O_o). I've substituted

  isnan

for it and this part then compiles fine.

This fix is not safe in general because if there's a method called isnan in 
scope, it will use that. In the ldc case, they've named the method "isNan" - so 
it's fine.



Re: [PATCH] system: grub: Introduce foreign-menu-entry.

2016-08-03 Thread Chris Marusich
Hi Tomáš,

Tomáš Čech  writes:

> foreign-menu-entry is very similar but is intended for entering other
> distributions so it doesn't limit the name and allows kernel and initrd to be
> placed in different device (in Grub syntax).

What is the use case which motivates this change?  How do you intend to
use this after making the proposed changes?

> +(define-record-type* 
> +  foreign-menu-entry make-foreign-menu-entry
> +  foreign-menu-entry?
> +  (label   foreign-menu-entry-label)
> +  (device  foreign-menu-entry-device (default ""))
> +  (linux   foreign-menu-entry-linux)
> +  (linux-arguments foreign-menu-entry-linux-arguments
> +   (default '()))  ; list of string-valued 
> gexps
> +  (initrd  foreign-menu-entry-initrd)) ; file name of the initrd 
> as a gexp
> +

This is identical to the existing  record type; however, it
adds the "device" parameter:

--8<---cut here---start->8---

(define-record-type* 
  menu-entry make-menu-entry
  menu-entry?
  (label   menu-entry-label)
  (linux   menu-entry-linux)
  (linux-arguments menu-entry-linux-arguments
   (default '()))  ; list of string-valued gexps
  (initrd  menu-entry-initrd)) ; file name of the initrd as a gexp
--8<---cut here---end--->8---

Would it be possible to accomplish the same thing by adding a "device"
parameter to the existing  record type?  That way, we
wouldn't have to add a new record type which seems largely redundant.

>  #~(string-append #$linux "/"
>   #$linux-image-name))
>  #$linux #$linux-image-name (string-join (list #$@arguments))
> -#$initrd
> +#$initrd))
> + (($  label device linux arguments initrd)
> +  #~(format port "menuentry ~s {
> +  linux ~a ~a
> +  initrd ~a
> +}~%"
> +#$label
> +(string-append #$device #$linux)

Don't we need to insert a separator of some kind between #$device and
#$linux?  Also, don't we need to include the linux image name (e.g.,
"bzImage")?

> +(string-join (list #$@arguments))
> +(string-append #$device #$initrd)
>  
>(mlet %store-monad ((sugar (eye-candy config store-fs system #~port)))
>  (define builder

Isn't a separator of some kind needed between #$device and #$initrd?

-- 
Chris


signature.asc
Description: PGP signature


[PATCH] gnu: bash-completion: Update to 2.3.

2016-08-03 Thread Tomáš Čech
* gnu/packages/bash.scm(bash-completion): Update to 2.3, add autoreconf
  phase, change origin to Github.
* gnu/packages/patches/bash-completion-directories.patch: Rework - same
  purpose, different code.
---
 gnu/packages/bash.scm  | 62 --
 .../patches/bash-completion-directories.patch  | 39 ++
 2 files changed, 50 insertions(+), 51 deletions(-)

diff --git a/gnu/packages/bash.scm b/gnu/packages/bash.scm
index ff3acfc..6f3fe17 100644
--- a/gnu/packages/bash.scm
+++ b/gnu/packages/bash.scm
@@ -2,6 +2,7 @@
 ;;; Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès 
 ;;; Copyright © 2014, 2015 Mark H Weaver 
 ;;; Copyright © 2015 Leo Famulari 
+;;; Copyright © 2016 Tomáš Čech 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -21,6 +22,7 @@
 (define-module (gnu packages bash)
   #:use-module (guix licenses)
   #:use-module (gnu packages)
+  #:use-module (gnu packages autotools)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages readline)
   #:use-module (gnu packages bison)
@@ -275,43 +277,47 @@ without modification.")
 (define-public bash-completion
   (package
 (name "bash-completion")
-(version "2.1")
+(version "2.3")
 (source (origin
   (method url-fetch)
   (uri (string-append
-"http://bash-completion.alioth.debian.org/files/";
-"bash-completion-" version ".tar.bz2"))
+"https://github.com/scop/"; name "/archive/" version
+".tar.gz"))
   (sha256
(base32
-"0kxf8s5bw7y50x0ksb77d3kv0dwadixhybl818w27y6mlw26hq1b"))
+"0aij7fmn6f7q3z6pbqn61h0b81ydl5iv19zhhj5cdfz3yvswwbyr"))
   (patches
(search-patches "bash-completion-directories.patch"
 (build-system gnu-build-system)
-(native-inputs `(("util-linux" ,util-linux)))
+(native-inputs `(("util-linux" ,util-linux)
+ ("autoconf" ,autoconf)
+ ("automake" ,automake)))
 (arguments
- `(#:phases (alist-cons-after
- 'install 'remove-redundant-completions
- (lambda* (#:key inputs outputs #:allow-other-keys)
-   ;; Util-linux comes with a bunch of completion files for
-   ;; its own commands which are more sophisticated and
-   ;; up-to-date than those of bash-completion.  Remove those
-   ;; from bash-completion.
-   (let* ((out (assoc-ref outputs "out"))
-  (util-linux  (assoc-ref inputs "util-linux"))
-  (completions (string-append out
-  "/share/bash-completion"
-  "/completions"))
-  (already (find-files
-(string-append
- util-linux
- "/etc/bash_completion.d"
- (with-directory-excursion completions
-   (for-each (lambda (file)
-   (when (file-exists? file)
- (delete-file file)))
- (map basename already)))
- #t))
- %standard-phases)))
+ `(#:phases (modify-phases %standard-phases
+  (add-after 'install 'remove-redundant-completions
+(lambda* (#:key inputs outputs #:allow-other-keys)
+  ;; Util-linux comes with a bunch of completion files for
+  ;; its own commands which are more sophisticated and
+  ;; up-to-date than those of bash-completion.  Remove 
those
+  ;; from bash-completion.
+  (let* ((out (assoc-ref outputs "out"))
+ (util-linux  (assoc-ref inputs "util-linux"))
+ (completions (string-append out
+ 
"/share/bash-completion"
+ "/completions"))
+ (already (find-files
+   (string-append
+util-linux
+"/etc/bash_completion.d"
+(with-directory-excursion completions
+  (for-each (lambda (file)
+  (when (file-exists? file)
+(delete-file file)))
+(map basename already)))
+#t)))
+  (add-before 'configure 'autoconf
+(lambda _
+  (zero

Re: [PATCH] system: grub: Introduce foreign-menu-entry.

2016-08-03 Thread Tomáš Čech

On Wed, Aug 03, 2016 at 01:48:36AM -0700, Chris Marusich wrote:

Hi Tomáš,

Tomáš Čech  writes:


foreign-menu-entry is very similar but is intended for entering other
distributions so it doesn't limit the name and allows kernel and initrd to be
placed in different device (in Grub syntax).


What is the use case which motivates this change?  How do you intend to
use this after making the proposed changes?


I'd like to store configuration of other linux distribution and so far
I haven't found how to override hardcoded bzImage suffix.

With this change I can have configuration:

(bootloader (grub-configuration
  (device "/dev/sda")
  (menu-entries
   (list
(foreign-menu-entry
 (label "openSUSE")
 (device "(hd0,1)")
 (linux "/vmlinuz")
 (linux-arguments (list
   "root=/dev/venom/opensuse"
   "init=/usr/lib/systemd/systemd"))
 (initrd "/initrd")
 )

which will transform to:

menuentry "openSUSE" {
 linux (hd0,1)/vmlinuz root=/dev/venom/opensuse init=/usr/lib/systemd/systemd
 initrd (hd0,1)/initrd
}

I asked on IRC how can I achieve adding such entry but never got answer. So I 
made a patch.




+(define-record-type* 
+  foreign-menu-entry make-foreign-menu-entry
+  foreign-menu-entry?
+  (label   foreign-menu-entry-label)
+  (device  foreign-menu-entry-device (default ""))
+  (linux   foreign-menu-entry-linux)
+  (linux-arguments foreign-menu-entry-linux-arguments
+   (default '()))  ; list of string-valued 
gexps
+  (initrd  foreign-menu-entry-initrd)) ; file name of the initrd 
as a gexp
+


This is identical to the existing  record type; however, it
adds the "device" parameter:

--8<---cut here---start->8---

(define-record-type* 
 menu-entry make-menu-entry
 menu-entry?
 (label   menu-entry-label)
 (linux   menu-entry-linux)
 (linux-arguments menu-entry-linux-arguments
  (default '()))  ; list of string-valued gexps
 (initrd  menu-entry-initrd)) ; file name of the initrd as a gexp
--8<---cut here---end--->8---


Your observation is correct. My intention was to introduce new record
type to distinguish between menu-entry and foreign-menu-entry later in
the code. Different type, different interpretation.


Would it be possible to accomplish the same thing by adding a "device"
parameter to the existing  record type?  That way, we
wouldn't have to add a new record type which seems largely redundant.


 #~(string-append #$linux "/"
  #$linux-image-name))
 #$linux #$linux-image-name (string-join (list #$@arguments))
-#$initrd
+#$initrd))
+ (($  label device linux arguments initrd)
+  #~(format port "menuentry ~s {
+  linux ~a ~a
+  initrd ~a
+}~%"
+#$label
+(string-append #$device #$linux)


Don't we need to insert a separator of some kind between #$device and
#$linux?  Also, don't we need to include the linux image name (e.g.,
"bzImage")?


That is the point. User can specify whatever suits him.

For the case with separate boot partition it can look like

 /vmlinuz-4.3.3-5-default

for the case with boot directory on the same partition as different
linux distribution it would look like

 /boot/vmlinuz-4.3.3-5-default

Note that installed kernel in other distribution has never name
'bzImage'.




+(string-join (list #$@arguments))
+(string-append #$device #$initrd)

   (mlet %store-monad ((sugar (eye-candy config store-fs system #~port)))
 (define builder


Isn't a separator of some kind needed between #$device and #$initrd?


This kernel or partition with it is not searched, absolute path is
expected, so no.

Code was using match-lambda so defining new type to distinguish the
cases seemed to me natural. Again, I'm new to Guile and I'd like to
see how to do that right. This worked for me as first solution.

Thanks for your review.

S_W


signature.asc
Description: PGP signature


[PATCH] change zsh to shells.scm in POTFILES.in, [PATCH] change gnu packages tcsh to gnu packages shells.

2016-08-03 Thread ng0
This Fixed broken master build.

One typo in commit message.

>From 5c38ff595f03f3afcd8b0f78f3abb2ef7bf2a00f Mon Sep 17 00:00:00 2001
From: ng0 
Date: Wed, 3 Aug 2016 09:01:56 +
Subject: [PATCH 1/2] gnu: Change module (gnu packages tcsh) to (gnu packages
 shells).

* Change module (gnu packages tcsh) to (gnu packages shells) in:
* gnu/packages/algebra.scm and
* gnu/packages/boost.scm and
* gnu/packages/maths.scm and
* gnu/packages/tex.scm and
* gnu/packages/vim.scm and.#
---
 gnu/packages/algebra.scm | 2 +-
 gnu/packages/boost.scm   | 2 +-
 gnu/packages/maths.scm   | 2 +-
 gnu/packages/tex.scm | 2 +-
 gnu/packages/vim.scm | 2 +-
 5 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index 92b4d4c..4fb15c6 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -36,7 +36,7 @@
   #:use-module (gnu packages readline)
   #:use-module (gnu packages flex)
   #:use-module (gnu packages python)
-  #:use-module (gnu packages tcsh)
+  #:use-module (gnu packages shells)
   #:use-module (gnu packages tex)
   #:use-module (gnu packages xiph)
   #:use-module (gnu packages xorg)
diff --git a/gnu/packages/boost.scm b/gnu/packages/boost.scm
index fd8f4e8..8fe8c8e 100644
--- a/gnu/packages/boost.scm
+++ b/gnu/packages/boost.scm
@@ -28,7 +28,7 @@
   #:use-module (gnu packages)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages python)
-  #:use-module (gnu packages tcsh)
+  #:use-module (gnu packages shells)
   #:use-module (gnu packages perl))
 
 (define-public boost
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index ea7575a..fcea0bc 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -79,7 +79,7 @@
   #:use-module (gnu packages python)
   #:use-module (gnu packages readline)
   #:use-module (gnu packages tbb)
-  #:use-module (gnu packages tcsh)
+  #:use-module (gnu packages shells)
   #:use-module (gnu packages tcl)
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages tex)
diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
index 8501792..9dde8a9 100644
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -45,7 +45,7 @@
   #:use-module (gnu packages python)
   #:use-module (gnu packages qt)
   #:use-module (gnu packages ruby)
-  #:use-module (gnu packages tcsh)
+  #:use-module (gnu packages shells)
   #:use-module (gnu packages base)
   #:use-module (gnu packages xorg)
   #:use-module (gnu packages xdisorg)
diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm
index 73433e9..44f94ff 100644
--- a/gnu/packages/vim.scm
+++ b/gnu/packages/vim.scm
@@ -26,7 +26,7 @@
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages admin) ; For GNU hostname
-  #:use-module (gnu packages tcsh))
+  #:use-module (gnu packages shells))
 
 (define-public vim
   (package
-- 
2.9.2

>From 81f1ac19b11c93bab7f25e227af6976b1ab47567 Mon Sep 17 00:00:00 2001
From: ng0 
Date: Wed, 3 Aug 2016 09:06:14 +
Subject: [PATCH 2/2] po: packages: Change zsh.scm to shells.scm.

* po/packages/POTFILES.in (gnu/packages/zsh.scm): Change it to
gnu/packages/shells.scm.
---
 po/packages/POTFILES.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/po/packages/POTFILES.in b/po/packages/POTFILES.in
index 29816f8..f630cd1 100644
--- a/po/packages/POTFILES.in
+++ b/po/packages/POTFILES.in
@@ -58,4 +58,4 @@ gnu/packages/web.scm
 gnu/packages/wordnet.scm
 gnu/packages/xiph.scm
 gnu/packages/zip.scm
-gnu/packages/zsh.scm
+gnu/packages/shells.scm
-- 
2.9.2

-- 
♥Ⓐ  ng0
Current Keys: https://we.make.ritual.n0.is/ng0.txt
For non-prism friendly talk find me on http://www.psyced.org


Re: isnan, isinf in ldc; Was: Re: Release imminent

2016-08-03 Thread Andreas Enge
Hi Danny,

On Wed, Aug 03, 2016 at 09:51:10AM +0200, Danny Milosavljevic wrote:
> ldc fails because they do
>   ::isnan
> which is a bad idea if isnan is a C macro (which it usually isn't - but hey 
> O_o). I've substituted
>   isnan
> for it and this part then compiles fine.
> This fix is not safe in general because if there's a method called isnan in 
> scope, it will use that. In the ldc case, they've named the method "isNan" - 
> so it's fine.

did you forget to add a patch?

Anyway, they made a release 1.0.0. Maybe it would be preferable to try
an update of the package first, in case the problem is already solved
on their side?

Andreas




[PATCH 3/3] gnu: ldc: Update to 0.17.1.

2016-08-03 Thread Danny Milosavljevic

* gnu/packages/ldc.scm (ldc): Update to 0.17.1.
* gnu/packages/patches/ldc-0.17.1-disable-tests.patch: New patch.
---
 gnu/local.mk   |  1 +
 gnu/packages/ldc.scm   | 39 +-
 .../patches/ldc-0.17.1-disable-tests.patch | 84 ++
 3 files changed, 108 insertions(+), 16 deletions(-)
 create mode 100644 gnu/packages/patches/ldc-0.17.1-disable-tests.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 4dcc547..b38fef3 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -597,6 +597,7 @@ dist_patch_DATA =		\
   %D%/packages/patches/khmer-use-libraries.patch\
   %D%/packages/patches/kmod-module-directory.patch		\
   %D%/packages/patches/ldc-disable-tests.patch			\
+  %D%/packages/patches/ldc-0.17.1-disable-tests.patch		\
   %D%/packages/patches/lftp-dont-save-unknown-host-fingerprint.patch \
   %D%/packages/patches/liba52-enable-pic.patch			\
   %D%/packages/patches/liba52-link-with-libm.patch		\
diff --git a/gnu/packages/ldc.scm b/gnu/packages/ldc.scm
index 601804a..6b073b8 100644
--- a/gnu/packages/ldc.scm
+++ b/gnu/packages/ldc.scm
@@ -29,7 +29,9 @@
   #:use-module (gnu packages libedit)
   #:use-module (gnu packages llvm)
   #:use-module (gnu packages textutils)
-  #:use-module (gnu packages zip))
+  #:use-module (gnu packages zip)
+  #:use-module (gnu packages python)
+  #:use-module (gnu packages compression))
 
 (define-public rdmd
   (let ((commit "da0a2e0a379b08294015eec9d531f1e5dd4226f0"))
@@ -75,7 +77,7 @@ and freshness without requiring additional information from the user.")
 (define-public ldc
   (package
 (name "ldc")
-(version "0.16.1")
+(version "0.17.1")
 (source (origin
   (method url-fetch)
   (uri (string-append
@@ -84,7 +86,7 @@ and freshness without requiring additional information from the user.")
   (file-name (string-append name "-" version ".tar.gz"))
   (sha256
(base32
-"1jvilxx0rpqmkbja4m69fhd5g09697xq7vyqp2hz4hvxmmmv4j40"
+"0rwggnbr60jbajfdw11kx058llmwljiss8rrv8df07vaygiv845i"
 (build-system cmake-build-system)
 ;; LDC currently only supports the x86_64 and i686 architectures.
 (supported-systems '("x86_64-linux" "i686-linux"))
@@ -101,12 +103,6 @@ and freshness without requiring additional information from the user.")
(and (unpack "phobos-src" "runtime/phobos")
 (unpack "druntime-src" "runtime/druntime")
 (unpack "dmd-testsuite-src" "tests/d2/dmd-testsuite")
- (add-after 'unpack-submodule-sources 'patch-dmd2
-   (lambda* (#:key inputs #:allow-other-keys)
- (substitute* "dmd2/root/port.c"
-   ((" ::isnan") " isnan")
-   ((" ::isinf") " isinf"))
- #t))
  (add-after 'unpack-submodule-sources 'patch-phobos
(lambda* (#:key inputs #:allow-other-keys)
  (substitute* "runtime/phobos/std/process.d"
@@ -117,14 +113,25 @@ and freshness without requiring additional information from the user.")
 (string-append (assoc-ref inputs "tzdata") "/share/zoneinfo")))
  (substitute* "tests/d2/dmd-testsuite/Makefile"
(("/bin/bash") (which "bash")))
- #t)
+ #t))
+ (add-after 'unpack-submodule-sources 'patch-dmd2
+   (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "dmd2/root/port.c"
+   ((" ::isnan") " isnan")
+   ((" ::isinf") " isinf"))
+ #t))
+ (add-before 'check 'prepare-unittests
+   (lambda* (#:key inputs #:allow-other-keys)
+ (zero? (system* "ctest" "--verbose" "-R" "build-phobos2-ldc-unittest")))
 (inputs
  `(("libconfig" ,libconfig)
("libedit" ,libedit)
-   ("tzdata" ,tzdata)))
+   ("tzdata" ,tzdata)
+   ("zlib" ,zlib)))
 (native-inputs
  `(("llvm" ,llvm)
-   ("clang" ,clang)
+   ("python-wrapper", python-wrapper) ; for tests
+   ("python-lit", python-lit) ; for tests
("unzip" ,unzip)
("phobos-src"
 ,(origin
@@ -134,8 +141,8 @@ and freshness without requiring additional information from the user.")
  version ".tar.gz"))
(sha256
 (base32
- "0sgdj0536c4nb118yiw1f8lqy5d3g3lpg9l99l165lk9xy45l9z4"))
-   (patches (search-patches "ldc-disable-tests.patch"
+ "17nb1yvqblqj3q42c8nlnwvy823fw6kna28n2b48j4m6kd2w0nan"))
+   (patches (search-patches "ldc-0.17.1-disable-tests.patch"
("druntime-src"
 ,(origin
(method url-fetch)
@@ -144,7 +151,7 @@ and freshness without requiring additional information from the user.")
  version ".tar.gz"))
(sha256
 (base32
- "0z4mkyddx6c4sy1vqgqvavz55083dsxws681qkh93jh1rpby9yg6"

[PATCH 1/3] gnu: ldc: make isnan and isinf work.

2016-08-03 Thread Danny Milosavljevic

* gnu/packages/ldc.scm (ldc): Added substitution.
---
 gnu/packages/ldc.scm | 6 ++
 1 file changed, 6 insertions(+)

diff --git a/gnu/packages/ldc.scm b/gnu/packages/ldc.scm
index 1709f59..601804a 100644
--- a/gnu/packages/ldc.scm
+++ b/gnu/packages/ldc.scm
@@ -101,6 +101,12 @@ and freshness without requiring additional information from the user.")
(and (unpack "phobos-src" "runtime/phobos")
 (unpack "druntime-src" "runtime/druntime")
 (unpack "dmd-testsuite-src" "tests/d2/dmd-testsuite")
+ (add-after 'unpack-submodule-sources 'patch-dmd2
+   (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "dmd2/root/port.c"
+   ((" ::isnan") " isnan")
+   ((" ::isinf") " isinf"))
+ #t))
  (add-after 'unpack-submodule-sources 'patch-phobos
(lambda* (#:key inputs #:allow-other-keys)
  (substitute* "runtime/phobos/std/process.d"


[PATCH 2/3] gnu: Add python-lit, python2-lit.

2016-08-03 Thread Danny Milosavljevic

* gnu/packages/python.scm (python-lit, python2-lit): New variables.
---
 gnu/packages/python.scm | 28 
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 0557ab5..e9e34a9 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -9804,3 +9804,31 @@ etc.")
 (package
   (inherit base)
   (name "ptpython2"
+
+(define-public python-lit
+  (package
+(name "python-lit")
+(version "0.5.0")
+(source
+  (origin
+(method url-fetch)
+(uri (string-append
+  "https://pypi.python.org/packages/5b/a0/dbed2c8dfb220eb9a5a893257223cd0ff791c0fbc34ce2f1a957fa4b6c6f/";
+  "lit-" version ".tar.gz"))
+(sha256
+  (base32
+"135m2b9cwih85g66rjggavck328z7lj37srgpq3jxszbg0g2b91y"
+(build-system python-build-system)
+(home-page "http://llvm.org/";)
+(synopsis "LLVM Software Testing Tool")
+(description "@code{lit} is a LLVM Software Testing Tool.")
+(license bsd-3)
+(properties `((python2-variant . ,(delay python2-lit))
+
+(define-public python2-lit
+  (let ((base (package-with-python2 (strip-python2-variant python-lit
+(package
+  (inherit base)
+  (native-inputs
+   `(("python2-setuptools" ,python2-setuptools)
+ ,@(package-native-inputs base))


[PATCH 0/3] Fix ldc.

2016-08-03 Thread Danny Milosavljevic
This patch series fixes ldc up so it works again and updates it to the newest 
C++-bootstrappable version.

Danny Milosavljevic (3):
  gnu: ldc: make isnan and isinf work.
  gnu: Add python-lit, python2-lit.
  gnu: ldc: Update to 0.17.1.

 gnu/local.mk   |  1 +
 gnu/packages/ldc.scm   | 33 ++---
 .../patches/ldc-0.17.1-disable-tests.patch | 84 ++
 gnu/packages/python.scm| 28 
 4 files changed, 136 insertions(+), 10 deletions(-)
 create mode 100644 gnu/packages/patches/ldc-0.17.1-disable-tests.patch



Re: WIP: neomutt. segfaulting outside of gdb, functional inside.

2016-08-03 Thread Tomáš Čech

On Fri, Jun 24, 2016 at 04:04:43PM +, ng0 wrote:

In gnu/packages/mail.scm I created this package.
It builds succesfully, but when I run it, it segfaults.
Running it in gdb however makes it succeed and not
segfault. How do I debug such a software?


I applied the patch and built neomutt. Works for me. I'd commit your
patch and solve your issue as bug.

S_W


signature.asc
Description: PGP signature


Re: [PACKAGE] musl libc

2016-08-03 Thread Ricardo Wurmus
I just built musl and found that it also installs “bin/musl-gcc”, a
wrapper of sorts, but it doesn’t work as it depends on a “gcc”
executable to be available.

Is this something that needs to work in order for this package to be
useful?

~~ Ricardo




Re: [PACKAGE] musl libc

2016-08-03 Thread Vincent Legoll
On Wed, Aug 3, 2016 at 1:24 PM, Ricardo Wurmus  wrote:
> I just built musl and found that it also installs “bin/musl-gcc”, a
> wrapper of sorts, but it doesn’t work as it depends on a “gcc”
> executable to be available.

I did not see that as I probably had gcc installed in the profile with
which i built musl...

> Is this something that needs to work in order for this package to be
> useful?

Maybe not, but the default / documented way it is to be used is with
the wrapper, so it is nice to have...

Is this not the same with glibc, but in a more hidden way ?

-- 
Vincent Legoll



Re: [PATCH] gnunet-svn, gnunet-gtk-svn

2016-08-03 Thread ng0
I think the costs of maintaining a -svn of gnunet are too high at the
moment. I'm using these two packages as a base for debugging gnunet in
addition to gentoo to help work with upstream.

A revision-less svn package does not work (unlike in gentoo), so my
focus is at the moment to help to push towards 0.10.2 release.

Afterwards I can decide wether to include it or not, and dicuss this
with the proper attention.
If anyone else wants to contribute to this discussion you are invited
to do so.
-- 
♥Ⓐ  ng0
Current Keys: https://we.make.ritual.n0.is/ng0.txt
For non-prism friendly talk find me on http://www.psyced.org



Re: [PATCH] gnunet-svn, gnunet-gtk-svn

2016-08-03 Thread Catonano
2016-08-03 13:45 GMT+02:00 ng0 :

> I think the costs of maintaining a -svn of gnunet are too high at the
> moment. I'm using these two packages as a base for debugging gnunet in
> addition to gentoo to help work with upstream.
>
> A revision-less svn package does not work (unlike in gentoo), so my
> focus is at the moment to help to push towards 0.10.2 release.
>
> Afterwards I can decide wether to include it or not, and dicuss this
> with the proper attention.
> If anyone else wants to contribute to this discussion you are invited
> to do so.
>

Thank you, ng0, I will try to contribute to this discussion.

Too bad, until now I had no enough time to look at the link you provided
and I'm afraid I won't have time this week.

But the availability of Gnunet is important for me so I will be back on
this.


Re: [PATCH] gnu: Add pass.

2016-08-03 Thread ng0
Hi,

Leo Famulari  writes:

> On Mon, Aug 01, 2016 at 03:24:14PM +, ng0 wrote:
>> Hi Andreas and Jessica,
>> 
>> I found this contribution on my search for forgotten
>> packages/contributions.
>
> I believe this package was merged as 'password-store'.

Yes, you are correct.

ng0@shadowwalker ~/src/guix/guix-no-changes/gnu/packages$ egrep -nr 
"password-store"
password-utils.scm:253:(define-public password-store
password-utils.scm:255:(name "password-store")
password-utils.scm:260:   (string-append 
"https://git.zx2c4.com/password-store/snapshot/";

Thanks for closing this.
-- 
♥Ⓐ  ng0
Current Keys: https://we.make.ritual.n0.is/ng0.txt
For non-prism friendly talk find me on http://www.psyced.org



Re: WIP: neomutt. segfaulting outside of gdb, functional inside.

2016-08-03 Thread ng0
Tomáš Čech  writes:

> On Fri, Jun 24, 2016 at 04:04:43PM +, ng0 wrote:
>>In gnu/packages/mail.scm I created this package.
>>It builds succesfully, but when I run it, it segfaults.
>>Running it in gdb however makes it succeed and not
>>segfault. How do I debug such a software?
>
> I applied the patch and built neomutt. Works for me. I'd commit your
> patch and solve your issue as bug.
>
> S_W
The latest version of the patch with the more recent neomutt version?

I had no time to further debug this.
Do you mean my runtime problem is unique and you were able to run and
use it without segfault?

It's okay to commit I think. I had hessitations with lispf4 which is
also bugged on Guix, but it was commited too.

Any other opinions on this?
-- 
♥Ⓐ  ng0
Current Keys: https://we.make.ritual.n0.is/ng0.txt
For non-prism friendly talk find me on http://www.psyced.org



Re: [PACKAGE] musl libc

2016-08-03 Thread Ricardo Wurmus

Vincent Legoll  writes:

> On Wed, Aug 3, 2016 at 1:24 PM, Ricardo Wurmus  wrote:
>> I just built musl and found that it also installs “bin/musl-gcc”, a
>> wrapper of sorts, but it doesn’t work as it depends on a “gcc”
>> executable to be available.
>
> I did not see that as I probably had gcc installed in the profile with
> which i built musl...
>
>> Is this something that needs to work in order for this package to be
>> useful?
>
> Maybe not, but the default / documented way it is to be used is with
> the wrapper, so it is nice to have...
>
> Is this not the same with glibc, but in a more hidden way ?

We usually don’t use the “gcc” package directly in Guix.  Instead we use
“gcc-toolchain”, which also comes with a wrapper around the linker that
ensures that binaries are linked with libraries in the store, ensuring
that things generally just work™.

I think more work would be needed to ensure that packages can actually
successfully be linked with musl, but I’m not at all familiar with this.
I had mixed success with a GCC ARM cross-compiler toolchain linking with
newlib, so I know that it’s not exactly obvious how to do this right,
but I find it hard to understand this.

Have you tried building something that links with the libc provided by
this musl package instead of the GNU libc?  I’m not opposed to adding
the package, but I’d like it to be usable.

~~ Ricardo




Re: [PATCH] change zsh to shells.scm in POTFILES.in, [PATCH] change gnu packages tcsh to gnu packages shells.

2016-08-03 Thread ng0
> This Fixed broken master build.

With fix I mean this issue, thought I append it:


unpacking
'/gnu/store/046j4hidrh89m6b7nsd2flc397ark2s8-guix-latest.tar.gz'...
substitute: updating list of substitutes from
'https://mirror.hydra.gnu.org'...substitute: updating list of
substitutes from 'https://mirror.hydra.gnu.org'... 100.0%
The following derivation will be built:
   /gnu/store/62pw0fpbkn87ywlgj878lb8vp55pp40f-guix-latest.drv
   process 22871 acquired build slot '/var/guix/offload/192.168.1.198/0'
   Cannot open display "default display"
   load on machine '192.168.1.198' is 0.0 (normalized: 0.0)
   Cannot open display "default display"
   Cannot open display "default display"
   warning: failed to install locale: Invalid argument
   sending 3 store files to '192.168.1.198'...
   Cannot open display "default display"
   exporting path
   `/gnu/store/1jnb2kqa7yxaa3bxdcbi8m2dcnc02fr0-guix-latest-builder'
   warning: failed to install locale: Invalid argument
   exporting path
   `/gnu/store/zjxpgvrkzn9cqldyc537fc8pasgzymyp-guix-source'
   exporting path
   `/gnu/store/62pw0fpbkn87ywlgj878lb8vp55pp40f-guix-latest.drv'
   offloading
   '/gnu/store/62pw0fpbkn87ywlgj878lb8vp55pp40f-guix-latest.drv' to
   '192.168.1.198'...
   @ build-remote
   /gnu/store/62pw0fpbkn87ywlgj878lb8vp55pp40f-guix-latest.drv
   192.168.1.198
   Cannot open display "default display"
   warning: failed to install locale: Invalid argument
   substitute: updating list of substitutes from
   'https://mirror.hydra.gnu.org'...substitute: updating list of
   substitutes from 'https://mirror.hydra.gnu.org'... 100.0%
   The following derivation will be built:
  /gnu/store/62pw0fpbkn87ywlgj878lb8vp55pp40f-guix-latest.drv
  @ build-started
  /gnu/store/62pw0fpbkn87ywlgj878lb8vp55pp40f-guix-latest.drv -
  x86_64-linux
  /var/log/guix/drvs/62//pw0fpbkn87ywlgj878lb8vp55pp40f-guix-latest.drv.bz2
  copying and compiling to
  '/gnu/store/lk77j7fri0sii8q8nm53sdi1z9c0m04v-guix-latest'...
  loading... 14.1% of 509 filesBacktrace:
  In ice-9/psyntax.scm:
   989: 19 [scan ((define-module (gnu packages image) #:use-module
   ...)) () ...]
279: 18 [scan ((#(syntax-object let # ...) (#) (# #) ...)) ()
...]
In ice-9/eval.scm:
 411: 17 [eval # ()]
 In ice-9/boot-9.scm:
 2951: 16 [define-module* (gnu packages image) #:filename ...]
 2926: 15 [resolve-imports ((#) (#) (#) (#) ...)]
 2864: 14 [resolve-interface (gnu packages boost) #:select ...]
 2789: 13 [# # ...]
 3065: 12 [try-module-autoload (gnu packages boost) #f]
 2401: 11 [save-module-excursion #]
 3085: 10 [#]
 In unknown file:
?: 9 [primitive-load-path "gnu/packages/boost" ...]
In ice-9/eval.scm:
 505: 8 [#
 (define-module # # ...)]
 In ice-9/psyntax.scm:
 1106: 7 [expand-top-sequence ((define-module # # # ...)) ()
 ((top)) ...]
  989: 6 [scan ((define-module (gnu packages boost)
  #:use-module ...)) () ...]
   279: 5 [scan ((#(syntax-object let # ...) (#) (# #) ...))
   () ...]
   In ice-9/eval.scm:
411: 4 [eval # ()]
In ice-9/boot-9.scm:
2951: 3 [define-module* (gnu packages boost) #:filename
...]
2926: 2 [resolve-imports ((# # license:) (#) (#) (#)
...)]
2867: 1 [resolve-interface (gnu packages tcsh) #:select
...]
In unknown file:
   ?: 0 [scm-error misc-error #f ...]

ERROR: In procedure scm-error:
ERROR: no code for module (gnu packages tcsh)
builder for
`/gnu/store/62pw0fpbkn87ywlgj878lb8vp55pp40f-guix-latest.drv' failed
with exit code 1
@ build-failed
/gnu/store/62pw0fpbkn87ywlgj878lb8vp55pp40f-guix-latest.drv - 1 builder
for `/gnu/store/62pw0fpbkn87ywlgj878lb8vp55pp40f-guix-latest.drv' failed
with exit code 1
guix build: error: build failed: build of
`/gnu/store/62pw0fpbkn87ywlgj878lb8vp55pp40f-guix-latest.drv' failed
Cannot open display "default display"
derivation '/gnu/store/62pw0fpbkn87ywlgj878lb8vp55pp40f-guix-latest.drv'
offloaded to '192.168.1.198' failed with exit code 1
guix pull: error: build failed: build of
`/gnu/store/62pw0fpbkn87ywlgj878lb8vp55pp40f-guix-latest.drv' failed


-- 
♥Ⓐ  ng0
Current Keys: https://we.make.ritual.n0.is/ng0.txt
For non-prism friendly talk find me on http://www.psyced.org



Re: [PACKAGE] musl libc

2016-08-03 Thread David Craven
> I just built musl and found that it also installs ?bin/musl-gcc?, a
> wrapper of sorts, but it doesn?t work as it depends on a ?gcc?
> executable to be available.

With gcc 6 the wrapper isn't necessary anymore. You can disable it
with "--disable-gcc-wrapper". Other configure-flags that we probably
want are "--enable-shared" "--enable-static".

Next step is getting a toolchain setup. Maybe you can take inspiration
from this PR here =)
https://github.com/NixOS/nixpkgs/pull/16217/files



Re: WIP: neomutt. segfaulting outside of gdb, functional inside.

2016-08-03 Thread Tomáš Čech

On Wed, Aug 03, 2016 at 12:27:07PM +, ng0 wrote:

Tomáš Čech  writes:


On Fri, Jun 24, 2016 at 04:04:43PM +, ng0 wrote:

In gnu/packages/mail.scm I created this package.
It builds succesfully, but when I run it, it segfaults.
Running it in gdb however makes it succeed and not
segfault. How do I debug such a software?


I applied the patch and built neomutt. Works for me. I'd commit your
patch and solve your issue as bug.

S_W

The latest version of the patch with the more recent neomutt version?


Yes. /gnu/store/bx3krsvdq3n9l3y8awdvm4kzm5zbz237-neomutt-20160723/



I had no time to further debug this.
Do you mean my runtime problem is unique and you were able to run and
use it without segfault?


Yes. It may be related to your configuration, I haven't had a problem.

S_W


signature.asc
Description: PGP signature


[PATCH] gnu: libextractor: Update inputs.

2016-08-03 Thread ng0
This patch updates (input) of libextractor, adding some optional
dependencies we packaged already.

From 3925b6a620ffed0493ca879680b0b3a1bfef176e Mon Sep 17 00:00:00 2001
From: ng0 
Date: Wed, 3 Aug 2016 13:42:27 +
Subject: [PATCH] gnu: libextractor: Update inputs.

* gnu/packages/gnunet.scm (libextractor)[inputs]: Add libmpeg2, libarchive,
libgsf, gtk+.
* [arguments](configure-flags) Add it and configure with libltdl.
---
 gnu/packages/gnunet.scm | 24 +++-
 1 file changed, 15 insertions(+), 9 deletions(-)

diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm
index 4d888bd..4bf9561 100644
--- a/gnu/packages/gnunet.scm
+++ b/gnu/packages/gnunet.scm
@@ -50,6 +50,7 @@
   #:use-module (gnu packages tls)
   #:use-module (gnu packages video)
   #:use-module (gnu packages xiph)
+  #:use-module (gnu packages backup)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix download)
@@ -81,17 +82,14 @@
;; FIXME:
;; The following dependencies are all optional, but should be
;; available for maximum coverage:
-   ;; * libarchive
-   ;; * libgif (giflib)
;; * libgtk+ >= 3.0.0 (may probably drop glib then as a propagated input of
;; gtk)
-   ;; * libgsf
;; * libmagic (file)
-   ;; * libmpeg2
-   ;; * libmp4v2
-   ;; * librpm
-   ;; * libsmf
-   ;; * libtidy
+   ;; * libmp4v2; package it
+   ;; * librpm  ; package it
+   ;; * libsmf  ; package it
+   ;; * libtidy ; package it
+   ;; * libgif (giflib) ; investigate failure
(inputs
 `(("exiv2" ,exiv2)
   ("flac" ,flac)
@@ -105,9 +103,17 @@
   ("libtiff" ,libtiff)
   ("libltdl" ,libltdl)
   ("libvorbis" ,libvorbis)
+  ("libmpeg2" ,libmpeg2)
+  ("libarchive" ,libarchive)
+  ("libgsf" ,libgsf)
+  ("gtk+" ,gtk+)
   ("zlib" ,zlib)))
(native-inputs
-  `(("pkg-config" ,pkg-config)))
+`(("pkg-config" ,pkg-config)))
+   (arguments
+`(#:configure-flags
+  (list (string-append "--with-ltdl="
+   (assoc-ref %build-inputs "libltdl")
(synopsis "Library to extract meta-data from media files")
(description
 "GNU libextractor is a library for extracting metadata from files.  It
-- 
2.9.2

-- 
♥Ⓐ  ng0
Current Keys: https://we.make.ritual.n0.is/ng0.txt
For non-prism friendly talk find me on http://www.psyced.org


signature.asc
Description: PGP signature


GNU Guix & GuixSD 0.11.0 released

2016-08-03 Thread Ludovic Courtès
We are pleased to announce the release of GNU Guix & GuixSD 0.11.0,
representing 2,119 commits by 70 people over 4 months.


• About

  GNU Guix is a transactional package manager for the GNU system.
  The Guix System Distribution, GuixSD, is an advanced distribution
  of the GNU system.

  In addition to standard package management features, Guix supports
  transactional upgrades and roll-backs, unprivileged package
  management, and per-user profiles.  GuixSD offers a declarative
  approach to operating system configuration management and is highly
  hackable.  Guix uses low-level mechanisms from the Nix package
  manager, except that packages are defined as native Guile modules,
  using extensions to the Scheme language.

  GuixSD uses the Linux-Libre kernel and the GNU Shepherd init system.
  At this stage it can be used on an i686 or x86_64 machine.

  It is also possible to use Guix on top of an already installed
  GNU/Linux system, including on mips64el and armv7.

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


• Download

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

  Here are the bootable USB installation images and their signatures[*]:
ftp://alpha.gnu.org/gnu/guix/guixsd-usb-install-0.11.0.i686-linux.xz
ftp://alpha.gnu.org/gnu/guix/guixsd-usb-install-0.11.0.i686-linux.xz.sig
ftp://alpha.gnu.org/gnu/guix/guixsd-usb-install-0.11.0.x86_64-linux.xz
ftp://alpha.gnu.org/gnu/guix/guixsd-usb-install-0.11.0.x86_64-linux.xz.sig

  Here are the binary tarballs and their signatures[*]:
ftp://alpha.gnu.org/gnu/guix/guix-binary-0.11.0.i686-linux.tar.xz
ftp://alpha.gnu.org/gnu/guix/guix-binary-0.11.0.i686-linux.tar.xz.sig
ftp://alpha.gnu.org/gnu/guix/guix-binary-0.11.0.x86_64-linux.tar.xz
ftp://alpha.gnu.org/gnu/guix/guix-binary-0.11.0.x86_64-linux.tar.xz.sig
ftp://alpha.gnu.org/gnu/guix/guix-binary-0.11.0.mips64el-linux.tar.xz
ftp://alpha.gnu.org/gnu/guix/guix-binary-0.11.0.mips64el-linux.tar.xz.sig
ftp://alpha.gnu.org/gnu/guix/guix-binary-0.11.0.armhf-linux.tar.xz
ftp://alpha.gnu.org/gnu/guix/guix-binary-0.11.0.armhf-linux.tar.xz.sig

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

  Here are the SHA1 checksums:

  bd12d65a46c8eef3b490efea6ac953b995d524eb  guix-0.11.0.tar.gz
  c05e3e404317cd71f4376e51706dfbb3acd9faaa  
guix-binary-0.11.0.armhf-linux.tar.xz
  462979ab8f06674d3c858a5d55ef3cae00f5c768  guix-binary-0.11.0.i686-linux.tar.xz
  87525a304d637fbec4465e6e84e462aed665b004  
guix-binary-0.11.0.mips64el-linux.tar.xz
  36e160ad927b7cd00b58879b39642f503f1e95a1  
guix-binary-0.11.0.x86_64-linux.tar.xz
  92d1359b6960bd31eb77c0b9f4f281e6abfb1fcb  
guixsd-usb-install-0.11.0.i686-linux.xz
  6fdd4d95be6eaaff308f942983042cb4c0249300  
guixsd-usb-install-0.11.0.x86_64-linux.xz

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

gpg --verify guix-0.11.0.tar.gz.sig

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

gpg --keyserver keys.gnupg.net --recv-keys 090B11993D9AEBB5

  and rerun the 'gpg --verify' command.

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

  To install the Guix System Distribution, please see “System
  Installation” in the manual.  To install Guix on a running
  system, see “Installation” in the manual.


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

  ** Package management

  *** Substitute display adjusts to client locale and terminal width
  *** New ‘--free-space’ option for ‘guix gc’
  *** ‘guix gc’ shows the amount of disk space freed
  *** Source code downloads fall back to content-addressed mirrors
  *** ‘guix graph’ can now be passed a store file name
  *** Building the profile is faster, noticeably so on slow file systems
  *** Profiles now include XDG desktop and MIME databases
  *** ‘guix size’ can be passed more than one package
  *** ‘--check’ and ‘--rounds’ save the differing build output upon failure
  *** New Emacs interface for package locations: M-x guix-locations

  See “Package Source Locations” in the manual.

  *** Emacs modes show the full profile name in buffer names
  *** Emacs “Package Info” buffer now have a “Build Log” button
  *** ‘guix environment’ sets $GUIX_ENVIRONMENT to the environment’s profile
  *** New ‘--ttl’ option for ‘guix publish’
  *** New ‘--compression’ option for ‘guix publish’
  *** ‘guix publish’ serves source files over content-address “/file” URLs
  *** New ‘hackage’ updater for ‘guix refresh’
  *** ‘guix lint -c cve’ uses a faster caching method
  *** ‘guix lint -c cve’ now reports up to 3-year-old vulnerabilities
  *

Re: [PATCH 06/31] gnu: kwindowsystem: Update to 5.24.0.

2016-08-03 Thread David Craven
So all test failures except two are resolved. I attached the wip
patches and pasted the logs below. I think this is getting to a
mergeable state =)

* Start testing of KColumnResizerTest *
Config: Using QtTest library 5.6.1, Qt 5.6.1
(x86_64-little_endian-lp64 shared (dynamic) release build; by GCC
4.9.3)
PASS   : KColumnResizerTest::initTestCase()
process 285: D-Bus library appears to be incorrectly set up; failed to
read machine uuid: Failed to open "/etc/machine-id": No such file or
directory
See the manual page for dbus-uuidgen to correct this issue.
QWARN  : KColumnResizerTest::test(forms) Unsupported screen format:
depth: 8, red_mask: 0, blue_mask: 0
QWARN  : KColumnResizerTest::test(forms) Unsupported screen format:
depth: 8, red_mask: 0, blue_mask: 0
libGL: OpenDriver: trying
/gnu/store/p9dwvvf9i16z6v9yawvz3z7yfy54xb5r-mesa-11.0.9/lib/dri/tls/swrast_dri.so
libGL: OpenDriver: trying
/gnu/store/p9dwvvf9i16z6v9yawvz3z7yfy54xb5r-mesa-11.0.9/lib/dri/swrast_dri.so
libGL: Can't open configuration file /etc/drirc: No such file or directory.
libGL: Can't open configuration file /home/dvc/.drirc: No such file or
directory.
libGL: Can't open configuration file /etc/drirc: No such file or directory.
libGL: Can't open configuration file /home/dvc/.drirc: No such file or
directory.
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
QWARN  : KColumnResizerTest::test(forms) Could not initialize OpenGL
for RasterGLSurface, reverting to RasterSurface.
QWARN  : KColumnResizerTest::test(forms) Unsupported screen format:
depth: 8, red_mask: 0, blue_mask: 0
QWARN  : KColumnResizerTest::test(forms) QPainter::begin: Paint device
returned engine == 0, type: 3
QWARN  : KColumnResizerTest::test(forms) QPainter::setCompositionMode:
Painter not active
QWARN  : KColumnResizerTest::test(forms) QWidget::paintEngine: Should
no longer be called
QWARN  : KColumnResizerTest::test(forms) QPainter::begin: Paint device
returned engine == 0, type: 1
QWARN  : KColumnResizerTest::test(forms) QPainter::save: Painter not active

= Received signal, dumping stack ==
= End of stack trace ==
QFATAL : KColumnResizerTest::test(forms) Received signal 11
 Function time: 30ms Total time: 30ms
FAIL!  : KColumnResizerTest::test(forms) Received a fatal error.
   Loc: [Unknown file(0)]
Totals: 1 passed, 1 failed, 0 skipped, 0 blacklisted
* Finished testing of KColumnResizerTest *

* Start testing of KProcessTest *
Config: Using QtTest library 5.6.1, Qt 5.6.1
(x86_64-little_endian-lp64 shared (dynamic) release build; by GCC
4.9.3)
PASS   : KProcessTest::initTestCase()
FAIL!  : KProcessTest::test_channels() Compared values are not the same
   Actual   (a): "mode: separate\nprogram output:\nreceived
stdout:\nreceived stderr:\n"
   Expected (e): "mode: separate\nprogram output:\nreceived
stdout:\nfoo - stdout\nreceived stderr:\nbar - stderr\n"
   Loc: 
[/tmp/guix-build-kcoreaddons-5.24.0.drv-0/kcoreaddons-5.24.0/autotests/kprocesstest.cpp(69)]
PASS   : KProcessTest::test_setShellCommand()
PASS   : KProcessTest::cleanupTestCase()
Totals: 3 passed, 1 failed, 0 skipped, 0 blacklisted
* Finished testing of KProcessTest *
From 64e2334454e6fa9e6160045b78d485458b57514d Mon Sep 17 00:00:00 2001
From: David Craven 
Date: Sun, 12 Jun 2016 20:49:12 +0200
Subject: [PATCH] gnu: kde-frameworks: Add kwidgetsaddons.

* gnu/packages/kde-frameworks.scm (kwidgetsaddons): New variable.

Co-authored-by: Hartmut Goebel 
---
 gnu/packages/kde-frameworks.scm | 43 +
 1 file changed, 43 insertions(+)

diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
index c10356a..c5350d6 100644
--- a/gnu/packages/kde-frameworks.scm
+++ b/gnu/packages/kde-frameworks.scm
@@ -734,6 +734,49 @@ are adjusted to be what a Qt developer expects - two arguments of int are
 represented by a QPoint or a QSize.")
 (license license:lgpl2.1+)))
 
+(define-public kwidgetsaddons
+  (package
+(name "kwidgetsaddons")
+(version "5.24.0")
+(source
+  (origin
+(method url-fetch)
+(uri (string-append "mirror://kde/stable/frameworks/"
+(version-major+minor version) "/"
+name "-" version ".tar.xz"))
+(sha256
+ (base32
+  "1kppx0ppfhnb6q6sijs2dffyar86wkkx8miqavsjsgw1l2wiymcx"
+(build-system cmake-build-system)
+(native-inputs
+ `(("extra-cmake-modules" ,extra-cmake-modules)
+   ("qttools" ,qttools)
+   ("xorg-server" ,xorg-server)))
+(inputs
+ `(("qtbase" ,qtbase)))
+(arguments ; FIXME libGL error: failed to load driver: swrast
+ `(#:phases
+(modify-phases %standard-phases
+  (add-before 'check 'check-setup
+(lambda* _
+  (setenv "CTEST_OUTPUT_ON_FAILURE" "1") ; enable debug output
+  (setenv "LIBGL

Re: [PATCH] change zsh to shells.scm in POTFILES.in, [PATCH] change gnu packages tcsh to gnu packages shells.

2016-08-03 Thread Ricardo Wurmus

ng0  writes:

> This Fixed broken master build.
>
> One typo in commit message.

Thanks.  I pushed the module renaming patch to master as
b7194849ad9d059956d287396a4587a896113d20 after rewording the commit
message.

~~ Ricardo




Re: [PATCH] gnu: Add libunique.

2016-08-03 Thread ng0
I gave this a try, loosely based on the patch for the older version I
created a patch for the the more current version of libunique.
Maybe someone has input on the errors or what to add/change, I am
working on other things in parallel.

Thanks.

>From 162c92ef3ddbd635462157c8900dc4edbe43e817 Mon Sep 17 00:00:00 2001
From: ng0 
Date: Wed, 3 Aug 2016 08:18:14 +
Subject: [PATCH] gnu: Add libunique.

* gnu/packages/gnome.scm (libunique): New variable.
---
 gnu/packages/gnome.scm | 37 +
 1 file changed, 37 insertions(+)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 2038f8f..9df26ee 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -5420,3 +5420,40 @@ GLib/GObject code.")
  "Libgnomekbd is a keyboard configuration library for the GNOME desktop
 environment, which can notably display keyboard layouts.")
 (license license:lgpl2.0+)))
+
+(define-public libunique
+  (package
+(name "libunique")
+(version "3.0.2")
+(source (origin
+  (method url-fetch)
+  (uri (string-append "mirror://gnome/sources/" name "/"
+  (version-major+minor version)  "/"
+  name "-" version ".tar.xz"))
+  (sha256
+   (base32
+"0f70lkw66v9cj72q0iw1s2546r6bwwcd8idcm3621fg2fgh2rw58"
+;;(build-system gnu-build-system)
+(build-system glib-or-gtk-build-system)
+(arguments
+ `(#:configure-flags '("--disable-static"
+   "--disable-dbus" ; use gdbus
+   "--enable-introspection")))
+(native-inputs
+ `(("pkg-config" ,pkg-config)
+   ("gobject-introspection" ,gobject-introspection)
+   ("glib:bin" ,glib "bin")
+   ("gtk-doc" ,gtk-doc)))
+(propagated-inputs
+ ;; Referred to in .h files and .pc.
+ `(("gtk+" ,gtk+)))
+(home-page "https://wiki.gnome.org/Attic/LibUnique";)
+(synopsis "Library for writing single instance application")
+(description
+ "Libunique is a library for writing single instance application.  If you
+launch a single instance application twice, the second instance will 
+either just quit or will send a message to the running instance.
+Libunique makes it easy to write this kind of applications, by providing a
+base class, taking care of all the IPC machinery needed to send messages
+to a running instance, and also handling the startup notification side.")
+(license license:lgpl2.1+)))
-- 
2.9.2



Error output follows in next message.
-- 
♥Ⓐ  ng0
Current Keys: https://we.make.ritual.n0.is/ng0.txt
For non-prism friendly talk find me on http://www.psyced.org


Re: [PATCH] gnu: Add discrover.

2016-08-03 Thread Ricardo Wurmus

Leo Famulari  writes:

> On Tue, Aug 02, 2016 at 04:21:27PM +0200, Ricardo Wurmus wrote:
>> * gnu/packages/bioinformatics.scm (discrover): New variable.
>
> Looks reasonable to me. Lacking the disk space to build texlive-texmf, I
> didn't test the build.

Thanks.  Pushed as 97b9da6897a5026da88de230c32844511f02b29c.

~~ Ricardo




[PATCH 2/5] gnu: Add libosinfo.

2016-08-03 Thread Ricardo Wurmus
* gnu/packages/qemu.scm (libosinfo): New variable.
---
 gnu/packages/qemu.scm | 61 +++
 1 file changed, 61 insertions(+)

diff --git a/gnu/packages/qemu.scm b/gnu/packages/qemu.scm
index a12a3f6..36faa7c 100644
--- a/gnu/packages/qemu.scm
+++ b/gnu/packages/qemu.scm
@@ -24,12 +24,15 @@
   #:use-module (gnu packages admin)
   #:use-module (gnu packages attr)
   #:use-module (gnu packages autotools)
+  #:use-module (gnu packages check)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages curl)
   #:use-module (gnu packages cyrus-sasl)
   #:use-module (gnu packages disk)
   #:use-module (gnu packages gl)
   #:use-module (gnu packages glib)
+  #:use-module (gnu packages gnome)
+  #:use-module (gnu packages gtk)
   #:use-module (gnu packages image)
   #:use-module (gnu packages libusb)
   #:use-module (gnu packages linux)
@@ -186,6 +189,64 @@ server and embedded PowerPC, and S390 guests.")
 (inputs (fold alist-delete (package-inputs qemu)
   '("sdl" "mesa" "libusb")
 
+(define-public libosinfo
+  (package
+(name "libosinfo")
+(version "0.3.1")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append 
"https://fedorahosted.org/releases/l/i/libosinfo/libosinfo-";
+   version ".tar.gz"))
+   (sha256
+(base32
+ "151qrzmafxww5yfamrr7phk8217xmihfhazpb597vdv87na75cjh"
+(build-system gnu-build-system)
+(arguments
+ `(#:phases
+   (modify-phases %standard-phases
+ (add-after 'unpack 'copy-ids
+   (lambda* (#:key inputs #:allow-other-keys)
+ (copy-file (assoc-ref inputs "pci.ids") "data/pci.ids")
+ (copy-file (assoc-ref inputs "usb.ids") "data/usb.ids")
+ #t)
+(inputs
+ `(("libsoup" ,libsoup)
+   ("libxml2" ,libxml2)
+   ("libxslt" ,libxslt)
+   ("gobject-introspection" ,gobject-introspection)))
+(native-inputs
+ `(("check" ,check)
+   ("glib" ,glib "bin")  ; glib-mkenums, etc.
+   ("gtk-doc" ,gtk-doc)
+   ("vala" ,vala)
+   ("intltool" ,intltool)
+   ("pkg-config" ,pkg-config)
+   ("pci.ids"
+,(origin
+   (method url-fetch)
+   (uri "http://pciids.sourceforge.net/v2.2/pci.ids";)
+   (sha256
+(base32
+ "0h8v0lrlrxkfnjiwnwiq86zyvb8qa2n3844dp1m01lh2nb2fliqw"
+   ("usb.ids"
+,(origin
+   (method url-fetch)
+   ;; FIXME: there is no versioned URL
+   (uri "http://www.linux-usb.org/usb.ids";)
+   (sha256
+(base32
+ "0s7s5lj75srx3fwl3gd4n0dsdpbxv63q78slv3qx4zp8mgh4s8a9"))
+(home-page "https://libosinfo.org/";)
+(synopsis "Operating system information database")
+(description "libosinfo is a GObject based library API for managing
+information about operating systems, hypervisors and the (virtual) hardware
+devices they can support.  It includes a database containing device metadata
+and provides APIs to match/identify optimal devices for deploying an operating
+system on a hypervisor.  Via GObject Introspection, the API is available in
+all common programming languages.  Vala bindings are also provided.")
+(license lgpl2.1+)))
+
 (define-public libvirt
   (package
 (name "libvirt")
-- 
2.9.0





[PATCH 1/5] gnu: Add libvirt.

2016-08-03 Thread Ricardo Wurmus
* gnu/packages/qemu.scm (libvirt): New variable.
---
 gnu/packages/qemu.scm | 84 +--
 1 file changed, 82 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/qemu.scm b/gnu/packages/qemu.scm
index 911ed4c..a12a3f6 100644
--- a/gnu/packages/qemu.scm
+++ b/gnu/packages/qemu.scm
@@ -2,6 +2,7 @@
 ;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès 
 ;;; Copyright © 2015, 2016 Mark H Weaver 
 ;;; Copyright © 2016 Efraim Flashner 
+;;; Copyright © 2016 Ricardo Wurmus 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -20,9 +21,13 @@
 
 (define-module (gnu packages qemu)
   #:use-module (gnu packages)
-  #:use-module (gnu packages autotools)
+  #:use-module (gnu packages admin)
   #:use-module (gnu packages attr)
+  #:use-module (gnu packages autotools)
   #:use-module (gnu packages compression)
+  #:use-module (gnu packages curl)
+  #:use-module (gnu packages cyrus-sasl)
+  #:use-module (gnu packages disk)
   #:use-module (gnu packages gl)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages image)
@@ -31,13 +36,17 @@
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages polkit)
   #:use-module (gnu packages python)
   #:use-module (gnu packages sdl)
   #:use-module (gnu packages texinfo)
+  #:use-module (gnu packages tls)
+  #:use-module (gnu packages web)
   #:use-module (gnu packages xdisorg)
+  #:use-module (gnu packages xml)
   #:use-module (guix build-system gnu)
   #:use-module (guix download)
-  #:use-module ((guix licenses) #:select (gpl2))
+  #:use-module ((guix licenses) #:select (gpl2 lgpl2.1+))
   #:use-module (guix packages)
   #:use-module (guix utils)
   #:use-module (srfi srfi-1))
@@ -176,3 +185,74 @@ server and embedded PowerPC, and S390 guests.")
 ;; Remove dependencies on optional libraries, notably GUI libraries.
 (inputs (fold alist-delete (package-inputs qemu)
   '("sdl" "mesa" "libusb")
+
+(define-public libvirt
+  (package
+(name "libvirt")
+(version "2.1.0")
+(source (origin
+  (method url-fetch)
+  (uri (string-append "http://libvirt.org/sources/libvirt-";
+  version ".tar.xz"))
+  (sha256
+   (base32
+"0sriasjc573c519yqw1hcfb3qqjcsm9hm8vayw0anwkl6di9ay8s"
+(build-system gnu-build-system)
+(arguments
+ `(;; FAIL: virshtest
+   ;; FAIL: virfirewalltest
+   ;; FAIL: virkmodtest
+   ;; FAIL: virnetsockettest
+   ;; FAIL: networkxml2firewalltest
+   ;; FAIL: nwfilterebiptablestest
+   ;; FAIL: nwfilterxml2firewalltest
+   ;; Times out after PASS: virsh-vcpupin
+   #:tests? #f
+   #:configure-flags
+   (list "--with-polkit"
+ "--localstatedir=/var")
+   #:phases
+   (modify-phases %standard-phases
+ (add-after 'unpack 'fix-tests
+   (lambda _
+ (substitute* '("tests/commandtest.c"
+"gnulib/tests/test-posix_spawn1.c"
+"gnulib/tests/test-posix_spawn2.c")
+   (("/bin/sh") (which "bash")))
+ #t))
+ (add-after 'unpack 'do-not-mkdir-in-/var
+   ;; Since the localstatedir should be /var at runtime, we must
+   ;; prevent writing to /var at installation time.
+   (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out   (assoc-ref outputs "out"))
+(localstatedir (string-append out "/var")))
+   (substitute* '("src/Makefile.in"
+  "daemon/Makefile.in")
+ (("\\$\\(DESTDIR\\)\\$\\(localstatedir)") localstatedir)))
+ #t)
+(inputs
+ `(("libxml2" ,libxml2)
+   ("gnutls" ,gnutls)
+   ("dbus" ,dbus)
+   ("qemu" ,qemu)
+   ("polkit" ,polkit)
+   ("libpcap" ,libpcap)
+   ("libnl" ,libnl)
+   ("libuuid" ,util-linux)
+   ("lvm2" ,lvm2) ; for libdevmapper
+   ("curl" ,curl)
+   ("openssl" ,openssl)
+   ("cyrus-sasl" ,cyrus-sasl)
+   ("perl" ,perl)
+   ("python" ,python-2)
+   ("libyajl" ,libyajl)
+   ("audit" ,audit)))
+(native-inputs
+ `(("pkg-config" ,pkg-config)))
+(home-page "http://libvirt.org";)
+(synopsis "Simple API for virtualization")
+(description "Libvirt is a C toolkit to interact with the virtualization
+capabilities of recent versions of Linux.  The library aims at providing long
+term stable C API initially for the Xen paravirtualization but should be able
+to integrate other virtualization mechanisms if needed.")
+(license lgpl2.1+)))
-- 
2.9.0





[PATCH 3/5] gnu: Add libvirt-glib.

2016-08-03 Thread Ricardo Wurmus
* gnu/packages/qemu.scm (libvirt-glib): New variable.
---
 gnu/packages/qemu.scm | 48 
 1 file changed, 48 insertions(+)

diff --git a/gnu/packages/qemu.scm b/gnu/packages/qemu.scm
index 36faa7c..a577cd1 100644
--- a/gnu/packages/qemu.scm
+++ b/gnu/packages/qemu.scm
@@ -317,3 +317,51 @@ capabilities of recent versions of Linux.  The library 
aims at providing long
 term stable C API initially for the Xen paravirtualization but should be able
 to integrate other virtualization mechanisms if needed.")
 (license lgpl2.1+)))
+
+(define-public libvirt-glib
+  (package
+(name "libvirt-glib")
+(version "0.2.3")
+(source (origin
+  (method url-fetch)
+  (uri (string-append "ftp://libvirt.org/libvirt/glib/";
+  "libvirt-glib-" version ".tar.gz"))
+  (sha256
+   (base32
+"1pahj8qa7k2307sd57rwqwq1hijya02v0sxk91hl3cw48niimcf3"
+(build-system gnu-build-system)
+(arguments
+ `(#:phases
+   (modify-phases %standard-phases
+ (add-after 'unpack 'fix-tests
+   (lambda _
+ (substitute* "tests/test-events.c"
+   (("/bin/true") (which "true")))
+ #t)
+(inputs
+ `(("libxml2" ,libxml2)
+   ("libvirt" ,libvirt)
+   ("gobject-introspection" ,gobject-introspection)
+   ("glib" ,glib)
+   ("openssl" ,openssl)
+   ("cyrus-sasl" ,cyrus-sasl)
+   ("lvm2" ,lvm2) ; for libdevmapper
+   ("libyajl" ,libyajl)))
+(native-inputs
+ `(("pkg-config" ,pkg-config)
+   ("intltool" ,intltool)
+   ("glib" ,glib "bin")
+   ("vala" ,vala)))
+(home-page "http://libvirt.org";)
+(synopsis "GLib wrapper around libvirt")
+(description "libvirt-glib wraps the libvirt library to provide a
+high-level object-oriented API better suited for glib-based applications, via
+three libraries:
+
+@enumerate
+@item libvirt-glib - GLib main loop integration & misc helper APIs
+@item libvirt-gconfig - GObjects for manipulating libvirt XML documents
+@item libvirt-gobject - GObjects for managing libvirt objects
+@end enumerate
+")
+(license lgpl2.1+)))
-- 
2.9.0





[PATCH 5/5] gnu: Add virt-manager.

2016-08-03 Thread Ricardo Wurmus
* gnu/packages/qemu.scm (virt-manager): New variable.
---
 gnu/packages/qemu.scm | 77 ++-
 1 file changed, 76 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/qemu.scm b/gnu/packages/qemu.scm
index 6c36815..04aa18f 100644
--- a/gnu/packages/qemu.scm
+++ b/gnu/packages/qemu.scm
@@ -50,7 +50,7 @@
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system python)
   #:use-module (guix download)
-  #:use-module ((guix licenses) #:select (gpl2 lgpl2.1+))
+  #:use-module ((guix licenses) #:select (gpl2 gpl2+ lgpl2.1+))
   #:use-module (guix packages)
   #:use-module (guix utils)
   #:use-module (srfi srfi-1))
@@ -402,3 +402,78 @@ virtualization library.")
 
 (define-public python2-libvirt
   (package-with-python2 python-libvirt))
+
+(define-public virt-manager
+  (package
+(name "virt-manager")
+(version "1.4.0")
+(source (origin
+  (method url-fetch)
+  (uri (string-append "https://virt-manager.org/download/sources";
+  "/virt-manager/virt-manager-"
+  version ".tar.gz"))
+  (sha256
+   (base32
+"1jnawqjmcqd2db78ngx05x7cxxn3iy1sb4qfgbwcn045qh6a8cdz"
+(build-system python-build-system)
+(arguments
+ `(#:python ,python-2
+   ;; Some of the tests seem to require network access to install virtual
+   ;; machines.
+   #:tests? #f
+   #:modules ((ice-9 match)
+  (srfi srfi-26)
+  (guix build python-build-system)
+  (guix build utils))
+   #:phases
+   (modify-phases %standard-phases
+ (add-after 'unpack 'fix-setup
+   (lambda* (#:key outputs #:allow-other-keys)
+ (substitute* "virtcli/cliconfig.py"
+   (("/usr") (assoc-ref outputs "out")))
+ #t))
+ (add-before 'wrap 'wrap-with-GI_TYPELIB_PATH
+   (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((bin   (string-append (assoc-ref outputs "out") 
"/bin"))
+(bin-files (find-files bin ".*"))
+(paths (map (match-lambda
+  ((output . directory)
+   (let* ((girepodir (string-append
+  directory
+  
"/lib/girepository-1.0")))
+ (if (file-exists? girepodir)
+ girepodir #f
+inputs)))
+   (for-each (lambda (file)
+   (format #t "wrapping ~a\n" file)
+   (wrap-program file
+ `("GI_TYPELIB_PATH" ":" prefix
+   ,(filter identity paths
+ bin-files))
+ #t)
+(inputs
+ `(("gtk+" ,gtk+)
+   ("libvirt" ,libvirt)
+   ("libvirt-glib" ,libvirt-glib)
+   ("libosinfo" ,libosinfo)
+   ("gobject-introspection" ,gobject-introspection)
+   ("python2-libvirt" ,python2-libvirt)
+   ("python2-requests" ,python2-requests)
+   ("python2-ipaddr" ,python2-ipaddr)
+   ("python2-pygobject" ,python2-pygobject)
+   ("python2-libxml2" ,python2-libxml2)))
+;; virt-manager searches for qemu-img or kvm-img in the PATH.
+(propagated-inputs
+ `(("qemu" ,qemu)))
+(native-inputs
+ `(("glib" ,glib "bin") ; glib-compile-schemas.
+   ("perl" ,perl)   ; pod2man
+   ("intltool" ,intltool))) ; intltool
+(home-page "https://virt-manager.org/";)
+(synopsis "Manage virtual machines with virt-manager")
+(description
+ "The virt-manager application is a desktop user interface for managing
+virtual machines through libvirt.  It primarily targets KVM VMs, but also
+manages Xen and LXC (linux containers).  It presents a summary view of running
+domains, their live performance & resource utilization statistics.")
+(license gpl2+)))
-- 
2.9.0





Re: [PATCH] gnu: Add libunique.

2016-08-03 Thread ng0
ng0  writes:

> I gave this a try, loosely based on the patch for the older version I
> created a patch for the the more current version of libunique.
> Maybe someone has input on the errors or what to add/change, I am
> working on other things in parallel.

Where "the errors" obviously are building gtk-doc fails at the moment.

> Thanks.
>
> From 162c92ef3ddbd635462157c8900dc4edbe43e817 Mon Sep 17 00:00:00 2001
> From: ng0 
> Date: Wed, 3 Aug 2016 08:18:14 +
> Subject: [PATCH] gnu: Add libunique.
>
> * gnu/packages/gnome.scm (libunique): New variable.
> ---
>  gnu/packages/gnome.scm | 37 +
>  1 file changed, 37 insertions(+)
>
> diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
> index 2038f8f..9df26ee 100644
> --- a/gnu/packages/gnome.scm
> +++ b/gnu/packages/gnome.scm
> @@ -5420,3 +5420,40 @@ GLib/GObject code.")
>   "Libgnomekbd is a keyboard configuration library for the GNOME desktop
>  environment, which can notably display keyboard layouts.")
>  (license license:lgpl2.0+)))
> +
> +(define-public libunique
> +  (package
> +(name "libunique")
> +(version "3.0.2")
> +(source (origin
> +  (method url-fetch)
> +  (uri (string-append "mirror://gnome/sources/" name "/"
> +  (version-major+minor version)  "/"
> +  name "-" version ".tar.xz"))
> +  (sha256
> +   (base32
> +"0f70lkw66v9cj72q0iw1s2546r6bwwcd8idcm3621fg2fgh2rw58"
> +;;(build-system gnu-build-system)
> +(build-system glib-or-gtk-build-system)
> +(arguments
> + `(#:configure-flags '("--disable-static"
> +   "--disable-dbus" ; use gdbus
> +   "--enable-introspection")))
> +(native-inputs
> + `(("pkg-config" ,pkg-config)
> +   ("gobject-introspection" ,gobject-introspection)
> +   ("glib:bin" ,glib "bin")
> +   ("gtk-doc" ,gtk-doc)))
> +(propagated-inputs
> + ;; Referred to in .h files and .pc.
> + `(("gtk+" ,gtk+)))
> +(home-page "https://wiki.gnome.org/Attic/LibUnique";)
> +(synopsis "Library for writing single instance application")
> +(description
> + "Libunique is a library for writing single instance application.  If you
> +launch a single instance application twice, the second instance will 
> +either just quit or will send a message to the running instance.
> +Libunique makes it easy to write this kind of applications, by providing a
> +base class, taking care of all the IPC machinery needed to send messages
> +to a running instance, and also handling the startup notification side.")
> +(license license:lgpl2.1+)))
> -- 
> 2.9.2
>
>


> Error output follows in next message.
^
Actually, no.

-- 
♥Ⓐ  ng0
Current Keys: https://we.make.ritual.n0.is/ng0.txt
For non-prism friendly talk find me on http://www.psyced.org



Re: [PATCH] change zsh to shells.scm in POTFILES.in, [PATCH] change gnu packages tcsh to gnu packages shells.

2016-08-03 Thread Tobias Geerinckx-Rice

ng0,

On 2016-08-03 11:12, ng0 wrote:

This Fixed broken master build.


Grr. Thanks.

Kind regards,

T G-R



[PATCH 0/5] Add virt-manager

2016-08-03 Thread Ricardo Wurmus
Hi Guix,

this patch series adds virt-manager and its dependencies.  Currently,
virt-manager fails to build because the optional "gtk-doc" has failing tests.

In order to use virt-manager conveniently we will also have to add a libvirtd
service and polkit rules at some point.

~~ Ricardo


Ricardo Wurmus (5):
  gnu: Add libvirt.
  gnu: Add libosinfo.
  gnu: Add libvirt-glib.
  gnu: Add python-libvirt.
  gnu: Add virt-manager.

 gnu/packages/qemu.scm | 305 +-
 1 file changed, 303 insertions(+), 2 deletions(-)

-- 
2.9.0





[PATCH 4/5] gnu: Add python-libvirt.

2016-08-03 Thread Ricardo Wurmus
* gnu/packages/qemu.scm (python-libvirt, python2-libvirt): New
  variables.
---
 gnu/packages/qemu.scm | 37 +
 1 file changed, 37 insertions(+)

diff --git a/gnu/packages/qemu.scm b/gnu/packages/qemu.scm
index a577cd1..6c36815 100644
--- a/gnu/packages/qemu.scm
+++ b/gnu/packages/qemu.scm
@@ -48,6 +48,7 @@
   #:use-module (gnu packages xdisorg)
   #:use-module (gnu packages xml)
   #:use-module (guix build-system gnu)
+  #:use-module (guix build-system python)
   #:use-module (guix download)
   #:use-module ((guix licenses) #:select (gpl2 lgpl2.1+))
   #:use-module (guix packages)
@@ -365,3 +366,39 @@ three libraries:
 @end enumerate
 ")
 (license lgpl2.1+)))
+
+(define-public python-libvirt
+  (package
+(name "python-libvirt")
+(version "2.0.0")
+(source (origin
+  (method url-fetch)
+  (uri (pypi-uri "libvirt-python" version))
+  (sha256
+   (base32
+"0h0x5lpsx97bvw20pzfcsdmmivximddq4qmn8fk0n55dqv0wn5kq"
+(build-system python-build-system)
+(arguments
+ `(#:phases
+   (modify-phases %standard-phases
+ (add-after 'unpack 'patch-nosetests-path
+   (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "setup.py"
+   (("sys.executable, \"/usr/bin/nosetests\"")
+(string-append "\"" (which "bash") "\", \""
+   (which "nosetests") "\"")))
+ #t)
+(inputs
+ `(("libvirt" ,libvirt)
+   ("python-lxml" ,python-lxml)))
+(native-inputs
+ `(("pkg-config" ,pkg-config)
+   ("python-nose" ,python-nose)))
+(home-page "http://libvirt.org";)
+(synopsis "Python bindings to libvirt")
+(description "This package provides Python bindings to the libvirt
+virtualization library.")
+(license lgpl2.1+)))
+
+(define-public python2-libvirt
+  (package-with-python2 python-libvirt))
-- 
2.9.0





Re: ola

2016-08-03 Thread John J Foerch
l...@gnu.org (Ludovic Courtès) writes:

> John J Foerch  skribis:
>
>> Alex Vong  writes:
>>
>>> Hi John,
>>>
>>> John J Foerch  writes:
>>>
 Hello,

 I'm trying to build OLA (Open Lighting Architecture) and I ran into some
 difficulty.  Ola is often used as a service, but at this point all I'm
 interested in is making an ordinary package.  The build times out after
 a certain point:

>>> I try to build it on my machine using your recipe (I copy the package
>>> definition into entertainment.scm and add the required imports) and it
>>> works.
>>>
>>> @ build-succeeded 
>>> /gnu/store/m0qkm9zwjaaynnn8pl0r1m6avbv0lhs0-ola-0.10.2.drv -
>>> /gnu/store/16y19wwciazzrnw4if8g1d5b8i1piaw9-ola-0.10.2
>>>
>>> Does you machine has very little ram?
>>>
>>> Build log:
>>>
>>>
>>> Cheers,
>>> Alex
>>
>> Okay, that is encouraging.  Yes, I'm building this on a 2GHz Intel Core2
>> Duo laptop with 1GB of memory.
>
> Compiling C++ code can be memory-intensive, so it may be that your
> machine was swapping.
>
> Ludo’.

Hi, I have a favor to ask of anybody in the guix community - is there
anybody who would be willing to finish this package for me, since I
can't build and test it?  This is a library that I need to use, but
maybe the only way that I can use it (until I upgrade my computer) will
be to install it as a substitute.

Or are there any other suggestions for how I can build this myself?

Thank you,

--
John Foerch








License auditing

2016-08-03 Thread David Craven
Hi!

How can I tell the difference between a lgpl2.1 and lgpl2.1+ license?

Is this a job that an automated tool could do? Detecting licenses
included in a tarball?

Cheers
David



Re: core-updates merged!

2016-08-03 Thread Ludovic Courtès
Leo Famulari  skribis:

> I merged master into core-updates-next and made the change in a
> subsequent commit.
>
> Unfortunately, I can't push the branch to Savannah because it contains
> the following unsigned commits (one of them is mine, oops!):
>
> f21403e2b6f5a9491937a0cc9f31fc113998ce5e
> 9bc84dfea9560c497c91863e7b5021860bd3c254
> 745ad37a780b28f72ac9dfcc8092317e577e51c9
> 2d74d94b17b23ab95072da68553d85ac0b3bfede
> aebd383d04b351465cfb14e4fd0949b67d4b282e
>
> What should we do?

I think you should start from the pre-merge ‘core-updates-next’, sign
commits that are unsigned (I thought Manolis signed them all on the last
rebase?), then merge, and finally push.

Not ideal, but hey!

Ludo’.



Re: [PATCH] gnu: Add GCompris.

2016-08-03 Thread Ludovic Courtès
Ricardo Wurmus  skribis:

> * gnu/packages/education.scm (gcompris): New variable.

Nice, LGTM!

Thanks,
Ludo’.



[PATCH] gnu: tuxguitar: Update to 1.3.2.

2016-08-03 Thread Ricardo Wurmus
* gnu/packages/music.scm (tuxguitar): Update to 1.3.2.
[arguments]: Use ant-build-system and rearrange build phases.
[native-inputs]: Remove field.
---
 gnu/packages/music.scm | 97 +++---
 1 file changed, 69 insertions(+), 28 deletions(-)

diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 8dbdf2c..9ec75c1 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -31,6 +31,7 @@
   #:use-module (guix git-download)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix build-system gnu)
+  #:use-module (guix build-system ant)
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system python)
   #:use-module (guix build-system waf)
@@ -904,45 +905,85 @@ is subjective.")
 (define-public tuxguitar
   (package
 (name "tuxguitar")
-(version "1.2")
+(version "1.3.2")
 (source (origin
   (method url-fetch)
   (uri (string-append
 "mirror://sourceforge/tuxguitar/TuxGuitar/TuxGuitar-"
-version "/tuxguitar-src-" version ".tar.gz"))
+version "/tuxguitar-" version "-src.tar.gz"))
   (sha256
(base32
-"1g1yf2gd06fzdhqb8kb8dmdcmr602s9y24f01kyl4940wimgr944"
-(build-system gnu-build-system)
+"0ldml31zvywid1w28mfd65ramyiics55fdl0ch846vm7j7nwv58j"))
+  (modules '((guix build utils)))
+  (snippet
+   ;; Delete pre-built classes
+   '(delete-file-recursively "TuxGuitar-android/bin"
+(build-system ant-build-system)
 (arguments
- `(#:make-flags (list (string-append "LDFLAGS=-Wl,-rpath="
- (assoc-ref %outputs "out") "/lib")
-  (string-append "PREFIX="
- (assoc-ref %outputs "out"))
-  (string-append "SWT_PATH="
- (assoc-ref %build-inputs "java-swt")
- "/share/java/swt.jar"))
-   #:tests? #f ;no "check" target
-   #:parallel-build? #f ;not supported
+ `(#:build-target "build"
+   #:tests? #f ; no tests
#:phases
(modify-phases %standard-phases
- (delete 'configure)
- (add-before 'build 'enter-dir-and-set-flags
-  (lambda* (#:key inputs #:allow-other-keys)
-(chdir "TuxGuitar")
-(substitute* "GNUmakefile"
-  (("GCJFLAGS\\+=(.*)" _ rest)
-   (string-append "GCJFLAGS=-fsource=1.4 -fPIC " rest))
-  (("PROPERTIES\\?=")
-   (string-append "PROPERTIES?= -Dswt.library.path="
-  (assoc-ref inputs "java-swt") "/lib"))
-  (("\\$\\(GCJ\\) -o") "$(GCJ) $(LDFLAGS) -o"))
-#t)
+ (add-after 'unpack 'enter-dir-and-set-flags
+   (lambda _ (chdir "TuxGuitar-lib") #t))
+ (add-after 'build 'build-editor-utils
+   (lambda* (#:key inputs outputs #:allow-other-keys)
+ (chdir "..")
+ (let ((cwd (getcwd)))
+   (setenv "CLASSPATH"
+   (string-append
+cwd "/TuxGuitar-lib/tuxguitar-lib.jar" ":"
+cwd 
"/TuxGuitar-editor-utils/build/jar/tuxguitar-editor-utils.jar" ":"
+(getenv "CLASSPATH"
+ (chdir "TuxGuitar-editor-utils")
+ ;; Generate default build.xml
+ ((@@ (guix build ant-build-system) default-build.xml)
+  "tuxguitar-editor-utils.jar"
+  (string-append (assoc-ref outputs "out")
+ "/share/java"))
+ ((assoc-ref %standard-phases 'build
+ (add-after 'build-editor-utils 'build-application
+   (lambda _
+ (chdir "../TuxGuitar")
+ ((assoc-ref %standard-phases 'build)
+  #:build-target "build")))
+ (replace 'install
+   (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((out   (assoc-ref outputs "out"))
+(bin   (string-append out "/bin"))
+(share (string-append out "/share"))
+(lib   (string-append share "/java"))
+(swt   (assoc-ref inputs "java-swt")))
+   (mkdir-p bin)
+   (mkdir-p lib)
+   ;; install all jars
+   (for-each (lambda (file)
+   (install-file file lib))
+ (find-files ".." "\\.jar$"))
+   ;; install all resources
+   (for-each (lambda (file)
+   (install-file file share))
+ (find-files "share" ".*"))
+   ;; create wrapper
+   (call-with-output-file (string-append bin "/tuxguitar")
+ (lambda (port)
+  

Re: [PATCH] system: grub: Introduce foreign-menu-entry.

2016-08-03 Thread Ludovic Courtès
Hi!

Tomáš Čech  skribis:

> * gnu/system/grub(foreign-menu-entry): New record type.
>
> menu-entry type is suitable for kernel and initrd from GuixSD as it is looking
> for menu-entry-linux/bzImage for kernel in every case which makes pasing any
> other form impossible.

AIUI, this is a followup to , and it’s
admittedly a shame that this isn’t fixed!

I still think that the approach proposed at
 is more
appropriate; ‘menu-entry’ would always work, no duplication would be
necessary.

As a stop-gap measure, I would prefer to (1) allow:

  (menu-entry
;; …
(linux #~(string-append #$kernel "/bzImage")))

(2) remove the “/bzImage” assumption and use the above idiom everywhere
in the current code, and (3) and have a hack along these lines to
correctly interpret (string-append …) in the ‘parameters’ file:

diff --git a/gnu/system.scm b/gnu/system.scm
index d6bf6c4..467d907 100644
--- a/gnu/system.scm
+++ b/gnu/system.scm
@@ -766,7 +766,11 @@ this file is the reconstruction of GRUB menu entries for old configurations."
  (boot-parameters
   (label label)
   (root-device root)
-  (kernel linux)
+  (kernel (match linux
+(('string-append (? string? strings) ...)
+ (string-concatenate strings))
+(_
+ linux)))
   (kernel-arguments
(match (assq 'kernel-arguments rest)
  ((_ args) args)

Thoughts?

Thanks,
Ludo’.


Re: [PATCH] gnu: Add GCompris.

2016-08-03 Thread Ricardo Wurmus

Ludovic Courtès  writes:

> Ricardo Wurmus  skribis:
>
>> * gnu/packages/education.scm (gcompris): New variable.
>
> Nice, LGTM!

Thanks.  Pushed as 0ea179fd92bc4819e8705eedde822daae6a61bb0.

~~ Ricardo





Re: isnan, isinf in ldc; Was: Re: Release imminent

2016-08-03 Thread Leo Famulari
On Wed, Aug 03, 2016 at 11:12:34AM +0200, Andreas Enge wrote:
> Hi Danny,
> 
> On Wed, Aug 03, 2016 at 09:51:10AM +0200, Danny Milosavljevic wrote:
> > ldc fails because they do
> >   ::isnan
> > which is a bad idea if isnan is a C macro (which it usually isn't - but hey 
> > O_o). I've substituted
> >   isnan
> > for it and this part then compiles fine.
> > This fix is not safe in general because if there's a method called isnan in 
> > scope, it will use that. In the ldc case, they've named the method "isNan" 
> > - so it's fine.
> 
> did you forget to add a patch?
> 
> Anyway, they made a release 1.0.0. Maybe it would be preferable to try
> an update of the package first, in case the problem is already solved
> on their side?

I prefer this approach. Always try to take upstream's solution :)



Re: isnan, isinf in ldc; Was: Re: Release imminent

2016-08-03 Thread Roel Janssen

Leo Famulari writes:

> On Wed, Aug 03, 2016 at 11:12:34AM +0200, Andreas Enge wrote:
>> Hi Danny,
>> 
>> On Wed, Aug 03, 2016 at 09:51:10AM +0200, Danny Milosavljevic wrote:
>> > ldc fails because they do
>> >   ::isnan
>> > which is a bad idea if isnan is a C macro (which it usually isn't - but 
>> > hey O_o). I've substituted
>> >   isnan
>> > for it and this part then compiles fine.
>> > This fix is not safe in general because if there's a method called isnan 
>> > in scope, it will use that. In the ldc case, they've named the method 
>> > "isNan" - so it's fine.
>> 
>> did you forget to add a patch?
>> 
>> Anyway, they made a release 1.0.0. Maybe it would be preferable to try
>> an update of the package first, in case the problem is already solved
>> on their side?
>
> I prefer this approach. Always try to take upstream's solution :)

I prefer getting this version in first too.  We need to bootstrap 1.0.0
from the 0.1.x one, so this is a welcome upgrade :-).



Re: core-updates merged!

2016-08-03 Thread Leo Famulari
On Wed, Aug 03, 2016 at 06:42:34PM +0200, Ludovic Courtès wrote:
> I think you should start from the pre-merge ‘core-updates-next’, sign
> commits that are unsigned (I thought Manolis signed them all on the last
> rebase?), then merge, and finally push.

Unfortunately, signing old commits causes subsequent history to be
rewritten, and the subsequent signatures are lost. I would have to
re-sign commits all the way back to June (for aebd383). And Git users'
local history would become invalid.

By the way, all the commits that are rejected by the hook are from the
master branch.

> Not ideal, but hey!

Very! I'll wait for replies before taking this drastic action.

I think we are hitting something like the problem I warned about here:
http://lists.gnu.org/archive/html/guix-devel/2016-07/msg01220.html



Re: License auditing

2016-08-03 Thread Danny Milosavljevic
On Wed, 3 Aug 2016 18:28:38 +0200
David Craven  wrote:

> How can I tell the difference between a lgpl2.1 and lgpl2.1+ license?

"or later"

> Is this a job that an automated tool could do? Detecting licenses
> included in a tarball?

I also wonder about that. Usually, the license text is just copied & pasted 
anyway, so it should be quite regular.

If there isn't one, I could write one which would basically, per source file,
- try to find SPDX identifier, if that doesn't work:
- ignore newline, "#" or ";" or "*" or "//" at the beginning of the line
- lex that into words, where "word" is either [a-zA-Z0-9-]+ or [.,;]
- try to 1:1 match with all the licenses similarily mapped
- if that didn't work, try to find signal words and guess the license and print 
the difference in a short form.

I could do that program in maybe 2 hours and find and extract all the official 
license texts in a few more hours. But does such a thing already exist? [Seems 
like something obvious to have and I'm writing many other things already.]

A human would still have to review the non-1:1 things - there could always be 
strange exceptions in the README or whatever - but the majority of cases should 
work just fine.

See also  (especially 
), 
 (also 
lists several license checkers; Fossology seems to be a whole webservice which 
does that).



Re: core-updates merged!

2016-08-03 Thread Ludovic Courtès
Leo Famulari  skribis:

> On Wed, Aug 03, 2016 at 06:42:34PM +0200, Ludovic Courtès wrote:
>> I think you should start from the pre-merge ‘core-updates-next’, sign
>> commits that are unsigned (I thought Manolis signed them all on the last
>> rebase?), then merge, and finally push.
>
> Unfortunately, signing old commits causes subsequent history to be
> rewritten, and the subsequent signatures are lost. I would have to
> re-sign commits all the way back to June (for aebd383). And Git users'
> local history would become invalid.

Yeah, but despite lacking the ‘wip-’ prefix as we usually do, this
branch was “rebaseable”, so I think it’s OK.

Hopefully that will no longer happen in the future.

> I think we are hitting something like the problem I warned about here:
> http://lists.gnu.org/archive/html/guix-devel/2016-07/msg01220.html

Yes, that’s annoying, but it’s a one-time transitional cost.

Thanks!

Ludo’.



Re: License auditing

2016-08-03 Thread Jelle Licht
Something like this could be quite convenient.

The following spdx->guix license symbol converter
might save you some time:
http://paste.lisp.org/display/322105


- Jelle



2016-08-03 19:55 GMT+02:00 Danny Milosavljevic :

> On Wed, 3 Aug 2016 18:28:38 +0200
> David Craven  wrote:
>
> > How can I tell the difference between a lgpl2.1 and lgpl2.1+ license?
>
> "or later"
>
> > Is this a job that an automated tool could do? Detecting licenses
> > included in a tarball?
>
> I also wonder about that. Usually, the license text is just copied &
> pasted anyway, so it should be quite regular.
>
> If there isn't one, I could write one which would basically, per source
> file,
> - try to find SPDX identifier, if that doesn't work:
> - ignore newline, "#" or ";" or "*" or "//" at the beginning of the line
> - lex that into words, where "word" is either [a-zA-Z0-9-]+ or [.,;]
> - try to 1:1 match with all the licenses similarily mapped
> - if that didn't work, try to find signal words and guess the license and
> print the difference in a short form.
>
> I could do that program in maybe 2 hours and find and extract all the
> official license texts in a few more hours. But does such a thing already
> exist? [Seems like something obvious to have and I'm writing many other
> things already.]
>
> A human would still have to review the non-1:1 things - there could always
> be strange exceptions in the README or whatever - but the majority of cases
> should work just fine.
>
> See also  (especially <
> https://github.com/triplecheck/>), <
> http://www.sciencedirect.com/science/article/pii/S0164121216300905> (also
> lists several license checkers; Fossology seems to be a whole webservice
> which does that).
>
>


Re: License auditing

2016-08-03 Thread Leo Famulari
On Wed, Aug 03, 2016 at 06:28:38PM +0200, David Craven wrote:
> Hi!
> 
> How can I tell the difference between a lgpl2.1 and lgpl2.1+ license?

The license headers in the source files will say if they are licensed
under version 2.1 or later. Something like this:

"...either version 2.1 of the License, or (at your option) any later
version."

I've heard that if the only license information is a copy of the full
license (for example, in LICENSE or COPYING) and the files have no
license headers, then the "or later" part is implied, but I'm not sure.

> Is this a job that an automated tool could do? Detecting licenses
> included in a tarball?

A tool might be able to suggest something, but I think that it will
always require human inspection. And we only have to do this inspection
once per package version, on behalf of everybody else that uses the
distribution.



Re: License auditing

2016-08-03 Thread Leo Famulari
On Wed, Aug 03, 2016 at 07:55:11PM +0200, Danny Milosavljevic wrote:
> A human would still have to review the non-1:1 things - there could
> always be strange exceptions in the README or whatever - but the
> majority of cases should work just fine.

There could also be binaries with no source code, some code with a
unique license, or countless other ways to confuse a license parser.



Re: License auditing

2016-08-03 Thread David Craven
>> How can I tell the difference between a lgpl2.1 and lgpl2.1+ license?
>"or later"

Yes, I get that, but does it explicitly say the words "or latter" in the license
text? What about when there are lgpl2, lgpl2.1 and lgpl3 license files in
the repo? Is that (list lgpl2.0 lgpl2.1 lgpl3) or lgpl2.0+?

> I could do that program in maybe 2 hours and find and extract all the
> official license texts in a few more hours. But does such a thing already
> exist? [Seems like something obvious to have and I'm writing many other
> things already.]

I only found this, which only detects 3 license types.
https://github.com/tantalor/detect-license



Re: License auditing

2016-08-03 Thread David Craven
> There could also be binaries with no source code, some code with a
> unique license, or countless other ways to confuse a license parser.

Well we do have a sizeable existing test-suite so that's a plus...

> "...either version 2.1 of the License, or (at your option) any later
> version."

That answers my question thank you!



Re: core-updates merged!

2016-08-03 Thread Leo Famulari
On Wed, Aug 03, 2016 at 07:56:05PM +0200, Ludovic Courtès wrote:
> Leo Famulari  skribis:
> 
> > On Wed, Aug 03, 2016 at 06:42:34PM +0200, Ludovic Courtès wrote:
> >> I think you should start from the pre-merge ‘core-updates-next’, sign
> >> commits that are unsigned (I thought Manolis signed them all on the last
> >> rebase?), then merge, and finally push.
> >
> > Unfortunately, signing old commits causes subsequent history to be
> > rewritten, and the subsequent signatures are lost. I would have to
> > re-sign commits all the way back to June (for aebd383). And Git users'
> > local history would become invalid.
> 
> Yeah, but despite lacking the ‘wip-’ prefix as we usually do, this
> branch was “rebaseable”, so I think it’s OK.
> 
> Hopefully that will no longer happen in the future.
> 
> > I think we are hitting something like the problem I warned about here:
> > http://lists.gnu.org/archive/html/guix-devel/2016-07/msg01220.html
> 
> Yes, that’s annoying, but it’s a one-time transitional cost.

Just to clarify, I would be re-signing (with my own key) and rebasing
all commits that were made on the master branch and merged on
core-updates-next, going back to sometime in June 2016.

Whenever we merge this core-updates-next branch back into master, the
master branch's history will be rewritten, starting with aebd383d0.
Right? Or am I misunderstanding?

I tried it, to see what would happen.

$ git rebase aebd383d04b351465cfb14e4fd0949b67d4b282e^ --exec "git commit 
--amend --no-edit --gpg-sign" || git rebase --abort

But for some reason, it ends up trying to work on commits from February
(starting at "build-system/gnu: Do not patch symlinks"), and then fails
to apply the commit that updates Python 2 to 2.7.11. Nothing should fail
to apply, since I'm not changing any files. Am I doing it wrong, or is
it a bug in Git? Perhaps some complication rebasing through previous
merges?



Savannah down?

2016-08-03 Thread Andreas Enge
Hello,

when trying a "git fetch", I get the following error:
remote: Counting objects: 204, done.
remote: fatal: unable to create thread: Resource temporarily unavailable
error: git upload-pack: git-pack-objects died with error.
fatal: git upload-pack: aborting due to possible repository corruption on the 
remote side.
remote: aborting due to possible repository corruption on the remote side.
fatal: protocol error: bad pack header

"git clone" has a similar result.

I just hope that the "Resource temporarily unavailable" is the truth,
and not "possible repository corruption on the remote side"...

Has anyone got more information?

Andreas




Re: core-updates merged!

2016-08-03 Thread Ludovic Courtès
Leo Famulari  skribis:

>> > I think we are hitting something like the problem I warned about here:
>> > http://lists.gnu.org/archive/html/guix-devel/2016-07/msg01220.html
>> 
>> Yes, that’s annoying, but it’s a one-time transitional cost.
>
> Just to clarify, I would be re-signing (with my own key) and rebasing
> all commits that were made on the master branch and merged on
> core-updates-next, going back to sometime in June 2016.

I think core-updates-next is just a dozen commits or so, right?

> Whenever we merge this core-updates-next branch back into master, the
> master branch's history will be rewritten, starting with aebd383d0.
> Right? Or am I misunderstanding?

I think we should remerge core-updates-next on top of master, making it
the new core-updates.

>From there on, we will not rebase core-updates and only do merges in
that branch, as usual.

> I tried it, to see what would happen.
>
> $ git rebase aebd383d04b351465cfb14e4fd0949b67d4b282e^ --exec "git commit 
> --amend --no-edit --gpg-sign" || git rebase --abort
>
> But for some reason, it ends up trying to work on commits from February
> (starting at "build-system/gnu: Do not patch symlinks"), and then fails
> to apply the commit that updates Python 2 to 2.7.11. Nothing should fail
> to apply, since I'm not changing any files. Am I doing it wrong, or is
> it a bug in Git? Perhaps some complication rebasing through previous
> merges?

Hmm.  Perhaps the explanation is the merged commit that I screwed, which
I’ll write about just now.

Ludo’.



Re: isnan, isinf in ldc; Was: Re: Release imminent

2016-08-03 Thread Pjotr Prins
On Wed, Aug 03, 2016 at 07:14:50PM +0200, Roel Janssen wrote:
> I prefer getting this version in first too.  We need to bootstrap 1.0.0
> from the 0.1.x one, so this is a welcome upgrade :-).

Yes, the D compiler was rewritten in D (from C++). We need to
bootstrap from the older C++ version.

Really happy to see this work on D.

Pj.
-- 



Re: License auditing

2016-08-03 Thread Ludovic Courtès
Howdy!

Leo Famulari  skribis:

> I've heard that if the only license information is a copy of the full
> license (for example, in LICENSE or COPYING) and the files have no
> license headers, then the "or later" part is implied, but I'm not sure.

In reality, the GNU licenses permit the recipient to choose any version
of the license.  For instance, Section 14 of GPLv3 reads:

  If the Program does not specify a version number of the GNU General
  Public License, you may choose any version ever published by the Free
  Software Foundation.

However, in Guix we encode such cases as ‘gpl3+’ (or similar), rather
than ‘gpl1+’.

Ludo’.



Re: isnan, isinf in ldc; Was: Re: Release imminent

2016-08-03 Thread Andreas Enge
On Wed, Aug 03, 2016 at 10:11:52PM +0200, Pjotr Prins wrote:
> Yes, the D compiler was rewritten in D (from C++). We need to
> bootstrap from the older C++ version.

This is an interesting situation! If I understand Danny's patches correctly,
then the last compiler written in C++, 0.17.1, is not currently compilable
without the isnan patch... So normally, they should continue providing bug
fix releases to the 0.17 branch, to make sure it actually does compile
with a C++ compiler in a contemporary setting.

Maybe you could do some lobbying for it...

Andreas




‘core-updates’ merge is a squashed commit

2016-08-03 Thread Ludovic Courtès
Hello!

Someone reported that the commit stats for the new release were
suspicious and found that the recent core-updates merge was fishy.

In fact, commit 455859a50f88f625d13fc2f304111f02369b366b, which is the
core-updates merge, is *not* a merge commit.  Instead it seems to be a
squashed commit of all of core-updates.  Consequently, part of the
history of the files touched by this merge is squashed into this single
pseudo-merge commit.  :-/

Apologies for this mess.  I don’t know how this happened.  I suspect a
mixture of me not paying enough attention, and Magit + Git + gpg somehow
leading me in the wrong direction.

This can be fixed locally with a graft to give the merge commit the two
parents it is supposed to have:

  git replace --graft 455859a50f88f625d13fc2f304111f02369b366b \
 742effef5629667b274087adc70b06abab86b252 
a8cb87abe98d57fb763d5b14524dc32c96bd31b5 

Unfortunately, grafts are local, so anyone cloning the repo will see the
squashed merge commit.  Also, the replacement commit lacks a signature.

I don’t know how this impacts the core-updates-next rebase that Leo and
I were discussing.

If anyone has advice on grafts, or on how to avoid this in the future,
I’m all ears!

Ludo’.


signature.asc
Description: PGP signature


Re: core-updates merged!

2016-08-03 Thread Leo Famulari
On Wed, Aug 03, 2016 at 10:01:48PM +0200, Ludovic Courtès wrote:
> I think core-updates-next is just a dozen commits or so, right?

> I think we should remerge core-updates-next on top of master, making it
> the new core-updates.

Do you mean `git checkout core-updates-next && git merge master`? That's
what I've done.

But, it means that some unsigned commits come to core-updates-next from
master, and I can't push the result to Savannah because of the new
signature hook.



[PATCH] gnu: asciidoc: Use local docbook-xsl package.

2016-08-03 Thread Tomáš Čech
* gnu/packages/documentation.scm(asciidoc): New input docbook-xsl,
  replace use of online source and prefer docbook-xsl package.
---
 gnu/packages/documentation.scm | 18 --
 1 file changed, 16 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/documentation.scm b/gnu/packages/documentation.scm
index 72af708..98d30e7 100644
--- a/gnu/packages/documentation.scm
+++ b/gnu/packages/documentation.scm
@@ -49,8 +49,22 @@
(base32
 "1w71nk527lq504njmaf0vzr93pgahkgzzxzglrq6bay8cw2rvnvq"
 (build-system gnu-build-system)
-(arguments '(#:tests? #f)); no 'check' target
-(inputs `(("python" ,python-2)))
+(arguments
+ `(#:tests? #f ; no 'check' target
+   #:phases
+   (modify-phases %standard-phases
+ (add-before
+ 'install 'make-local-docbook-xsl
+   (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* (find-files "docbook-xsl" ".*\\.xsl$")
+   (("xsl:import 
href=\"http://docbook.sourceforge.net/release/xsl/current";)
+(string-append
+ "xsl:import href=\""
+ (string-append (assoc-ref inputs "docbook-xsl")
+"/xml/xsl/docbook-xsl-"
+,(package-version docbook-xsl))
+(inputs `(("python" ,python-2)
+  ("docbook-xsl" ,docbook-xsl)))
 (home-page "http://www.methods.co.nz/asciidoc/";)
 (synopsis "Text-based document generation system")
 (description
-- 
2.9.2




Re: [PATCH] gnunet-svn, gnunet-gtk-svn

2016-08-03 Thread Andreas Enge
Hello,

On Wed, Aug 03, 2016 at 11:45:56AM +, ng0 wrote:
> I think the costs of maintaining a -svn of gnunet are too high at the
> moment. I'm using these two packages as a base for debugging gnunet in
> addition to gentoo to help work with upstream.
> 
> A revision-less svn package does not work (unlike in gentoo), so my
> focus is at the moment to help to push towards 0.10.2 release.

that sounds like a good option, to make sure that the 0.10.2 release will
work on Guix, and hopefully pass all its tests.

Thanks for the work!

Andreas




Re: ‘core-updates’ merge is a squashed commit

2016-08-03 Thread Leo Famulari
On Wed, Aug 03, 2016 at 10:29:21PM +0200, Ludovic Courtès wrote:
> In fact, commit 455859a50f88f625d13fc2f304111f02369b366b, which is the
> core-updates merge, is *not* a merge commit.  Instead it seems to be a
> squashed commit of all of core-updates.  Consequently, part of the
> history of the files touched by this merge is squashed into this single
> pseudo-merge commit.  :-/

Dang, that means we lost the commit history of core-updates. It won't be
in the Git log.

> This can be fixed locally with a graft to give the merge commit the two
> parents it is supposed to have:
> 
>   git replace --graft 455859a50f88f625d13fc2f304111f02369b366b \
>  742effef5629667b274087adc70b06abab86b252 
> a8cb87abe98d57fb763d5b14524dc32c96bd31b5 

I tried this and Git said "fatal: could not parse 
a8cb87abe98d57fb763d5b14524dc32c96bd31b5"

I don't have a Git object of that name in my repo.



Re: License auditing

2016-08-03 Thread Alex Griffin
On Wed, Aug 3, 2016, at 03:42 PM, Ludovic Courtès wrote:
> However, in Guix we encode such cases as ‘gpl3+’ (or similar), rather
> than ‘gpl1+’.

That seems wrong and confusing. It means that if I'm writing a GPLv2
program, for example, then I cannot rely on Guix to search for legally
compatible libraries to use. It also means we cannot implement a tool to
automatically flag Guix package dependencies for possible license
violations.
-- 
Alex Griffin



Re: core-updates merged!

2016-08-03 Thread Andreas Enge
On Wed, Aug 03, 2016 at 05:01:29PM -0400, Leo Famulari wrote:
> Do you mean `git checkout core-updates-next && git merge master`? That's
> what I've done.

Another option would be the following:
git checkout master
git checkout -b core-updates
git cherry-pick "commit 1 from core-updates-next"
git cherry-pick "commit 2 from core-updates-next"
...

If there are only a dozen commits in core-updates-next, this could be
feasible, with the danger of forgetting some.

Andreas




Re: Savannah down?

2016-08-03 Thread Andreas Enge
It seems to be back!

Andreas




Re: core-updates merged!

2016-08-03 Thread Leo Famulari
On Wed, Aug 03, 2016 at 11:27:28PM +0200, Andreas Enge wrote:
> On Wed, Aug 03, 2016 at 05:01:29PM -0400, Leo Famulari wrote:
> > Do you mean `git checkout core-updates-next && git merge master`? That's
> > what I've done.
> 
> Another option would be the following:
> git checkout master
> git checkout -b core-updates
> git cherry-pick "commit 1 from core-updates-next"
> git cherry-pick "commit 2 from core-updates-next"
> ...
> 
> If there are only a dozen commits in core-updates-next, this could be
> feasible, with the danger of forgetting some.

I'm not sure if this is the right way to check, but

$ git log --oneline master..core-updates-next | wc -l
161

Does anyone else want to test this? I just tried to copy the master
branch and push it as TEMP-signature-test, and it was rejected by
Savannah. Although, I didn't get any detail from Savannah about why it
was rejected, which I did get when I tried to do it with
core-updates-next earlier. So perhaps there is some other issue now...



[PATCH] gnu: Add bs1770gain.

2016-08-03 Thread Alex Griffin
This patch adds bs1770gain, a tool for adjusting and normalizing the
loudness of audio and video files.
-- 
Alex Griffin
From 166ed6d602c21bdc6544775327424187ac19cc3d Mon Sep 17 00:00:00 2001
From: Alex Griffin 
Date: Wed, 3 Aug 2016 15:02:04 -0500
Subject: [PATCH 1/2] gnu: Add bs1770gain.

* gnu/packages/video.scm (bs1770gain): New variable.
---
 gnu/packages/video.scm | 23 +++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index e3da8f1..169cbb5 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -1562,3 +1562,26 @@ and MPEG system streams.")
license:lgpl2.1
license:lgpl2.1+
license:gpl2
+
+(define-public bs1770gain
+  (package
+(name "bs1770gain")
+(version "0.4.10")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append "mirror://sourceforge/bs1770gain/bs1770gain/"
+   version "/bs1770gain-" version ".tar.gz"))
+   (sha256
+(base32
+ "1syr8qchs8091z9ayivj723szlidx81gll099bmk9kgpykmckd62"
+(build-system gnu-build-system)
+(inputs `(("ffmpeg" ,ffmpeg)
+  ("sox" ,sox)))
+(home-page "http://bs1770gain.sourceforge.net/";)
+(synopsis "Tool to adjust loudness of media files")
+(description
+ "BS1770GAIN is a loudness scanner compliant with ITU-R BS.1770 and its
+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)))
-- 
2.9.2



Re: [PATCH] gnu: beets: Update to 1.3.19.

2016-08-03 Thread Alex Griffin
On Fri, Jul 29, 2016, at 06:24 PM, Leo Famulari wrote:
> > (I'm also working on a few more patches to enable more beets plugins.
> > They'll probably be ready sometime this weekend.)
> 
> Doubly awesome!

The most important plugin that I'm missing is the replaygain plugin, and
I've got it working on my system now. There are multiple replaygain
backends, and I wanted the bs1770gain backend, so I created a package
for that. I started to make some related changes in the beets package
too, but I'm not sure if it's worth the trouble.

If a user (1) installs bs1770gain into their profile, and (2) edits
their config file to use that backend, then the replaygain plugin works
fine. The nix package does a lot of patching to make both of those step
unnecessary, but it seems like overkill to me.

The 'convert' plugin is similar in that it doesn't work OOTB, but it can
be fixed by the user without modifying beets (just install ffmeg or
configure it to use other commands for conversion).

WDYT?

> By the way, Beets says that the next version will be compatible with
> Python 3:
> https://twitter.com/b33ts/status/746871072436289537
> 
> When that release comes, let's take the opportunity to update Beets's
> entire dependency graph.

Nice! Sounds good to me.
-- 
Alex Griffin



Re: License auditing

2016-08-03 Thread David Craven
I found a promising package to help with license auditing. It's not
perfect judging from the bug reports, but it seems pretty nice. It is
the only option I found which is intended for scripted usage (has a
nice cli interface). I'll package it tomorrow. Interesting would be to
write a plugin for guix to see how it's findings compare to the
licenses declared in guixsd.

[0] 
https://github.com/nexB/scancode-toolkit/blob/develop/src/scancode/cli.py#L204



Re: [PATCH] gnu: add kicad

2016-08-03 Thread Danny Milosavljevic
Hi Leo,

On Mon, 23 May 2016 00:13:19 -0400
Leo Famulari  wrote:

> Danny, are you still interested in working on it? 

Yeah. 

> I noticed on the KiCad download page [0] some instructions to set the
> version string, and other useful build-time configurations. Do you think
> it would be appropriate to apply them?

Yes.

> -DKICAD_SCRIPTING=ON -DKICAD_SCRIPTING_MODULES=ON 
> -DKICAD_SCRIPTING_WXPYTHON=ON
> --
> 
[...skipped...]
> > + ; TODO -DKICAD_SCRIPTING=ON
> > + ; TODO -DKICAD_SCRIPTING_MODULES=ON
> > + ; TODO -DKICAD_SCRIPTING_WXPYTHON=ON  
> 
> What features are missing without them? 

These are recommended for scripting in Kicad.

>What is OpenSSL / TLS support used for?

Good question - I'll try to find out.

> > +   ; TODO optional doxygen for source docs  
> 
> Do we just need to add doxygen to native-inputs?

Yeah.

> > +   (inputs  
> [...]
> > +   ("libressl" ,libressl)  
> 
> Unusual choice but I don't object to it. This would be the first package
> to refer to libressl in our tree.

We can also use openssl, I don't have a strong preference, really. Both 
projects seem to merge each other's security patches so we can also use openssl.

> > +   (description "Electronics Design Automation Suite")  
> 
> This should be more descriptive in the final patch.

Yeah, what about "KiCad is an Electronics Design Automation Suite. It allows 
you to edit schematics, edit printed circuit boards, generate Gerbers and 
calculate track widths." ?

> > +; TODO extra options for Python (which) and for version.  
> 
> Ah, I see you noticed the text on the download page :)

:)

> > +; TODO kicad-doc, kicad-library, kicad-footprints  
> 
> Do we need to add the library and footprints at the same time as KiCad
> itself, or can they come later?

You can create your own footprints and schematic library in KiCad, so they are 
not vital. However, it would be a liiittle bit annoying to use.

The footprints contain different physical sizes and layouts of electronic 
components.

The library contains model numbers (and sometimes vendors) for a given 
function. You can ask something like "What AC/DC converters are there and what 
can they do?"; 

also: What are the functions of the pins on this one" etc.



[PATCH] gnu: libpsl: Update to 0.14.0.

2016-08-03 Thread Tobias Geerinckx-Rice
* gnu/packages/web.scm (libpsl): Update to 0.14.0.
---
 gnu/packages/web.scm | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index fa791ff..df76273 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -14,6 +14,7 @@
 ;;; Copyright © 2016 Ben Woodcroft 
 ;;; Copyright © 2016 Clément Lassieur 
 ;;; Copyright © 2016 ng0 
+;;; Copyright © 2016 Tobias Geerinckx-Rice 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -453,7 +454,7 @@ for efficient socket-like bidirectional reliable 
communication channels.")
 (define-public libpsl
   (package
 (name "libpsl")
-(version "0.13.0")
+(version "0.14.0")
 (source (origin
   (method url-fetch)
   (uri (string-append "https://github.com/rockdaboot/libpsl/";
@@ -461,7 +462,7 @@ for efficient socket-like bidirectional reliable 
communication channels.")
   "/libpsl-" version ".tar.gz"))
   (sha256
(base32
-"0afn2c4s2m65xifa5sfdll0s2gyqbh2q9k9nq4nsmx1b6c2i3i7x"
+"1yrfkwjw5b9y9qb4xqw7g0hk0wdscay701c1wkg8fp7lxny99iz8"
 (build-system gnu-build-system)
 (inputs
  `(("icu4c" ,icu4c)
-- 
2.9.0




Re: [PATCH] gnu: Add p7zip.

2016-08-03 Thread Kei Kebreau
Kei Kebreau  writes:

> Ricardo Wurmus  writes:
>
>> Hi Kei,
>>
>>> This patch should install p7zip correctly on every architecture
>>> supported by Guix. Ideally, this should be tested it on each arch for
>>> the sake of completeness and safety. I've got x86_64 covered so far. :-)
>>
>> thank you for this patch!
>>
>> I see that you took care of removing non-free parts in a patch and a
>> build phase.  Since “guix build -S p7zip” doesn’t run the build phase
>> users would still end up with a source archive containing the non-free
>> parts.  The best way is thus to remove things in a snippet.
>>
>> In “shogun” from the “machine-learning” module we remove supporting code
>> for non-free features in a snippet by cutting out anything between some
>> ifdef markers, but looking at the patch I see that it wouldn’t be
>> feasible for p7zip.
>>
>
> Perhaps I can just clear the non-free files and add that to the patch?

Never mind, I read your email incorrectly. After looking at many of the
snippets in the Guix tree, I agree that the equivalent for p7zip would
be quite large and unwieldy. Perhaps there is pre-sanitized p7zip code to
pull from if a patch can't be used?


signature.asc
Description: PGP signature


Unpatched security flaws in GNU IceCat 38

2016-08-03 Thread Mark H Weaver
I'm sorry to report that GNU IceCat 38 can no longer be safely used, due
to critical security flaws that are believed to allow remote code
execution.  I was unable to backport upstream fixes from 45.3 to 38.

Until IceCat 45.3 is available, I recommend that you use Epiphany.

   Regretfully,
  Mark



[PATCH] gnu: Add ola.

2016-08-03 Thread rennes

Hello Guix,


Date: Wed, 03 Aug 2016 09:14:09 -0400
From: John J Foerch 

Hi, I have a favor to ask of anybody in the guix community - is there
anybody who would be willing to finish this package for me, since I
can't build and test it?  This is a library that I need to use, but
maybe the only way that I can use it (until I upgrade my computer) will
be to install it as a substitute.

Or are there any other suggestions for how I can build this myself?



I attached the patch with some modifications for your review.
I compiled and installed the ola package correctly.

John, how I can make a real test to see if it works?


ThanksFrom 562f3f6d4446fa68c21f1c42c0f39bf2ac145935 Mon Sep 17 00:00:00 2001
From: Rene Saavedra 
Date: Wed, 3 Aug 2016 21:36:52 -0500
Subject: [PATCH] gnu: Add ola.
	 
	* gnu/packages/ola.scm (ola): New variable.

---
 gnu/packages/ola.scm | 66 
 1 file changed, 66 insertions(+)
 create mode 100644 gnu/packages/ola.scm

diff --git a/gnu/packages/ola.scm b/gnu/packages/ola.scm
new file mode 100644
index 000..826c989
--- /dev/null
+++ b/gnu/packages/ola.scm
@@ -0,1 +1,66 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2016 John J. Foerch 
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see .
+
+(define-module (gnu packages ola)
+  #:use-module (guix build-system gnu)
+  #:use-module (guix download)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix packages)
+  #:use-module (gnu packages bison)
+  #:use-module (gnu packages check)
+  #:use-module (gnu packages compression)
+  #:use-module (gnu packages flex)
+  #:use-module (gnu packages linux)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages protobuf))
+
+(define-public ola
+  (package
+(name "ola")
+(version "0.10.2")
+(source (origin
+  (method url-fetch)
+  (uri (string-append
+"https://github.com/OpenLightingProject/ola/releases/download/";
+version "/ola-" version ".tar.gz"))
+  (sha256
+   (base32
+"09zx1c8nkj29shfdzkahrh9397m3mwnsy0gj7jrb63f89f3n2vlq"
+(build-system gnu-build-system)
+(native-inputs
+ `(("bison" ,bison)
+   ("cppunit" ,cppunit)
+   ("flex" ,flex)
+   ("pkg-config" ,pkg-config)))
+(inputs
+ `(("libuuid" ,util-linux)
+   ("protobuf" ,protobuf)
+   ("zlib" ,zlib)))
+(arguments
+ `(#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
+   #:phases %standard-phases))
+(synopsis "Framework for controlling entertainment lighting equipment")
+(description "The Open Lighting Architecture is a framework for lighting
+control information.  It supports a range of protocols and over a dozen USB
+devices.  It can run as a standalone service, which is useful for converting
+signals between protocols, or alternatively using the OLA API, it can be used
+as the backend for lighting control software.  OLA runs on many different
+platforms including ARM, which makes it a perfect fit for low cost Ethernet to
+DMX gateways.")
+(home-page "https://www.openlighting.org/ola";)
+(license license:lgpl2.1+)))
-- 
2.6.3



Re: bug#20067: [PATCH] system: grub: Introduce foreign-menu-entry.

2016-08-03 Thread Chris Marusich
l...@gnu.org (Ludovic Courtès) writes:

> I still think that the approach proposed at
>  is more
> appropriate; ‘menu-entry’ would always work, no duplication would be
> necessary.
>
> As a stop-gap measure, I would prefer to (1) allow:
>
>   (menu-entry
> ;; …
> (linux #~(string-append #$kernel "/bzImage")))
>
> (2) remove the “/bzImage” assumption and use the above idiom everywhere
> in the current code, and (3) and have a hack along these lines to
> correctly interpret (string-append …) in the ‘parameters’ file:
>
>
> diff --git a/gnu/system.scm b/gnu/system.scm
> index d6bf6c4..467d907 100644
> --- a/gnu/system.scm
> +++ b/gnu/system.scm
> @@ -766,7 +766,11 @@ this file is the reconstruction of GRUB menu entries for 
> old configurations."
>   (boot-parameters
>(label label)
>(root-device root)
> -  (kernel linux)
> +  (kernel (match linux
> +(('string-append (? string? strings) ...)
> + (string-concatenate strings))
> +(_
> + linux)))
>(kernel-arguments
> (match (assq 'kernel-arguments rest)
>   ((_ args) args)
>
>
> Thoughts?

Yes, that approach seems better to me.

-- 
Chris


signature.asc
Description: PGP signature


Mysterious error while refactoring guix/scripts/system.scm

2016-08-03 Thread Chris Marusich
Hi,

In my local Guix git repo, I've made the attached change on top of
commit 7972d8a2e98af6592050a37036c2c80a01358fcf.  I was surprised to
find that when I built it and ran './pre-inst-env guix system
list-generations', the following error occurred:

--8<---cut here---start->8---
Backtrace:
In ice-9/boot-9.scm:
 157: 19 [catch system-error ...]
In guix/scripts/system.scm:
 884: 18 [#]
 818: 17 [process-command list-generations () ...]
In guix/store.scm:
1182: 16 [run-with-store # ...]
In guix/scripts/system.scm:
 819: 15 [# #]
In guix/packages.scm:
1092: 14 [# #]
 734: 13 [cache! # # # ...]
1038: 12 [thunk]
 970: 11 [bag->derivation # # #]
In srfi/srfi-1.scm:
 578: 10 [map # #]
In guix/packages.scm:
 794: 9 [expand-input # # # ...]
In guix/store.scm:
1182: 8 [run-with-store # ...]
In guix/packages.scm:
1140: 7 [# #]
In guix/download.scm:
 326: 6 [# #]
In guix/store.scm:
1105: 5 [# #]
In guix/packages.scm:
 734: 4 [cache! # # # ...]
1038: 3 [thunk]
In gnu/packages/bootstrap.scm:
 191: 2 [raw-build # "guile-bootstrap-2.0" ...]
In gnu/packages.scm:
  91: 1 [search-bootstrap-binary "tar" #]
In unknown file:
   ?: 0 [string-append # "/" "tar"]

ERROR: In procedure string-append:
ERROR: In procedure string-append: Wrong type (expecting string): #
--8<---cut here---end--->8---

I don't have much experience (yet!) debugging Guile programs, so I
haven't been able to understand the cause of the issue despite my
attempts.  Can anyone help me understand the problem, or provide tips on
how to debug this more effectively?

The motivation for this refactoring is as follows.  I want to eventually
add procedures 'roll-back-system' and 'switch-to-system-generation',
which respectively roll the system back to a previous generation, and
switch to an existing generation.  These new procedures will require
access to the store (e.g., to regenerate grub.cfg).  I must invoke those
procedures somewhere in (guix scripts system), and the obvious place to
do that is inside the 'process-action' procedure.

However, that procedure is written with the assumption that the action
requires an operating system configuration file.  My two new procedures
don't require that.  So, instead, I thought it would be easiest to pull
the store monad setup logic (the 'with-store' stuff) up one level into
the procedure 'process-command' and call my two new procedures inside
the 'process-command' procedure.  It looked to me like there was nothing
specific about the store monad setup logic that required it to exist in
the 'process-action' procedure, so I thought this refactoring would be
simple and clean.  I was apparently wrong, but I can't see why.

This is the last thing blocking me from submitting patches to the email
list which add system roll-back and switch-generation commands to
GuixSD.  I have a series of commits on a branch in my Guix git repo
which implement system-rollback and switch-generation.  If you'd like to
see them for more context, please let me know and I'll provide them,
too.  Thank you!

-- 
Chris
From 1f3a08b080c75b9be7c74235637cce0f91a249d5 Mon Sep 17 00:00:00 2001
From: Chris Marusich 
Date: Wed, 3 Aug 2016 00:39:39 -0700
Subject: [PATCH] Refactor process-action and process-command

---
 guix/scripts/system.scm | 73 -
 1 file changed, 36 insertions(+), 37 deletions(-)

diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm
index e2c6b2e..8302d57 100644
--- a/guix/scripts/system.scm
+++ b/guix/scripts/system.scm
@@ -785,47 +785,46 @@ resulting from command-line parsing."
 (grub-configuration-device
  (operating-system-bootloader os)
 
-(with-store store
-  (set-build-options-from-command-line store opts)
-
-  (run-with-store store
-(mbegin %store-monad
-  (set-guile-for-build (default-guile))
-  (case action
-((extension-graph)
- (export-extension-graph os (current-output-port)))
-((shepherd-graph)
- (export-shepherd-graph os (current-output-port)))
-(else
- (perform-action action os
- #:dry-run? dry?
- #:derivations-only? (assoc-ref opts
-'derivations-only?)
- #:use-substitutes? (assoc-ref opts 'substitutes?)
- #:image-size (assoc-ref opts 'image-size)
- #:full-boot? (assoc-ref opts 'full-boot?)
- #:mappings (filter-map (match-lambda
-  (('file-system-mapping . m)
-   m)
-  (_ #f))
-opts)
- 

Re: [PATCH] system: grub: Introduce foreign-menu-entry.

2016-08-03 Thread Chris Marusich
Tomáš Čech  writes:

> I'd like to store configuration of other linux distribution and so far
> I haven't found how to override hardcoded bzImage suffix.
>
> With this change I can have configuration:
>
> (bootloader (grub-configuration
> (device "/dev/sda")
> (menu-entries
>  (list
>   (foreign-menu-entry
>(label "openSUSE")
>(device "(hd0,1)")
>(linux "/vmlinuz")
>(linux-arguments (list
>  "root=/dev/venom/opensuse"
>  "init=/usr/lib/systemd/systemd"))
>(initrd "/initrd")
>)
>
> which will transform to:
>
> menuentry "openSUSE" {
>  linux (hd0,1)/vmlinuz root=/dev/venom/opensuse init=/usr/lib/systemd/systemd
>  initrd (hd0,1)/initrd
> }

I see!  Yes, I agree it would be nice to be able to do that.

> My intention was to introduce new record type to distinguish between
> menu-entry and foreign-menu-entry later in the code. Different type,
> different interpretation.

I see what you're saying, but I think the alternative which Ludo
proposed in the following bug report is cleaner because it re-uses the
existing record type:

http://debbugs.gnu.org/cgi/bugreport.cgi?bug=20067

What do you think?

> Code was using match-lambda so defining new type to distinguish the
> cases seemed to me natural. Again, I'm new to Guile and I'd like to
> see how to do that right. This worked for me as first solution.

That's totally understandable.  I'm new to Guile, also, so I might not
always be right, either.  Thank you for taking the time to submit a
patch to improve the project!

-- 
Chris


signature.asc
Description: PGP signature