Re: [PATCH] gnu: Add qrencode.

2014-06-29 Thread Pjotr Prins
Anyone in the Boston area next week? We are going to work on GNU Guix
packages and add them to CloudBiolinux (location Hack/Reduce):

  
https://docs.google.com/document/d/1yADE2bb0rEU6TASxuSPsvTdHvh_rtCXzJrsL3NWzxXE/edit?usp=sharing

See also

  http://www.open-bio.org/wiki/Codefest_2014

Pj.




Re: Codefest 2014 Cambridge, MA

2014-06-29 Thread Pjotr Prins
On Sun, Jun 29, 2014 at 09:09:22AM -0400, David Thompson wrote:
 I live in Somerville.  I might be able to join in on the 9th, but I'm
 busy on the 10th.n

That would be great! Also for some advocacy.

 Could you elaborate more on how Guix relates to this event?

For biomedical and biological purposes, Cloudbiolinux packages
software. Mostly .deb, homebrew and ad hoc scripts. I have been a Nix
fan for a long time and I think Guix is just the right way forward
(Nix expressions are somehow a little too foreign for many people, I
have found).

It would make sense to move some of the Cloudbiolinux related
packaging to Guix. There will be quite a few good people who are
working on software deployment, so please hop over if you can! There
are 50-60 programmers coming to the hackathon.

Pj.



Re: Codefest 2014 Cambridge, MA

2014-06-29 Thread David Thompson
Pjotr Prins pjotr.publi...@thebird.nl writes:

 On Sun, Jun 29, 2014 at 09:09:22AM -0400, David Thompson wrote:
 I live in Somerville.  I might be able to join in on the 9th, but I'm
 busy on the 10th.n

 That would be great! Also for some advocacy.

:)

 Could you elaborate more on how Guix relates to this event?

 For biomedical and biological purposes, Cloudbiolinux packages
 software. Mostly .deb, homebrew and ad hoc scripts. I have been a Nix
 fan for a long time and I think Guix is just the right way forward
 (Nix expressions are somehow a little too foreign for many people, I
 have found).

Oh, neat.  Yes, I find that using a general purpose language like Guile
is much better than inventing a special language.

 It would make sense to move some of the Cloudbiolinux related
 packaging to Guix. There will be quite a few good people who are
 working on software deployment, so please hop over if you can! There
 are 50-60 programmers coming to the hackathon.

Since it's a Wednesday, I'll be working at the FSF office during the
day.  Does the hackathon continue into the night?  If I can be useful, I
can try to join in after work.

-- 
David Thompson
Web Developer - Free Software Foundation - http://fsf.org
GPG Key: 0FF1D807
Support the FSF: https://fsf.org/donate



Re: [PATCH] gnu: Add goffice and gnumeric

2014-06-29 Thread Ludovic Courtès
John Darrington j...@gnu.org skribis:

 gnu/packages/gnome.scm (goffice, gnumeric): New variables.

