[PATCHES] Add libotr and bitlbee.

2014-03-05 Thread Mark H Weaver
These patches add bitlbee and two versions of libotr (the latest and an
older version needed by bitlbee).  Along the way I discovered and fixed
some bugs in bitlbee and will report them upstream soon.

Mark

>From 6ece020375232d3fab6c8c1dc16e1ae0031617ba Mon Sep 17 00:00:00 2001
From: Mark H Weaver 
Date: Wed, 5 Mar 2014 19:12:19 -0500
Subject: [PATCH 1/2] gnu: Add libotr.

* gnu/packages/messaging.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
---
 gnu-system.am  |  3 +-
 gnu/packages/messaging.scm | 68 ++
 2 files changed, 70 insertions(+), 1 deletion(-)
 create mode 100644 gnu/packages/messaging.scm

diff --git a/gnu-system.am b/gnu-system.am
index 7b620c3..8f5e445 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -1,7 +1,7 @@
 # GNU Guix --- Functional package management for GNU
 # Copyright © 2012, 2013, 2014 Ludovic Courtès 
 # Copyright © 2013 Andreas Enge 
-# Copyright © 2013 Mark H Weaver 
+# Copyright © 2013, 2014 Mark H Weaver 
 #
 # This file is part of GNU Guix.
 #
@@ -144,6 +144,7 @@ GNU_SYSTEM_MODULES =\
   gnu/packages/mail.scm\
   gnu/packages/make-bootstrap.scm		\
   gnu/packages/maths.scm			\
+  gnu/packages/messaging.scm			\
   gnu/packages/mit-krb5.scm			\
   gnu/packages/moe.scm\
   gnu/packages/mpd.scm\
diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
new file mode 100644
index 000..34efa85
--- /dev/null
+++ b/gnu/packages/messaging.scm
@@ -0,0 +1,68 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2014 Mark H Weaver 
+;;;
+;;; 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 messaging)
+  #:use-module (guix licenses)
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix build-system gnu)
+  #:use-module (gnu packages gnupg))
+
+(define-public libotr
+  (package
+(name "libotr")
+(version "4.0.0")
+(source (origin
+  (method url-fetch)
+  (uri (string-append "https://otr.cypherpunks.ca/libotr-";
+  version ".tar.gz"))
+  (sha256
+   (base32 "1d4k0b7v4d3scwm858cmqr9c6xgd6ppla1vk4x2yg64q82a1k49z"
+(build-system gnu-build-system)
+(propagated-inputs
+ `(("libgcrypt" ,libgcrypt)))  ; libotr headers include gcrypt.h
+(inputs `(("libgpg-error" ,libgpg-error)))
+(arguments
+ `(#:configure-flags '("--with-pic")))
+(synopsis "Off-the-Record (OTR) Messaging Library and Toolkit")
+(description
+ "OTR allows you to have private conversations over instant messaging by
+providing:
+* Encryption: No one else can read your instant messages.
+* Authentication: You are assured the correspondent is who you think it is.
+* Deniability: The messages you send do not have digital signatures that are
+  checkable by a third party.  Anyone can forge messages after a conversation
+  to make them look like they came from you.  However, during a conversation,
+  your correspondent is assured the messages he sees are authentic and
+  unmodified.
+* Perfect forward secrecy: If you lose control of your private keys, no
+  previous conversation is compromised.")
+(home-page "https://otr.cypherpunks.ca/";)
+(license (list lgpl2.1 gpl2
+
+(define-public libotr-3
+  (package (inherit libotr)
+(version "3.2.1")
+(source (origin
+  (method url-fetch)
+  (uri (string-append "https://otr.cypherpunks.ca/libotr-";
+  version ".tar.gz"))
+  (sha256
+   (base32 "1x6dd4rh499hdraiqfhz81igrj0a5rs0gjhc8l4sljwqhjjyla6l"))
+
+;;; messaging.scm ends here
-- 
1.8.4

>From f33fa7dda84c90e002a5efa9a173263e910e9c76 Mon Sep 17 00:00:00 2001
From: Mark H Weaver 
Date: Thu, 6 Mar 2014 00:07:07 -0500
Subject: [PATCH 2/2] gnu: Add bitlbee.

* gnu/packages/messaging.scm (bitlbee): New variable.
* gnu/packages/patches/bitlbee-fix-tests.patch: New file.
* gnu/packages/patches/bitlbee-memset-fix.patch: New file.
* gnu-system.am (dist_patch_DATA): Add patches.
---
 gnu-system.am |  2 +
 gnu/packages/messaging.scm| 59 ++-
 gnu/packages/patches/bitlbee-fix-tests.patch  | 33 +++
 gnu/packages/patch

Re: [GSoC] Package management from Emacs

2014-03-05 Thread Xue Fuqiao
Grim Schjetne  writes:

> l...@gnu.org (Ludovic Courtès) writes:
>
>> Xue Fuqiao  skribis:
>>> `r'
>>>  Refresh the package list (`guix-refresh').  This recomputes the
>>>  package list.
>>
>> Perhaps there should be something that runs ‘guix pull’ too (it’s like
>> ‘apt-get update’)?
>
> Isn't this type of operation usually bound to ‘g’? Or perhaps it would
> be appropriate to have both, where one of them also runs ‘guix pull’?

In Package Menu mode, `package-menu-refresh' is bound to `r', and
`revert-buffer' (which uses `revert-buffer-function') is bind to `g'
(since it is derived from `special-mode').  ISTM their funcions are the
same, but I'm not sure.  I'll look into them later.

-- 
http://www.gnu.org/software/emacs/




Re: [GSoC] Package management from Emacs

2014-03-05 Thread Grim Schjetne
l...@gnu.org (Ludovic Courtès) writes:

> Xue Fuqiao  skribis:
>> `r'
>>  Refresh the package list (`guix-refresh').  This recomputes the
>>  package list.
>
> Perhaps there should be something that runs ‘guix pull’ too (it’s like
> ‘apt-get update’)?

Isn't this type of operation usually bound to ‘g’? Or perhaps it would
be appropriate to have both, where one of them also runs ‘guix pull’?

--
GS



Re: [GSoC] Package management from Emacs

2014-03-05 Thread Xue Fuqiao
Hi Ludovic,

l...@gnu.org (Ludovic Courtès) writes:
>> The command `guix-describe-package' (I haven't come up with a good key
>> binding yet) can prompt for the name of a package, and display a help
>> buffer describing the package.  The buffer includes the name, version,
>> source, dependencies, home page, license(s) and other descriptions of
>> the package.
>
> There should also be a link to jump to the package definition, pretty
> much like that of Emacs’ and Geiser’s docstring buffers.
>
> Optionally, the package’s logo could be displayed too (see
> build-aux/list-packages.scm, which does that for the HTML output.)

Good suggestions.

> Also, I think there should be a search facility, with incremental search
> fashion.  For instance, you could type ‘S’, enter a “C lib”, and that
> would restrict the package list to the packages that show up in ‘guix
> package -S "C lib"’.

Fair enough.  (Although it should be in the `*Guix Packages*' buffer
described below instead of in the package describe buffer :-)

>> `M-x guix-list-packages' will bring up a buffer named `*Guix Packages*'
>> with a list of all packages.  You can install or uninstall packages via
>> this buffer.  See my attached image for the prototype of this buffer.
>
> Perfect.

Thanks.

> Ideally, new packages (obtained via ‘guix pull’) would show up first,
> highlighted, as with package.el.  That requires support from ‘guix
> pull’, but that’s on the to-do list.

Fine with me.

>> `r'
>>  Refresh the package list (`guix-refresh').  This recomputes the
>>  package list.
>
> Perhaps there should be something that runs ‘guix pull’ too (it’s like
> ‘apt-get update’)?

Right.  And that's exactly what this command do, I think.

>> `R'
>>  Roll back to the previous generation of the profile
>>  (`guix-roll-back').  This undo the last transaction.  (Do we need a
>>  "roll back" mark?)
>
> OK for ‘R’.
>
> We don’t need a roll-back mark, I think, because you’re rolling back to
> the previous generation; it’s not a per-package operation.

Fair enough.

> I was thinking it would also be neat to have a way to visualize
> generations, basically a “graphical” and interactive representation of
> what ‘guix package --list-generations’ provides.  That would show, for
> instance, the date of the generations and the changes compared to the
> previous one, and would make it easy to roll back to a specific
> generation.
>
> Perhaps we can keep that last thing as an bonus work item.  How do you
> feel about it?

Cool.  Fine with me as an bonus work item.  Thanks for your attention
and suggestions.  I'll continue learning the tools.

-- 
http://www.gnu.org/software/emacs/




[PATCH] gnu: Add ncmpc

2014-03-05 Thread David Thompson
Hello all,

This patch adds a package recipe for ncmpc, a music player daemon
client.

How does it look?

- Dave

>From c60b3b94bf3ea0981ec9be453036f1c57aed4f0f Mon Sep 17 00:00:00 2001
From: David Thompson 
Date: Wed, 5 Mar 2014 20:45:55 -0500
Subject: [PATCH] gnu: Add ncmpc.

* gnu/packages/mpd.scm (ncmpc): New variable.
---
 gnu/packages/mpd.scm | 28 +++-
 1 file changed, 27 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/mpd.scm b/gnu/packages/mpd.scm
index b2c5dec..00f766f 100644
--- a/gnu/packages/mpd.scm
+++ b/gnu/packages/mpd.scm
@@ -29,13 +29,15 @@
   #:use-module (gnu packages glib)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages mp3)
+  #:use-module (gnu packages ncurses)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages pulseaudio)
   #:use-module (gnu packages sqlite)
   #:use-module (gnu packages video)
   #:use-module (gnu packages xiph)
   #:export (libmpdclient
-mpd))
+mpd
+ncmpc))
 
 (define libmpdclient
   (package
@@ -121,3 +123,27 @@ can play a variety of sound files while being controlled by its network
 protocol.")
 (home-page "http://www.musicpd.org/";)
 (license license:gpl2)))
+
+(define ncmpc
+  (package
+(name "ncmpc")
+(version "0.21")
+(source (origin
+  (method url-fetch)
+  (uri
+   (string-append "http://musicpd.org/download/ncmpc/";
+  (car (string-split version #\.))
+  "/ncmpc-" version ".tar.gz"))
+  (sha256
+   (base32
+"1gpy6rr0awl6xgkswmr8rdvqfkrz83rmwk441c00a9d4z3zb1a16"
+(build-system gnu-build-system)
+(inputs `(("glib" ,glib)
+  ("libmpdclient" ,libmpdclient)
+  ("pkg-config" ,pkg-config)
+  ("ncurses" ,ncurses)))
+(synopsis "A curses Music Player Daemon client")
+(description "ncmpc is a fully featured MPD client, which runs in a
+terminal using ncurses.")
+(home-page "http://www.musicpd.org/clients/ncmpc/";)
+(license license:gpl2)))
-- 
1.8.5.3



[PATCH] gnu: gnupg: Add support for version 1.4.16

2014-03-05 Thread Mark H Weaver
>From 90929b7126a6676ca30f8e968d4b6ca3e10a4d3d Mon Sep 17 00:00:00 2001
From: Mark H Weaver 
Date: Wed, 5 Mar 2014 16:21:24 -0500
Subject: [PATCH] gnu: gnupg: Add support for version 1.4.16.

* gnu/packages/gnupg.scm (gnupg-1): New variable.
---
 gnu/packages/gnupg.scm | 26 ++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm
index 85ce076..f9f7290 100644
--- a/gnu/packages/gnupg.scm
+++ b/gnu/packages/gnupg.scm
@@ -2,6 +2,7 @@
 ;;; Copyright © 2012, 2013, 2014 Ludovic Courtès 
 ;;; Copyright © 2013 Andreas Enge 
 ;;; Copyright © 2014 Eric Bavier 
+;;; Copyright © 2014 Mark H Weaver 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -213,6 +214,31 @@ components), libgpg-error (centralized GnuPG error values), and libskba
 (working with X.509 certificates and CMS data).")
 (license gpl3+)))
 
+(define-public gnupg-1
+  (package (inherit gnupg)
+(version "1.4.16")
+(source
+ (origin
+  (method url-fetch)
+  (uri (string-append "mirror://gnupg/gnupg/gnupg-" version
+  ".tar.bz2"))
+  (sha256
+   (base32
+"0bsa1yqa3ybhvmc4ys73amdpcmckrlq1fsxjl2980cxada778fvv"
+(inputs
+ `(("zlib" ,guix:zlib)
+   ("bzip2" ,guix:bzip2)
+   ("curl" ,curl)
+   ("readline" ,readline)
+   ("libgpg-error" ,libgpg-error)))
+(arguments
+ `(#:phases (alist-cons-after
+ 'unpack 'patch-check-sh
+ (lambda _
+   (substitute* "checks/Makefile.in"
+ (("/bin/sh") (which "bash"
+ %standard-phases)
+
 (define-public gpgme
   (package
 (name "gpgme")
-- 
1.8.4




Re: master: FAIL: tests/store.scm

2014-03-05 Thread Ludovic Courtès
Nikita Karetnikov  skribis:

>> Yes, some of the tests involve downloading a couple of packages, and
>> building them.  This takes a while the first time you run ‘make check’,
>> but is fast in subsequent runs (unless you removed ‘test-tmp’.)
>
> Now ‘tests/store’ fails on ece262461625e80957d904f39a6818286099d367.

Can you post tests/store.log as well?

Ludo’.



Re: core-updates: coreutils: FAIL: tests/misc/nohup

2014-03-05 Thread Ludovic Courtès
Cyril Roelandt  skribis:

> On 03/04/2014 06:10 PM, Ludovic Courtès wrote:
>> Cyril Roelandt  skribis:
>>
>>> On 03/04/2014 10:35 AM, Nikita Karetnikov wrote:
 ./tests/misc/nohup.sh: line 66: /dev/tty: No such device or address
 + fail=1
>>>
>>> ./tests/misc/nohup.sh: line 66: /dev/tty: No such device or address
>>> + fail=1
>>>
>>> Hum, this should probably be disabled :) I don't think we can access
>>> /dev/tty inside the chroot... Or maybe we could run 'mknod' before the
>>> check' phase ? WDYT ?
>>
>> I’ve seen it on Hydra before.  Could you come up with a patch that does
>> ‘test -f /dev/tty || exit 77’ in that test, and also submit it to
>> bug-coreut...@gnu.org?
>>
>
> It is currently discussed here:
> http://lists.gnu.org/archive/html/bug-coreutils/2014-03/msg00017.html. I'll
> push their patch to core-udpates when it lands in coreutils.

Perfect, thank you!

Ludo’.



Re: core-updates: FAIL: tests/builders.scm; tests/packages.scm; tests/store.scm

2014-03-05 Thread Nikita Karetnikov
> Could you send test-suite.log and tests/{builders,packages,store}.log?
> (Note: tests/foo.log is different from foo.log!)

I can reproduce only the ‘tests/store’ failure on
1faca892a35941b6eed2d6c04478f9f77ab81e15.

accepted connection from pid 1942, uid 1000
;;; note: auto-compilation is enabled, set GUILE_AUTO_COMPILE=0
;;;   or pass the --no-auto-compile argument to disable.
;;; compiling /home/tester/guix-test3/nix/scripts/list-runtime-roots
;;; compiled 
/home/tester/guix-test3/test-tmp/var/1937/cache-1937/guile/ccache/2.0-LE-4-2.0/home/tester/guix-test3/nix/scripts/list-runtime-roots.go
accepted connection from pid 1942, uid 1000
accepted connection from pid 1942, uid 1000
4 operations
27 operations
accepted connection from pid 1942, uid 1000
accepted connection from pid 1942, uid 1000
finding garbage collector roots...
removing stale temporary roots file 
`/home/tester/guix-test3/test-tmp/var/1937/temproots/1947'
determining live/dead paths...
finding garbage collector roots...
deleting unused links...
@ build-started 
/home/tester/guix-test3/test-tmp/store/bsmqh4ci0i71w2wdpvflyl398rhis28r-the-thing.drv
 - i686-linux 
/home/tester/guix-test3/test-tmp/var/log/nix/drvs/bs//mqh4ci0i71w2wdpvflyl398rhis28r-the-thing.drv.bz2
@ build-succeeded 
/home/tester/guix-test3/test-tmp/store/bsmqh4ci0i71w2wdpvflyl398rhis28r-the-thing.drv
 -
killing process 1974
@ build-started 
/home/tester/guix-test3/test-tmp/store/vv356jq54l0h75lw0k8gz9m229av85gd-the-thing.drv
 - i686-linux 
/home/tester/guix-test3/test-tmp/var/log/nix/drvs/vv//356jq54l0h75lw0k8gz9m229av85gd-the-thing.drv.bz2
@ build-succeeded 
/home/tester/guix-test3/test-tmp/store/vv356jq54l0h75lw0k8gz9m229av85gd-the-thing.drv
 -
killing process 1997
@ build-started 
/home/tester/guix-test3/test-tmp/store/67rrfrilz68kk4ai3anx47a3lnkmhjia-the-thing.drv
 - i686-linux 
/home/tester/guix-test3/test-tmp/var/log/nix/drvs/67//rrfrilz68kk4ai3anx47a3lnkmhjia-the-thing.drv.bz2
@ build-succeeded 
/home/tester/guix-test3/test-tmp/store/67rrfrilz68kk4ai3anx47a3lnkmhjia-the-thing.drv
 -
killing process 2020
@ substituter-started 
/home/tester/guix-test3/test-tmp/store/rq216m3qbzs9a3zccqrq8i5xyy5m205i-substitute-me
 /home/tester/guix-test3/nix/scripts/substitute-binary
downloading 
`/home/tester/guix-test3/test-tmp/store/rq216m3qbzs9a3zccqrq8i5xyy5m205i-substitute-me'
 from 
`file:/home/tester/guix-test3/test-tmp/var/1937/substituter-data/example.nar' 
(0.0 MiB installed)...

file:///.../example.nar 100.0% of 0.2 KiB@ substituter-succeeded 
/home/tester/guix-test3/test-tmp/store/rq216m3qbzs9a3zccqrq8i5xyy5m205i-substitute-me
@ substituter-started 
/home/tester/guix-test3/test-tmp/store/vd71lgzjf0x2z1nm3hj443mvbqd5ash4-substitute-me-not
 /home/tester/guix-test3/nix/scripts/substitute-binary
downloading 
`/home/tester/guix-test3/test-tmp/store/vd71lgzjf0x2z1nm3hj443mvbqd5ash4-substitute-me-not'
 from 
`file:/home/tester/guix-test3/test-tmp/var/1937/substituter-data/does-not-exist.nar'
 (0.0 MiB installed)...
Backtrace:
In ice-9/boot-9.scm:
 157: 13 [catch #t # ...]
In unknown file:
   ?: 12 [apply-smob/1 #]
In ice-9/boot-9.scm:
  63: 11 [call-with-prompt prompt0 ...]
In ice-9/eval.scm:
 432: 10 [eval # #]
In ice-9/boot-9.scm:
2320: 9 [save-module-excursion #]
3966: 8 [#]
1645: 7 [%start-stack load-stack ...]
1650: 6 [#]
In unknown file:
   ?: 5 [primitive-load "/home/tester/guix-test3/scripts/guix"]
In guix/ui.scm:
 597: 4 [run-guix-command substitute-binary "--substitute" ...]
In ice-9/boot-9.scm:
 157: 3 [catch getaddrinfo-error ...]
In guix/scripts/substitute-binary.scm:
 580: 2 [#]
 132: 1 [fetch # # #f ...]
In unknown file:
   ?: 0 [open-file 
"/home/tester/guix-test3/test-tmp/var/1937/substituter-data/does-not-exist.nar" 
...]

ERROR: In procedure open-file:
ERROR: In procedure open-file: No such file or directory: 
"/home/tester/guix-test3/test-tmp/var/1937/substituter-data/does-not-exist.nar"
@ substituter-failed 
/home/tester/guix-test3/test-tmp/store/vd71lgzjf0x2z1nm3hj443mvbqd5ash4-substitute-me-not
 256 fetching path 
`/home/tester/guix-test3/test-tmp/store/vd71lgzjf0x2z1nm3hj443mvbqd5ash4-substitute-me-not'
 failed with exit code 1
@ substituter-started 
/home/tester/guix-test3/test-tmp/store/vd71lgzjf0x2z1nm3hj443mvbqd5ash4-substitute-me-not
 /home/tester/guix-test3/nix/scripts/substitute-binary
downloading 
`/home/tester/guix-test3/test-tmp/store/vd71lgzjf0x2z1nm3hj443mvbqd5ash4-substitute-me-not'
 from 
`file:/home/tester/guix-test3/test-tmp/var/1937/substituter-data/does-not-exist.nar'
 (0.0 MiB installed)...
Backtrace:
In ice-9/boot-9.scm:
 157: 13 [catch #t # ...]
In unknown file:
   ?: 12 [apply-smob/1 #]
In ice-9/boot-9.scm:
  7 operations
5 operations
 Starting test store  (Writing full log to "store.log")
tests/store.scm:182: FAIL topologically-sorted, more difficult

;;; 
("/home/tester/guix-test3/test-tmp/var/log/nix/drvs/vv/356jq54l0h75lw0k8gz9m229av85gd-the-thing.drv.bz2")

;;; 
("/home/tester/guix-test3/test-tmp/var/log/nix/drvs/67/rrfrilz6

master: FAIL: tests/store.scm (was: master: the tests take ages)

2014-03-05 Thread Nikita Karetnikov
> Yes, some of the tests involve downloading a couple of packages, and
> building them.  This takes a while the first time you run ‘make check’,
> but is fast in subsequent runs (unless you removed ‘test-tmp’.)

Now ‘tests/store’ fails on ece262461625e80957d904f39a6818286099d367.


   GNU Guix 0.6: ./test-suite.log


# TOTAL: 26
# PASS:  25
# SKIP:  0
# XFAIL: 0
# FAIL:  1
# XPASS: 0
# ERROR: 0

.. contents:: :depth: 2

FAIL: tests/store
=

accepted connection from pid 25080, uid 1000
;;; note: auto-compilation is enabled, set GUILE_AUTO_COMPILE=0
;;;   or pass the --no-auto-compile argument to disable.
;;; compiling /home/tester/guix-test3/nix/scripts/list-runtime-roots
;;; compiled 
/home/tester/guix-test3/test-tmp/var/25075/cache-25075/guile/ccache/2.0-LE-4-2.0/home/tester/guix-test3/nix/scripts/list-runtime-roots.go
accepted connection from pid 25080, uid 1000
accepted connection from pid 25080, uid 1000
accepted connection from pid 25080, uid 1000
accepted connection from pid 25080, uid 1000
finding garbage collector roots...
removing stale temporary roots file 
`/home/tester/guix-test3/test-tmp/var/25075/temproots/25085'
determining live/dead paths...
finding garbage collector roots...
deleting unused links...
@ build-started 
/home/tester/guix-test3/test-tmp/store/pfh1j0k1irzmw8z6ab77c8nknybjcrfl-the-thing.drv
 - i686-linux 
/home/tester/guix-test3/test-tmp/var/log/nix/drvs/pf//h1j0k1irzmw8z6ab77c8nknybjcrfl-the-thing.drv.bz2
@ build-succeeded 
/home/tester/guix-test3/test-tmp/store/pfh1j0k1irzmw8z6ab77c8nknybjcrfl-the-thing.drv
 -
killing process 25112
@ build-started 
/home/tester/guix-test3/test-tmp/store/sdlzbjmsxdh9wpvs9h64lx32gqkpjdia-the-thing.drv
 - i686-linux 
/home/tester/guix-test3/test-tmp/var/log/nix/drvs/sd//lzbjmsxdh9wpvs9h64lx32gqkpjdia-the-thing.drv.bz2
@ build-succeeded 
/home/tester/guix-test3/test-tmp/store/sdlzbjmsxdh9wpvs9h64lx32gqkpjdia-the-thing.drv
 -
killing process 25135
@ build-started 
/home/tester/guix-test3/test-tmp/store/h2ndpc8i99kl541jzlf40hqmafrmb5i0-the-thing.drv
 - i686-linux 
/home/tester/guix-test3/test-tmp/var/log/nix/drvs/h2//ndpc8i99kl541jzlf40hqmafrmb5i0-the-thing.drv.bz2
@ build-succeeded 
/home/tester/guix-test3/test-tmp/store/h2ndpc8i99kl541jzlf40hqmafrmb5i0-the-thing.drv
 -
killing process 25158
@ substituter-started 
/home/tester/guix-test3/test-tmp/store/13nl05wa3pzshk1729scma5ddlmvjm30-substitute-me
 /home/tester/guix-test3/nix/scripts/substitute-binary
downloading 
`/home/tester/guix-test3/test-tmp/store/13nl05wa3pzshk1729scma5ddlmvjm30-substitute-me'
 from 
`file:/home/tester/guix-test3/test-tmp/var/25075/substituter-data/example.nar' 
(0.0 MiB installed)...

file:///.../example.nar 100.0% of 0.2 KiB@ substituter-succeeded 
/home/tester/guix-test3/test-tmp/store/13nl05wa3pzshk1729scma5ddlmvjm30-substitute-me
@ substituter-started 
/home/tester/guix-test3/test-tmp/store/6q3634xm7xnfzixy431x4r7g18q7p6va-substitute-me-not
 /home/tester/guix-test3/nix/scripts/substitute-binary
downloading 
`/home/tester/guix-test3/test-tmp/store/6q3634xm7xnfzixy431x4r7g18q7p6va-substitute-me-not'
 from 
`file:/home/tester/guix-test3/test-tmp/var/25075/substituter-data/does-not-exist.nar'
 (0.0 MiB installed)...
Backtrace:
In ice-9/boot-9.scm:
 157: 13 [catch #t # ...]
In unknown file:
   ?: 12 [apply-smob/1 #]
In ice-9/boot-9.scm:
  63: 11 [call-with-prompt prompt0 ...]
In ice-9/eval.scm:
 432: 10 [eval # #]
In ice-9/boot-9.scm:
2320: 9 [save-module-excursion #]
3966: 8 [#]
1645: 7 [%start-stack load-stack ...]
1650: 6 [#]
In unknown file:
   ?: 5 [primitive-load "/home/tester/guix-test3/scripts/guix"]
In guix/ui.scm:
 597: 4 [run-guix-command substitute-binary "--substitute" ...]
In ice-9/boot-9.scm:
 157: 3 [catch getaddrinfo-error ...]
In guix/scripts/substitute-binary.scm:
 586: 2 [#]
 133: 1 [fetch # # #f ...]
In unknown file:
   ?: 0 [open-file 
"/home/tester/guix-test3/test-tmp/var/25075/substituter-data/does-not-exist.nar"
 ...]

ERROR: In procedure open-file:
ERROR: In procedure open-file: No such file or directory: 
"/home/tester/guix-test3/test-tmp/var/25075/substituter-data/does-not-exist.nar"
@ substituter-failed 
/home/tester/guix-test3/test-tmp/store/6q3634xm7xnfzixy431x4r7g18q7p6va-substitute-me-not
 256 fetching path 
`/home/tester/guix-test3/test-tmp/store/6q3634xm7xnfzixy431x4r7g18q7p6va-substitute-me-not'
 failed with exit code 1
@ substituter-started 
/home/tester/guix-test3/test-tmp/store/6q3634xm7xnfzixy431x4r7g18q7p6va-substitute-me-not
 /home/tester/guix-test3/nix/scripts/substitute-binary
downloading 
`/home/tester/guix-test3/test-tmp/store/6q3634xm7xnfzixy431x4r7g18q7p6va-substitute-me-not'
 from 
`file:/home/tester/guix-test3/test-tmp/var/25075/substituter-data/does-not-exist.nar'
 (0.0 MiB installed)...
Backtrace:
In ice-9/boot-9.scm:
 157: 13 [catch #t # ...]
In unknown file:
   ?: 12 [apply-smob/1 #]
In ice-9/boot7 operations
27 operations
5 operat

Re: core-updates: coreutils: FAIL: tests/misc/nohup

2014-03-05 Thread Cyril Roelandt

On 03/04/2014 06:10 PM, Ludovic Courtès wrote:

Cyril Roelandt  skribis:


On 03/04/2014 10:35 AM, Nikita Karetnikov wrote:

./tests/misc/nohup.sh: line 66: /dev/tty: No such device or address
+ fail=1


./tests/misc/nohup.sh: line 66: /dev/tty: No such device or address
+ fail=1

Hum, this should probably be disabled :) I don't think we can access
/dev/tty inside the chroot... Or maybe we could run 'mknod' before the
check' phase ? WDYT ?


I’ve seen it on Hydra before.  Could you come up with a patch that does
‘test -f /dev/tty || exit 77’ in that test, and also submit it to
bug-coreut...@gnu.org?



It is currently discussed here: 
http://lists.gnu.org/archive/html/bug-coreutils/2014-03/msg00017.html. 
I'll push their patch to core-udpates when it lands in coreutils.


Cyril.




Re: [PATCH] gnu: Add lynx

2014-03-05 Thread Mark H Weaver
Here's an improved version of this patch that uses GnuTLS instead of
OpenSSL.  Note that even when GnuTLS is configured to support a system
trust store, lynx never uses it.  Instead, you must set the
SSL_CERT_FILE environment variable (even though GnuTLS itself doesn't
look at that variable, but OpenSSL does).

I'm still open to the idea of merging some or all the web clients
(e.g. wget, curl, w3m, icecat) into a single file, but I guess that
should be done in a separate commit.

 Mark


>From 57f3f6ba9efe72bd98bfed44c922e16e6b7398bd Mon Sep 17 00:00:00 2001
From: Mark H Weaver 
Date: Wed, 5 Mar 2014 02:16:06 -0500
Subject: [PATCH] gnu: Add lynx.

* gnu/packages/lynx.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
---
 gnu-system.am |  1 +
 gnu/packages/lynx.scm | 86 +++
 2 files changed, 87 insertions(+)
 create mode 100644 gnu/packages/lynx.scm

diff --git a/gnu-system.am b/gnu-system.am
index becadaa..7b620c3 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -139,6 +139,7 @@ GNU_SYSTEM_MODULES =\
   gnu/packages/lsof.scm\
   gnu/packages/lua.scm\
   gnu/packages/lvm.scm\
+  gnu/packages/lynx.scm\
   gnu/packages/m4.scm\
   gnu/packages/mail.scm\
   gnu/packages/make-bootstrap.scm		\
diff --git a/gnu/packages/lynx.scm b/gnu/packages/lynx.scm
new file mode 100644
index 000..a873166
--- /dev/null
+++ b/gnu/packages/lynx.scm
@@ -0,0 +1,86 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2014 Mark H Weaver 
+;;;
+;;; 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 lynx)
+  #:use-module ((guix licenses) #:select (gpl2))
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix build-system gnu)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages perl)
+  #:use-module (gnu packages ncurses)
+  #:use-module (gnu packages libidn)
+  #:use-module (gnu packages gnutls)
+  #:use-module (gnu packages gnupg)
+  #:use-module (gnu packages zip)
+  #:use-module (gnu packages compression))
+
+(define-public lynx
+  (package
+(name "lynx")
+(version "2.8.8")
+(source (origin
+  (method url-fetch)
+  (uri (string-append "http://lynx.isc.org/lynx"; version
+  "/lynx" version ".tar.bz2"))
+  (sha256
+   (base32 "00jcfmx4bxnrzywzzlllz3z45a2mc4fl91ca5lrzz1pyr1s1qnm2"
+(build-system gnu-build-system)
+(native-inputs `(("pkg-config" ,pkg-config)
+ ("perl" ,perl)))
+(inputs `(("ncurses" ,ncurses)
+  ("libidn" ,libidn)
+  ("gnutls" ,gnutls)
+  ("libgcrypt" ,libgcrypt)
+  ("unzip" ,unzip)
+  ("zlib" ,zlib)
+  ("gzip" ,gzip)
+  ("bzip2" ,bzip2)))
+(arguments
+ `(#:configure-flags '("--with-pkg-config"
+   "--with-screen=ncurses"
+   "--with-zlib"
+   "--with-bzlib"
+   "--with-gnutls"
+   ;; "--with-socks5"; XXX TODO
+   "--enable-widec"
+   "--enable-ascii-ctypes"
+   "--enable-local-docs"
+   "--enable-htmlized-cfg"
+   "--enable-gzip-help"
+   "--enable-nls"
+   "--enable-ipv6")
+   #:tests? #f  ; no check target
+   #:phases (alist-replace
+ 'install
+ (lambda* (#:key (make-flags '()) #:allow-other-keys)
+   (zero? (apply system* "make" "install-full" make-flags)))
+ %standard-phases)))
+(synopsis "Text Web Browser")
+(description
+ "Lynx is a fully-featured World Wide Web (WWW) client for users running
+cursor-addressable, character-cell display devices.  It will display Hypertext
+Markup Language (HTML) documents containing links to files on the local
+system, as well as files on remote systems running http, gopher, ftp, wais,
+nntp, finger, or cso/ph/qi servers.  Lynx can be used to access information on
+the WWW, or to build information systems intended primarily for local
+access.")
+(home-page

Re: [GSoC] Package management from Emacs

2014-03-05 Thread Ludovic Courtès
Xue Fuqiao  skribis:

> Here's my (tentative) plan of this project:

Thanks for sharing your thoughts!

> This package (guix.el) will include a facility that lets you easily
> install (by name or by expression), remove, upgrade, and roll back
> packages.  Of course, guix.el can also list the available and/or
> installed packages.
>
> The command `guix-describe-package' (I haven't come up with a good key
> binding yet) can prompt for the name of a package, and display a help
> buffer describing the package.  The buffer includes the name, version,
> source, dependencies, home page, license(s) and other descriptions of
> the package.

There should also be a link to jump to the package definition, pretty
much like that of Emacs’ and Geiser’s docstring buffers.

Optionally, the package’s logo could be displayed too (see
build-aux/list-packages.scm, which does that for the HTML output.)

Also, I think there should be a search facility, with incremental search
fashion.  For instance, you could type ‘S’, enter a “C lib”, and that
would restrict the package list to the packages that show up in ‘guix
package -S "C lib"’.

> `M-x guix-list-packages' will bring up a buffer named `*Guix Packages*'
> with a list of all packages.  You can install or uninstall packages via
> this buffer.  *Note my attached image for the prototype of this buffer.

Perfect.

Ideally, new packages (obtained via ‘guix pull’) would show up first,
highlighted, as with package.el.  That requires support from ‘guix
pull’, but that’s on the to-do list.

> The `*Guix Packages*' buffer will list all the packages that Guix knows
> about, one on each line, with the following information:
>
>* The package name (e.g., `emacs').
>
>* The package's version number (e.g., `24.3').
>
>* The package's status (installed/available).
>
>* A short description of the package.
>
> The following commands will be available in the `*Guix Packages*' buffer:

[...]

Yes, perfect.

> `r'
>  Refresh the package list (`guix-refresh').  This recomputes the
>  package list.

Perhaps there should be something that runs ‘guix pull’ too (it’s like
‘apt-get update’)?

> `R'
>  Roll back to the previous generation of the profile
>  (`guix-roll-back').  This undo the last transaction.  (Do we need a
>  "roll back" mark?)

OK for ‘R’.

We don’t need a roll-back mark, I think, because you’re rolling back to
the previous generation; it’s not a per-package operation.

I was thinking it would also be neat to have a way to visualize
generations, basically a “graphical” and interactive representation of
what ‘guix package --list-generations’ provides.  That would show, for
instance, the date of the generations and the changes compared to the
previous one, and would make it easy to roll back to a specific
generation.

Perhaps we can keep that last thing as an bonus work item.  How do you
feel about it?

Thanks!

Ludo’.



Re: [PATCH] gnu: Add lynx

2014-03-05 Thread Ludovic Courtès
Andreas Enge  skribis:

> But all this is more an expression of taste than really argumented. So far,
> we have no coherent policy on which package goes into which file. Personally,
> I tend to regroup several packages into one file. So in the end, feel free
> to do as you prefer.

Yeah, in this case I’d favor lynx.scm (because of w3m.scm), but perhaps
we should have browsers.scm eventually, or maybe web.scm is good enough?

Thanks,
Ludo’.



Re: [PATCH] gnu: Add lynx

2014-03-05 Thread Andreas Enge
On Wed, Mar 05, 2014 at 04:34:35AM -0500, Mark H Weaver wrote:
> It's fine with me, but what about w3m.scm, wget.scm, and gnuzilla.scm?
> Should these all be moved as well?

I noticed wget as probably misplaced. w3m would be good in web.scm as well.
gnuzilla, as a gnu project, is one that I would leave in its own file.

But all this is more an expression of taste than really argumented. So far,
we have no coherent policy on which package goes into which file. Personally,
I tend to regroup several packages into one file. So in the end, feel free
to do as you prefer.

Andreas




Re: [PATCH] gnu: Add lynx

2014-03-05 Thread Mark H Weaver
Andreas Enge  writes:
> How about putting the package into web.scm?

It's fine with me, but what about w3m.scm, wget.scm, and gnuzilla.scm?
Should these all be moved as well?

 Mark



Re: [PATCH] gnu: Add lynx

2014-03-05 Thread Andreas Enge
How about putting the package into web.scm?

Andreas




[PATCH] gnu: Add lynx

2014-03-05 Thread Mark H Weaver
>From f357eb3e00edf494430c1d2d42541b3646643a9f Mon Sep 17 00:00:00 2001
From: Mark H Weaver 
Date: Wed, 5 Mar 2014 02:16:06 -0500
Subject: [PATCH] gnu: Add lynx.

* gnu/packages/lynx.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
---
 gnu-system.am |  1 +
 gnu/packages/lynx.scm | 80 +++
 2 files changed, 81 insertions(+)
 create mode 100644 gnu/packages/lynx.scm

diff --git a/gnu-system.am b/gnu-system.am
index becadaa..7b620c3 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -139,6 +139,7 @@ GNU_SYSTEM_MODULES =\
   gnu/packages/lsof.scm\
   gnu/packages/lua.scm\
   gnu/packages/lvm.scm\
+  gnu/packages/lynx.scm\
   gnu/packages/m4.scm\
   gnu/packages/mail.scm\
   gnu/packages/make-bootstrap.scm		\
diff --git a/gnu/packages/lynx.scm b/gnu/packages/lynx.scm
new file mode 100644
index 000..4fe6009
--- /dev/null
+++ b/gnu/packages/lynx.scm
@@ -0,0 +1,80 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2014 Mark H Weaver 
+;;;
+;;; 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 lynx)
+  #:use-module ((guix licenses) #:select (gpl2))
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix build-system gnu)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages ncurses)
+  #:use-module (gnu packages libidn)
+  #:use-module (gnu packages openssl)
+  #:use-module (gnu packages zip)
+  #:use-module (gnu packages compression))
+
+(define-public lynx
+  (package
+(name "lynx")
+(version "2.8.8")
+(source (origin
+  (method url-fetch)
+  (uri (string-append "http://lynx.isc.org/lynx"; version
+  "/lynx" version ".tar.bz2"))
+  (sha256
+   (base32 "00jcfmx4bxnrzywzzlllz3z45a2mc4fl91ca5lrzz1pyr1s1qnm2"
+(build-system gnu-build-system)
+(native-inputs `(("pkg-config" ,pkg-config)))
+(inputs `(("ncurses" ,ncurses)
+  ("libidn" ,libidn)
+  ("openssl" ,openssl)
+  ("unzip" ,unzip)
+  ("zlib" ,zlib)
+  ("gzip" ,gzip)
+  ("bzip2" ,bzip2)))
+(arguments
+ `(#:configure-flags '("--with-pkg-config"
+   "--with-screen=ncurses"
+   "--with-zlib"
+   "--with-bzlib"
+   ;; "--with-socks5"; XXX TODO
+   "--with-ssl" ; lynx has poor support for gnutls
+   "--enable-widec"
+   "--enable-gzip-help"
+   "--enable-local-docs"
+   "--enable-nls"
+   "--enable-ipv6")
+   #:tests? #f  ; no check target
+   #:phases (alist-replace
+ 'install
+ (lambda* (#:key (make-flags '()) #:allow-other-keys)
+   (zero? (apply system* "make" "install-full" make-flags)))
+ %standard-phases)))
+(synopsis "Text Web Browser")
+(description
+ "Lynx is a fully-featured World Wide Web (WWW) client for users running
+cursor-addressable, character-cell display devices.  It will display Hypertext
+Markup Language (HTML) documents containing links to files on the local
+system, as well as files on remote systems running http, gopher, ftp, wais,
+nntp, finger, or cso/ph/qi servers.  Lynx can be used to access information on
+the WWW, or to build information systems intended primarily for local
+access.")
+(home-page "http://lynx.isc.org/";)
+(license gpl2)))
+
+;;; lynx.scm ends here
-- 
1.8.4