[PATCH v2 4/6] gnu: Add python-reno.

2017-01-17 Thread Danny Milosavljevic
* gnu/packages/openstack.scm (python-reno, python-reno2): New variables.
---
 gnu/packages/openstack.scm | 42 ++
 1 file changed, 42 insertions(+)

diff --git a/gnu/packages/openstack.scm b/gnu/packages/openstack.scm
index b3e3f08c2..0e50236af 100644
--- a/gnu/packages/openstack.scm
+++ b/gnu/packages/openstack.scm
@@ -19,6 +19,7 @@
 ;;; along with GNU Guix.  If not, see .
 
 (define-module (gnu packages openstack)
+  #:use-module (gnu packages gnupg)
   #:use-module (gnu packages python)
   #:use-module (gnu packages ssh)
   #:use-module (gnu packages tls)
@@ -550,6 +551,47 @@ in transmittable and storable formats, such as JSON and 
MessagePack.")
 (define-public python2-oslo.serialization
   (package-with-python2 python-oslo.serialization))
 
+(define-public python-reno
+  (package
+(name "python-reno")
+(version "2.0.3")
+(source
+  (origin
+(method url-fetch)
+(uri (pypi-uri "reno" version))
+(sha256
+  (base32 "1i2wnn5fnm3jm5774pahg000q0lma5i913hml91bbbm2mybphndd"
+(build-system python-build-system)
+(arguments
+ `(#:phases
+   (modify-phases %standard-phases
+ (add-before 'check 'init-git
+   (lambda _
+ ;; reno expects a git repo
+ (zero? (system* "git" "init")))
+(propagated-inputs
+  `(("python-babel" ,python-babel)
+("python-dulwich" ,python-dulwich)
+("python-pyyaml" ,python-pyyaml)
+("python-six" ,python-six)))
+(native-inputs
+  `(("python-testtools" ,python-testtools)
+("python-pbr" ,python-pbr)
+("python-testscenarios" ,python-testscenarios)
+("python-testrepository" ,python-testrepository)
+("python-mock" ,python-mock)
+("python-oslotest" ,python-oslotest)
+("gnupg" ,gnupg)
+("git" ,git)))
+(home-page "http://docs.openstack.org/developer/reno/;)
+(synopsis "Release notes manager")
+(description "Reno is a tool for storing release notes in a git repository
+and building documentation from them.")
+(license asl2.0)))
+
+(define-public python2-reno
+  (package-with-python2 python-reno))
+
 (define-public python-oslosphinx
   (package
 (name "python-oslosphinx")



[PATCH v2 5/6] gnu: python-mox3: Remove python-oslosphinx dependency (since the tests don't run anyway).

2017-01-17 Thread Danny Milosavljevic
* gnu/packages/python.scm (python-mox3)[native-inputs]: Remove 
python-oslosphinx.
---
 gnu/packages/openstack.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/openstack.scm b/gnu/packages/openstack.scm
index 0e50236af..277a443b0 100644
--- a/gnu/packages/openstack.scm
+++ b/gnu/packages/openstack.scm
@@ -153,11 +153,11 @@ guidelines}.")
"0njmh40i1lg5mzn9hc2ax83adj6dli455j6xifilrw27c4wlkjzx"
 (build-system python-build-system)
 (arguments
- ;; TODO: Requires newer version of testtools (>=1.4.0).
+ ;; TODO: Resolve dependency cycle and re-enable.
  '(#:tests? #f))
 (native-inputs
   `(("python-fixtures" ,python-fixtures)
-("python-oslosphinx" ,python-oslosphinx)
+;("python-oslosphinx" ,python-oslosphinx)
 ("python-pbr" ,python-pbr)
 ("python-sphinx" ,python-sphinx)
 ("python-testtools" ,python-testtools)))



[PATCH v2 0/6] Make python-oslosphinx work in python-tests branch.

2017-01-17 Thread Danny Milosavljevic
Preparations to make python-oslosphinx work in python-tests branch.

Danny Milosavljevic (6):
  gnu: python-testtools: Update to 1.4.0.
  gnu: Add python-fastimport.
  gnu: Add python-dulwich.
  gnu: Add python-reno.
  gnu: python-mox3: Remove native-input dependency (since the tests
don't run anyway).
  gnu: python-sphinx: Update to 1.5.1 and enable tests.

 gnu/packages/openstack.scm |  46 +-
 gnu/packages/python.scm| 114 +
 2 files changed, 149 insertions(+), 11 deletions(-)




[PATCH v2 6/6] gnu: python-sphinx: Update to 1.5.1 and enable tests.

2017-01-17 Thread Danny Milosavljevic
* gnu/packages/python.scm (python-sphinx): Update to 1.5.1.
  [arguments]: New field.
  [native-inputs]: Add graphviz, python-html5lib, python-mock, python-nose,
  python-requests.
---
 gnu/packages/python.scm | 20 
 1 file changed, 16 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index b064c9f47..3b18ed441 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -67,6 +67,7 @@
   #:use-module (gnu packages ghostscript)
   #:use-module (gnu packages gl)
   #:use-module (gnu packages glib)
+  #:use-module (gnu packages graphviz)
   #:use-module (gnu packages gstreamer)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages icu4c)
@@ -2964,18 +2965,23 @@ reStructuredText.")
 (define-public python-sphinx
   (package
 (name "python-sphinx")
-(version "1.4.8")
+(version "1.5.1")
 (source
  (origin
(method url-fetch)
(uri (pypi-uri "Sphinx" version))
(sha256
 (base32
- "0zvh8wwhm6gy21rr0cg42znsy4zzv2mnsxxk9gmn5y1ycn7rgbs1"
+ "1i8p9idnli4gr0y4x67yakbdk5w6a0xjzhrg6bg51y9d1fi7fslf"
 (build-system python-build-system)
 (arguments
- ;; FIXME: Missing dependencies.
- '(#:tests? #f))
+ `(#:phases
+   (modify-phases %standard-phases
+ (replace 'check
+   (lambda _
+ ;; Requires Internet access.
+ (delete-file "tests/test_build_linkcheck.py")
+ (zero? (system* "make" "test")))
 (propagated-inputs
  `(("python-imagesize" ,python-imagesize)
("python-sphinx-alabaster-theme"
@@ -2986,6 +2992,12 @@ reStructuredText.")
("python-jinja2" ,python-jinja2)
("python-pygments" ,python-pygments)
("python-six" ,python-six)))
+(native-inputs
+ `(("graphviz" ,graphviz)
+   ("python-html5lib" ,python-html5lib)
+   ("python-mock" ,python-mock)
+   ("python-nose" ,python-nose)
+   ("python-requests" ,python-requests)))
 (home-page "http://sphinx-doc.org/;)
 (synopsis "Python documentation generator")
 (description "Sphinx is a tool that makes it easy to create documentation



[PATCH v2 3/6] gnu: Add python-dulwich.

2017-01-17 Thread Danny Milosavljevic
* gnu/packages/python.scm (python-dulwich, python2-dulwich): New variables.
---
 gnu/packages/python.scm | 44 
 1 file changed, 44 insertions(+)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 6c7a6353d..b064c9f47 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -12740,3 +12740,47 @@ Features:
 @item Compiles templates into optimized, yet readable, Python code.
 @end enumerate")
 (license (license:x11-style "file://LICENSE"
+
+(define-public python-dulwich
+  (package
+(name "python-dulwich")
+(version "0.16.3")
+(source
+  (origin
+(method url-fetch)
+(uri (pypi-uri "dulwich" version))
+(sha256
+  (base32 "0fl47vzfgc3w3rmhn8naii905cjqcp0vc68iyvymxp7567hh6als"
+(build-system python-build-system)
+(arguments
+ `(#:phases
+   (modify-phases %standard-phases
+ (add-before 'check 'fix-tests
+   (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "dulwich/tests/compat/utils.py"
+   (("'git'") (string-append "'"
+ (assoc-ref inputs "git")
+ "/bin/git'")))
+
+
+ (substitute* '("dulwich/tests/test_repository.py"
+"dulwich/tests/test_hooks.py")
+   (("#!/bin/sh") (string-append "#!" (which "sh"
+ (setenv "TEST_RUNNER" "unittest")
+ (setenv "PYTHONHASHSEED" "random")
+ #t)
+(propagated-inputs
+ `(("python-fastimport" ,python-fastimport)))
+(native-inputs
+ `(("python-mock" ,python-mock)
+   ("python-geventhttpclient" ,python-geventhttpclient)
+   ("git" ,git)))
+(home-page "https://www.dulwich.io/;)
+(synopsis "Git implementation in Python")
+(description "Dulwich is an implementation of the Git file formats and
+protocols written in pure Python.")
+;; dual-licensed
+(license (list license:asl2.0 license:gpl2+
+
+(define-public python2-dulwich
+  (package-with-python2 python-dulwich))



[PATCH v2 1/6] gnu: python-testtools: Update to 1.4.0.

2017-01-17 Thread Danny Milosavljevic
* gnu/packages/python.scm (python-testtools): Update to 1.4.0.
  [source]: Use pypi-uri.
  [arguments]: New field.
---
 gnu/packages/python.scm | 29 -
 1 file changed, 24 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 9a44b5881..d53a10116 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -1982,17 +1982,36 @@ subprocess and see the output as well as any file 
modifications.")
 (define-public python-testtools
   (package
 (name "python-testtools")
-(version "1.0.0")
+(version "1.4.0")
 (source
  (origin
(method url-fetch)
-   (uri (string-append
- "https://pypi.python.org/packages/source/t/testtools/testtools-;
- version ".tar.gz"))
+   (uri (pypi-uri "testtools" version))
(sha256
 (base32
- "1dyml28ykpl5jb9khdmcdvhy1cxqingys6qvj2k04fzlaj6z3bbx"
+ "1vw8yljnd75d396hhw6s2hrf4cclzy845ifd5am0lxsl235z3i8c"
 (build-system python-build-system)
+(arguments
+ `(#:phases
+   (modify-phases %standard-phases
+ (add-after 'unpack 'fix-module-imports
+   (lambda _
+ (substitute* "setup.py"
+   (("'unittest2>=0.8.0',") ""))
+ (substitute* '("testtools/testcase.py"
+"testtools/testsuite.py"
+"testtools/run.py"
+"testtools/tests/test_run.py"
+"testtools/tests/test_testsuite.py"
+"testtools/tests/test_deferredruntest.py")
+   ;; unittest2 is a backport of Python2.7 features to Python 2.4.
+   (("import unittest2 as unittest") "import unittest")
+   (("import unittest2") "import unittest as unittest2")
+   (("from unittest2 import") "from unittest import"))
+ (substitute* "testtools/tests/test_testresult.py"
+   ;; NUL in source code is not allowed (raises ValueError).
+   (("\\x00\\x04") "\\x04"))
+ #t)
 (propagated-inputs
  `(("python-mimeparse" ,python-mimeparse)
("python-extras" ,python-extras)))



[PATCH v2 2/6] gnu: Add python-fastimport.

2017-01-17 Thread Danny Milosavljevic
* gnu/packages/python.scm (python-fastimport, python2-fastimport):
  New variables.
---
 gnu/packages/python.scm | 21 +
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index d53a10116..6c7a6353d 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -10551,6 +10551,27 @@ concurrent HTTP client library for python using 
@code{gevent}.")
 (define-public python2-geventhttpclient
   (package-with-python2 python-geventhttpclient))
 
+(define-public python-fastimport
+  (package
+(name "python-fastimport")
+(version "0.9.6")
+(source
+  (origin
+(method url-fetch)
+(uri (pypi-uri "fastimport" version))
+(sha256
+  (base32 "1aqjsin4rmqm7ln4j0p73fzxifws6c6ikgyhav7r137m2ixsxl43"
+(build-system python-build-system)
+(home-page "https://github.com/jelmer/python-fastimport;)
+(synopsis "VCS fastimport parser and generator in Python")
+(description "This package provides a parser for and generator of the Git
+@url{https://www.kernel.org/pub/software/scm/git/docs/git-fast-import.html,fastimport}
+format.")
+(license license:gpl2+)))
+
+(define-public python2-fastimport
+  (package-with-python2 python-fastimport))
+
 (define-public python-twisted
   (package
 (name "python-twisted")



Re: ABI break!

2017-01-17 Thread John Darrington
On Tue, Jan 17, 2017 at 11:52:35PM +0100, Ludovic Court??s wrote:
 l...@gnu.org (Ludovic Court??s) skribis:
 
 > Pushed with tests as 384344198dcaa97847e66d3dd82f279ede08d690.
 
 And if you get a weird error when running ???make??? about
 ???file-system-needed-for-boot, just run:
 
   rm gnu/system.go && make
 
 This is because of an ABI break: ???file-system-needed-for-boot was a
 macro and now is a procedure.
 
Surely this means that the Makefile is wrong?

It should recognise that gnu/system.scm has changed and rebuild gnu/system.go 
accordingly.

J'



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



signature.asc
Description: Digital signature


Re: [PATCH 0/8] Make python-oslosphinx work in python-tests branch.

2017-01-17 Thread ng0
Danny Milosavljevic  writes:

> Danny Milosavljevic (8):
>   gnu: python-oslosphinx: Update to 4.9.0.
>   gnu: Add python-reno.
>   gnu: python-requests: Update to 2.10.0.
>   gnu: Add python-dulwich.
>   gnu: Add python-geventhttpclient.
>   gnu: Add python-fastimport.
>   gnu: python-oslosphinx: Add python-reno.
>   gnu: python-dulwich: Fix tests.

This is unfortunate. I am just rebasing the branch from september
which somehow got stuck. I have dulwich, fastimport,
geventhttpclient, requests update, and many other python modules
in there.
I try to get the rebase done tomorrow and send them again.

>  gnu/packages/openstack.scm | 32 ++--
>  gnu/packages/python.scm| 95 
> +-
>  2 files changed, 122 insertions(+), 5 deletions(-)
>
>
>

-- 
♥Ⓐ  ng0 -- https://www.inventati.org/patternsinthechaos/



Re: Help: a pypi source changed from targz into wheel

2017-01-17 Thread Marius Bakke
ng0  writes:

> Marius Bakke  writes:
>
>> ng0  writes:
>>
>>> I'm rebasing my kallithea branch at the moment and with the
>>> release of the new "Routes" on pypi, the old one (which I need
>>> for Kallithea) moved from a tar.gz to a wheel. Do I simply
>>> download the wheel file and calculate the hash on that one, and
>>> fit the name appropriately into the pypi?
>>>
>>> Help is welcome :)
>>>
>>> https://pypi.python.org/pypi/Routes/2.3.1
>>
>> The latest version is available as tar.gz:
>>
>> https://pypi.python.org/pypi/Routes
>
> I know. That's not what I asked for though.

If you must use the old version (why?), how about downloading straight
from the source's mouth (sorry!)?

https://github.com/bbangert/routes/releases


signature.asc
Description: PGP signature


Re: Help: a pypi source changed from targz into wheel

2017-01-17 Thread ng0
Marius Bakke  writes:

> ng0  writes:
>
>> I'm rebasing my kallithea branch at the moment and with the
>> release of the new "Routes" on pypi, the old one (which I need
>> for Kallithea) moved from a tar.gz to a wheel. Do I simply
>> download the wheel file and calculate the hash on that one, and
>> fit the name appropriately into the pypi?
>>
>> Help is welcome :)
>>
>> https://pypi.python.org/pypi/Routes/2.3.1
>
> The latest version is available as tar.gz:
>
> https://pypi.python.org/pypi/Routes

I know. That's not what I asked for though.
-- 
♥Ⓐ  ng0 -- https://www.inventati.org/patternsinthechaos/



Re: [PATCH 0/8] Make python-oslosphinx work in python-tests branch.

2017-01-17 Thread Danny Milosavljevic
On Wed, 18 Jan 2017 00:46:56 +0100
Danny Milosavljevic  wrote:

> Nevermind, fixed by updating to unittest2 1.1.0 (which has more dependencies, 
> though).

Nope. Turns out that has the exact same problem. But I found the cause now and 
fixed it.




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

2017-01-17 Thread Marius Bakke
Ludovic Courtès  writes:

> Marius Bakke  skribis:
>
>> * gnu/packages/databases.scm (rocksdb): New variable.
>
> [...]
>
>> +   (lambda* (#:key (make-flags '()) #:allow-other-keys)
>> + ;; Prevent the build from adding machine-specific 
>> optimizations.
>> + ;; This does not work if passed as a make flag...
>> + (setenv "PORTABLE" "1")
>> + (and (zero? (apply system* "make" "static_lib" make-flags))
>> +  (zero? (apply system* "make" "shared_lib" make-flags)
>
> We could avoid building the static libs if nothing requires it; no
> strong opinion though.

I do tend to simply drop the static libs (see e.g. "dlib" or
"capnproto"), but in this case Ceph requires the static library. I will
make another attempt at making it use "-lrocksdb" instead of the ".a"
before pushing this package however, now that I know the build better.

In the crypto++ case, static is the default make target, so I suspect
it's "normal" to use. But as I recently realized, grafting most likely
won't work with static libraries, so I will remove it. Being a crypto
library and all. We should discourage it indeed.

>> +(home-page "http://rocksdb.org/;)
>> +(synopsis "Persistent key-value store for fast storage")
>> +(description
>> + "RocksDB is an embeddable, persistent key-value storage library that is
>> +designed for flash and RAM storage.")
>
> Could you expound a little bit?

How about:

(synopsis "Persistent key-value store for flash and RAM storage")
(description
  "RocksDB is a library that forms the core building block for a fast
  key-value server, especially suited for storing data on flash drives.
  It has a Log-Structured-Merge-Database (LSM) design with flexible
  tradeoffs between Write-Amplification-Factor (WAF),
  Read-Amplification-Factor (RAF) and Space-Amplification-Factor (SAF).
  It has multi-threaded compactions, making it specially suitable for
  storing multiple terabytes of data in a single database.
  It is based on @code{LevelDB}.")

(taken from the README)

Thanks a lot for the reviews!


signature.asc
Description: PGP signature


Re: [PATCH 0/8] Make python-oslosphinx work in python-tests branch.

2017-01-17 Thread Marius Bakke
Danny Milosavljevic  writes:

> On Wed, 18 Jan 2017 00:17:06 +0100
> Marius Bakke  wrote:
>
>> Danny Milosavljevic  writes:
>> 
>> > Btw are you maybe working on unittest2 0.8.0 already?  
>> 
>> I was not finished with dulwich yet, so no. What is it needed for?
>
> python-unittest2 -> python-testtools -> python-reno

Ah, right. I have a feeling we are creating more failures than we are
fixing! But it's definitely needed.

Thanks a lot for taking this on. I'll dive into scipy next.


signature.asc
Description: PGP signature


Re: [PATCH 0/8] Make python-oslosphinx work in python-tests branch.

2017-01-17 Thread Danny Milosavljevic
Nevermind, fixed by updating to unittest2 1.1.0 (which has more dependencies, 
though).



Re: [PATCH 2/8] gnu: Add python-reno.

2017-01-17 Thread Hartmut Goebel
Am 17.01.2017 um 23:25 schrieb Danny Milosavljevic:
> +("python-pbr" ,python-pbr)

AFAIK this is a "library that injects some useful and sensible default
behaviors into your setuptools run." So I assume this should be a native
import. If it is indeed needed as run-time, I suggest adding a short
comment for what, otherwise others may stumble on this, too.

-- 
Regards
Hartmut Goebel

| Hartmut Goebel  | h.goe...@crazy-compilers.com   |
| www.crazy-compilers.com | compilers which you thought are impossible |




Re: [PATCH 8/8] gnu: python-dulwich: Fix tests.

2017-01-17 Thread Hartmut Goebel
Am 17.01.2017 um 23:25 schrieb Danny Milosavljevic:
> + ;(substitute* "dulwich/hooks.py"
> + ;  (("f[.]write[(]args[[]0[]][)]") 
> "f.write(args[0].encode('utf-8'))"))

This is an interesting but quite unusual way to escape the special
characters. I suggest using the more common type with back-slash, esp.
since "[[]" and "[]]" are very hard to get.

-- 
Regards
Hartmut Goebel

| Hartmut Goebel  | h.goe...@crazy-compilers.com   |
| www.crazy-compilers.com | compilers which you thought are impossible |




Re: [PATCH 0/8] Make python-oslosphinx work in python-tests branch.

2017-01-17 Thread Danny Milosavljevic
On Wed, 18 Jan 2017 00:17:06 +0100
Marius Bakke  wrote:

> Danny Milosavljevic  writes:
> 
> > Btw are you maybe working on unittest2 0.8.0 already?  
> 
> I was not finished with dulwich yet, so no. What is it needed for?

python-unittest2 -> python-testtools -> python-reno

Right now 2 of python-unittest2's unittests fail when using:

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 4ad8f3a04..8001365c4 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -1646,17 +1646,26 @@ interfaces and processes.")
 (define-public python-unittest2
   (package
 (name "python-unittest2")
-(version "0.5.1")
+(version "0.8.0")
 (source
  (origin
(method url-fetch)
-   (uri (string-append
- 
"https://pypi.python.org/packages/source/u/unittest2py3k/unittest2py3k-;
- version ".tar.gz"))
+   (uri (pypi-uri "unittest2" version))
(sha256
 (base32
- "00yl6lskygcrddx5zspkhr0ibgvpknl4678kkm6s626539grq93q"
+ "0akyi9rs4dbnj1vzdcs50cab6x6zksiw7rn39jwacgygc71bj05v"
 (build-system python-build-system)
+(arguments
+ `(#:phases
+   (modify-phases %standard-phases
+ (add-after 'unpack 'fix-argparse
+   (lambda _
+ (substitute* "setup.py"
+   (("argparse") "configargparse"))
+ #t)
+(propagated-inputs
+ `(("python-six" ,python-six)
+   ("python-configargparse" ,python-configargparse)))
 (home-page "http://pypi.python.org/pypi/unittest2;)
 (synopsis "Python unit testing library")
 (description

The failures are:

==
FAIL: test_loadTestsFromName__relative_malformed_name 
(unittest2.test.test_loader.Test_TestLoader)
--
Traceback (most recent call last):
  File 
"/tmp/guix-build-python-unittest2-0.8.0.drv-0/unittest2-0.8.0/unittest2/test/test_loader.py",
 line 425, in check_module_lookup_error
"'module' object has no attribute '%s'" % attr, attr, regex)
  File 
"/tmp/guix-build-python-unittest2-0.8.0.drv-0/unittest2-0.8.0/unittest2/test/test_loader.py",
 line 417, in _check_module_lookup_error
'missing error string in %r' % error)
  File 
"/tmp/guix-build-python-unittest2-0.8.0.drv-0/unittest2-0.8.0/unittest2/case.py",
 line 1094, in assertIn
self.fail(self._formatMessage(msg, standardMsg))
AssertionError: "'module' object has no attribute 'abc () //'" not found in 
'Failed to access attribute:\nTraceback (most recent call last):\n  File 
"/tmp/guix-build-python-unittest2-0.8.0.drv-0/unittest2-0.8.0/unittest2/loader.py",
 line 176, in loadTestsFromName\nparent, obj = obj, getattr(obj, 
part)\nAttributeError: module \'unittest2\' has no attribute \'abc () //\'\n' : 
missing error string in 'Failed to access attribute:\nTraceback (most recent 
call last):\n  File 
"/tmp/guix-build-python-unittest2-0.8.0.drv-0/unittest2-0.8.0/unittest2/loader.py",
 line 176, in loadTestsFromName\nparent, obj = obj, getattr(obj, 
part)\nAttributeError: module \'unittest2\' has no attribute \'abc () //\'\n'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File 
"/tmp/guix-build-python-unittest2-0.8.0.drv-0/unittest2-0.8.0/unittest2/test/test_loader.py",
 line 518, in test_loadTestsFromName__relative_malformed_name
error, test, 'unittest2', 'abc () //', 'abc \(\) //')
  File 
"/tmp/guix-build-python-unittest2-0.8.0.drv-0/unittest2-0.8.0/unittest2/test/test_loader.py",
 line 429, in check_module_lookup_error
"module '%s' has no attribute '%s'" % (name, regex), attr, regex)
  File 
"/tmp/guix-build-python-unittest2-0.8.0.drv-0/unittest2-0.8.0/unittest2/test/test_loader.py",
 line 417, in _check_module_lookup_error
'missing error string in %r' % error)
AssertionError: "module 'unittest2' has no attribute 'abc \\(\\) //'" not found 
in 'Failed to access attribute:\nTraceback (most recent call last):\n  File 
"/tmp/guix-build-python-unittest2-0.8.0.drv-0/unittest2-0.8.0/unittest2/loader.py",
 line 176, in loadTestsFromName\nparent, obj = obj, getattr(obj, 
part)\nAttributeError: module \'unittest2\' has no attribute \'abc () //\'\n' : 
missing error string in 'Failed to access attribute:\nTraceback (most recent 
call last):\n  File 
"/tmp/guix-build-python-unittest2-0.8.0.drv-0/unittest2-0.8.0/unittest2/loader.py",
 line 176, in loadTestsFromName\nparent, obj = obj, getattr(obj, 
part)\nAttributeError: module \'unittest2\' has no attribute \'abc () //\'\n'

==
FAIL: test_loadTestsFromNames__relative_malformed_name 
(unittest2.test.test_loader.Test_TestLoader)
--
Traceback (most recent call last):
  File 

Re: [PATCH] gnu: python-click: Fix test failure.

2017-01-17 Thread Marius Bakke
Ludovic Courtès  writes:

> Danny Milosavljevic  skribis:
>
>> Hi Ludo,
>>
>>> If you know more details, you’re welcome to add them in the comment, but
>>> otherwise feel free to push!
>>
>> Does that mean push to master or to python-tests or to both?
>
> Good question!  That can go to master, but Marius and Leo know better
> whether ‘python-tests’ is a better fit.  Thoughts?

This is already fixed in 'python-tests' by
97be1bc23128cf42c49867d984c43f6fea3820d6. I don't think we need to fix
it in 'master', since it "succeeds" anyway.


signature.asc
Description: PGP signature


Re: Hacker Public Radio (podcast) interview about Guix

2017-01-17 Thread Christopher Allan Webber
Ludovic Courtès writes:

> Hello Guix!
>
> Christopher Allan Webber  skribis:
>
>> Hello!  In late 2015 I was interviewed about Guix for Hacker Public
>> Radio.  Obviously, a lot has happened since then, but the ideas are
>> still relevant.  This is mainly aimed at people who are interested in
>> what Guix is and have maybe never even heard of what functional package
>> management is, and I think it covers that well enough.  But I think it
>> will still also be fun for seasoned Guix hackers who like to hear people
>> talk about Guix. ;)
>>
>>   http://hackerpublicradio.org/eps.php?id=2198
>
> I listened to it the other day and found it super interesting and fun!
> I like the description of how you came to Guile and Guix, the intro to
> functional programming, and the great overview of Guix.
>
> Recommended!  :-)
>
> Ludo’.

Thanks for the kind words! :)



Re: [PATCH 5/8] gnu: Add python-geventhttpclient.

2017-01-17 Thread Marius Bakke
Danny Milosavljevic  writes:

> LGTM!
>
> Let's just use yours here. It's also pretty independent...

OK! Pushed this and the requests update. Looks like we have a ways to go
still :-)


signature.asc
Description: PGP signature


Re: [PATCH 0/8] Make python-oslosphinx work in python-tests branch.

2017-01-17 Thread Marius Bakke
Danny Milosavljevic  writes:

> Btw are you maybe working on unittest2 0.8.0 already?

I was not finished with dulwich yet, so no. What is it needed for?

I was planning to do scipy next, but I'll gladly do something easier :-D


signature.asc
Description: PGP signature


Re: [PATCH 5/8] gnu: Add python-geventhttpclient.

2017-01-17 Thread Danny Milosavljevic
LGTM!

Let's just use yours here. It's also pretty independent...



Re: [PATCH 5/6] gnu: Add ceph.

2017-01-17 Thread Marius Bakke
Ludovic Courtès  writes:

>> + (substitute* "src/Makefile.in"
>> +   ;; By default, the PYTHONPATH is set to "src/pybind".
>> +   ;; Make sure our libraries are found too.
>> +   (("export PYTHONPATH=") (string-append "export PYTHONPATH="
>> +  (getenv "PYTHONPATH")
>> +  ":"))
>
> I’d move (string-append …) on the next line (for the following
> substitutions as well.)

I tried that, but actually found this easier to read. :-)

Will double-check.

>> +;; Ceph is licensed under LGPL2.1, but includes a number of components
>> +;; covered by other licenses. Consult COPYING for full information.
>> +(license (list license:lgpl2.1
>> +   license:cc-by-sa3.0; documentation
>> +   license:bsd-2  ; xxHash
>> +   license:bsd-3
>> +   license:gpl3
>> +   license:gpl2
>> +   license:public-domain
>> +   license:boost1.0
>> +   license:expat
>
> No “or any later version” clause for the GNU licenses here?

Oops, yes, there are some gpl2+ files at least. But Ceph itself is
LGPL2.1 only AFAICT; the COPYING file has a debian-style copyright
format and adds "or later" on some components but not on '*'. No
copyright headers in the source files I've checked.

Unfortunately COPYING does not cover the bundled components, so I still
have some digging to do.

> Then apart from the wrapping that you mentioned in the cover letter and
> other issues, that looks good.  Great work!

Thanks! I'm sure there is a lot of work remaining to make *everything*
work (e.g. 'ceph-deploy'), but will make sure it's possible to provision
a cluster the "old school" way at least :-)


signature.asc
Description: PGP signature


Re: [PATCH 3/8] gnu: python-requests: Update to 2.10.0.

2017-01-17 Thread Danny Milosavljevic
On Tue, 17 Jan 2017 23:38:43 +0100
Marius Bakke  wrote:

> Danny Milosavljevic  writes:
> 
> > * gnu/packages/python.scm (python-requests): Update to 2.10.0.  
> 
> Since we're updating this package (and likely face some breakage), why
> not go with the latest version (2.12.4)?
> 
> Patch attached!

LGTM!

I think this one is independent from the others, trivial and I'll make a new 
series anyway. Can you push that one?



Re: [PATCH 6/8] gnu: Add python-fastimport.

2017-01-17 Thread Marius Bakke
Danny Milosavljevic  writes:

> * gnu/packages/python.scm (python-fastimport, python2-fastimport):
>   New variables.
> ---
>  gnu/packages/python.scm | 19 +++
>  1 file changed, 19 insertions(+)
>
> diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
> index 8c81eae64..cd0a47043 100644
> --- a/gnu/packages/python.scm
> +++ b/gnu/packages/python.scm
> @@ -12679,6 +12679,25 @@ Features:
>  (define-public python2-geventhttpclient
>(package-with-python2 python-geventhttpclient))
>  
> +(define-public python-fastimport
> +  (package
> +(name "python-fastimport")
> +(version "0.9.6")
> +(source
> +  (origin
> +(method url-fetch)
> +(uri (pypi-uri "fastimport" version))
> +(sha256
> +  (base32 "1aqjsin4rmqm7ln4j0p73fzxifws6c6ikgyhav7r137m2ixsxl43"
> +(build-system python-build-system)
> +(home-page "https://github.com/jelmer/python-fastimport;)
> +(synopsis "git fastimport/fastexport parser")
> +(description "This package provides a git fastimport/fastexport parser.")

Does `guix lint` accept the lowercase synopsis?

Here is what I have:

(synopsis "VCS fastimport parser and generator in Python")
(description
 "This package provides a parser for and generator of the Git
@url{https://www.kernel.org/pub/software/scm/git/docs/git-fast-import.html,fastimport}
format.")

> +(license license:gpl2+)))
> +
> +(define-public python2-fastimport
> +  (package-with-python2 python-fastimport))
> +
>  (define-public python-dulwich
>(package
>  (name "python-dulwich")


signature.asc
Description: PGP signature


Re: [PATCH 8/8] gnu: python-dulwich: Fix tests.

2017-01-17 Thread Danny Milosavljevic
Hi,

On Tue, 17 Jan 2017 23:55:50 +0100
Marius Bakke  wrote:
> > + (setenv "TEST_RUNNER" "unittest")
> > + (setenv "PYTHONHASHSEED" "random")
> > + (and
> > +   ;; Test without c extensions
> > +   ;; FIXME someone already called build_ext.
> > +   ;(zero? (system* "python" "-m" "unittest" 
> > "dulwich.tests.test_suite"))
> > +   ;; Test with c extensions
> > +   ;(zero? (system* "python" "setup.py" "build_ext" "-i"))  
> 
> I think build_ext is called as part of the regular build process. Why
> does it need to be called again (with the -i flag)?

It's copied from the .travis file. Since we install the C extension so we 
should also test the C extension - and the other test doesn't matter. But I'm 
unsure whether to leave the comment in.



Re: [PATCH] gnu: Add mlmmj.

2017-01-17 Thread Ludovic Courtès
ng0  skribis:

> From: ng0 
>
> * gnu/packages/mail.scm (mlmmj): New variable.

Pushed, thanks!

Ludo'.



Re: [PATCH 2/6] gnu: Add crypto++.

2017-01-17 Thread Marius Bakke
Leo Famulari  writes:

> On Sun, Jan 15, 2017 at 09:33:34PM +0100, Marius Bakke wrote:
>> * gnu/packages/crypto.scm (crypto++): New variable.
>
> We should make sure to get this change as well:
> https://github.com/weidai11/cryptopp/pull/347

Wow, good catch, will add it!


signature.asc
Description: PGP signature


Re: [PATCH] gnu: Add guildhall.

2017-01-17 Thread Ludovic Courtès
Ricardo Wurmus  skribis:

> Ludovic Courtès  writes:
>
>> Ricardo Wurmus  skribis:
>>
>>> * gnu/packages/guile.scm (guildhall): New variable.
>>
>> [...]
>>
>>> +   `(;; FIXME: tests fail for unknown reason.  They seem to try to load
>>> + ;; the bash executable as a Scheme file.  See bug report at
>>> + ;; https://github.com/ijp/guildhall/issues/22
>>> + #:tests? #f
>>
>> I think that’s because Makefile.am has:
>>
>>   TESTS_ENVIRONMENT = $(GUILE) …
>>
>> whereas it should instead do (assuming test files have the .scm
>> extension):
>>
>>   SCM_LOG_DRIVER = $(GUILE) …
>>
>> and have ‘TESTS_ENVIRONMENT’ contain only environment variables.
>>
>> See
>> 
>> for an example of the modification that is needed.
>
> Interesting.  Do you want me to patch this in our package or should I
> just forward this info to upstream and have them fix it?  (There’s an
> open uncommented bug report about this.)

You could do both, but at least report it upstream since it’s easily
fixed.

TIA!
Ludo’.



Re: [PATCH 0/8] Make python-oslosphinx work in python-tests branch.

2017-01-17 Thread Danny Milosavljevic
Btw are you maybe working on unittest2 0.8.0 already?




Re: [PATCH 8/8] gnu: python-dulwich: Fix tests.

2017-01-17 Thread Marius Bakke
Danny Milosavljevic  writes:

> * gnu/packages/python.scm (python-dulwich)[arguments]: New field.
> ---
>  gnu/packages/python.scm | 26 +-
>  1 file changed, 25 insertions(+), 1 deletion(-)
>
> diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
> index cd0a47043..232e033c7 100644
> --- a/gnu/packages/python.scm
> +++ b/gnu/packages/python.scm
> @@ -12709,11 +12709,35 @@ Features:
>  (sha256
>(base32 "0fl47vzfgc3w3rmhn8naii905cjqcp0vc68iyvymxp7567hh6als"
>  (build-system python-build-system)
> +(arguments
> + `(#:phases
> +   (modify-phases %standard-phases
> + (replace 'check
> +   (lambda* (#:key inputs #:allow-other-keys)
> + (substitute* "dulwich/tests/compat/utils.py"
> +   (("'git'") (string-append "'"
> + (assoc-ref inputs "git")
> + "/bin/git'")))
> + ;(substitute* "dulwich/hooks.py"
> + ;  (("f[.]write[(]args[[]0[]][)]") 
> "f.write(args[0].encode('utf-8'))"))
> + (substitute* '("dulwich/tests/test_repository.py"
> +"dulwich/tests/test_hooks.py")
> +   (("#!/bin/sh") (string-append "#!" (which "sh"
> + (setenv "TEST_RUNNER" "unittest")
> + (setenv "PYTHONHASHSEED" "random")
> + (and
> +   ;; Test without c extensions
> +   ;; FIXME someone already called build_ext.
> +   ;(zero? (system* "python" "-m" "unittest" 
> "dulwich.tests.test_suite"))
> +   ;; Test with c extensions
> +   ;(zero? (system* "python" "setup.py" "build_ext" "-i"))

I think build_ext is called as part of the regular build process. Why
does it need to be called again (with the -i flag)?

Maybe tests can be run after install instead, with the
add-installed-pythonpath trick?

Otherwise LGTM, assuming this will be squashed into the dulwich commit.

> +   (zero? (system* "python" "-m" "unittest" 
> "dulwich.tests.test_suite"
>  (propagated-inputs
>   `(("python-fastimport" ,python-fastimport)))
>  (native-inputs
>   `(("python-mock" ,python-mock)
> -   ("python-geventhttpclient" ,python-geventhttpclient)))
> +   ("python-geventhttpclient" ,python-geventhttpclient)
> +   ("git" ,git)))
>  (home-page "https://www.dulwich.io/;)
>  (synopsis "Python git library")
>  (description "This package provides a Git library for Python.")


signature.asc
Description: PGP signature


ABI break!

2017-01-17 Thread Ludovic Courtès
l...@gnu.org (Ludovic Courtès) skribis:

> Pushed with tests as 384344198dcaa97847e66d3dd82f279ede08d690.

And if you get a weird error when running ‘make’ about
‘file-system-needed-for-boot?’, just run:

  rm gnu/system.go && make

This is because of an ABI break: ‘file-system-needed-for-boot?’ was a
macro and now is a procedure.

Ludo’.



Re: [PATCH 7/8] gnu: python-oslosphinx: Add python-reno.

2017-01-17 Thread Marius Bakke
Danny Milosavljevic  writes:

> * gnu/packages/openstack.scm (python-oslosphinx)[native-inputs]:
>   Add python-reno.

The commit title is weird (not the above quote).

I think this commit can be squashed into the oslosphinx update, since
it's a recent dependency.


signature.asc
Description: PGP signature


Re: [PATCH] gnu: python-click: Fix test failure.

2017-01-17 Thread Ludovic Courtès
Danny Milosavljevic  skribis:

> Hi Ludo,
>
>> If you know more details, you’re welcome to add them in the comment, but
>> otherwise feel free to push!
>
> Does that mean push to master or to python-tests or to both?

Good question!  That can go to master, but Marius and Leo know better
whether ‘python-tests’ is a better fit.  Thoughts?

Ludo’.



Re: [PATCH 6/6] gnu: fio: Enable rbd support.

2017-01-17 Thread Ludovic Courtès
Marius Bakke  skribis:

> * gnu/packages/benchmark.scm (fio)[inputs]: Add ceph:lib.

LGTM!

Quite a lot of code for an “I/O tester”.  ;-)

Ludo’.



Re: [PATCH 5/8] gnu: Add python-geventhttpclient.

2017-01-17 Thread Marius Bakke
Danny Milosavljevic  writes:

> * gnu/packages/python.scm (python-geventhttpclient, python2-geventhttpclient):
>   New variables.
> ---
>  gnu/packages/python.scm | 23 +++
>  1 file changed, 23 insertions(+)
>
> diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
> index deb801631..8c81eae64 100644
> --- a/gnu/packages/python.scm
> +++ b/gnu/packages/python.scm
> @@ -12656,6 +12656,29 @@ Features:
>  @end enumerate")
>  (license (license:x11-style "file://LICENSE"
>  
> +(define-public python-geventhttpclient
> +  (package
> +(name "python-geventhttpclient")
> +(version "1.3.1")
> +(source
> +  (origin
> +(method url-fetch)
> +(uri (pypi-uri "geventhttpclient" version))
> +(sha256
> +  (base32 "07d0q3wzmml75227r6y6mrl5a0zpf4v9gj0ni5rhbyzmaj4az1xx"
> +(build-system python-build-system)
> +(propagated-inputs
> + `(("python-gevent" ,python-gevent)
> +   ("python-six" ,python-six)
> +   ("python-certifi" ,python-certifi)))
> +(home-page "http://github.com/gwik/geventhttpclient;)
> +(synopsis "HTTP client library for gevent")
> +(description "This package provides an HTTP client library for gevent in 
> Python.")
> +(license license:expat)))
> +
> +(define-public python2-geventhttpclient
> +  (package-with-python2 python-geventhttpclient))

'python setup.py test' doesn't actually do anything on this package. In
addition, the tarball comes with .pyc files for the tests and breaks.

Here is a patch with .pyc files removed and tests enabled:



signature.asc
Description: PGP signature
>From b991e2e4981bf8c05bf524f6eb87d47adebc2090 Mon Sep 17 00:00:00 2001
From: Marius Bakke 
Date: Tue, 17 Jan 2017 23:13:19 +0100
Subject: [PATCH] gnu: Add python-geventhttpclient.

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

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index a3a3c6c45..afbb3a367 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -10515,6 +10515,51 @@ to provide a high-level synchronous API on top of the libev event loop.")
 (define-public python2-gevent
   (package-with-python2 python-gevent))
 
+(define-public python-geventhttpclient
+  (package
+(name "python-geventhttpclient")
+(version "1.3.1")
+(source (origin
+  (method url-fetch)
+  (uri (pypi-uri "geventhttpclient" version))
+  (sha256
+   (base32
+"07d0q3wzmml75227r6y6mrl5a0zpf4v9gj0ni5rhbyzmaj4az1xx"))
+  (modules '((guix build utils)))
+  (snippet
+   '(begin
+  ;; Delete pre-compiled files.
+  (for-each delete-file (find-files "src/geventhttpclient"
+".*\\.pyc"))
+  #t
+(build-system python-build-system)
+(arguments
+ '(#:phases
+   (modify-phases %standard-phases
+ (add-before 'check 'delete-network-tests
+   (lambda _
+ (delete-file "src/geventhttpclient/tests/test_client.py")
+ #t))
+ (delete 'check)
+ (add-after 'install 'check
+   (lambda* (#:key inputs outputs #:allow-other-keys)
+ (add-installed-pythonpath inputs outputs)
+ (zero? (system* "py.test" "src/geventhttpclient/tests" "-v")))
+(native-inputs
+ `(("python-pytest" ,python-pytest)))
+(propagated-inputs
+ `(("python-certifi" ,python-certifi)
+   ("python-gevent" ,python-gevent)
+   ("python-six" ,python-six)))
+(home-page "http://github.com/gwik/geventhttpclient;)
+(synopsis "HTTP client library for gevent")
+(description "@code{python-geventhttpclient} is a high performance,
+concurrent HTTP client library for python using @code{gevent}.")
+(license license:expat)))
+
+(define-public python2-geventhttpclient
+  (package-with-python2 python-geventhttpclient))
+
 (define-public python-twisted
   (package
 (name "python-twisted")
-- 
2.11.0



Re: [PATCH 5/6] gnu: Add ceph.

2017-01-17 Thread Ludovic Courtès
Marius Bakke  skribis:

> * gnu/packages/distributed-filesystems.scm: New file.
> * gnu/local.mk (GNU_SYSTEM_MODULES): Add it.

[...]

> + (substitute* "src/Makefile.in"
> +   ;; By default, the PYTHONPATH is set to "src/pybind".
> +   ;; Make sure our libraries are found too.
> +   (("export PYTHONPATH=") (string-append "export PYTHONPATH="
> +  (getenv "PYTHONPATH")
> +  ":"))

I’d move (string-append …) on the next line (for the following
substitutions as well.)

> +;; Ceph is licensed under LGPL2.1, but includes a number of components
> +;; covered by other licenses. Consult COPYING for full information.
> +(license (list license:lgpl2.1
> +   license:cc-by-sa3.0; documentation
> +   license:bsd-2  ; xxHash
> +   license:bsd-3
> +   license:gpl3
> +   license:gpl2
> +   license:public-domain
> +   license:boost1.0
> +   license:expat

No “or any later version” clause for the GNU licenses here?

Then apart from the wrapping that you mentioned in the cover letter and
other issues, that looks good.  Great work!

Ludo’.



Re: [PATCH 0/8] Make python-oslosphinx work in python-tests branch.

2017-01-17 Thread Danny Milosavljevic
Hi,

On Tue, 17 Jan 2017 23:31:52 +0100
Marius Bakke  wrote:

> Danny Milosavljevic  writes:
> 
> > Danny Milosavljevic (8):
> >   gnu: python-oslosphinx: Update to 4.9.0.
> >   gnu: Add python-reno.
> >   gnu: python-requests: Update to 2.10.0.
> >   gnu: Add python-dulwich.
> >   gnu: Add python-geventhttpclient.
> >   gnu: Add python-fastimport.
> >   gnu: python-oslosphinx: Add python-reno.
> >   gnu: python-dulwich: Fix tests.
> >
> >  gnu/packages/openstack.scm | 32 ++--
> >  gnu/packages/python.scm| 95 
> > +-
> >  2 files changed, 122 insertions(+), 5 deletions(-)  
> 
> Wow, thanks! Not-very-coincidentally was I working on the same (this is
> to fix oslosphinx on python-tests branch).
> 
> I'll comment on the commits individually.

It's not done yet, it's just better than before - and I figured 8 commits at 
once is more than enough :)



Re: [PATCH 2/6] gnu: Add crypto++.

2017-01-17 Thread Leo Famulari
On Sun, Jan 15, 2017 at 09:33:34PM +0100, Marius Bakke wrote:
> * gnu/packages/crypto.scm (crypto++): New variable.

We should make sure to get this change as well:
https://github.com/weidai11/cryptopp/pull/347



Re: [PATCH 4/8] gnu: Add python-dulwich.

2017-01-17 Thread Marius Bakke
Danny Milosavljevic  writes:

> * gnu/packages/python.scm (python-dulwich, python2-dulwich): New variables.
> ---
>  gnu/packages/python.scm | 25 +
>  1 file changed, 25 insertions(+)
>
> diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
> index 9572f3a3c..deb801631 100644
> --- a/gnu/packages/python.scm
> +++ b/gnu/packages/python.scm
> @@ -12655,3 +12655,28 @@ Features:
>  @item Compiles templates into optimized, yet readable, Python code.
>  @end enumerate")
>  (license (license:x11-style "file://LICENSE"
> +
> +(define-public python-dulwich
> +  (package
> +(name "python-dulwich")
> +(version "0.16.3")
> +(source
> +  (origin
> +(method url-fetch)
> +(uri (pypi-uri "dulwich" version))
> +(sha256
> +  (base32 "0fl47vzfgc3w3rmhn8naii905cjqcp0vc68iyvymxp7567hh6als"
> +(build-system python-build-system)
> +(propagated-inputs
> + `(("python-fastimport" ,python-fastimport)))
> +(native-inputs
> + `(("python-mock" ,python-mock)
> +   ("python-geventhttpclient" ,python-geventhttpclient)))

Hmm.. Some of these packages come after this package. Please rebase the
series so that fastimport and geventhttpclient come earlier. This helps
when bisecting, for example.

> +(home-page "https://www.dulwich.io/;)
> +(synopsis "Python git library")
> +(description "This package provides a Git library for Python.")

This should mention that it is a pure-python implementation. Here is
what I had:

(synopsis "Git implementation in Python")
(description
 "Dulwich is an implementation of the Git file formats and protocols
written in pure Python.")

> +;; dual-licensed

Is it both, or either? ;-)

I usually write "Can be used with either license.".

> +(license (list license:asl2.0 license:gpl2+
> +
> +(define-public python2-dulwich
> +  (package-with-python2 python-dulwich))


signature.asc
Description: PGP signature


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

2017-01-17 Thread Ludovic Courtès
Marius Bakke  skribis:

> * gnu/packages/databases.scm (rocksdb): New variable.

[...]

> +   (lambda* (#:key (make-flags '()) #:allow-other-keys)
> + ;; Prevent the build from adding machine-specific optimizations.
> + ;; This does not work if passed as a make flag...
> + (setenv "PORTABLE" "1")
> + (and (zero? (apply system* "make" "static_lib" make-flags))
> +  (zero? (apply system* "make" "shared_lib" make-flags)

We could avoid building the static libs if nothing requires it; no
strong opinion though.

> +(home-page "http://rocksdb.org/;)
> +(synopsis "Persistent key-value store for fast storage")
> +(description
> + "RocksDB is an embeddable, persistent key-value storage library that is
> +designed for flash and RAM storage.")

Could you expound a little bit?

LGTM!

Ludo’.



Re: [PATCH 3/8] gnu: python-requests: Update to 2.10.0.

2017-01-17 Thread Marius Bakke
Danny Milosavljevic  writes:

> * gnu/packages/python.scm (python-requests): Update to 2.10.0.

Since we're updating this package (and likely face some breakage), why
not go with the latest version (2.12.4)?

Patch attached!



signature.asc
Description: PGP signature
>From b4198062f279db27b186930a54ffaacef2042761 Mon Sep 17 00:00:00 2001
From: Marius Bakke 
Date: Tue, 17 Jan 2017 21:56:31 +0100
Subject: [PATCH] gnu: python-requests: Update to 2.12.4.

* gnu/packages/python.scm (python-requests, python2-requests): Update to 2.12.4.
---
 gnu/packages/python.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 6518006aa..7f72ed13d 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -2467,13 +2467,13 @@ installed with a newer @code{pip} or with wheel's own command line utility.")
 (define-public python-requests
   (package
 (name "python-requests")
-(version "2.9.1")
+(version "2.12.4")
 (source (origin
  (method url-fetch)
  (uri (pypi-uri "requests" version))
  (sha256
   (base32
-   "0zsqrzlybf25xscgi7ja4s48y2abf9wvjkn47wh984qgs1fq2xy5"
+   "0d5fwxmw4ibynk3imph3n4n84m0n3ib1vj339fxhkqri0qd4767d"
 ;; TODO: unbundle urllib3 and chardet.
 (build-system python-build-system)
 (arguments
-- 
2.11.0



Re: [PATCH 2/6] gnu: Add crypto++.

2017-01-17 Thread Ludovic Courtès
Marius Bakke  skribis:

> * gnu/packages/crypto.scm (crypto++): New variable.

LGTM!  That was not an easy one either…

> +(outputs '("out"  ; 6.4M shared library and headers
> +   "bin"  ; 6.3M cryptest.exe
> +   "doc"  ; 6.4M documentation and examples
> +   "static")) ; 15M static library

If static libs are not used, we could even drop the “static” output.

Thanks,
Ludo’.



Re: [PATCH 2/8] gnu: Add python-reno.

2017-01-17 Thread Marius Bakke
Danny Milosavljevic  writes:

> * gnu/packages/openstack.scm (python-reno, python2-reno): New variables.
> ---
>  gnu/packages/openstack.scm | 25 +
>  1 file changed, 25 insertions(+)
>
> diff --git a/gnu/packages/openstack.scm b/gnu/packages/openstack.scm
> index da5b5f7c8..338d35d13 100644
> --- a/gnu/packages/openstack.scm
> +++ b/gnu/packages/openstack.scm
> @@ -550,6 +550,31 @@ in transmittable and storable formats, such as JSON and 
> MessagePack.")
>  (define-public python2-oslo.serialization
>(package-with-python2 python-oslo.serialization))
>  
> +(define-public python-reno
> +  (package
> +(name "python-reno")
> +(version "2.0.3")
> +(source
> +  (origin
> +(method url-fetch)
> +(uri (pypi-uri "reno" version))
> +(sha256
> +  (base32 "1i2wnn5fnm3jm5774pahg000q0lma5i913hml91bbbm2mybphndd"
> +(build-system python-build-system)
> +(propagated-inputs
> +  `(("python-babel" ,python-babel)
> +("python-dulwich" ,python-dulwich)
> +("python-pbr" ,python-pbr)
> +("python-pyyaml" ,python-pyyaml)
> +("python-six" ,python-six)))
> +(home-page "http://docs.openstack.org/developer/reno/;)
> +(synopsis "Release notes manager")
> +(description "This package provides a release notes manager for Python.")

I would (well, did) mention that this is for a particular usage of
"release notes":

(description
 "Reno is a tool for storing release notes in a git repository and
building documentation from them.")

I think that is better, so users know up front if this is something they
are interested in.

> +(license asl2.0)))
> +
> +(define-public python2-reno
> +  (package-with-python2 python-reno))
> +
>  (define-public python-oslosphinx
>(package
>  (name "python-oslosphinx")


signature.asc
Description: PGP signature


Re: [PATCH 3/6] gnu: Add python-cram.

2017-01-17 Thread Ludovic Courtès
Marius Bakke  skribis:

> * gnu/packages/python.scm (python-cram, python2-cram): New variables.

LGTM!

> + (substitute* "cram/_test.py"
> +   ;; This hack works around a bug triggered by substituting
> +   ;; the /bin/sh paths. "tests/usage.t" compares the output of
> +   ;; "cram -h", which breaks the output at 80 characters. This
> +   ;; causes the line showing the default shell to break into two
> +   ;; lines, but the test expects a single line...
> +   (("env\\['COLUMNS'\\] = '80'")
> +"env['COLUMNS'] = '160'"))

Woow, good catch.

Ludo’.



Re: [PATCH 1/6] gnu: Add leveldb.

2017-01-17 Thread Ludovic Courtès
Marius Bakke  skribis:

> * gnu/packages/databases.scm (leveldb): New variable.

LGTM!



Re: [PATCH 0/8] Make python-oslosphinx work in python-tests branch.

2017-01-17 Thread Marius Bakke
Danny Milosavljevic  writes:

> Danny Milosavljevic (8):
>   gnu: python-oslosphinx: Update to 4.9.0.
>   gnu: Add python-reno.
>   gnu: python-requests: Update to 2.10.0.
>   gnu: Add python-dulwich.
>   gnu: Add python-geventhttpclient.
>   gnu: Add python-fastimport.
>   gnu: python-oslosphinx: Add python-reno.
>   gnu: python-dulwich: Fix tests.
>
>  gnu/packages/openstack.scm | 32 ++--
>  gnu/packages/python.scm| 95 
> +-
>  2 files changed, 122 insertions(+), 5 deletions(-)

Wow, thanks! Not-very-coincidentally was I working on the same (this is
to fix oslosphinx on python-tests branch).

I'll comment on the commits individually.


signature.asc
Description: PGP signature


[PATCH 4/8] gnu: Add python-dulwich.

2017-01-17 Thread Danny Milosavljevic
* gnu/packages/python.scm (python-dulwich, python2-dulwich): New variables.
---
 gnu/packages/python.scm | 25 +
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 9572f3a3c..deb801631 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -12655,3 +12655,28 @@ Features:
 @item Compiles templates into optimized, yet readable, Python code.
 @end enumerate")
 (license (license:x11-style "file://LICENSE"
+
+(define-public python-dulwich
+  (package
+(name "python-dulwich")
+(version "0.16.3")
+(source
+  (origin
+(method url-fetch)
+(uri (pypi-uri "dulwich" version))
+(sha256
+  (base32 "0fl47vzfgc3w3rmhn8naii905cjqcp0vc68iyvymxp7567hh6als"
+(build-system python-build-system)
+(propagated-inputs
+ `(("python-fastimport" ,python-fastimport)))
+(native-inputs
+ `(("python-mock" ,python-mock)
+   ("python-geventhttpclient" ,python-geventhttpclient)))
+(home-page "https://www.dulwich.io/;)
+(synopsis "Python git library")
+(description "This package provides a Git library for Python.")
+;; dual-licensed
+(license (list license:asl2.0 license:gpl2+
+
+(define-public python2-dulwich
+  (package-with-python2 python-dulwich))



[PATCH 8/8] gnu: python-dulwich: Fix tests.

2017-01-17 Thread Danny Milosavljevic
* gnu/packages/python.scm (python-dulwich)[arguments]: New field.
---
 gnu/packages/python.scm | 26 +-
 1 file changed, 25 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index cd0a47043..232e033c7 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -12709,11 +12709,35 @@ Features:
 (sha256
   (base32 "0fl47vzfgc3w3rmhn8naii905cjqcp0vc68iyvymxp7567hh6als"
 (build-system python-build-system)
+(arguments
+ `(#:phases
+   (modify-phases %standard-phases
+ (replace 'check
+   (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "dulwich/tests/compat/utils.py"
+   (("'git'") (string-append "'"
+ (assoc-ref inputs "git")
+ "/bin/git'")))
+ ;(substitute* "dulwich/hooks.py"
+ ;  (("f[.]write[(]args[[]0[]][)]") 
"f.write(args[0].encode('utf-8'))"))
+ (substitute* '("dulwich/tests/test_repository.py"
+"dulwich/tests/test_hooks.py")
+   (("#!/bin/sh") (string-append "#!" (which "sh"
+ (setenv "TEST_RUNNER" "unittest")
+ (setenv "PYTHONHASHSEED" "random")
+ (and
+   ;; Test without c extensions
+   ;; FIXME someone already called build_ext.
+   ;(zero? (system* "python" "-m" "unittest" 
"dulwich.tests.test_suite"))
+   ;; Test with c extensions
+   ;(zero? (system* "python" "setup.py" "build_ext" "-i"))
+   (zero? (system* "python" "-m" "unittest" 
"dulwich.tests.test_suite"
 (propagated-inputs
  `(("python-fastimport" ,python-fastimport)))
 (native-inputs
  `(("python-mock" ,python-mock)
-   ("python-geventhttpclient" ,python-geventhttpclient)))
+   ("python-geventhttpclient" ,python-geventhttpclient)
+   ("git" ,git)))
 (home-page "https://www.dulwich.io/;)
 (synopsis "Python git library")
 (description "This package provides a Git library for Python.")



[PATCH 1/8] gnu: python-oslosphinx: Update to 4.9.0.

2017-01-17 Thread Danny Milosavljevic
* gnu/packages/openstack.scm (python-oslosphinx): Update to 4.9.0.
---
 gnu/packages/openstack.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/openstack.scm b/gnu/packages/openstack.scm
index b3e3f08c2..da5b5f7c8 100644
--- a/gnu/packages/openstack.scm
+++ b/gnu/packages/openstack.scm
@@ -553,14 +553,14 @@ in transmittable and storable formats, such as JSON and 
MessagePack.")
 (define-public python-oslosphinx
   (package
 (name "python-oslosphinx")
-(version "4.3.0")
+(version "4.9.0")
 (source
  (origin
(method url-fetch)
(uri (pypi-uri "oslosphinx" version))
(sha256
 (base32
- "0cz8ym4i1n4rgljlqhyhfkpgdmid7nkb909k8r8nk186m9cmpla2"
+ "1rkpbajacr4misc676ybmj7lsbn0yga40w3ybk3kf5a6l2zyjafd"
 (build-system python-build-system)
 (propagated-inputs
   `(("python-requests" ,python-requests)))



[PATCH 5/8] gnu: Add python-geventhttpclient.

2017-01-17 Thread Danny Milosavljevic
* gnu/packages/python.scm (python-geventhttpclient, python2-geventhttpclient):
  New variables.
---
 gnu/packages/python.scm | 23 +++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index deb801631..8c81eae64 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -12656,6 +12656,29 @@ Features:
 @end enumerate")
 (license (license:x11-style "file://LICENSE"
 
+(define-public python-geventhttpclient
+  (package
+(name "python-geventhttpclient")
+(version "1.3.1")
+(source
+  (origin
+(method url-fetch)
+(uri (pypi-uri "geventhttpclient" version))
+(sha256
+  (base32 "07d0q3wzmml75227r6y6mrl5a0zpf4v9gj0ni5rhbyzmaj4az1xx"
+(build-system python-build-system)
+(propagated-inputs
+ `(("python-gevent" ,python-gevent)
+   ("python-six" ,python-six)
+   ("python-certifi" ,python-certifi)))
+(home-page "http://github.com/gwik/geventhttpclient;)
+(synopsis "HTTP client library for gevent")
+(description "This package provides an HTTP client library for gevent in 
Python.")
+(license license:expat)))
+
+(define-public python2-geventhttpclient
+  (package-with-python2 python-geventhttpclient))
+
 (define-public python-dulwich
   (package
 (name "python-dulwich")



[PATCH 7/8] gnu: python-oslosphinx: Add python-reno.

2017-01-17 Thread Danny Milosavljevic
* gnu/packages/openstack.scm (python-oslosphinx)[native-inputs]:
  Add python-reno.
---
 gnu/packages/openstack.scm | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/openstack.scm b/gnu/packages/openstack.scm
index 338d35d13..966146de8 100644
--- a/gnu/packages/openstack.scm
+++ b/gnu/packages/openstack.scm
@@ -593,7 +593,8 @@ in transmittable and storable formats, such as JSON and 
MessagePack.")
   `(("python-pbr" ,python-pbr)
 ("python-docutils" ,python-docutils)
 ("python-hacking" ,python-hacking)
-("python-sphinx" ,python-sphinx)))
+("python-sphinx" ,python-sphinx)
+("python-reno" ,python-reno)))
 (home-page "http://www.openstack.org/;)
 (synopsis "OpenStack sphinx extensions and theme")
 (description



[PATCH 3/8] gnu: python-requests: Update to 2.10.0.

2017-01-17 Thread Danny Milosavljevic
* gnu/packages/python.scm (python-requests): Update to 2.10.0.
---
 gnu/packages/python.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 6518006aa..9572f3a3c 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -2467,13 +2467,13 @@ installed with a newer @code{pip} or with wheel's own 
command line utility.")
 (define-public python-requests
   (package
 (name "python-requests")
-(version "2.9.1")
+(version "2.10.0")
 (source (origin
  (method url-fetch)
  (uri (pypi-uri "requests" version))
  (sha256
   (base32
-   "0zsqrzlybf25xscgi7ja4s48y2abf9wvjkn47wh984qgs1fq2xy5"
+   "0m2vaasjdhrsf9nk05q0bybqw0w4w4p3p4vaw7730w8mi1bq3wb3"
 ;; TODO: unbundle urllib3 and chardet.
 (build-system python-build-system)
 (arguments



[PATCH 6/8] gnu: Add python-fastimport.

2017-01-17 Thread Danny Milosavljevic
* gnu/packages/python.scm (python-fastimport, python2-fastimport):
  New variables.
---
 gnu/packages/python.scm | 19 +++
 1 file changed, 19 insertions(+)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 8c81eae64..cd0a47043 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -12679,6 +12679,25 @@ Features:
 (define-public python2-geventhttpclient
   (package-with-python2 python-geventhttpclient))
 
+(define-public python-fastimport
+  (package
+(name "python-fastimport")
+(version "0.9.6")
+(source
+  (origin
+(method url-fetch)
+(uri (pypi-uri "fastimport" version))
+(sha256
+  (base32 "1aqjsin4rmqm7ln4j0p73fzxifws6c6ikgyhav7r137m2ixsxl43"
+(build-system python-build-system)
+(home-page "https://github.com/jelmer/python-fastimport;)
+(synopsis "git fastimport/fastexport parser")
+(description "This package provides a git fastimport/fastexport parser.")
+(license license:gpl2+)))
+
+(define-public python2-fastimport
+  (package-with-python2 python-fastimport))
+
 (define-public python-dulwich
   (package
 (name "python-dulwich")



[PATCH 2/8] gnu: Add python-reno.

2017-01-17 Thread Danny Milosavljevic
* gnu/packages/openstack.scm (python-reno, python2-reno): New variables.
---
 gnu/packages/openstack.scm | 25 +
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/openstack.scm b/gnu/packages/openstack.scm
index da5b5f7c8..338d35d13 100644
--- a/gnu/packages/openstack.scm
+++ b/gnu/packages/openstack.scm
@@ -550,6 +550,31 @@ in transmittable and storable formats, such as JSON and 
MessagePack.")
 (define-public python2-oslo.serialization
   (package-with-python2 python-oslo.serialization))
 
+(define-public python-reno
+  (package
+(name "python-reno")
+(version "2.0.3")
+(source
+  (origin
+(method url-fetch)
+(uri (pypi-uri "reno" version))
+(sha256
+  (base32 "1i2wnn5fnm3jm5774pahg000q0lma5i913hml91bbbm2mybphndd"
+(build-system python-build-system)
+(propagated-inputs
+  `(("python-babel" ,python-babel)
+("python-dulwich" ,python-dulwich)
+("python-pbr" ,python-pbr)
+("python-pyyaml" ,python-pyyaml)
+("python-six" ,python-six)))
+(home-page "http://docs.openstack.org/developer/reno/;)
+(synopsis "Release notes manager")
+(description "This package provides a release notes manager for Python.")
+(license asl2.0)))
+
+(define-public python2-reno
+  (package-with-python2 python-reno))
+
 (define-public python-oslosphinx
   (package
 (name "python-oslosphinx")



[PATCH 0/8] Make python-oslosphinx work in python-tests branch.

2017-01-17 Thread Danny Milosavljevic
Danny Milosavljevic (8):
  gnu: python-oslosphinx: Update to 4.9.0.
  gnu: Add python-reno.
  gnu: python-requests: Update to 2.10.0.
  gnu: Add python-dulwich.
  gnu: Add python-geventhttpclient.
  gnu: Add python-fastimport.
  gnu: python-oslosphinx: Add python-reno.
  gnu: python-dulwich: Fix tests.

 gnu/packages/openstack.scm | 32 ++--
 gnu/packages/python.scm| 95 +-
 2 files changed, 122 insertions(+), 5 deletions(-)




Re: [PATCH] Add vcflib.

2017-01-17 Thread Roel Janssen

Ricardo Wurmus writes:

> Roel Janssen  writes:
>
>> From 98ed1adae91aca2c118779f5333dc21446f1c720 Mon Sep 17 00:00:00 2001
>> From: Roel Janssen 
>> Date: Tue, 26 Apr 2016 19:48:31 +0200
>> Subject: [PATCH] gnu: Add intervaltree.
>>
>> * gnu/packages/bioinformatics.scm (intervaltree): New variable.
>> ---
>>  gnu/packages/bioinformatics.scm | 32 
>>  1 file changed, 32 insertions(+)
>>
>> diff --git a/gnu/packages/bioinformatics.scm 
>> b/gnu/packages/bioinformatics.scm
>> index 620439f..9ad6c38 100644
>> --- a/gnu/packages/bioinformatics.scm
>> +++ b/gnu/packages/bioinformatics.scm
>> @@ -885,6 +885,38 @@ well as many of the command line options.")
>>  multiple sequence alignments.")
>>  (license license:expat)))
>>  
>> +(define-public intervaltree
>> +  (let ((commit "dbb4c513d1ad3baac516fc1484c995daf9b42838"))
>> +(package
>> +  (name "intervaltree")
>> +  (version (string-append "0-1." (string-take commit 7)))
>> +  (source (origin
>> +(method url-fetch)
>> +(uri (string-append "https://github.com/ekg/intervaltree/archive/;
>> +commit ".tar.gz"))
>> +(file-name (string-append name "-" version ".tar.gz"))
>> +(sha256
>> + (base32 "19prwpn2wxsrijp5svfqvfcxl5nj7zdhm3jycd5kqhl9nifpmcks"
>> +  (build-system gnu-build-system)
>> +  (arguments
>> +   `(#:phases
>> + (modify-phases %standard-phases
>> +   (delete 'configure) ; There is no configure phase.
>> +   (replace 'check
>> + (lambda _
>> +   (zero? (system* "./interval_tree_test"
>> +   (replace 'install
>> + (lambda* (#:key outputs #:allow-other-keys)
>> +   (let ((include (string-append (assoc-ref outputs "out")
>> + "/include/intervaltree")))
>> + (install-file "IntervalTree.h" include)))
>> +  (home-page "https://github.com/ekg/intervaltree/;)
>> +  (synopsis "Minimal C++ interval tree implementation")
>> +  (description "This library provides a basic implementation of an 
>> interval
>> +tree using C++ templates, allowing the insertion of arbitrary types into the
>> +tree.")
>> +  (license license:expat
>> +
>>  (define-public python-pysam
>>(package
>>  (name "python-pysam")
>
> That’s a nice patch that doesn’t seem to be in Guix yet.  It was part of
> your vcflib series, but it never made it upstream.  Would you like to
> rebase and push it?

That's an oldie indeed.  These patches intended to add freebayes.  The
freebayes patch I submitted no longer works, so I'll need to work on
that.  Before doing so, not all license issues have been resolved
(yet?), so let's wait for that.

Do you think it's useful for these patches to be committed regardless of
whether freebayes will be added?  If so, then I'll take the time to
rebase and push them.

Kind regards,
Roel Janssen



Re: [PATCH 1/1] gnu: icestorm: Replace reference in icebox_vlog.

2017-01-17 Thread Leo Famulari
On Mon, Jan 16, 2017 at 03:21:29PM +0100, Danny Milosavljevic wrote:
> Hi,
> 
> > I should have probably added a different phase for the
> > "icebox/icebox_vlog.py" substitution, to make clear it's the only path
> > which is a run-time reference. The installed icebox_vlog, can't find the
> > chipdb.txt file, if we don't make the substitution.
> 
> Yeah, I think how you did it now is best.
> 
> LGTM!
> 
> I've built it and it works.
> 
> I'll leave some time for others to comment. Afterwards, I'll commit it
> to master (since it'll cause rebuild of one icestorm-dependent
> package).

LGTM! Thanks Theodoros and Danny!



Re: [PATCH] gnu: Add r-fivethirtyeight.

2017-01-17 Thread Ricardo Wurmus

Marius Bakke  writes:

> Ricardo Wurmus  writes:
>
>> * gnu/packages/statistics.scm (r-fivethirtyeight): New variable.
>
> [...]
>
>> +(propagated-inputs
>> + ;; broom,, scales, ggthemes
>
> Are these TODO entries or a shopping list?
>
> ...I'll show myself out :P

I removed them.  These packages were not needed; luckily, because we
don’t seem to have them yet.

> (this and the other series LGTM otherwise)

Thanks for looking over the patches.  I pushed them to master.

-- 
Ricardo

GPG: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
https://elephly.net




Re: [PATCH 02/16] gnu: Add hisat2.

2017-01-17 Thread Ricardo Wurmus

Leo Famulari  writes:

> On Tue, Jan 17, 2017 at 03:11:27PM +0100, Ricardo Wurmus wrote:
>> * gnu/packages/bioinformatics.scm (hisat2): New variable.
>
>> +   #:make-flags (list "CC=gcc" "CXX=g++" "allall")
>
> "allall"... We can categorize this alongside -Weverything! ;)
>
>> + (add-after 'unpack 'make-deterministic
>> +   (lambda _
>> + (substitute* "Makefile"
>> +   (("`date`") "0"))
>
> I'd take the value of SOURCE_DATE_EPOCH from the environment, but it's
> not very important.

Oh, I’m sorry.  I have just pushed based on Marius’s review and didn’t
see your message in time.  I’ll keep SOURCE_DATE_EPOCH in mind for
future cases.

--
Ricardo

GPG: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
https://elephly.net




Re: [PATCH 02/16] gnu: Add hisat2.

2017-01-17 Thread Leo Famulari
On Tue, Jan 17, 2017 at 03:11:27PM +0100, Ricardo Wurmus wrote:
> * gnu/packages/bioinformatics.scm (hisat2): New variable.

> +   #:make-flags (list "CC=gcc" "CXX=g++" "allall")

"allall"... We can categorize this alongside -Weverything! ;)

> + (add-after 'unpack 'make-deterministic
> +   (lambda _
> + (substitute* "Makefile"
> +   (("`date`") "0"))

I'd take the value of SOURCE_DATE_EPOCH from the environment, but it's
not very important.



Re: [PATCH] gnu: boost: Update to 1.63.0.

2017-01-17 Thread Danny Milosavljevic
Hi Ludo,

On Mon, 16 Jan 2017 14:45:15 +0100
l...@gnu.org (Ludovic Courtès) wrote:

> Danny Milosavljevic  skribis:
> 
> > * gnu/packages/boost.scm (boost): Update to 1.63.0.  
> 
> I think this could go in a new ‘staging’ branch, unless we expect
> breakage, in which case a ‘boost-updates’ branch may be more
> appropriate.

Okay. I don't think a minor version update causes breakage - but let's see.

I've pushed it to 'staging', commit 4c9c8a294ea64fcb969da84e6fe207780ebdb387.



Re: [PATCH] gnu: Add emacs-ag

2017-01-17 Thread Christopher Baines
Alex Kost  writes:

> Christopher Baines (2017-01-15 11:25 +) wrote:
>
>> * gnu/packages/emacs.scm (emacs-ag): New variable.
>> ---
>>  gnu/packages/emacs.scm | 27 +++
>>  1 file changed, 27 insertions(+)
>>
>> diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
>> index 50cea7685..6933dcc35 100644
>> --- a/gnu/packages/emacs.scm
>> +++ b/gnu/packages/emacs.scm
>> @@ -46,6 +46,7 @@
>>#:use-module (guix build-system glib-or-gtk)
>>#:use-module (guix build-system trivial)
>>#:use-module (gnu packages)
>> +  #:use-module (gnu packages code)
>>#:use-module (gnu packages guile)
>>#:use-module (gnu packages gtk)
>>#:use-module (gnu packages gnome)
>> @@ -1066,6 +1067,32 @@ like.  It can be linked with various Emacs mail 
>> clients (Message and Mail
>>  mode, Rmail, Gnus, MH-E, and VM).  BBDB is fully customizable.")
>>  (license license:gpl3+)))
>>  
>> +(define-public emacs-ag
>> +  (package
>> +(name "emacs-ag")
>> +(version "0.47")
>> +(source (origin
>> + (method url-fetch)
>> + (uri (string-append
>> +   "https://github.com/Wilfred/ag.el/archive/;
>> +   version ".tar.gz"))
>> + (file-name (string-append name "-" version ".tar.gz"))
>> + (sha256
>> +  (base32
>> +   "1rlmp6wnyhqfg86dbz17r914msp58favn4kd4yrdwyia265a4lar"
>> +(build-system emacs-build-system)
>> +(propagated-inputs
>> + `(("the-silver-searcher" ,the-silver-searcher)
>
> Is it propagated just because "ag" executable is needed?  If so, then
> it's better to keep it in 'inputs' and to change the value of
> 'ag-executable' variable (in "ag.el") using 'emacs-substitute-variables'.
> See 'emacs-slime', 'emacs-w3m', etc. for examples.

Ah, cool, I didn't know doing this was so easy before :) I've sent
another patch with this change.


signature.asc
Description: PGP signature


Re: [PATCH] gnu: Add emacs-ag

2017-01-17 Thread Christopher Baines
ng0  writes:

> Hartmut Goebel  writes:
>
>> Am 15.01.2017 um 17:13 schrieb ng0:
 Am 15.01.2017 um 12:25 schrieb Christopher Baines:
> the silver searcher
 Please explain shortly what this is in the description.

>>> Why? In my opinion this is already explained when you do
>>
>> As a service for those who do not know what "the solver searcher" is.
>> Adding "code searching tool" to the description should not be much of a
>> problem.
>
> I've read it again and it might help when "a code searching tool"
> is added.

I've added this to the description now and sent another patch.


signature.asc
Description: PGP signature


[PATCH] gnu: Add emacs-ag

2017-01-17 Thread Christopher Baines
* gnu/packages/emacs.scm (emacs-ag): New variable.
---
 gnu/packages/emacs.scm | 39 +++
 1 file changed, 39 insertions(+)

diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 50cea7685..45337097b 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -46,6 +46,7 @@
   #:use-module (guix build-system glib-or-gtk)
   #:use-module (guix build-system trivial)
   #:use-module (gnu packages)
+  #:use-module (gnu packages code)
   #:use-module (gnu packages guile)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages gnome)
@@ -1066,6 +1067,44 @@ like.  It can be linked with various Emacs mail clients 
(Message and Mail
 mode, Rmail, Gnus, MH-E, and VM).  BBDB is fully customizable.")
 (license license:gpl3+)))
 
+(define-public emacs-ag
+  (package
+(name "emacs-ag")
+(version "0.47")
+(source (origin
+ (method url-fetch)
+ (uri (string-append
+   "https://github.com/Wilfred/ag.el/archive/;
+   version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+  (base32
+   "1rlmp6wnyhqfg86dbz17r914msp58favn4kd4yrdwyia265a4lar"
+(build-system emacs-build-system)
+(arguments
+ `(#:phases
+   (modify-phases %standard-phases
+ (add-before 'install 'configure
+ (lambda* (#:key inputs #:allow-other-keys)
+   (emacs-substitute-variables "ag.el"
+ ("ag-executable" (string-append
+   (assoc-ref inputs 
"the-silver-searcher")
+   "/bin/ag")))
+   #t)
+(inputs
+ `(("the-silver-searcher" ,the-silver-searcher)))
+(propagated-inputs
+ `(("dash" ,emacs-dash)
+   ("s" ,emacs-s)))
+(home-page "https://github.com/Wilfred/ag.el;)
+(synopsis "Front-end for ag (the-silver-searcher) for Emacs")
+(description "This package provides the ability to use the silver
+searcher, a code searching tool, sometimes abbreviated to @code{ag}.  Features
+include version control system awareness, use of Perl compatible regular
+expressions, editing the search results directly and searching file names
+rather than the contents of files.")
+(license license:gpl3+)))
+
 (define-public emacs-async
   (package
 (name "emacs-async")
-- 
2.11.0




[PATCH] gnu: Add emacs-ag

2017-01-17 Thread Christopher Baines
* gnu/packages/emacs.scm (emacs-ag): New variable.
---
 gnu/packages/emacs.scm | 38 ++
 1 file changed, 38 insertions(+)

diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 50cea7685..62b8dcc46 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -46,6 +46,7 @@
   #:use-module (guix build-system glib-or-gtk)
   #:use-module (guix build-system trivial)
   #:use-module (gnu packages)
+  #:use-module (gnu packages code)
   #:use-module (gnu packages guile)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages gnome)
@@ -1066,6 +1067,43 @@ like.  It can be linked with various Emacs mail clients 
(Message and Mail
 mode, Rmail, Gnus, MH-E, and VM).  BBDB is fully customizable.")
 (license license:gpl3+)))
 
+(define-public emacs-ag
+  (package
+(name "emacs-ag")
+(version "0.47")
+(source (origin
+ (method url-fetch)
+ (uri (string-append
+   "https://github.com/Wilfred/ag.el/archive/;
+   version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+  (base32
+   "1rlmp6wnyhqfg86dbz17r914msp58favn4kd4yrdwyia265a4lar"
+(build-system emacs-build-system)
+(arguments
+ `(#:phases
+   (modify-phases %standard-phases
+ (add-before 'install 'configure
+ (lambda* (#:key inputs #:allow-other-keys)
+   (emacs-substitute-variables "ag.el"
+ ("ag-executable" (string-append
+   (assoc-ref inputs 
"the-silver-searcher")
+   "/bin/ag")))
+   #t)
+(propagated-inputs
+ `(("the-silver-searcher" ,the-silver-searcher)
+   ("dash" ,emacs-dash)
+   ("s" ,emacs-s)))
+(home-page "https://github.com/Wilfred/ag.el;)
+(synopsis "Front-end for ag (the-silver-searcher) for Emacs")
+(description "This package provides the ability to use the silver
+searcher, a code searching tool, sometimes abbreviated to @code{ag}.  Features
+include version control system awareness, use of Perl compatible regular
+expressions, editing the search results directly and searching file names
+rather than the contents of files.")
+(license license:gpl3+)))
+
 (define-public emacs-async
   (package
 (name "emacs-async")
-- 
2.11.0




Re: pre-push signature hook error reporting [was Re: [PATCH v6] gnu: python-sphinx: Update to 1.4.8.]

2017-01-17 Thread Leo Famulari
On Tue, Jan 17, 2017 at 01:56:29PM +0100, Hartmut Goebel wrote:
> Am 17.01.2017 um 12:34 schrieb Danny Milosavljevic:
> > For minimal improvement (I don't even think it's measureable), try
> > `git rev-list HEAD` (backquotes) - it prevents having to spawn a
> > subshell.
> 
> Huh? I doubt this. The bash manual, section "Command Substitution" does
> not distinguish between these both, as far as I understand it.

The POSIX shell command language specification says that:

"The shell shall expand the command substitution by executing command in
a subshell environment (see Shell Execution Environment) and replacing
the command substitution (the text of command plus the enclosing "$()"
or backquotes) with the standard output of the command, removing
sequences of one or more s at the end of the substitution."

http://pubs.opengroup.org/onlinepubs/007904875/utilities/xcu_chap02.html#tag_02_06_03

Maybe it's faster, maybe not, but I think my benchmark was
misinterpreted...



Re: [PATCH] gnu: python-click: Fix test failure.

2017-01-17 Thread Marius Bakke
Danny Milosavljevic  writes:

> Hi Ludo,
>
>> If you know more details, you’re welcome to add them in the comment, but
>> otherwise feel free to push!
>
> Does that mean push to master or to python-tests or to both?
>
> Also, I don't really know more details other than that the test
> framework does autodiscovery and picks up a module for the wrong
> platform (Windows) just because it's there.

I came across this in python-tests as well, and fixed it by executing
"make test" instead of relying on 'setup.py test'.

Pro tip: Check how upstream runs their test, if they have a CI system
(.travis.yml etc).


signature.asc
Description: PGP signature


Re: pre-push signature hook error reporting [was Re: [PATCH v6] gnu: python-sphinx: Update to 1.4.8.]

2017-01-17 Thread Leo Famulari
On Tue, Jan 17, 2017 at 03:55:42PM +0100, Hartmut Goebel wrote:
> Am 17.01.2017 um 04:14 schrieb Leo Famulari:
> > with `git verify-commit $(git rev-list HEAD)`. This is what the pre-push
> 
> As far as I understand the example hook, it would be possible to do
> something like
> 
> git verify-commit $(git rev-list $remote_sha..$local_sha)
> 
> this would only verify the commits which are going to be pushed.

I'm sorry that I was unclear.

If you read the hook, you'll see that it does what you suggest. I chose
to check the entire history as a benchmark.



Re: pre-push signature hook error reporting [was Re: [PATCH v6] gnu: python-sphinx: Update to 1.4.8.]

2017-01-17 Thread Leo Famulari
On Tue, Jan 17, 2017 at 12:34:28PM +0100, Danny Milosavljevic wrote:
> Leo Famulari  wrote:
> > In Git 2.11.0, it seems that `git verify-commit` can't tell the user
> > which commits failed verification:
> 
> We should report that upstream and add the one line that does tell the
> user which commits failed verification upstream (for example print
> argv[i-1] in line 92). 

Well, it does print the output of `gpg`, but parsing that is
error-prone. I'm sure Git would take a patch that did the right thing,
however.

> Uhhh it's already very slow... so even slower doesn't matter anymore
> (HIG guideline maximum duration is 2 seconds, so we are way off
> anyhow).

Do you notice it in practice? Or do you mean that 40 seconds is already
very slow?

Remember that typical usage does not involve checking every commit, but
only the handful of new commits; this is *much* faster. Checking all
commits is just the benchmark I chose before starting because I wanted
any performance difference to be starkly illustrated.

> Do we think that failures are likely?

Yes, we've seen *bad* signatures pushed to Savannah recently, so I think
it's important for everyone to check their commits before pushing.

> Also, git seems to invoke the gpg executable for each and every
> commit. It would be interesting whether gpg-interface.c
> verify_signed_buffer could be adapted to either invoke gpg once or to
> just use a library instead (gpgme ?). 

Indeed, that would be better.

> Long term we could also cache the checking result - I think that's
> something more difficult in the face of keys that expire. It would
> have to store at least the expiration date, the public key and the
> list of commit hashes that were checked and validated successfully.

Agreed. But this hook is only a convenience tool to prevent mistakes.
We need to revamp `guix pull` to handle this properly.



Re: [PATCH] gnu: python-click: Fix test failure.

2017-01-17 Thread Danny Milosavljevic
Hi Ludo,

> If you know more details, you’re welcome to add them in the comment, but
> otherwise feel free to push!

Does that mean push to master or to python-tests or to both?

Also, I don't really know more details other than that the test framework does 
autodiscovery and picks up a module for the wrong platform (Windows) just 
because it's there.



Re: [PATCH 01/16] gnu: Add python-argparse.

2017-01-17 Thread Alex Kost
Ricardo Wurmus (2017-01-17 16:26 +0100) wrote:

> Hartmut Goebel  writes:
>
>> Am 17.01.2017 um 15:11 schrieb Ricardo Wurmus:
>>> * gnu/packages/python.scm (python-argparse, python2-argparse): New
>>
>> As of Python >= 2.7 and >= 3.2, the argparse module is maintained within
>> the Python standard library. Why do we need a this package?
>
> Turns out we don’t!  It used to be required by ribodiff, but that builds
> fine without it (and my patch doesn’t include it).
>
> So this should indeed be dropped.

Oops, then ignore my previous message about indentation :-)

-- 
Alex



Re: [PATCH 01/16] gnu: Add python-argparse.

2017-01-17 Thread Alex Kost
Ricardo Wurmus (2017-01-17 15:11 +0100) wrote:

[...]
> +(define-public python-argparse
> +  (package
> +(name "python-argparse")
> +(version "1.4.0")
> +(source
> + (origin
> +   (method url-fetch)
> +   (uri (pypi-uri "argparse" version))
> +   (sha256
> +(base32
> + "1r6nznp64j68ih1k537wms7h57nvppq0szmwsaf99n71bfjqkc32"
> +(properties `((python2-variant . ,(delay python2-argparse
> +(build-system python-build-system)
> +(home-page "https://pypi.python.org/pypi/argparse/;)
> +(synopsis "Command-line parsing library")
> +(description "The @code{argparse} module makes it easy to write user
> +friendly command line interfaces.  The program defines what arguments it
> +requires, and @code{argparse} will figure out how to parse those out of
> +@code{sys.argv}.  The @code{argparse} module also automatically generates 
> help
> +and usage messages and issues errors when users give the program invalid
> +arguments.")
> +(license (package-license python
> +
> +(define-public python2-argparse
> +  (package (inherit (package-with-python2
> +  (strip-python2-variant python-argparse)))

I would adjust the indentation here simply by moving "(inherit ..." to
the next line.

> +(native-inputs
> + `(("python2-setuptools" ,python2-setuptools)
> +
>  (define-public python-ndg-httpsclient
>(package
>  (name "python-ndg-httpsclient")

-- 
Alex



Re: Idea: "guix log"

2017-01-17 Thread Ricardo Wurmus

Ludovic Courtès  writes:

> Hi!
>
> ng0  skribis:
>
>> Next tool, next idea (the guix log family): A log viewer. Gentoo
>> has more than one. The way we currently save logs could be more
>> human friendly. It doesn't need a restructuring of the folders
>> (yes I know about the switch for logfiles) but we could have
>> something similar to https://github.com/gentoo/elogv which
>> provides an easy way to read thelogs (nothing more). In addition
>> to that, our log reader could extract the log and save it if
>> requested to do so.
>
> ‘guix-build-log-mode’ in Emacs does that and it’s awesome.  We could
> have a log colorizing & navigation tool outside of Emacs, though that’s
> probably quite a bit of work.

Or we could provide a wrapper around Emacs that opens the log file and
loads “guix-build-log-mode” for all those who still don’t use Emacs
regularly.

--
Ricardo

GPG: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
https://elephly.net




Re: [PATCH 01/16] gnu: Add python-argparse.

2017-01-17 Thread Hartmut Goebel
Am 17.01.2017 um 15:11 schrieb Ricardo Wurmus:
> * gnu/packages/python.scm (python-argparse, python2-argparse): New

As of Python >= 2.7 and >= 3.2, the argparse module is maintained within
the Python standard library. Why do we need a this package?


-- 
Regards
Hartmut Goebel

| Hartmut Goebel  | h.goe...@crazy-compilers.com   |
| www.crazy-compilers.com | compilers which you thought are impossible |



0xBF773B65.asc
Description: application/pgp-keys


[PATCH 15/16] gnu: Add r-msnbase.

2017-01-17 Thread Ricardo Wurmus
* gnu/packages/bioinformatics.scm (r-msnbase): New variable.
---
 gnu/packages/bioinformatics.scm | 41 +
 1 file changed, 41 insertions(+)

diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index bc7b0be1a..abe5c9294 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -8422,3 +8422,44 @@ accurate missing value estimation.  A set of methods for 
printing and plotting
 the results is also provided.  All PCA methods make use of the same data
 structure (pcaRes) to provide a common interface to the PCA results.")
 (license license:gpl3+)))
+
+(define-public r-msnbase
+  (package
+(name "r-msnbase")
+(version "2.0.2")
+(source
+ (origin
+   (method url-fetch)
+   (uri (bioconductor-uri "MSnbase" version))
+   (sha256
+(base32
+ "0jjjs29dcwsjaxzfqxy98ycpg3rwxzzchkj77my3cjgdc00sm66n"
+(properties `((upstream-name . "MSnbase")))
+(build-system r-build-system)
+(propagated-inputs
+ `(("r-affy" ,r-affy)
+   ("r-biobase" ,r-biobase)
+   ("r-biocgenerics" ,r-biocgenerics)
+   ("r-biocparallel" ,r-biocparallel)
+   ("r-digest" ,r-digest)
+   ("r-ggplot2" ,r-ggplot2)
+   ("r-impute" ,r-impute)
+   ("r-iranges" ,r-iranges)
+   ("r-maldiquant" ,r-maldiquant)
+   ("r-mzid" ,r-mzid)
+   ("r-mzr" ,r-mzr)
+   ("r-pcamethods" ,r-pcamethods)
+   ("r-plyr" ,r-plyr)
+   ("r-preprocesscore" ,r-preprocesscore)
+   ("r-protgenerics" ,r-protgenerics)
+   ("r-rcpp" ,r-rcpp)
+   ("r-reshape2" ,r-reshape2)
+   ("r-s4vectors" ,r-s4vectors)
+   ("r-vsn" ,r-vsn)
+   ("r-xml" ,r-xml)))
+(home-page "https://github.com/lgatto/MSnbase;)
+(synopsis "Base functions and classes for MS-based proteomics")
+(description
+ "This package provides basic plotting, data manipulation and processing
+of MS-based proteomics data.")
+(license license:artistic2.0)))
-- 
2.11.0





[PATCH 08/16] gnu: Add r-protgenerics.

2017-01-17 Thread Ricardo Wurmus
* gnu/packages/bioinformatics.scm (r-protgenerics): New variable.
---
 gnu/packages/bioinformatics.scm | 20 
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 74948ec55..4a1bd0196 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -8228,3 +8228,23 @@ statistics-sensitive non-linear iterative peak-clipping 
algorithm (SNIP), peak
 alignment using warping functions, handling of replicated measurements as well
 as allowing spectra with different resolutions.")
 (license license:gpl3+)))
+
+(define-public r-protgenerics
+  (package
+(name "r-protgenerics")
+(version "1.6.0")
+(source
+ (origin
+   (method url-fetch)
+   (uri (bioconductor-uri "ProtGenerics" version))
+   (sha256
+(base32
+ "0hb3vrrvfx6lcfalmjxm8dmigfmi5nba0pzjfgsrzd35c8mbfc6f"
+(properties `((upstream-name . "ProtGenerics")))
+(build-system r-build-system)
+(home-page "https://github.com/lgatto/ProtGenerics;)
+(synopsis "S4 generic functions for proteomics infrastructure")
+(description
+ "This package provides S4 generic functions needed by Bioconductor
+proteomics packages.")
+(license license:artistic2.0)))
-- 
2.11.0





[PATCH 16/16] gnu: Add r-msnid.

2017-01-17 Thread Ricardo Wurmus
* gnu/packages/bioinformatics.scm (r-msnid): New variable.
---
 gnu/packages/bioinformatics.scm | 39 +++
 1 file changed, 39 insertions(+)

diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index abe5c9294..c60bedce4 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -8463,3 +8463,42 @@ structure (pcaRes) to provide a common interface to the 
PCA results.")
  "This package provides basic plotting, data manipulation and processing
 of MS-based proteomics data.")
 (license license:artistic2.0)))
+
+(define-public r-msnid
+  (package
+(name "r-msnid")
+(version "1.8.0")
+(source
+ (origin
+   (method url-fetch)
+   (uri (bioconductor-uri "MSnID" version))
+   (sha256
+(base32
+ "0fkk3za39cxi0jyxmagmycjdslr2xf6vg3ylz14jyffqi0blw9d5"
+(properties `((upstream-name . "MSnID")))
+(build-system r-build-system)
+(propagated-inputs
+ `(("r-biobase" ,r-biobase)
+   ("r-data-table" ,r-data-table)
+   ("r-doparallel" ,r-doparallel)
+   ("r-dplyr" ,r-dplyr)
+   ("r-foreach" ,r-foreach)
+   ("r-iterators" ,r-iterators)
+   ("r-msnbase" ,r-msnbase)
+   ("r-mzid" ,r-mzid)
+   ("r-mzr" ,r-mzr)
+   ("r-protgenerics" ,r-protgenerics)
+   ("r-r-cache" ,r-r-cache)
+   ("r-rcpp" ,r-rcpp)
+   ("r-reshape2" ,r-reshape2)))
+(home-page "http://bioconductor.org/packages/MSnID;)
+(synopsis "Utilities for LC-MSn proteomics identifications")
+(description
+ "This package extracts MS/MS ID data from mzIdentML (leveraging the mzID
+package) or text files.  After collating the search results from multiple
+datasets it assesses their identification quality and optimize filtering
+criteria to achieve the maximum number of identifications while not exceeding
+a specified false discovery rate.  It also contains a number of utilities to
+explore the MS/MS results and assess missed and irregular enzymatic cleavages,
+mass measurement accuracy, etc.")
+(license license:artistic2.0)))
-- 
2.11.0





[PATCH 14/16] gnu: Add r-pcamethods.

2017-01-17 Thread Ricardo Wurmus
* gnu/packages/bioinformatics.scm (r-pcamethods): New variable.
---
 gnu/packages/bioinformatics.scm | 29 +
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 4952bbe33..bc7b0be1a 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -8393,3 +8393,32 @@ XML package.  The parser tries to be general and able to 
handle all types of
 mzIdentML files with the drawback of having less pretty output than a vendor
 specific parser.")
 (license license:gpl2+)))
+
+(define-public r-pcamethods
+  (package
+(name "r-pcamethods")
+(version "1.66.0")
+(source
+ (origin
+   (method url-fetch)
+   (uri (bioconductor-uri "pcaMethods" version))
+   (sha256
+(base32
+ "18mawhxw57pgpn87qha4mwki24gqja7wpqha8q496476vyap11xw"
+(properties `((upstream-name . "pcaMethods")))
+(build-system r-build-system)
+(propagated-inputs
+ `(("r-biobase" ,r-biobase)
+   ("r-biocgenerics" ,r-biocgenerics)
+   ("r-rcpp" ,r-rcpp)))
+(home-page "https://github.com/hredestig/pcamethods;)
+(synopsis "Collection of PCA methods")
+(description
+ "This package provides Bayesian PCA, Probabilistic PCA, Nipals PCA,
+Inverse Non-Linear PCA and the conventional SVD PCA.  A cluster based method
+for missing value estimation is included for comparison.  BPCA, PPCA and
+NipalsPCA may be used to perform PCA on incomplete data as well as for
+accurate missing value estimation.  A set of methods for printing and plotting
+the results is also provided.  All PCA methods make use of the same data
+structure (pcaRes) to provide a common interface to the PCA results.")
+(license license:gpl3+)))
-- 
2.11.0





[PATCH 12/16] gnu: Add r-vsn.

2017-01-17 Thread Ricardo Wurmus
* gnu/packages/bioinformatics.scm (r-vsn): New variable.
---
 gnu/packages/bioinformatics.scm | 33 +
 1 file changed, 33 insertions(+)

diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 9e073843e..82a60dae0 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -8330,3 +8330,36 @@ CDF file formats.")
  "This package contains functions for exploratory oligonucleotide array
 analysis.")
 (license license:lgpl2.0+)))
+
+(define-public r-vsn
+  (package
+(name "r-vsn")
+(version "3.42.3")
+(source
+ (origin
+   (method url-fetch)
+   (uri (bioconductor-uri "vsn" version))
+   (sha256
+(base32
+ "0mgl0azys2g90simf8wx6jdwd7gyg3m4pf12n6w6507jixm2cg97"
+(build-system r-build-system)
+(propagated-inputs
+ `(("r-affy" ,r-affy)
+   ("r-biobase" ,r-biobase)
+   ("r-ggplot2" ,r-ggplot2)
+   ("r-limma" ,r-limma)))
+(home-page "http://bioconductor.org/packages/release/bioc/html/vsn.html;)
+(synopsis "Variance stabilization and calibration for microarray data")
+(description
+ "The package implements a method for normalising microarray intensities,
+and works for single- and multiple-color arrays.  It can also be used for data
+from other technologies, as long as they have similar format.  The method uses
+a robust variant of the maximum-likelihood estimator for an
+additive-multiplicative error model and affine calibration.  The model
+incorporates data calibration step (a.k.a.  normalization), a model for the
+dependence of the variance on the mean intensity and a variance stabilizing
+data transformation.  Differences between transformed intensities are
+analogous to \"normalized log-ratios\".  However, in contrast to the latter,
+their variance is independent of the mean, and they are usually more sensitive
+and specific in detecting differential transcription.")
+(license license:artistic2.0)))
-- 
2.11.0





[PATCH 11/16] gnu: Add r-affy.

2017-01-17 Thread Ricardo Wurmus
* gnu/packages/bioinformatics.scm (r-affy): New variable.
---
 gnu/packages/bioinformatics.scm | 26 ++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 6cc808c6a..9e073843e 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -8304,3 +8304,29 @@ previously been used in XCMS.")
 upon file format information.  The primary focus is on accessing the CEL and
 CDF file formats.")
 (license license:lgpl2.0+)))
+
+(define-public r-affy
+  (package
+(name "r-affy")
+(version "1.52.0")
+(source
+ (origin
+   (method url-fetch)
+   (uri (bioconductor-uri "affy" version))
+   (sha256
+(base32
+ "1snq71ligf0wvaxa6zfrl13ydw0zfhspmhdyfk8q3ba3np4cz344"
+(build-system r-build-system)
+(propagated-inputs
+ `(("r-affyio" ,r-affyio)
+   ("r-biobase" ,r-biobase)
+   ("r-biocgenerics" ,r-biocgenerics)
+   ("r-biocinstaller" ,r-biocinstaller)
+   ("r-preprocesscore" ,r-preprocesscore)
+   ("r-zlibbioc" ,r-zlibbioc)))
+(home-page "http://bioconductor.org/packages/affy;)
+(synopsis "Methods for affymetrix oligonucleotide arrays")
+(description
+ "This package contains functions for exploratory oligonucleotide array
+analysis.")
+(license license:lgpl2.0+)))
-- 
2.11.0





[PATCH 06/16] gnu: Add r-raremetals2.

2017-01-17 Thread Ricardo Wurmus
* gnu/packages/bioinformatics.scm (r-raremetals2): New variable.
---
 gnu/packages/bioinformatics.scm | 31 +++
 1 file changed, 31 insertions(+)

diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 28a0da80e..743e8fdce 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -8171,3 +8171,34 @@ unmodeled, or latent sources of noise.")
 data (variant call format, e.g. VCF or BCF) or meta-analysis results in R.")
 ;; Any version of the GPL is acceptable
 (license (list license:gpl2+ license:gpl3+
+
+(define-public r-raremetals2
+  (package
+(name "r-raremetals2")
+(version "0.1")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append "http://genome.sph.umich.edu/w/images/;
+   "b/b7/RareMETALS2_" version ".tar.gz"))
+   (sha256
+(base32
+ "0z5ljcgvnm06ja9lm85a3cniq7slxcy37aqqkxrdidr79an5fs4s"
+(properties `((upstream-name . "RareMETALS2")))
+(build-system r-build-system)
+(propagated-inputs
+ `(("r-seqminer" ,r-seqminer)
+   ("r-mvtnorm" ,r-mvtnorm)
+   ("r-compquadform" ,r-compquadform)
+   ("r-getopt" ,r-getopt)))
+(home-page "http://genome.sph.umich.edu/wiki/RareMETALS2;)
+(synopsis "Analyze gene-level association tests for binary trait")
+(description
+ "The R package rareMETALS2 is an extension of the R package rareMETALS.
+It was designed to meta-analyze gene-level association tests for binary trait.
+While rareMETALS offers a near-complete solution for meta-analysis of
+gene-level tests for quantitative trait, it does not offer the optimal
+solution for binary trait.  The package rareMETALS2 offers improved features
+for analyzing gene-level association tests in meta-analyses for binary
+trait.")
+(license license:gpl3)))
-- 
2.11.0





[PATCH 13/16] gnu: Add r-mzid.

2017-01-17 Thread Ricardo Wurmus
* gnu/packages/bioinformatics.scm (r-mzid): New variable.
---
 gnu/packages/bioinformatics.scm | 30 ++
 1 file changed, 30 insertions(+)

diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 82a60dae0..4952bbe33 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -8363,3 +8363,33 @@ analogous to \"normalized log-ratios\".  However, in 
contrast to the latter,
 their variance is independent of the mean, and they are usually more sensitive
 and specific in detecting differential transcription.")
 (license license:artistic2.0)))
+
+(define-public r-mzid
+  (package
+(name "r-mzid")
+(version "1.12.0")
+(source
+ (origin
+   (method url-fetch)
+   (uri (bioconductor-uri "mzID" version))
+   (sha256
+(base32
+ "1zn896cpfvqp1qmq5c4vcj933hb8rxwb6gkck1wqvr7393rpqy1q"
+(properties `((upstream-name . "mzID")))
+(build-system r-build-system)
+(propagated-inputs
+ `(("r-doparallel" ,r-doparallel)
+   ("r-foreach" ,r-foreach)
+   ("r-iterators" ,r-iterators)
+   ("r-plyr" ,r-plyr)
+   ("r-protgenerics" ,r-protgenerics)
+   ("r-rcpp" ,r-rcpp)
+   ("r-xml" ,r-xml)))
+(home-page "http://bioconductor.org/packages/mzID;)
+(synopsis "Parser for mzIdentML files")
+(description
+ "This package provides a parser for mzIdentML files implemented using the
+XML package.  The parser tries to be general and able to handle all types of
+mzIdentML files with the drawback of having less pretty output than a vendor
+specific parser.")
+(license license:gpl2+)))
-- 
2.11.0





[PATCH 10/16] gnu: Add r-affyio.

2017-01-17 Thread Ricardo Wurmus
* gnu/packages/bioinformatics.scm (r-affyio): New variable.
---
 gnu/packages/bioinformatics.scm | 24 
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 51660026e..6cc808c6a 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -8280,3 +8280,27 @@ The package contains the original code written by the 
ISB, and a subset of the
 proteowizard library for mzML and mzIdentML.  The netCDF reading code has
 previously been used in XCMS.")
 (license license:artistic2.0)))
+
+(define-public r-affyio
+  (package
+(name "r-affyio")
+(version "1.44.0")
+(source
+ (origin
+   (method url-fetch)
+   (uri (bioconductor-uri "affyio" version))
+   (sha256
+(base32
+ "1svsl4mpk06xm505pap913x69ywks99262krag8y4ygpllj7dfyy"
+(build-system r-build-system)
+(propagated-inputs
+ `(("r-zlibbioc" ,r-zlibbioc)))
+(inputs
+ `(("zlib" ,zlib)))
+(home-page "https://github.com/bmbolstad/affyio;)
+(synopsis "Tools for parsing Affymetrix data files")
+(description
+ "This package provides routines for parsing Affymetrix data files based
+upon file format information.  The primary focus is on accessing the CEL and
+CDF file formats.")
+(license license:lgpl2.0+)))
-- 
2.11.0





[PATCH 04/16] gnu: Add r-compquadform.

2017-01-17 Thread Ricardo Wurmus
* gnu/packages/statistics.scm (r-compquadform): New variable.
---
 gnu/packages/statistics.scm | 23 ++-
 1 file changed, 22 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index c00a3d954..41096e8a1 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2015, 2016 Ricardo Wurmus 
+;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus 
 ;;; Copyright © 2015 Vicente Vera Parra 
 ;;; Copyright © 2016 Andreas Enge 
 ;;; Copyright © 2016 Efraim Flashner 
@@ -4032,3 +4032,24 @@ dispersion modeling and Tweedie power-law families.")
 (description "This R package provides access to the code and data sets
 published by the statistics blog FiveThirtyEight.")
 (license license:expat)))
+
+(define-public r-compquadform
+  (package
+(name "r-compquadform")
+(version "1.4.2")
+(source
+ (origin
+   (method url-fetch)
+   (uri (cran-uri "CompQuadForm" version))
+   (sha256
+(base32
+ "0bsgbdblxpv57mbwnf51xyiydp2bqyxkg4zzwqki85cv5xqlrq1n"
+(properties `((upstream-name . "CompQuadForm")))
+(build-system r-build-system)
+(home-page "http://cran.r-project.org/web/packages/CompQuadForm;)
+(synopsis "Distribution function of quadratic forms in normal variables")
+(description
+ "This package provides functions to compute the distribution function of
+quadratic forms in normal variables using Imhof's method, Davies's algorithm,
+Farebrother's algorithm or Liu et al.'s algorithm.")
+(license license:gpl2+)))
-- 
2.11.0





[PATCH 05/16] gnu: Add r-seqminer.

2017-01-17 Thread Ricardo Wurmus
* gnu/packages/bioinformatics.scm (r-seqminer): New variable.
---
 gnu/packages/bioinformatics.scm | 22 ++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index cd64d3439..28a0da80e 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -8149,3 +8149,25 @@ high-dimensional data like gene expression/RNA 
sequencing/methylation/brain
 imaging data that can be used in subsequent analyses to adjust for unknown,
 unmodeled, or latent sources of noise.")
 (license license:artistic2.0)))
+
+(define-public r-seqminer
+  (package
+(name "r-seqminer")
+(version "5.3")
+(source
+ (origin
+   (method url-fetch)
+   (uri (cran-uri "seqminer" version))
+   (sha256
+(base32
+ "0y0gc5lws3hdxasjb84m532ics6imb7qg9sl1zy62h503jh4j9gw"
+(build-system r-build-system)
+(inputs
+ `(("zlib" ,zlib)))
+(home-page "http://seqminer.genomic.codes;)
+(synopsis "Read nucleotide sequence data (VCF, BCF, and METAL formats)")
+(description
+ "This package provides tools to integrate nucleotide sequencing
+data (variant call format, e.g. VCF or BCF) or meta-analysis results in R.")
+;; Any version of the GPL is acceptable
+(license (list license:gpl2+ license:gpl3+
-- 
2.11.0





[PATCH 03/16] gnu: Add ribodiff.

2017-01-17 Thread Ricardo Wurmus
* gnu/packages/bioinformatics.scm (ribodiff): New variable.
---
 gnu/packages/bioinformatics.scm | 41 +
 1 file changed, 41 insertions(+)

diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index b3aedec63..cd64d3439 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -468,6 +468,47 @@ frames} (ORFs) using ribosome profiling (ribo-seq) data.  
This package
 provides the Ribotaper pipeline.")
 (license license:gpl3+)))
 
+(define-public ribodiff
+  (package
+(name "ribodiff")
+(version "0.2.2")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append "https://github.com/ratschlab/RiboDiff/;
+   "archive/v" version ".tar.gz"))
+   (file-name (string-append name "-" version ".tar.gz"))
+   (sha256
+(base32
+ "0wpbwmfv05wdjxv7ikm664f7s7p7cqr8jnw99zrda0q67rl50aaj"
+(build-system python-build-system)
+(arguments
+ `(#:python ,python-2
+   #:phases
+   (modify-phases %standard-phases
+ ;; Generate an installable executable script wrapper.
+ (add-after 'unpack 'patch-setup.py
+   (lambda _
+ (substitute* "setup.py"
+   (("^(.*)packages=.*" line prefix)
+(string-append line "\n"
+   prefix "scripts=['scripts/TE.py'],\n")))
+ #t)
+(inputs
+ `(("python-numpy" ,python2-numpy)
+   ("python-matplotlib" ,python2-matplotlib)
+   ("python-scipy" ,python2-scipy)
+   ("python-statsmodels" ,python2-statsmodels)))
+(home-page "http://public.bmi.inf.ethz.ch/user/zhongy/RiboDiff/;)
+(synopsis "Detect translation efficiency changes from ribosome footprints")
+(description "RiboDiff is a statistical tool that detects the protein
+translational efficiency change from Ribo-Seq (ribosome footprinting) and
+RNA-Seq data.  It uses a generalized linear model to detect genes showing
+difference in translational profile taking mRNA abundance into account.  It
+facilitates us to decipher the translational regulation that behave
+independently with transcriptional regulation.")
+(license license:gpl3+)))
+
 (define-public bioawk
   (package
 (name "bioawk")
-- 
2.11.0





[PATCH 07/16] gnu: Add r-maldiquant.

2017-01-17 Thread Ricardo Wurmus
* gnu/packages/bioinformatics.scm (r-maldiquant): New variable.
---
 gnu/packages/bioinformatics.scm | 26 ++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 743e8fdce..74948ec55 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -8202,3 +8202,29 @@ solution for binary trait.  The package rareMETALS2 
offers improved features
 for analyzing gene-level association tests in meta-analyses for binary
 trait.")
 (license license:gpl3)))
+
+(define-public r-maldiquant
+  (package
+(name "r-maldiquant")
+(version "1.16")
+(source
+ (origin
+   (method url-fetch)
+   (uri (cran-uri "MALDIquant" version))
+   (sha256
+(base32
+ "067xbmy10mpsvmv77g62chd7wwhdhcfn5hmp5fisbnz2h5rq0q60"
+(properties `((upstream-name . "MALDIquant")))
+(build-system r-build-system)
+(home-page "http://cran.r-project.org/web/packages/MALDIquant;)
+(synopsis "Quantitative analysis of mass spectrometry data")
+(description
+ "This package provides a complete analysis pipeline for matrix-assisted
+laser desorption/ionization-time-of-flight (MALDI-TOF) and other
+two-dimensional mass spectrometry data.  In addition to commonly used plotting
+and processing methods it includes distinctive features, namely baseline
+subtraction methods such as morphological filters (TopHat) or the
+statistics-sensitive non-linear iterative peak-clipping algorithm (SNIP), peak
+alignment using warping functions, handling of replicated measurements as well
+as allowing spectra with different resolutions.")
+(license license:gpl3+)))
-- 
2.11.0





[PATCH 00/16] Bioinfo stuff

2017-01-17 Thread Ricardo Wurmus
Hi Guix,

this a series of patches to upstream a few package definitions from the
staging module of the guix-bimsb repository.

~~ Ricardo

Ricardo Wurmus (16):
  gnu: Add python-argparse.
  gnu: Add hisat2.
  gnu: Add ribodiff.
  gnu: Add r-compquadform.
  gnu: Add r-seqminer.
  gnu: Add r-raremetals2.
  gnu: Add r-maldiquant.
  gnu: Add r-protgenerics.
  gnu: Add r-mzr.
  gnu: Add r-affyio.
  gnu: Add r-affy.
  gnu: Add r-vsn.
  gnu: Add r-mzid.
  gnu: Add r-pcamethods.
  gnu: Add r-msnbase.
  gnu: Add r-msnid.

 gnu/packages/bioinformatics.scm | 457 
 gnu/packages/python.scm |  31 ++-
 gnu/packages/statistics.scm |  23 +-
 3 files changed, 509 insertions(+), 2 deletions(-)

-- 
2.11.0





[PATCH 01/16] gnu: Add python-argparse.

2017-01-17 Thread Ricardo Wurmus
* gnu/packages/python.scm (python-argparse, python2-argparse): New
variables.
---
 gnu/packages/python.scm | 31 ++-
 1 file changed, 30 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index a9792afe2..cf7143be1 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -7,7 +7,7 @@
 ;;; Copyright © 2014, 2015 Federico Beffa 
 ;;; Copyright © 2015 Omar Radwan 
 ;;; Copyright © 2015 Pierre-Antoine Rault 
-;;; Copyright © 2015, 2016 Ricardo Wurmus 
+;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus 
 ;;; Copyright © 2015, 2016 Christopher Allan Webber 
 ;;; Copyright © 2015 Eric Dvorsak 
 ;;; Copyright © 2015, 2016 David Thompson 
@@ -7863,6 +7863,35 @@ be set via config files and/or environment variables.")
 (define-public python2-configargparse
   (package-with-python2 python-configargparse))
 
+(define-public python-argparse
+  (package
+(name "python-argparse")
+(version "1.4.0")
+(source
+ (origin
+   (method url-fetch)
+   (uri (pypi-uri "argparse" version))
+   (sha256
+(base32
+ "1r6nznp64j68ih1k537wms7h57nvppq0szmwsaf99n71bfjqkc32"
+(properties `((python2-variant . ,(delay python2-argparse
+(build-system python-build-system)
+(home-page "https://pypi.python.org/pypi/argparse/;)
+(synopsis "Command-line parsing library")
+(description "The @code{argparse} module makes it easy to write user
+friendly command line interfaces.  The program defines what arguments it
+requires, and @code{argparse} will figure out how to parse those out of
+@code{sys.argv}.  The @code{argparse} module also automatically generates help
+and usage messages and issues errors when users give the program invalid
+arguments.")
+(license (package-license python
+
+(define-public python2-argparse
+  (package (inherit (package-with-python2
+  (strip-python2-variant python-argparse)))
+(native-inputs
+ `(("python2-setuptools" ,python2-setuptools)
+
 (define-public python-ndg-httpsclient
   (package
 (name "python-ndg-httpsclient")
-- 
2.11.0





Re: [PATCH] gnu: add proj4.

2017-01-17 Thread Marius Bakke
Björn Höfling  writes:

> Hi list,
>
> this im my first patch to Guix, so please tell me what you think.

Hello Björn!

Welcome to the list! Pretty impressive for a first patch :-)

I've committed it with a few cosmetic improvements, described below.

> * gnu/packages/geo.scm (proj4): New variable.
> ---
>  gnu/packages/geo.scm | 58 
> ++--
>  1 file changed, 56 insertions(+), 2 deletions(-)
>
> diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
> index 86828e717..0e63fe8c7 100644
> --- a/gnu/packages/geo.scm
> +++ b/gnu/packages/geo.scm
> @@ -1,6 +1,7 @@
>  ;;; GNU Guix --- Functional package management for GNU
>  ;;; Copyright © 2016 Leo Famulari 
>  ;;; Copyright © 2016 Alex Griffin 
> +;;; Copyright © 2017 Björn Höfling 
>  ;;;
>  ;;; This file is part of GNU Guix.
>  ;;;
> @@ -19,8 +20,9 @@
>  
>  (define-module (gnu packages geo)
>#:use-module (guix build-system glib-or-gtk)
> +  #:use-module (guix build-system gnu)
>#:use-module (guix download)
> -  #:use-module (guix licenses)
> +  #:use-module ((guix licenses) #:prefix license:)
>#:use-module (guix packages)
>#:use-module (guix utils)
>#:use-module (gnu packages glib)
> @@ -92,4 +94,56 @@
>  the OpenStreetMap project.  It can provide directions for walking, bicycling,
>  and driving.")
>  (home-page "https://wiki.gnome.org/Apps/Maps;)
> -(license gpl2+)))
> +(license license:gpl2+)))

While trivial, this change should be mentioned in the commit log
according to the GNU ChangeLog style. This way, if it did break
anything, it would be found with "git log --grep gnome-maps" :-)

> +(define-public proj.4
> +  (package
> +(name "proj.4")
> +(version "4.9.3")
> +(source (origin
> +  (method url-fetch)
> +  (uri (string-append "http://download.osgeo.org/proj/proj-;
> +  version
> +  ".tar.gz"))
> +  (sha256
> +   (base32
> +"1xw5f427xk9p2nbsj04j6m5zyjlyd66sbvl2bkg8hd1kx8pm9139"
> +(build-system gnu-build-system)
> +(arguments `(#:phases

I moved the '`(#:phases..' down one line and indented again. Now the URL fits
nicely on a horizontally split 1920x1080 screen.

> + (modify-phases %standard-phases
> +   (add-after
> +   'unpack 'patch-test-shebangs
> + (lambda _
> +   (substitute* '("nad/test27"
> +  "nad/test83"
> +  "nad/testvarious"
> +  "nad/testdatumfile"
> +  "nad/testflaky"
> +  "nad/testIGNF")
> + (("/bin/rm") (which "rm")
> +   ;; Precision problems on i686 and other platforms. See:
> +   ;; 
> https://web.archive.org/web/20151006134301/http://trac.osgeo.org/proj/ticket/255
> +   ;; Disable failing test.
> +   (add-after
> +   'patch-test-shebangs 'ignore-failing-tests
> + (lambda _
> +   (substitute* '("nad/Makefile.in")
> + (("\tPROJ_LIB.*" all) (string-append  "#" 
> all

'substitute*' has an undefined return value, so we add an explicit #t at
the end of such phases to make sure they succeed.

> +(inputs
> + `(("glib" ,glib)))
> +(home-page "http://proj4.org/;)
> +(synopsis "Cartographic Projections Library")
> +(description
> + "Proj.4 is a library for converting coordinates between cartographic 
> projections.
> +")
> +(license (list license:expat
> +   ;; config.guess, config.sub
> +   license:gpl3+
> +   ;; libtool
> +   license:gpl2+

Autotools generated files do not need to be mentioned here AFAIA.

> +   ;; src/PJ_patterson.c
> +   license:asl2.0
> +   ;; src/geodesic.c/h
> +   license:x11
> +   ;; cmake/*
> +   license:boost1.0

I also added a license entry for the embedded EPSG database:

http://www.epsg.org/TermsOfUse

Pushed as 0e159a1a09970c72603d08a028d0bb531ab6ab61 !


signature.asc
Description: PGP signature


Re: [PATCH] gnu: Add ldc-1.1.0-beta6

2017-01-17 Thread Frederick Muriithi
On Thu, Jan 12, 2017 at 5:09 PM, Ludovic Courtès  wrote:
> ...
> The one last thing that’s missing as discussed at
>  is
> the comment at the top of .patch files (description and upstream
> status).
>
> Could you do that?  I’ll happily commit for you afterwards.

Apologies for the delay. Here is the updated patch. Added some
comments in the patches.
I hope those are good enough. Thank you for your patience with me as I
learn, so far.

-- 
Frederick M. Muriithi
From 70094e16777b835b0ed86b2deb9cba6ea0d40914 Mon Sep 17 00:00:00 2001
From: Muriithi Frederick Muriuki 
Date: Fri, 6 Jan 2017 17:51:18 +0300
Subject: [PATCH] gnu: Add ldc-1.1.0-beta6

* gnu/packages/ldc.scm (ldc-1.1.0-beta6): New variable
* gnu/packages/ldc.scm (ldc-beta): New variable
* gnu/packages/patches/ldc1.1.0-disable-dmd-tests.patch: New patch
* gnu/packages/patches/ldc1.1.0-disable-phobos-tests.patch: New patch
---
 gnu/packages/ldc.scm   | 102 +
 .../patches/ldc1.1.0-disable-dmd-tests.patch   |  35 ++
 .../patches/ldc1.1.0-disable-phobos-tests.patch| 414 +
 3 files changed, 551 insertions(+)
 create mode 100644 gnu/packages/patches/ldc1.1.0-disable-dmd-tests.patch
 create mode 100644 gnu/packages/patches/ldc1.1.0-disable-phobos-tests.patch

diff --git a/gnu/packages/ldc.scm b/gnu/packages/ldc.scm
index 6ea7f66..b789feb 100644
--- a/gnu/packages/ldc.scm
+++ b/gnu/packages/ldc.scm
@@ -27,6 +27,7 @@
   #:use-module (gnu packages)
   #:use-module (gnu packages base)
   #:use-module (gnu packages compression)
+  #:use-module (gnu packages gdb)
   #:use-module (gnu packages libedit)
   #:use-module (gnu packages llvm)
   #:use-module (gnu packages python)
@@ -171,3 +172,104 @@ latest DMD frontend and uses LLVM as backend.")
 (license (list license:bsd-3
license:gpl2+
license:boost1.0
+
+
+(define-public ldc-1.1.0-beta6
+  ;; The phobos, druntime and dmd-testsuite dependencies
+  ;; do not have a newer release than 1.1.0-beta4, hence
+  ;; the need to make use of the older-version variable
+  ;; to hold this variable
+  (let ((older-version "1.1.0-beta4"))
+(package
+(inherit ldc)
+(name "ldc")
+(version "1.1.0-beta6")
+;; beta version needed to compile various scientific tools
+;; that require the newer beta versions, and won't compile
+;; successfully with the older stable version
+(source (origin
+  (method url-fetch)
+  (uri (string-append
+"https://github.com/ldc-developers/ldc/archive/v;
+version ".tar.gz"))
+  (file-name (string-append name "-" version ".tar.gz"))
+  (sha256
+   (base32
+"0n53brlkm86jjkppy9xmzx7nyxykzj68kcxgv8q7d10s5hfscxs8"
+(arguments
+ `(#:phases
+   (modify-phases %standard-phases
+ (add-after 'unpack 'unpack-submodule-sources
+   (lambda* (#:key inputs #:allow-other-keys)
+ (let ((unpack (lambda (source target)
+ (with-directory-excursion target
+   (zero? (system* "tar" "xvf"
+   (assoc-ref inputs source)
+   "--strip-components=1"))
+   (and (unpack "phobos-src" "runtime/phobos")
+(unpack "druntime-src" "runtime/druntime")
+(unpack "dmd-testsuite-src" "tests/d2/dmd-testsuite")
+ ;; the 'patch-dmd2 step in ldc causes the build to fail since
+ ;; dmd2/root/port.c no longer exists. arguments needed to have
+ ;; 'patch-dmd2 step removed, but retain everything else
+ (add-after 'unpack-submodule-sources 'patch-phobos
+   (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "runtime/phobos/std/process.d"
+   (("/bin/sh") (which "sh"))
+   (("echo") (which "echo")))
+ (substitute* "runtime/phobos/std/datetime.d"
+   (("/usr/share/zoneinfo/")
+(string-append (assoc-ref inputs "tzdata") "/share/zoneinfo")))
+ (substitute* "tests/d2/dmd-testsuite/Makefile"
+   (("/bin/bash") (which "bash")))
+ #t)
+(native-inputs
+ `(("llvm" ,llvm)
+   ("clang" ,clang)
+   ("ldc" ,ldc)
+   ("python-lit" ,python-lit)
+   ("python-wrapper" ,python-wrapper)
+   ("unzip" ,unzip)
+   ("gdb" ,gdb)
+   ("phobos-src"
+,(origin
+   (method url-fetch)
+   (uri (string-append
+ "https://github.com/ldc-developers/phobos/archive/ldc-v;
+ older-version ".tar.gz"))
+   (sha256
+(base32
+ "1iwy5rs0rqkicj1zfsa5yqvk8ard99bfr8g69qmhlbzb98q0kpks"))
+   ;; This patch 

Re: pre-push signature hook error reporting [was Re: [PATCH v6] gnu: python-sphinx: Update to 1.4.8.]

2017-01-17 Thread Hartmut Goebel
Am 17.01.2017 um 12:34 schrieb Danny Milosavljevic:
> For minimal improvement (I don't even think it's measureable), try `git 
> rev-list HEAD` (backquotes) - it prevents having to spawn a subshell.

Huh? I doubt this. The bash manual, section "Command Substitution" does
not distinguish between these both, as far as I understand it.

-- 
Regards
Hartmut Goebel

| Hartmut Goebel  | h.goe...@crazy-compilers.com   |
| www.crazy-compilers.com | compilers which you thought are impossible |



0xBF773B65.asc
Description: application/pgp-keys


Re: Help: a pypi source changed from targz into wheel

2017-01-17 Thread Marius Bakke
ng0  writes:

> I'm rebasing my kallithea branch at the moment and with the
> release of the new "Routes" on pypi, the old one (which I need
> for Kallithea) moved from a tar.gz to a wheel. Do I simply
> download the wheel file and calculate the hash on that one, and
> fit the name appropriately into the pypi?
>
> Help is welcome :)
>
> https://pypi.python.org/pypi/Routes/2.3.1

The latest version is available as tar.gz:

https://pypi.python.org/pypi/Routes


signature.asc
Description: PGP signature


Re: Installing guix packages without root permissions (in HPC environments)

2017-01-17 Thread Hartmut Goebel
Am 17.01.2017 um 10:15 schrieb Pjotr Prins:
> But, I thought the easy way is to patch a path with something the has
> the exact same size(!). This has the advantage that it will always
> work. Trying this second strategy I wrote a new tool which replaces
> the old path with a new one that takes the prefix and truncates the
> rest of the path so a prefix /usr/local/bin/hello overwrites

Pretty cool idea!


-- 
Regards
Hartmut Goebel

| Hartmut Goebel  | h.goe...@crazy-compilers.com   |
| www.crazy-compilers.com | compilers which you thought are impossible |



0xBF773B65.asc
Description: application/pgp-keys


Re: Help: a pypi source changed from targz into wheel

2017-01-17 Thread Hartmut Goebel
Am 16.01.2017 um 23:27 schrieb ng0:
> Do I simply
> download the wheel file and calculate the hash on that one, and
> fit the name appropriately into the pypi?

AFAIK we treat wheels as a binary files. You need to ask the project to
release source archives, I'm afraid,

-- 
Regards
Hartmut Goebel

| Hartmut Goebel  | h.goe...@crazy-compilers.com   |
| www.crazy-compilers.com | compilers which you thought are impossible |



0xBF773B65.asc
Description: application/pgp-keys


Re:Re: About flashplayer

2017-01-17 Thread tumashu
good idea, thank!
在 2017-01-17 19:51:24,"Alex Vong"  写道:
tumashu   writes:

> Ok, thanks for the information!
>
If you just want to watch a video, there are plenty of free software out
there for downloading videos like youtube-dl
 and you-get
.

In particular, you-get supports a lot of Chinese video-sharing sites
like bilibili and acfun.

If you want, I can send a patch to add you-get to guix.

> At 2017-01-13 16:33:35, "Chris Marusich"  wrote:
>>tumashu   writes:
>>
>>> can we package a installer-helper, like:
>>> https://packages.debian.org/stretch/flashplugin-nonfree
>>
>>Guix (and GuixSD) adheres to the Free System Distribution Guidelines
>>[1], which states:
>>
>>"A free system distribution must not steer users towards obtaining any
>>nonfree information for practical use, or encourage them to do so. The
>>system should have no repositories for nonfree software and no specific
>>recipes for installation of particular nonfree programs."
>>
>>As I understand it, the purpose of that installer-helper is solely to
>>aid in the installation of Adobe Flash Player, which is not free
>>software.  It has no other use.  Therefore, we will not package it.
>>
>>[1] https://www.gnu.org/distros/free-system-distribution-guidelines.html
>>
>>On the other hand, GNU Gnash IS free software, so I'm sure a patch to
>>add it would be welcome!
>>
>>-- 
>>Chris


Re: About flashplayer

2017-01-17 Thread Alex Vong
tumashu   writes:

> Ok, thanks for the information!
>
If you just want to watch a video, there are plenty of free software out
there for downloading videos like youtube-dl
 and you-get
.

In particular, you-get supports a lot of Chinese video-sharing sites
like bilibili and acfun.

If you want, I can send a patch to add you-get to guix.

> At 2017-01-13 16:33:35, "Chris Marusich"  wrote:
>>tumashu   writes:
>>
>>> can we package a installer-helper, like:
>>> https://packages.debian.org/stretch/flashplugin-nonfree
>>
>>Guix (and GuixSD) adheres to the Free System Distribution Guidelines
>>[1], which states:
>>
>>"A free system distribution must not steer users towards obtaining any
>>nonfree information for practical use, or encourage them to do so. The
>>system should have no repositories for nonfree software and no specific
>>recipes for installation of particular nonfree programs."
>>
>>As I understand it, the purpose of that installer-helper is solely to
>>aid in the installation of Adobe Flash Player, which is not free
>>software.  It has no other use.  Therefore, we will not package it.
>>
>>[1] https://www.gnu.org/distros/free-system-distribution-guidelines.html
>>
>>On the other hand, GNU Gnash IS free software, so I'm sure a patch to
>>add it would be welcome!
>>
>>-- 
>>Chris


signature.asc
Description: PGP signature


Re: pre-push signature hook error reporting [was Re: [PATCH v6] gnu: python-sphinx: Update to 1.4.8.]

2017-01-17 Thread Danny Milosavljevic
Hi Leo,

On Mon, 16 Jan 2017 22:14:14 -0500
Leo Famulari  wrote:

> In Git 2.11.0, it seems that `git verify-commit` can't tell the user
> which commits failed verification:
> 
> https://git.kernel.org/cgit/git/git.git/tree/builtin/verify-commit.c?h=v2.11.0

We should report that upstream and add the one line that does tell the user 
which commits failed verification upstream (for example print argv[i-1] in line 
92). 

> With a warm cache and all the public keys on my machine, checking the
> signature of all 17813 commits on the master branch takes ~40 seconds
...
> Checking the commits one at a time takes ~105 seconds, using something
> like this:
> 
> for commit in $(git rev-list HEAD); do

For minimal improvement (I don't even think it's measureable), try `git 
rev-list HEAD` (backquotes) - it prevents having to spawn a subshell.

> We could make the hook do something like that. Thoughts? I think the
> performance regression is worth the convenience of knowing why it
> failed.

Uhhh it's already very slow... so even slower doesn't matter anymore (HIG 
guideline maximum duration is 2 seconds, so we are way off anyhow).

So I'd say do it your way for now and report it upstream for the future.

Depending on whether we think it will fail more often than not we could also 
combine it: 
- first check the fast (40 s) path
- if it fails,
  - print "Signature could not be verified to be correct. We are checking which 
failed..." info message
  - check the slow (105 s) path

Do we think that failures are likely?

Also, git seems to invoke the gpg executable for each and every commit. It 
would be interesting whether gpg-interface.c verify_signed_buffer could be 
adapted to either invoke gpg once or to just use a library instead (gpgme ?). 

Long term we could also cache the checking result - I think that's something 
more difficult in the face of keys that expire. It would have to store at least 
the expiration date, the public key and the list of commit hashes that were 
checked and validated successfully.



  1   2   >