Nice!  Comments below:

 +(license 
 + `(license:gpl2
 +   license:gpl3

Remember this field must be either a license object or a list thereof
(the one above is a list of symbols.)  So change it to:

  (license (list license:gpl2 license:gpl3))

Also, please add a comment stating what this means exactly: is it
dual-licensed?  Does it mean that some files are GPLv2-only and others
are GPLv3-only (which would be a problem)?

Does it mean some files are GPLv2-or-later and others are
GPLv3-or-later?  In that case, the value should be ‘license:gpl3+’.

 +(arguments
 + `(;; The gnumeric developers don't worry much about failing tests.
 +   ;; See https://bugzilla.gnome.org/show_bug.cgi?id=732387
 +   #:tests? #f 
 +   :phases

Should be #:phases.

 +   alist-cons-before

Missing opening parenthesis.

 +   'configure 'pre-conf
 +   (lambda* (#:key outputs #:allow-other-keys)
 + ;; Make install tries to write into the directory of goffice
 + ;; I am informed that this only affects the possibility to embed a
 + ;; spreadsheet inside an abiword document.   So presumably when we
 + ;; package abiword we'll have to refer it to this directory.

“Abiword”.

 +(description  Gnumeric is a spreadsheet program for GNOME.)

A bit terse.  ;-)  Maybe there’s a paragraph from README or so that
could be used?

 +(license 
 + `(license:gpl3
 +   license:gpl2

Same as above.

Thanks,
Ludo’.



Re: [PATCH] gnu: Add ncmpcpp

2014-06-29 Thread Ludovic Courtès
Hello,

Cyrill Schenkel cyrill.schen...@gmail.com skribis:

 I agree. Changed it in the attached patch.

Applied.  Thanks, and welcome aboard.  ;-)

 +(license license:gpl2)))

I changed it to ‘license:gpl2+’, because all the source files carry the
“or later” clause.

Under the assumption that you’re the copyright holder, I’ve added this
line to mpd.scm:

;;; Copyright © 2014 Cyrill Schenkel cyrill.schen...@gmail.com

Please let me know if this is incorrect.

Ludo’.



Re: System installation from a USB stick

2014-06-29 Thread Ludovic Courtès
Hello!

I’ve uploaded a USB installation image for x86_64 for testing:

  http://www.fdn.fr/~lcourtes/software/guix/gnu-usb-install-20140629.x86_64.xz
  SHA1: d36e70d25b81b734fa9558a5446fabb96489ec3b
  (100 MiB)

It works like this:

  1. Run ‘xz -d gnu-usb-install-20140629.x86_64.xz’.

  2. Copy it as is to a USB stick that of 1GiB or more:
   dd if=gnu-usb-install-20140629.x86_64 of=/dev/sdX
 where sdX is the device corresponding to the USB stick.

Then you can boot on the USB stick.  There’s a bit of documentation on
tty2, but it lacks what follows.  ;-)

To install the system, you would:

  1. Configure the network, by running ‘dhclient eth0’ for instance.
 Normally udev automatically loads device drivers (e.g., my laptop
 uses e1000e for Ethernet), but since it’s a small config kernel, it
 may miss drivers for your system, in which case you’re screwed.

  2. Partition, format etc. the target drive; the image includes Parted,
 fdisk, and e2fsprogs.

  3. Write an OS configuration file, say, config.scm (the image only has
 GNU Zile as the editor.)  A minimal config looks like this:

   (use-modules (gnu) (gnu system grub))

   (operating-system
 (host-name foo)
 (timezone Europe/Paris)
 (locale en_US.UTF-8)
 (bootloader (grub-configuration (device /dev/sdX)))
 (file-systems
   (list (file-system
   (device /dev/sdX1)
   (mount-point /)
   (type ext4)

   4. Mount the target root file system as /mnt, say.

   5. Run ‘guix system init config.scm /mnt’ (add ‘--no-grub’ if you
  don’t want to install GRUB.)

   6. Unmount /mnt, reboot, and cross fingers.

There are various limitations, so be indulgent.  Notably, the kernel has
few drivers.  The image is insanely big due to
http://bugs.gnu.org/17853.  Swap partitions, dm-crypt’d devices aren’t
supported yet.

Still, I would very much like feedback about actual attempts to use
that, about the general procedure, or anything else.

The image was built with

  guix system disk-image gnu/system/install.scm --image-size=800MiB

as of commit 1ddbd9f.

Ludo’.


signature.asc
Description: PGP signature


[PATCH 1/2] gnu: Add behave.

2014-06-29 Thread Eric Bavier



[PATCH 1/2] gnu: Add behave. (forgot the attchment...)

2014-06-29 Thread Eric Bavier

From ea01959c9d733b0151fbe1780a8c36244a43eb3a Mon Sep 17 00:00:00 2001
From: Eric Bavier bav...@member.fsf.org
Date: Mon, 30 Jun 2014 00:25:33 -0500
Subject: [PATCH 1/2] gnu: Add behave.

* gnu/packages/python.scm (python-six, python-enum34, python-parse-type,
  python-parse, behave): New variables.
---
 gnu/packages/python.scm |  138 +++
 1 file changed, 138 insertions(+)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index b15e5b6..3c80e8e 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -3,6 +3,7 @@
 ;;; Copyright © 2013, 2014 Ludovic Courtès l...@gnu.org
 ;;; Copyright © 2013 Andreas Enge andr...@enge.fr
 ;;; Copyright © 2014 Mark H Weaver m...@netris.org
+;;; Copyright © 2014 Eric Bavier bav...@member.fsf.org
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -380,6 +381,31 @@ Python 3 support.)
   (package-with-python2 python-setuptools))
 
 
+(define-public python-six
+  (package
+(name python-six)
+(version 1.7.2)
+(source
+ (origin
+  (method url-fetch)
+  (uri (string-append https://pypi.python.org/packages/source/s/;
+  six/six- version .tar.gz))
+  (sha256
+   (base32
+164rns26aqfqx2hwi0qq3scl50s69japn0fvgvrjsbyg7r1mxf67
+(build-system python-build-system)
+(inputs
+ `((python-setuptools ,python-setuptools)))
+(home-page http://pypi.python.org/pypi/six/;)
+(synopsis Python 2 and 3 compatibility utilities)
+(description
+ Six is a Python 2 and 3 compatibility library. It provides utility
+functions for smoothing over the differences between the Python versions with
+the goal of writing Python code that is compatible on both Python versions.
+Six supports every Python version since 2.5. It is contained in only one
+Python file, so it can be easily copied into your project.)
+(license (x11-style file://LICENSE
+
 (define-public python-dateutil
   (package
 (name python-dateutil)
@@ -644,6 +670,88 @@ bug tracker.)
 (home-page http://www.liquidx.net/pybugz/;)
 (license gpl2)))
 
+(define-public python-enum34
+  (package
+(name python-enum34)
+(version 1.0)
+(source
+ (origin
+  (method url-fetch)
+  (uri (string-append https://pypi.python.org/packages/source/e/;
+  enum34/enum34- version .tar.gz))
+  (sha256
+   (base32
+0dg6mpg9n4g9diyrbnbb5vd9d1qw9f265zwhknqy0mxh0cvmjjrq
+(build-system python-build-system)
+(inputs
+ `((python-setuptools ,python-setuptools)))
+(arguments
+ `(#:phases
+   (alist-replace
+'check
+(lambda _ (zero? (system* python enum/test_enum.py)))
+%standard-phases)))
+(home-page https://pypi.python.org/pypi/enum34;)
+(synopsis
+ Backported Python 3.4 Enum)
+(description
+ Enum34 is the new Python stdlib enum module available in Python 3.4
+backported for previous versions of Python from 2.4 to 3.3.)
+(license bsd-3)))
+
+(define-public python-parse-type
+  (package
+(name python-parse-type)
+(version 0.3.4)
+(source
+ (origin
+  (method url-fetch)
+  (uri (string-append https://pypi.python.org/packages/source/p/;
+  parse_type/parse_type- version .tar.gz))
+  (sha256
+   (base32
+0iv1c34npr4iynwpgv1vkjx9rjd18a85ir8c01gc5f7wp8iv7l1x
+(build-system python-build-system)
+(inputs
+ `((python-setuptools ,python-setuptools)
+   (python-six ,python-six)
+   (python-parse ,python-parse)
+   (python-enum34 ,python-enum34))) ;required for python3.4
+(arguments '(#:tests? #f));TODO: tests require pytest
+(home-page https://github.com/jenisys/parse_type;)
+(synopsis
+ Extended parse module)
+(description
+ )
+(license bsd-3)))
+
+(define-public python-parse
+  (package
+(name python-parse)
+(version 1.6.4)
+(source
+ (origin
+  (method url-fetch)
+  (uri (string-append https://pypi.python.org/packages/source/p/;
+  parse/parse- version .tar.gz))
+  (sha256
+   (base32
+0m30q64l6szl7s9mhvqy64w2fdhdn8lb91fmacjiwbv3479cmk57
+(build-system python-build-system)
+(arguments
+ `(#:phases
+   (alist-replace
+'check
+(lambda _ (zero? (system* python test_parse.py)))
+%standard-phases)))
+(home-page https://github.com/r1chardj0n3s/parse;)
+(synopsis
+ Parse strings)
+(description
+ Parse strings using a specification based on the Python format() syntax.)
+(license (x11-style file://parse.py
+
+
 (define-public scons
   (package
 (name scons)
@@ -670,3 +778,33 @@ In short, SCons is an easier, more reliable and faster way to build
 software.)
 (license x11)))
 
+(define-public behave
+  (package
+(name behave)
+(version 1.2.4)
+(source (origin
+ (method url-fetch)
+ 

RE: [PATCH 2/2] gnu: Add jrnl.

2014-06-29 Thread Eric Bavier
Please ignore the last email; it has a broken patch.  Corrected patch
attached.

Sorry for the spam.
From d2131f9ddbbac601d3915b815fa58bce05b5d663 Mon Sep 17 00:00:00 2001
From: Eric Bavier bav...@member.fsf.org
Date: Mon, 30 Jun 2014 00:28:40 -0500
Subject: [PATCH 2/2] gnu: Add jrnl.

* gnu/packages/jrnl.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
* gnu/packages/python.scm (python-pycrypto, python-keyring, python-dateutil-2,
  python-parsedatetime, python-tzlocal): New variables.
* guix/licenses.scm (cc0): New variable.
---
 gnu-system.am   |1 +
 gnu/packages/jrnl.scm   |   57 
 gnu/packages/python.scm |  169 ++-
 guix/licenses.scm   |6 ++
 4 files changed, 231 insertions(+), 2 deletions(-)
 create mode 100644 gnu/packages/jrnl.scm

diff --git a/gnu-system.am b/gnu-system.am
index 3c057b3..b62d759 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -124,6 +124,7 @@ GNU_SYSTEM_MODULES =\
   gnu/packages/inkscape.scm			\
   gnu/packages/irssi.scm			\
   gnu/packages/iso-codes.scm			\
+  gnu/packages/jrnl.scm\
   gnu/packages/kde.scm\
   gnu/packages/ld-wrapper.scm			\
   gnu/packages/less.scm\
diff --git a/gnu/packages/jrnl.scm b/gnu/packages/jrnl.scm
new file mode 100644
index 000..4902647
--- /dev/null
+++ b/gnu/packages/jrnl.scm
@@ -0,0 +1,57 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2014 Eric Bavier bav...@member.fsf.org
+;;;
+;;; 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 http://www.gnu.org/licenses/.
+
+(define-module (gnu packages jrnl)
+  #:use-module (guix packages)
+  #:use-module (guix licenses)
+  #:use-module (guix download)
+  #:use-module (guix build-system python)
+  #:use-module (gnu packages python))
+
+(define-public jrnl
+  (package
+(name jrnl)
+(version 1.8.4)
+(source
+ (origin
+  (method url-fetch)
+  (uri (string-append https://github.com/maebert/jrnl/archive/;
+  version .tar.gz))
+  (sha256
+   (base32
+019ky09sj5i7frmca0imv4jm46mn3f4lzah2wmiwxh22cisj7ksn
+(build-system python-build-system)
+(native-inputs
+ `((python-setuptools ,python-setuptools)
+   (behave ,behave)))
+(inputs
+ `((python ,python)
+   (python-keyring ,python-keyring)
+   (python-pycrypto ,python-pycrypto)
+   (python-pytz ,python-pytz)
+   (python-tzlocal ,python-tzlocal)
+   (python-six ,python-six)
+   (python-dateutil , python-dateutil-2)
+   (python-parsedatetime ,python-parsedatetime)))
+(home-page http://maebert.github.io/jrnl/;)
+(synopsis Journal application)
+(description
+ Jrnl is a command line journal application that stores your journal in a
+plain text file.  Optionally, your journal can be encrypted using 256-bit AES
+encryption.)
+(license (x11-style file://LICENSE
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 3c80e8e..83575cc 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -22,8 +22,9 @@
 
 (define-module (gnu packages python)
   #:use-module ((guix licenses)
-#:select (bsd-3 bsd-style expat psfl x11 x11-style
-  gpl2 gpl2+ lgpl2.1+))
+#:select (asl2.0 bsd-3 bsd-style cc0 expat x11 x11-style
+  gpl2 gpl2+ lgpl2.1+
+  psfl public-domain))
   #:use-module ((guix licenses) #:select (zlib)
 #:renamer (symbol-prefix-proc 'license:))
   #:use-module (gnu packages)
@@ -36,6 +37,8 @@
   #:use-module (gnu packages elf)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages sqlite)
+  #:use-module ((gnu packages zip) #:select (unzip))
+  #:use-module (gnu packages multiprecision)
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix utils)
@@ -381,6 +384,80 @@ Python 3 support.)
   (package-with-python2 python-setuptools))
 
 
+(define-public python-pycrypto
+  (package
+(name python-pycrypto)
+(version 2.6.1)
+(source
+ (origin
+  (method url-fetch)
+  (uri (string-append https://pypi.python.org/packages/source/p/;
+  pycrypto/pycrypto- version .tar.gz))
+  (sha256
+   (base32
+