Re: Feedback, ideas, discussion: tracking patches, discussions, bugs.

2016-08-16 Thread Hartmut Goebel
Am 15.08.2016 um 17:18 schrieb Alex Vong:
> Of course, there are other alternatives, such as gogs,

The gogs.io website is using a lot of external content, namely from
google and jquery. The FAQ is hosted a another external side, discus.
Gogs is not even self-hosting gogs but hosted at github. gogs.io does
not even state which license it has ("Open Source It all at guithub"),

So there would be at least some work to be done to fulfil the "B"
criteria "Does not report visitors to other organizations"

(I have to admit that I did not check this for gitlab, though.)

-- 
Schönen Gruß
Hartmut Goebel
Dipl.-Informatiker (univ), CISSP, CSSLP, ISO 27001 Lead Implementer
Information Security Management, Security Governance, Secure Software
Development

Goebel Consult, Landshut
http://www.goebel-consult.de

Blog:
http://www.goebel-consult.de/blog/warum-sie-nicht-perl-programmiern-sollten
Kolumne:
http://www.cissp-gefluester.de/2011-09-kommerz-uber-recht-fdp-die-gefaellt-mir-partei




smime.p7s
Description: S/MIME Cryptographic Signature


Re: [PATCH] gnu: Add NetSurf.

2016-08-16 Thread Alex Kost
Eric Bavier (2016-08-16 09:03 +0300) wrote:

Impressive work on this package, thanks!

> From 3aa59b69066d8850b3f62d05020df5aae0fbded3 Mon Sep 17 00:00:00 2001
> From: Eric Bavier 
> Date: Thu, 7 Jul 2016 00:55:41 -0500
> Subject: [PATCH] gnu: Add NetSurf.
>
> * gnu/packages/web.scm (netsurf): New variable.
> * gnu/packages/patches/netsurf-about.patch: New patch.
> * gnu/local.mk (dist_patch_DATA): Add it.
[...]
> +(arguments
> + `(#:make-flags `("CC=gcc" "BUILD_CC=gcc"
> +  ,(string-append "PREFIX=" %output))
> +   #:parallel-build? #f ;parallel builds not supported
> +   #:tests? #f  ;no way to easily run from release 
> tarball
> +   #:modules ((ice-9 rdelim)
> +  (ice-9 match)
> +  (srfi srfi-1)
> +  (sxml simple)
> +  ,@%glib-or-gtk-build-system-modules)
> +   #:phases
> +   (modify-phases %standard-phases
> + (replace 'configure
> +   (lambda* (#:key outputs #:allow-other-keys)

'outputs' arg is not used in this phase, so it can simply be (lambda _ ...)

> + (call-with-output-file "netsurf/Makefile.config"
> +   (lambda (port)
> + (format port "~
> + NETSURF_GTK_RESOURCES := $(PREFIX)/share/netsurf/~@
> + ")))
> + #t))
> + (add-after 'build 'adjust-welcome
> +   (lambda* _

Just 'lambda' (without *)

> + ;; First, fix some unended tags and simple substitutions
> + (substitute* "netsurf/gtk/res/welcome.html"
> +   (("<(img|input)([^>]*)>" _ tag contents)
> +(string-append "<" tag contents " />"))
> +   (("Licence") "License") ;prefer GNU spelling
> +   ((" open source") ", free software")
> +   (("web site") "website")
> +   ;; Prefer privacy-respecting default search engine
> +   (("www.google.co.uk") "www.duckduckgo.com/html")
> +   (("Google Search") "DuckDuckGo Search")
> +   (("name=\"btnG\"") ""))
> + ;; Remove default links so it doesn't seem we're endorsing them
> + (with-atomic-file-replacement "netsurf/gtk/res/welcome.html"
> +   (lambda (in out)
> + ;; Leave the DOCTYPE header as is
> + (display (read-line in 'concat) out)
> + (sxml->xml
> +  (let rec ((sxml (xml->sxml in)))
> +;; We'd like to use sxml-match here, but it can't
> +;; match against generic tag symbols...
> +(match sxml
> +  (`(div (@ (class "links")) . ,rest)
> +   '())
> +  ((x ...)
> +   (map rec x))
> +  (x x)))
> +  out)))
> + #t))
> + (add-after 'install 'install-more
> +   (lambda* (#:key outputs #:allow-other-keys)
> + (let* ((out (assoc-ref outputs "out"))
> +(desktop (string-append out "/share/applications/"
> +"netsurf.desktop")))
> +   (mkdir-p (dirname desktop))
> +   (copy-file "netsurf/gtk/res/netsurf-gtk.desktop"
> +  desktop)
> +   (substitute* desktop
> + (("netsurf-gtk") (string-append out "/bin/netsurf"))
> + (("netsurf.png") (string-append out "/share/netsurf/"
> + "netsurf.xpm")))
> +   (install-file "netsurf/Docs/netsurf-gtk.1"
> + (string-append out "/share/man/man1/"))
> +   #t))
> +(home-page "https://www.netsurf-browser.org";)
> +(synopsis "Web browser")
> +(description
> + "NetSurf is a lightweight web browser that has its own layout and
> +rendering engine entirely written from scratch.  It is small and capable of
> +handling many of the web standards in use today.")
> +(license l:gpl2+)))

-- 
Alex



Re: Specifying Java version when using ant-build-system

2016-08-16 Thread Ricardo Wurmus

Leo Famulari  writes:

> On Mon, Aug 15, 2016 at 04:42:01PM +0200, Ricardo Wurmus wrote:
>> > (define* (ant-build store name inputs
>
> [...]
>
>> > (guile #f)p
>> >   ^^^ what does this mean?
>> 
>> Ouch!  This shouldn’t have been committed.  This is what happened pretty
>> often with my terrible keyboard at work — my control key (among many
>> other keys) wasn’t very reliable and would sometimes stop working while
>> I moved around in the sources in Emacs (where Ctrl+p moves up one
>> line).
>
> Can we correct the typo on the master branch? It seems that only a few
> packages are using the ant-build-system for now, although I didn't check
> if those packages have a lot of referrers.

Yes, it wouldn’t cause too many rebuilds.  Would you like to do it?

~~ Ricardo




[PATCH] pbpst: Help me figure out why tls certificates are not found at runtime

2016-08-16 Thread ng0
Hi,

I packaged pbpst, a cli interface to pastebin instances running pb.
The patch I included in gnu/packages/patches/ is only temporary, it will
make it's way into master of pbpst.
gnutls and openssl are no listed dependencies of it, but I almost assume
by what's displayed with strace that I need openssl instead of gnutls.
But how do I fix the problem that certificates are not found?
Are those native-search-paths?

The patches will be cleaned up before you get the final review, there
are comments and unnecessary lines in there at the moment.
We can't use its native buildsystem, tup, because it requires FUSE to be
loaded at buildtime. The author created this new phase (make simle) I
apply and test here.
For more reasons why I build tup the way I build it, take a look at
NixOS and Archlinux' build of tup.

>From 0395b4c725d8e5df82f12d18aa16d2dad241da20 Mon Sep 17 00:00:00 2001
From: ng0 
Date: Mon, 15 Aug 2016 00:26:40 +
Subject: [PATCH 1/2] gnu: Add tup.

* gnu/packages/tup.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
---
 gnu/local.mk |  2 ++
 gnu/packages/tup.scm | 83 
 2 files changed, 85 insertions(+)
 create mode 100644 gnu/packages/tup.scm

diff --git a/gnu/local.mk b/gnu/local.mk
index 7416850..66d1e43 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -5,6 +5,7 @@
 # Copyright © 2013, 2014, 2015, 2016 Mark H Weaver 
 # Copyright © 2016 Chris Marusich 
 # Copyright © 2016 Kei Kebreau 
+# Coypright © 2016 ng0 
 #
 # This file is part of GNU Guix.
 #
@@ -342,6 +343,7 @@ GNU_SYSTEM_MODULES =\
   %D%/packages/tmux.scm\
   %D%/packages/tor.scm\
   %D%/packages/tre.scm\
+  %D%/packages/tup.scm\
   %D%/packages/tv.scm\
   %D%/packages/unrtf.scm			\
   %D%/packages/upnp.scm\
diff --git a/gnu/packages/tup.scm b/gnu/packages/tup.scm
new file mode 100644
index 000..66ce099
--- /dev/null
+++ b/gnu/packages/tup.scm
@@ -0,0 +1,83 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2016 ng0 
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see .
+
+(define-module (gnu packages tup)
+  #:use-module (gnu packages)
+  #:use-module (gnu packages linux)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages version-control)
+  #:use-module (gnu packages perl)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix build-system gnu))
+
+(define-public tup
+  (package
+(name "tup")
+(version "0.7.4")
+(source (origin
+  (method url-fetch)
+  (uri (string-append "https://github.com/gittup/";
+  name "/archive/v" version ".tar.gz"))
+  (file-name (string-append name "-" version ".tar.gz"))
+  (sha256
+   (base32
+"044h9kbcg1sfwpn13j1grw79kwysqhyn3w3g6yy8ap4j32v10gz2"
+(build-system gnu-build-system)
+(arguments
+ ;; tup requires fusermount to have suid, which we cannot provide in build env,
+ ;; we bootstrap it and use tup generate.  This also means that no tests are run.
+ `(#:tests? #f
+   #:modules ((guix build gnu-build-system)
+  (guix build utils))
+   #:phases
+   (modify-phases %standard-phases
+ (replace 'configure
+   (lambda* (#:key outputs #:allow-other-keys)
+ (zero? (system* "./build.sh"))
+ (zero? (system* "./build/tup" "generate" "script.sh"
+ (replace 'build
+   (lambda* (#:key outputs #:allow-other-keys)
+ (substitute* "script.sh"
+   (("`git describe`") (string-append "v" ,version)))
+ (zero? (system* "./script.sh"))
+ #t))
+ (replace 'install
+   (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+(bin (string-append out "/bin"))
+(man (string-append out "/share/man/man1")))
+   (install-file "tup" bin)
+   (install-file "tup.1" man))
+ #t)
+(native-inputs
+ `(("pkg-config" ,pkg-config)
+   ("perl" ,perl)))
+(inputs
+ `(("fuse" ,fuse)))
+(synopsis "A file-based build system")
+(description
+ "Tu

Re: Feedback, ideas, discussion: tracking patches, discussions, bugs.

2016-08-16 Thread David Craven
> Am 15.08.2016 um 17:18 schrieb Alex Vong:
>> Of course, there are other alternatives, such as gogs,
>
> The gogs.io website is using a lot of external content, namely from
> google and jquery. The FAQ is hosted a another external side, discus.

I don't understand how it's relevant that gogs.io makes use of jquery
and google analytics? It makes sense to not reinvent the wheel and
use 3rd party components for common tasks IMO.

> Gogs is not even self-hosting gogs but hosted at github.

That's because github is awesome. That says more about github
than gogs IMO ;-)

> gogs.io does not even state which license it has ("Open Source It all at 
> guithub"),

It says MIT at the bottom of the page. A link takes you directly to the
COPYING file in the github repo.

> So there would be at least some work to be done to fulfil the "B"
> criteria "Does not report visitors to other organizations"
>
> (I have to admit that I did not check this for gitlab, though.)

What's the "B" criteria?

I don't like gitlab's UI as much as github's, but I can't constructively
point the finger at what it is. But I'll get used to it just as I got used
to sending patches via email... ;-)



Re: Feedback, ideas, discussion: tracking patches, discussions, bugs.

2016-08-16 Thread David Craven
> I don't like gitlab's UI as much as github's, but I can't constructively
> point the finger at what it is. But I'll get used to it just as I got used
> to sending patches via email... ;-)

I think that most of us have already learnt the current system. The main
point I think is decreasing entry barriers for potential contributors. Many
will likely already have experience using github, but are less likely to have
experience with gitlab. Even dough the differences are probably small,
why force potential contributors to change their way of doing things if
it isn't necessary?

If we do decide to use gitlab or gogs, I think we can have the discussions
that are happening on guix-devel and guix-bugs there. What about the
discussions that happen on guix-help? I'm not sure if we should encourage
questions to be posted as an issue or encourage users to ask on
stackoverflow. I like posting questions on github directly, but if the project
grows we could end up with more "beginner questions" with a "read the
manual" answer than other issues.



Re: [PATCH 07/11] gnu: ncurses: support mingw.

2016-08-16 Thread Ricardo Wurmus

Jan Nieuwenhuizen  writes:

> Mark H Weaver writes:
>
> Hi Mark!
>
>> As I wrote elsewhere, this patch would force about 1 rebuilds
>> (across all four architectures), which would rule out applying it to
>> master.
>
> That could very well be...I've been rebuilding quite a lot.  Is there a
> command I can run to get (an estimate of) the number of rebuilds that
> a change triggers?

The command “guix refresh -l package-name” gives you a very rough list
of packages (on the same architecture) that would be affected by an
update to “package-name”.  This isn’t always correct, but in the case of
ncurses it shows at least that a lot of packages are affected:

guix refresh -l ncurses
…
Building the following 1018 packages would ensure 2616 dependent
packages are rebuilt: …

~~ Ricardo




Re: [PATCH] gnu: Add dlib.

2016-08-16 Thread Marius Bakke
Ben Woodcroft  writes:

> On 16/08/16 08:28, Leo Famulari wrote:
>> On Mon, Aug 15, 2016 at 09:29:11PM +0100, Marius Bakke wrote:
>>> Leo Famulari  writes:
 Running test_empirical_kernel_map / phase `check' failed after 2043.7 
 seconds
>>> Strange, I've built this dozens of times now with no test failures
>>> (GuixSD on amd64). Are you memory constrained by any chance? Any OOM or
>>> segfaults? I don't think the tests have taken more than ~15 minutes to
>>> run either, once they are built.
>> I don't think I'm particularly resource constrained. I have ~7 GiB RAM
>> available to build with, plenty of disk space, and the processor is this
>> thing:
>>
>> http://ark.intel.com/products/64896/Intel-Core-i5-3320M-Processor-3M-Cache-up-to-3_30-GHz
>>
>> It appears to exit cleanly (no segfault or OOM).
>>
>> It fails the same test on this machine as well as a slower x86_64
>> (Thinkpad x200s). One machine is Guix / Debian, the other is GuixSD.
> I built this patch on a x86_64 server with 40 cores and 256G of memory 
> twice, here's what I got:
>
> Running test_one_vs_all_trainer \
>
> !!!
> ! TEST FAILED: test_one_vs_all_trainer 
> !
> !!!
>
> Failure message from test:
>
> Error occurred at line 141.
> Error occurred in file 
> /tmp/nix-build-dlib-19.1.drv-0/dlib-19.1/dlib/test/one_vs_all_trainer.cpp.
> Failing expression was ans == res.
> res:
> 60  0  0
>   0 69  1
>   0  0 80
>
>
>
>
> Testing Finished
> Total number of individual testing statements executed: 471078543
> Number of failed tests: 1
> Number of passed tests: 133

I can reproduce Leos error on a foreign distro (Ubuntu 16.04, 32GiB RAM)
and see this in dmesg:

[497259.758549] dtest[27102]: segfault at b50 ip 768270e0 sp 
7fffa978 error 4 in libopenblasp-r0.2.15.so[75715000+18c6000]

That memory address is 128 TiB. Though it consistently builds fine on a
64GiB GuixSD machine as verified with `guix build --check`.

I initially made this package on a foreign distro without "lapack" in
inputs and have verified that dropping LAPACK makes the tests pass.

I also found some other optional dependencies after digging around the
source, as well as a recommendation to disable/enable asserts:

http://dlib.net/dlib/config.h.html

Ben, Leo: Can you try the following patch and see if that works for you?

>From 7cc190763e1312536fe3ac9cd91ea3756cf66b80 Mon Sep 17 00:00:00 2001
From: Marius Bakke 
Date: Sat, 13 Aug 2016 11:26:10 +0100
Subject: [PATCH] gnu: Add dlib.

* gnu/packages/machine-learning.scm (dlib): New variable.
---
 gnu/packages/machine-learning.scm | 63 ++-
 1 file changed, 62 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm
index f96672c..ebf3307 100644
--- a/gnu/packages/machine-learning.scm
+++ b/gnu/packages/machine-learning.scm
@@ -1,6 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2015, 2016 Ricardo Wurmus 
 ;;; Copyright © 2016 Efraim Flashner 
+;;; Copyright © 2016 Marius Bakke 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -27,18 +28,21 @@
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system r)
   #:use-module (gnu packages)
+  #:use-module (gnu packages algebra)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages boost)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages dejagnu)
   #:use-module (gnu packages gcc)
+  #:use-module (gnu packages image)
   #:use-module (gnu packages maths)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
   #:use-module (gnu packages statistics)
   #:use-module (gnu packages swig)
-  #:use-module (gnu packages xml))
+  #:use-module (gnu packages xml)
+  #:use-module (gnu packages xorg))
 
 (define-public libsvm
   (package
@@ -467,3 +471,60 @@ geometric models.")
  "This package provides functions for feed-forward neural networks with a
 single hidden layer, and for multinomial log-linear models.")
 (license (list license:gpl2+ license:gpl3+
+
+(define-public dlib
+  (package
+(name "dlib")
+(version "19.1")
+(source (origin
+  (method url-fetch)
+  (uri (string-append
+"http://dlib.net/files/dlib-"; version ".tar.bz2"))
+  (sha256
+   (base32
+"0p2pvcdalc6jhb6r99ybvjd9x74sclr0ngswdg9j2xl5pj7knbr4"))
+  (modules '((guix build utils)))
+  (snippet
+   '(begin
+  ;; Delete ~13MB of bundled dependencies.
+  (delete-file-recursively "dlib/external")
+  (delete-file-recursively "docs/dlib/external")
+(build-system cmake

Re: [PATCH] gnu: Add python-reportlab.

2016-08-16 Thread Marius Bakke
Leo Famulari  writes:

> On Mon, Aug 15, 2016 at 03:01:00PM +0100, Marius Bakke wrote:
>> 
>> > From c95b25a3ad4902ccdef79c7429485a7cacc72e1c Mon Sep 17 00:00:00 2001
>> > From: Marius Bakke 
>> > Date: Sun, 14 Aug 2016 16:47:33 +0100
>> > Subject: [PATCH] gnu: Add python-reportlab.
>> >
>> > * gnu/packages/python.scm (python-reportlab, python2-reportlab): New
>> >   variables.
>> > ---
>> >  gnu/packages/python.scm | 32 
>> >  1 file changed, 32 insertions(+)
>> 
>> Oops, forgot copyright line. New patch below. Perhaps pdf.scm is better?
>
> Looks good. I think pdf.scm is better. Can you send another patch?

New patch attached.

>
>> + ;; Prevent creation of the egg. Without this flag, various artifacts
>> + ;; from the build inputs end up in the final python3 output. It also
>> + ;; works around https://debbugs.gnu.org/cgi/bugreport.cgi?bug=20765 .
>> + `(#:configure-flags '("--single-version-externally-managed" 
>> "--root=/")))
>
> Feel free to add something to that discussion. We are starting a new
> "core-updates" cycle, so it's a good time to begin implementing changes
> to core components such as build systems.

There are quite a few packages suffering from this, at least
python-{pillow,dendropy}. What's strange is that site.py and all
propagated /bin files end up in the python3 output, causing a mountain
of collisions. I'll have a shot at figuring out what's going on.

Thanks,
Marius

>From 0bcfdc9ac99911972e2d3a7dae5bd8f07a7beb03 Mon Sep 17 00:00:00 2001
From: Marius Bakke 
Date: Sun, 14 Aug 2016 16:47:33 +0100
Subject: [PATCH] gnu: Add python-reportlab.

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

diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm
index 439adb9..d612ede 100644
--- a/gnu/packages/pdf.scm
+++ b/gnu/packages/pdf.scm
@@ -5,6 +5,7 @@
 ;;; Copyright © 2015 Paul van der Walt 
 ;;; Copyright © 2016 Roel Janssen 
 ;;; Coypright © 2016 ng0 
+;;; Coypright © 2016 Marius Bakke 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -582,3 +583,35 @@ program capable of converting PDF into other formats.")
  "Xournal is an application for notetaking, sketching, keeping a journal
 using a stylus.")
 (license license:gpl2+)))
+
+(define-public python-reportlab
+  (package
+(name "python-reportlab")
+(version "3.3.0")
+(source (origin
+  (method url-fetch)
+  (uri (pypi-uri "reportlab" version))
+  (sha256
+   (base32
+"0rz2pg04wnzjjm2f5a8ik9v8s54mv4xrjhv5liqjijqv6awh12gl"
+(build-system python-build-system)
+(arguments
+ ;; Prevent creation of the egg. Without this flag, various artifacts
+ ;; from the build inputs end up in the final python3 output. It also
+ ;; works around https://debbugs.gnu.org/cgi/bugreport.cgi?bug=20765 .
+ `(#:configure-flags '("--single-version-externally-managed" "--root=/")))
+(propagated-inputs
+ `(("python-pillow" ,python-pillow)))
+(home-page "http://www.reportlab.com";)
+(synopsis "Python library for generating PDFs and graphics")
+(description "This is the ReportLab PDF Toolkit.  It allows rapid creation
+of rich PDF documents, and also creation of charts in a variety of bitmap and
+vector formats.")
+(license bsd-3)
+(properties `((python2-variant . ,(delay python2-reportlab))
+
+(define-public python2-reportlab
+  (package
+(inherit (package-with-python2
+  (strip-python2-variant python-reportlab)))
+(native-inputs `(("python2-pip" ,python2-pip)
-- 
2.9.2



[PATCH] gnu: Add python-cheetah.

2016-08-16 Thread Manolis Ragkousis
This patch adds python2-cheetah.

Manolis
>From 7899fa820ea826b71375d805185a99cf8de0fc8f Mon Sep 17 00:00:00 2001
From: Manolis Ragkousis 
Date: Tue, 16 Aug 2016 14:06:03 +0300
Subject: [PATCH] gnu: Add python-cheetah.

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

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 5cc54d0..a450a0c 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -24,6 +24,7 @@
 ;;; Copyright © 2016 Sou Bunnbu 
 ;;; Copyright © 2016 Troy Sankey 
 ;;; Copyright © 2016 ng0 
+;;; Copyright © 2016 Manolis Fragkiskos Ragkousis 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -9886,3 +9887,40 @@ relays publish about themselves.")
 
 (define-public python2-stem
   (package-with-python2 python-stem))
+
+(define-public python-cheetah
+  (package
+(name "python-cheetah")
+(version "2.4.4")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ "https://pypi.python.org/packages/";
+ "cd/b0/c2d700252fc251e91c08639ff41a8a5203b627f4e0a2ae18a6b662ab32ea/"
+ "Cheetah-" version ".tar.gz"))
+   (sha256
+(base32
+ "0l5mm4lnysjkzpjr95q5ydm9xc8bv43fxmr79ypybrf1y0lq4c5y"
+(build-system python-build-system)
+(home-page "http://www.cheetahtemplate.org";)
+(synopsis
+ "Python-powered template engine and code generator")
+(description
+ "Cheetah is an open source template engine and code generation tool.
+It can be used standalone or combined with other tools and frameworks. Web
+development is its principle use, but Cheetah is very flexible and is also
+being used to generate C++ game code, Java, sql, form emails and even Python
+ code.")
+(license (non-copyleft "file://LICENSE"
+   "See COPYING in the distribution."
+
+(define-public python2-cheetah
+  (let ((base (package-with-python2 python-cheetah)))
+(package
+  (inherit base)
+  (name "python2-cheetah")
+  (native-inputs
+   `(("python2-setuptools" ,python2-setuptools)
+ ("python2-markdown" ,python2-markdown)
+ ,@(package-native-inputs base))
-- 
2.9.2



[PATCH] gnu: Add GNU Radio.

2016-08-16 Thread Manolis Ragkousis
Hello,

I noticed that we didn't have GNU Radio packaged, so here you go.

Manolis
>From 7456142768bcdbd0782f475cd55c928f92c18472 Mon Sep 17 00:00:00 2001
From: Manolis Ragkousis 
Date: Tue, 16 Aug 2016 14:23:17 +0300
Subject: [PATCH] gnu: Add GNU Radio.

* gnu/packages/gnuradio.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
---
 gnu/local.mk  |  1 +
 gnu/packages/gnuradio.scm | 53 +++
 2 files changed, 54 insertions(+)
 create mode 100644 gnu/packages/gnuradio.scm

diff --git a/gnu/local.mk b/gnu/local.mk
index 7416850..f298e69 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -149,6 +149,7 @@ GNU_SYSTEM_MODULES =\
   %D%/packages/gnucash.scm			\
   %D%/packages/gnunet.scm			\
   %D%/packages/gnupg.scm			\
+  %D%/packages/gnuradio.scm			\
   %D%/packages/gnustep.scm			\
   %D%/packages/gnuzilla.scm			\
   %D%/packages/gnu-pw-mgr.scm			\
diff --git a/gnu/packages/gnuradio.scm b/gnu/packages/gnuradio.scm
new file mode 100644
index 000..9479b47
--- /dev/null
+++ b/gnu/packages/gnuradio.scm
@@ -0,0 +1,53 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2016 Manolis Fragkiskos Ragkousis 
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see .
+
+(define-module (gnu packages gnuradio)
+  #:use-module (guix licenses)
+  #:use-module (guix download)
+  #:use-module (guix packages)
+  #:use-module (gnu packages)
+  #:use-module (guix utils)
+  #:use-module (guix build-system cmake)
+  #:use-module (gnu packages python)
+  #:use-module (gnu packages boost))
+
+(define-public gnuradio
+  (package
+(name "gnuradio")
+(version "3.7.10")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append "http://gnuradio.org/releases/gnuradio/gnuradio-";
+   version ".tar.gz"))
+   (sha256
+(base32
+ "0j8vyd66ci89d0jzvg8wiyranmrz1r5a51hmg21cd78spr8qij54"
+(build-system cmake-build-system)
+(native-inputs `(("boost" ,boost)
+ ("python" ,python-2)
+ ("python2-cheetah" ,python2-cheetah)))
+(home-page "http://gnuradio.org/";)
+(synopsis "GNU Radio")
+(description
+ "GNU Radio is a toolkit for implementing software radios.  Its signal
+processing blocks can be combined with low-cost external RF hardware to
+create software-defined radios.  Without hardware, it can be used for
+simulation.  Radio applications are primarily written in Python, with C++
+support for performance-critical processing tasks.")
+(license gpl3+)))
-- 
2.9.2



Guile question ... Re: [PATCH 07/11] gnu: ncurses: support mingw.

2016-08-16 Thread Jan Nieuwenhuizen
Ricardo Wurmus writes:

> The command “guix refresh -l package-name” gives you a very rough list
> of packages (on the same architecture) that would be affected by an
> update to “package-name”.  This isn’t always correct, but in the case of
> ncurses it shows at least that a lot of packages are affected:
>
> guix refresh -l ncurses
> …
> Building the following 1018 packages would ensure 2616 dependent
> packages are rebuilt: …

Thanks!

I found why my ncurses still triggers rebuilds: that was in my fixes
that I added on top of Mark's patch, adding necessary MinGW configure
flags

`(#:configure-flags
  `(
   ...
   ;; MinGW: Provide termcap api, created for the MinGW port.
   ,,@(if (target-mingw?) '("--enable-term-driver") '())
   )

While this `works' build-wise, it still modifies configure-flags when
not target-mingw?.

That is solved technically by doing it like so

`(#:configure-flags
  ,(cons*
'quasiquote
`("--with-shared" "--without-debug" "--enable-widec"

  ;; By default headers land in an `ncursesw' subdir, which is not
  ;; what users expect.
  ,(list 'unquote '(string-append "--includedir=" (assoc-ref %outputs 
"out")
  "/include"))
  "--enable-overwrite"   ;really honor --includedir

  ;; Make sure programs like 'tic', 'reset', and 'clear' have a
  ;; correct RUNPATH.
  ,(list 'unquote '(string-append "LDFLAGS=-Wl,-rpath=" (assoc-ref 
%outputs "out")
  "/lib")))
;; MinGW: Provide termcap api, created for the MinGW port.
(if (target-mingw?) '("--enable-term-driver") '()))

...is there an easier/cleaner way, this looks overly complicated.

Greetings,
Jan

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



Re: [PATCH] gnu: Add minced.

2016-08-16 Thread Marius Bakke
Ben Woodcroft  writes:

> Hi Marius,
>
> Excellent to see others interested in packaging microbial bioinformatics 
> tools.

You may want to look here before packaging other microbio tools:

https://github.com/MRC-CLIMB/guix-climb

I'm currently working on upstreaming most of these :)

> I tried this in a container and it seems that it calls out to a few 
> programs preventing it from working:
>
> [env]# minced -h
> /gnu/store/8asw2i54x53rrwdr8qw4j2rpbkc9fqzz-profile/bin/minced: line 7: 
> dirname: command not found
> /gnu/store/8asw2i54x53rrwdr8qw4j2rpbkc9fqzz-profile/bin/minced: line 9: 
> dirname: command not found
> /gnu/store/8asw2i54x53rrwdr8qw4j2rpbkc9fqzz-profile/bin/minced: line 11: 
> basename: command not found
>
> So I think that (in order of preference), the source files themselves 
> should be patched with the absolute paths to these tools, the binary 
> should be wrapped, or coreutils should be propagated. For the first two 
> options, coreutils should be an input.

Good catch. Since the "minced" executable is just a wrapper script, I
opted to build my own wrapper to avoid the coreutils dependency.

> Now some small comments on the patch itself.
>
>> +(arguments
>> + `(#:test-target "test"
>> +   #:phases
>> +   (modify-phases %standard-phases
>> + (delete 'configure)
>> + (add-before 'check 'fix-test
>> +   (lambda _
>> + ;; Fix test for latest version.
>> + (substitute* "t/Aquifex_aeolicus_VF5.expected"
>> +   (("minced:0.1.6") "minced:0.2.0"
> It might be more future-proof to use '(string-append "minced:" 
> ,version)' instead of hard-coding 0.2.0.

I don't think this will be a problem in future releases. And it can also
cause problems, in case a user sets version to e.g. a commit hash.

> Also, this phase (and the next two) should end in #t since the return 
> value of substitute* is undefined.
>
>
>> + (add-before 'install 'qualify-java-path
>> +   (lambda* (#:key inputs #:allow-other-keys)
>> + (substitute* "minced"
>> +   ;; Set full path to java binary in wrapper script.
>> +   (("^java") (string-append (assoc-ref inputs "jre")
>> + "/bin/java")
>> + (replace 'install
>> +   ;; No install target.
>> +   (lambda* (#:key outputs #:allow-other-keys)
>> + (let* ((out (assoc-ref outputs "out"))
>> +(bin (string-append out "/bin")))
>> +   (for-each (lambda (file)
>> +   (install-file file bin))
>> + (list "minced" "minced.jar"
>> +(native-inputs
>> + `(("jdk", icedtea "jdk")))
>> +(inputs
>> + `(("jre", icedtea)))
> The commas should go after the space.

Oops, I should stop submitting patches late in the night!

>> +(home-page"https://github.com/ctSkennerton/minced";)
>> +(synopsis "Mining CRISPRs in Environmental Datasets")
>> +(description
>> + "MinCED is a program to find Clustered Regularly Interspaced Short
>> +Palindromic Repeats (CRISPRs) in full genomes or environmental datasets such
>> +as metagenomes, in which sequence size can be anywhere from 100 to 800 bp.")
> That description which you took from the README is a little dated at the 
> end. How about this?
>
> "MinCED is a program to find Clustered Regularly Interspaced Short
> Palindromic Repeats (CRISPRs) in both full genomes and shorter metagenomic 
> sequences."
>
> The rest LGTM. Thanks. Can you send an updated patch please?

Please find updated patch below. Thanks for the feedback!

>From 53602b0908956d122146baafdc1a541596df151d Mon Sep 17 00:00:00 2001
From: Marius Bakke 
Date: Mon, 15 Aug 2016 16:06:37 +0100
Subject: [PATCH] gnu: Add minced.

* gnu/packages/bioinformatics.scm (minced): New variable.
---
 gnu/packages/bioinformatics.scm | 55 +
 1 file changed, 55 insertions(+)

diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index dd69e39..4869d56 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -5,6 +5,7 @@
 ;;; Copyright © 2015 Andreas Enge 
 ;;; Copyright © 2016 Roel Janssen 
 ;;; Copyright © 2016 Efraim Flashner 
+;;; Copyright © 2016 Marius Bakke 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -3118,6 +3119,60 @@ probabilistic distances of genome abundance and tetranucleotide frequency.")
(license (license:non-copyleft "file://license.txt"
   "See license.txt in the distribution."
 
+(define-public minced
+  (package
+(name "minced")
+(version "0.2.0")
+(source (origin
+  (method url-fetch)
+  (uri (string-append
+"https://github.com/ctSkennerton/minced/archive/";
+version ".tar.gz"))
+  (file-name (string-append name "-" version ".tar.gz"))
+ 

Re: [PATCH] gnu: Add minced.

2016-08-16 Thread Marius Bakke

> Please find updated patch below. Thanks for the feedback!

Ugh. Missed a commit when squashing. Here is the final patch:

>From bb50f5c0d960625483e8db15a270a7f17d5d2d9c Mon Sep 17 00:00:00 2001
From: Marius Bakke 
Date: Mon, 15 Aug 2016 16:06:37 +0100
Subject: [PATCH] gnu: Add minced.

* gnu/packages/bioinformatics.scm (minced): New variable.
---
 gnu/packages/bioinformatics.scm | 58 +
 1 file changed, 58 insertions(+)

diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index dd69e39..6a27e06 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -5,6 +5,7 @@
 ;;; Copyright © 2015 Andreas Enge 
 ;;; Copyright © 2016 Roel Janssen 
 ;;; Copyright © 2016 Efraim Flashner 
+;;; Copyright © 2016 Marius Bakke 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -40,6 +41,7 @@
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages algebra)
   #:use-module (gnu packages base)
+  #:use-module (gnu packages bash)
   #:use-module (gnu packages bison)
   #:use-module (gnu packages boost)
   #:use-module (gnu packages compression)
@@ -3118,6 +3120,62 @@ probabilistic distances of genome abundance and tetranucleotide frequency.")
(license (license:non-copyleft "file://license.txt"
   "See license.txt in the distribution."
 
+(define-public minced
+  (package
+(name "minced")
+(version "0.2.0")
+(source (origin
+  (method url-fetch)
+  (uri (string-append
+"https://github.com/ctSkennerton/minced/archive/";
+version ".tar.gz"))
+  (file-name (string-append name "-" version ".tar.gz"))
+  (sha256
+   (base32
+"0wxmlsapxfpxfd3ps9636h7i2xy6la8i42mwh0j2lsky63h63jp1"
+(build-system gnu-build-system)
+(arguments
+ `(#:test-target "test"
+   #:phases
+   (modify-phases %standard-phases
+ (delete 'configure)
+ (add-before 'check 'fix-test
+   (lambda _
+ ;; Fix test for latest version.
+ (substitute* "t/Aquifex_aeolicus_VF5.expected"
+   (("minced:0.1.6") "minced:0.2.0"))
+ #t))
+ (replace 'install ; No install target.
+   (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+(bin (string-append out "/bin"))
+(wrapper (string-append bin "/minced")))
+   ;; Minced comes with a wrapper script that tries to figure out where
+   ;; it is located before running the JAR. Since these paths are known
+   ;; to us, we build our own wrapper to avoid coreutils dependency.
+   (install-file "minced.jar" bin)
+   (with-output-to-file wrapper
+ (lambda _
+   (display
+(string-append
+ "#!" (assoc-ref inputs "bash") "/bin/sh\n\n"
+ (assoc-ref inputs "jre") "/bin/java -jar "
+ bin "/minced.jar \"$@\"\n"
+   (chmod wrapper #o555)))
+(native-inputs
+ `(("jdk" ,icedtea "jdk")))
+(inputs
+ `(("bash" ,bash)
+   ("jre" ,icedtea)))
+(home-page "https://github.com/ctSkennerton/minced";)
+(synopsis "Mining CRISPRs in Environmental Datasets")
+(description
+ "MinCED is a program to find Clustered Regularly Interspaced Short
+Palindromic Repeats (CRISPRs) in DNA sequences. It can be used for unassembled
+metagenomic reads, but is mainly designed for full genomes and assembled
+metagenomic sequence.")
+(license license:gpl3+)))
+
 (define-public miso
   (package
 (name "miso")
-- 
2.9.2



Re: [PATCH] gnu: Add GNU Radio.

2016-08-16 Thread Ricardo Wurmus

Manolis Ragkousis  writes:

> I noticed that we didn't have GNU Radio packaged, so here you go.

Interesting.  I have a gnuradio branch here because it looked a lot more
complicated to get it to build.

Here’s my attempt:

+
+(define-public gnuradio
+  (package
+(name "gnuradio")
+(version "3.7.5")
+(source  (origin
+   (method url-fetch)
+   (uri (string-append "http://gnuradio.org/releases/gnuradio/";
+   "gnuradio-" version ".tar.gz"))
+   (sha256
+(base32
+ "0hv2nyz2hp1mjinin2q7jimh9mr81rjqvghqmaglz8w70qcn4zs6"
+(build-system cmake-build-system)
+(arguments
+ `(#:configure-flags
+   (list "-DENABLE_VOLK=OFF")))
+(inputs
+ `(("boost" ,boost)
+   ("python" ,python-2)
+   ("fftwf" ,fftwf)
+   ("gsl" ,gsl)
+   ("libusb" ,libusb)
+   ("alsa-lib" ,alsa-lib)
+   ("jack" ,jack-1)
+   ("graphviz" ,graphviz)
+   ("guile" ,guile-2.0)))
+(native-inputs
+ `(("cppunit" ,cppunit)
+   ("doxygen" ,doxygen)
+   ("which" ,which)
+   ("pkg-config" ,pkg-config)
+   ("swig" ,swig)))
+(synopsis "Software radio implementations")
+(description
+ "GNU Radio is a toolkit for implementing software radios.  Its signal
+processing blocks can be combined with low-cost external RF hardware
+to create software-defined radios.  Without hardware, it can be used
+for simulation.  Radio applications are primarily written in Python,
+with C++ support for performance-critical processing tasks.")
+(home-page "http://gnuradio.org/redmine/projects/gnuradio/wiki";)
+(license license:gpl3+)))

Shouldn’t there be more inputs?

(My patch was originally based on the last release that was published on
GNU ftp, so some of the inputs may no longer be used.)

~~ Ricardo



Re: Feedback, ideas, discussion: tracking patches, discussions, bugs.

2016-08-16 Thread Ricardo Wurmus

David Craven  writes:

>> I still like the idea of distributed source repos. You may also have
>> noticed there was resistance to that idea.
>
> I thought that the resistance was towards stabilizing an internal api,
> which I'm also against. But I'll have to reread the thread more
> carefully if you see things differently. I think where there is change
> there is resistance, but can understand that based on your previous
> experiences you are distrustful of the process and don't want to
> commit to doing the work upfront...

I don’t think that “resistance” is a fair description of the discussion
around that feature.  The result was an actual proposal that could be
implemented.

See this email:

   http://lists.gnu.org/archive/html/guix-devel/2016-07/msg01156.html

~~ Ricardo




Re: [PATCH] gnu: Add clojure.

2016-08-16 Thread Alex Vong
Hi Ricardo,

Thanks for the review too. The changes looks good to me, excepts that it
seems 'find-files' will find all files with name matching the regex
recursively, but `scandir' will only list the files on the 1st
level. Should we change 'find-files so that it supports the concept of
depth as well?

Also, I realize there is a typo in my original patch. It should be
'under' instead of 'under under' in the comment.

Here is the changes I make:

1 file changed, 8 insertions(+), 3 deletions(-)
gnu/packages/java.scm | 11 ---

modified   gnu/packages/java.scm
@@ -172,6 +172,8 @@ is implemented.")
   (arguments
`(#:modules ((guix build ant-build-system)
 (guix build utils)
+(ice-9 ftw)
+(ice-9 regex)
 (srfi srfi-1)
 (srfi srfi-26))
  #:test-target "test"
@@ -223,7 +225,10 @@ is implemented.")
  (copy-recursively "target/javadoc/"
(string-append doc-dir "javadoc/"))
  (for-each (cut install-file <> doc-dir)
-   (find-files "." ".*\\.(html|markdown|md|txt)"))
+   (filter (cut string-match
+ ".*\\.(html|markdown|md|txt)"
+ <>)
+   (scandir "./")))
  #t))
   ;; The native-inputs below are needed to run the tests.
   (native-inputs
@@ -269,8 +274,8 @@ system and reactive Agent system that ensure clean, 
correct, multithreaded
 designs.")
   ;; Clojure is licensed under EPL1.0
   ;; ASM bytecode manipulation library is licensed under BSD-3
-  ;; Guava Murmur3 hash implementation is licensed under under APL2.0
-  ;; src/clj/repl.clj is licensed under under CPL1.0
+  ;; Guava Murmur3 hash implementation is licensed under APL2.0
+  ;; src/clj/repl.clj is licensed under CPL1.0
   ;;
   ;; See readme.html or readme.txt for details.
   (license (list license:epl1.0


Here is the whole patch:

>From 8c0bdc35a168d6c1102ba81a6f26c847bb47c47e Mon Sep 17 00:00:00 2001
From: Alex Vong 
Date: Tue, 5 Jul 2016 16:24:20 +0800
Subject: [PATCH] gnu: Add clojure.

* gnu/packages/java.scm (clojure): New variable.
---
 gnu/packages/java.scm | 141 ++
 1 file changed, 141 insertions(+)

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index e821607..3e0b034 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -142,6 +142,147 @@ is implemented.")
   license:mpl2.0
   license:lgpl2.1+
 
+(define-public clojure
+  (let* ((remove-archives '(begin
+ (for-each delete-file
+   (find-files "." ".*\\.(jar|zip)"))
+ #t))
+ (submodule (lambda (prefix version hash)
+  (origin
+(method url-fetch)
+(uri (string-append "https://github.com/clojure/";
+prefix version ".tar.gz"))
+(sha256 (base32 hash))
+(modules '((guix build utils)))
+(snippet remove-archives)
+(package
+  (name "clojure")
+  (version "1.8.0")
+  (source
+   (origin
+ (method url-fetch)
+ (uri
+  (string-append "http://repo1.maven.org/maven2/org/clojure/clojure/";
+ version "/clojure-" version ".zip"))
+ (sha256
+  (base32 "1nip095fz5c492sw15skril60i1vd21ibg6szin4jcvyy3xr6cym"))
+ (modules '((guix build utils)))
+ (snippet remove-archives)))
+  (build-system ant-build-system)
+  (arguments
+   `(#:modules ((guix build ant-build-system)
+(guix build utils)
+(ice-9 ftw)
+(ice-9 regex)
+(srfi srfi-1)
+(srfi srfi-26))
+ #:test-target "test"
+ #:phases
+ (modify-phases %standard-phases
+   (add-after 'unpack 'unpack-submodule-sources
+ (lambda* (#:key inputs #:allow-other-keys)
+   (for-each
+(lambda (name)
+  (mkdir-p name)
+  (with-directory-excursion name
+(or (zero? (system* "tar"
+;; Use xz for repacked tarball.
+"--xz"
+"--extract"
+"--verbose"
+"--file" (assoc-ref inputs name)
+"--strip-components=1"))
+(error "failed to unpack tarball" name)))
+  (copy-recursively (string-append name "/src/main/cl

Re: Feedback, ideas, discussion: tracking patches, discussions, bugs.

2016-08-16 Thread Pjotr Prins
On Tue, Aug 16, 2016 at 03:17:11PM +0200, Ricardo Wurmus wrote:
> I don’t think that “resistance” is a fair description of the discussion
> around that feature.  The result was an actual proposal that could be
> implemented.

Yeah, not accurate is my bad. Pros and cons were mentioned. I'll find
some time after summer to work on this. I think it is important
enough.

Pj.



Re: [PATCH] gnu: Add GNU Radio.

2016-08-16 Thread Manolis Ragkousis
I am resending my response because I forgot to cc the list.

On 08/16/16 16:02, Manolis Ragkousis wrote:
> Hey Ricardo,
> 
> Maybe I should check again the output of my gnuradio package. I will
> report back.
> 
> Manolis
> 



Re: [PATCH 0/3] gnu: Add abc, iverilog, yosys FPGA synthesizers

2016-08-16 Thread Danny Milosavljevic
Hi,

any news on this?

I would have new packages for bitstream tools and the pick-and-place tools now. 
Do I prepare a patch based on this patch series (i.e. as if this series had 
already been committed and I were building on it) or do I do a new version of 
this patch series which includes the other packages? Or do I wait?



Re: JIT compiling

2016-08-16 Thread Francesco Potortì
>When Julia language was first discussed here, I suggested to write an
>Octave -> Julia translator, but I think it will NEVER be done for
>ideological (fanatic support of false/fake GPL freedom) reasons.

Sergei,

you had stopped for a while insulting the Octave developers and the free
software community.  That was a good thing.  However, this is your
second message in few days that brings back your old habits.  You can do
better.  Please do.

-- 
Francesco Potortì (ricercatore)Voice:  +39.050.621.3058
ISTI - Area della ricerca CNR  Mobile: +39.348.8283.107
via G. Moruzzi 1, I-56124 Pisa Skype:  wnlabisti
(entrance 20, 1st floor, room C71) Web:http://fly.isti.cnr.it




Re: Feedback, ideas, discussion: tracking patches, discussions, bugs.

2016-08-16 Thread Alex Vong
Hartmut Goebel  writes:

> Am 15.08.2016 um 17:18 schrieb Alex Vong:
>
> Of course, there are other alternatives, such as gogs,
>
> The gogs.io website is using a lot of external content, namely from
> google and jquery. The FAQ is hosted a another external side, discus.
> Gogs is not even self-hosting gogs but hosted at github. gogs.io does
> not even state which license it has ("Open Source It all at guithub"),
>
I am a bit confused here, are we going to (1) host the code on our own
server, or (2) using code-hosting service provided by other
organization?

If we are doing (1), then it is up to us to meet the GNU ethical
repository criteria [0]. If we are doing (2), then we need to ensure
that our service provider meet the criteria [0].

What I suggested is doing (1) with gogs. Do I understand the situation
correctly? WDYT?

> So there would be at least some work to be done to fulfil the "B"
> criteria "Does not report visitors to other organizations"
>
> (I have to admit that I did not check this for gitlab, though.)

[0]: https://www.gnu.org/software/repo-criteria.en.html



Re: [PATCH] gnu: Add python-reportlab.

2016-08-16 Thread Marius Bakke
Marius Bakke  writes:

> Leo Famulari  writes:
>
>> On Mon, Aug 15, 2016 at 03:01:00PM +0100, Marius Bakke wrote:
>>> 
>>> > From c95b25a3ad4902ccdef79c7429485a7cacc72e1c Mon Sep 17 00:00:00 2001
>>> > From: Marius Bakke 
>>> > Date: Sun, 14 Aug 2016 16:47:33 +0100
>>> > Subject: [PATCH] gnu: Add python-reportlab.
>>> >
>>> > * gnu/packages/python.scm (python-reportlab, python2-reportlab): New
>>> >   variables.
>>> > ---
>>> >  gnu/packages/python.scm | 32 
>>> >  1 file changed, 32 insertions(+)
>>> 
>>> Oops, forgot copyright line. New patch below. Perhaps pdf.scm is better?
>>
>> Looks good. I think pdf.scm is better. Can you send another patch?
>
> New patch attached.

Argh. Forgot to include python.scm. Here is an updated patch.

>From ea4713ae81030e2146f9c30e6bcad7e9520c Mon Sep 17 00:00:00 2001
From: Marius Bakke 
Date: Sun, 14 Aug 2016 16:47:33 +0100
Subject: [PATCH] gnu: Add python-reportlab.

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

diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm
index 439adb9..59e5523 100644
--- a/gnu/packages/pdf.scm
+++ b/gnu/packages/pdf.scm
@@ -5,6 +5,7 @@
 ;;; Copyright © 2015 Paul van der Walt 
 ;;; Copyright © 2016 Roel Janssen 
 ;;; Coypright © 2016 ng0 
+;;; Coypright © 2016 Marius Bakke 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -49,6 +50,7 @@
   #:use-module (gnu packages curl)
   #:use-module (gnu packages pcre)
   #:use-module (gnu packages perl)
+  #:use-module (gnu packages python)
   #:use-module (gnu packages tls)
   #:use-module (srfi srfi-1))
 
@@ -582,3 +584,35 @@ program capable of converting PDF into other formats.")
  "Xournal is an application for notetaking, sketching, keeping a journal
 using a stylus.")
 (license license:gpl2+)))
+
+(define-public python-reportlab
+  (package
+(name "python-reportlab")
+(version "3.3.0")
+(source (origin
+  (method url-fetch)
+  (uri (pypi-uri "reportlab" version))
+  (sha256
+   (base32
+"0rz2pg04wnzjjm2f5a8ik9v8s54mv4xrjhv5liqjijqv6awh12gl"
+(build-system python-build-system)
+(arguments
+ ;; Prevent creation of the egg. Without this flag, various artifacts
+ ;; from the build inputs end up in the final python3 output. It also
+ ;; works around https://debbugs.gnu.org/cgi/bugreport.cgi?bug=20765 .
+ `(#:configure-flags '("--single-version-externally-managed" "--root=/")))
+(propagated-inputs
+ `(("python-pillow" ,python-pillow)))
+(home-page "http://www.reportlab.com";)
+(synopsis "Python library for generating PDFs and graphics")
+(description "This is the ReportLab PDF Toolkit.  It allows rapid creation
+of rich PDF documents, and also creation of charts in a variety of bitmap and
+vector formats.")
+(license license:bsd-3)
+(properties `((python2-variant . ,(delay python2-reportlab))
+
+(define-public python2-reportlab
+  (package
+(inherit (package-with-python2
+  (strip-python2-variant python-reportlab)))
+(native-inputs `(("python2-pip" ,python2-pip)
-- 
2.9.2



Re: [PATCH v2] gnu: python: Add pyserial.

2016-08-16 Thread Leo Famulari
On Tue, Aug 16, 2016 at 03:40:43AM +0200, Danny Milosavljevic wrote:
> gnu: python: Add pyserial.
> 
> * gnu/packages/python.scm (python-pyserial, python-pyserial2): New variables.

Thanks, pushed as 517a6c0c6e4!



[PATCH] gnu: simple-scan: Update to 3.21.90.

2016-08-16 Thread Tobias Geerinckx-Rice
* gnu/packages/gnome.scm (simple-scan): Update to 3.21.90.
[inputs]: Remove libgudev.
[native-inputs]: Replace intltool dependency with gnu-gettext.
---
 gnu/packages/gnome.scm | 7 +++
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 4a0be01..83566e1 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -3526,7 +3526,7 @@ USB transfers with your high-level application or system 
daemon.")
 (define-public simple-scan
   (package
 (name "simple-scan")
-(version "3.19.91")
+(version "3.21.90")
 (source (origin
   (method url-fetch)
   (uri (string-append "https://launchpad.net/simple-scan/";
@@ -3535,7 +3535,7 @@ USB transfers with your high-level application or system 
daemon.")
   version ".tar.xz"))
   (sha256
(base32
-"1c5glf5vxgld41w4jxfqcv17q76qnh43fawpv33hncgh8d283xkf"
+"0dmsvq3vviky6851rqiik898r84c7744i7md672ckic3mdv21ap3"
 (build-system glib-or-gtk-build-system)
 (inputs
  `(("gtk" ,gtk+)
@@ -3543,10 +3543,9 @@ USB transfers with your high-level application or system 
daemon.")
("cairo" ,cairo)
("gdk-pixbuf" ,gdk-pixbuf)
("gusb" ,gusb)
-   ("libgudev" ,libgudev)
("libsane" ,sane-backends)))
 (native-inputs
- `(("intltool" ,intltool)
+ `(("gettext" ,gnu-gettext)
("itstool" ,itstool)
("colord" ,colord)
("glib" ,glib "bin")   ; glib-compile-schemas, etc.
-- 
2.7.4




Re: [PATCH] gnu: Add re2.

2016-08-16 Thread Leo Famulari
On Mon, Aug 15, 2016 at 02:05:16PM +0100, Marius Bakke wrote:
> 
> I wasn't sure where to put this, so went with its own file. It does not
> fully implement PCRE so pcre.scm seems inappropriate. Perhaps that could
> be renamed to regex.scm or similar.

The patch looks good, but please put it in regex.scm! But, I don't want
to move all the regex packages into this new regex module. Perhaps tre,
since it appears to have no users in our tree.



[PATCH] gnu: Move gtkglext from gnome to gtk.

2016-08-16 Thread Danny Milosavljevic
gnu: Move gtkglext from gnome to gtk.

* gnu/packages/gnome.scm (gtkglext): Moved from here...
* gnu/packages/gtk.scm (gtkglext): ... to here
---
 gnu/packages/gnome.scm | 28 
 gnu/packages/gtk.scm   | 28 
 2 files changed, 28 insertions(+), 28 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 4a0be01..ee10b5f 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -784,34 +784,6 @@ demand (lazy) programming language support for C, Python and JS; simplicity of
 the API.")
 (license license:lgpl2.0+)))
 
-(define-public gtkglext
-  (package
-(name "gtkglext")
-(version "1.2.0")
-(source (origin
-  (method url-fetch)
-  (uri (string-append "mirror://sourceforge/gtkglext/gtkglext/"
-  version "/gtkglext-" version ".tar.gz"))
-  (sha256
-   (base32 "1ya4d2j2aacr9ii5zj4ac95fjpdvlm2rg79mgnk7yvl1dcy3y1z5"))
-  (patches (search-patches
-"gtkglext-disable-disable-deprecated.patch"
-(build-system gnu-build-system)
-(inputs `(("gtk+" ,gtk+-2)
-  ("mesa" ,mesa)
-  ("glu" ,glu)
-  ("libx11" ,libx11)
-  ("libxt" ,libxt)))
-(native-inputs `(("pkg-config" ,pkg-config)
- ("glib" ,glib "bin")))
-(propagated-inputs `(("pangox-compat" ,pangox-compat)))
-(home-page "https://projects.gnome.org/gtkglext";)
-(synopsis "OpenGL extension to GTK+")
-(description "GtkGLExt is an OpenGL extension to GTK+.  It provides
-additional GDK objects which support OpenGL rendering in GTK+ and GtkWidget
-API add-ons to make GTK+ widgets OpenGL-capable.")
-(license license:lgpl2.1+)))
-
 (define-public glade3
   (package
 (name "glade")
diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 8feac11..9b01f2e 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -1331,3 +1331,31 @@ glass artworks done by Venicians glass blowers.")
  "GtkSpell provides word-processor-style highlighting and replacement of
 misspelled words in a GtkTextView widget.")
 (license license:gpl2+)))
+
+(define-public gtkglext
+  (package
+(name "gtkglext")
+(version "1.2.0")
+(source (origin
+  (method url-fetch)
+  (uri (string-append "mirror://sourceforge/gtkglext/gtkglext/"
+  version "/gtkglext-" version ".tar.gz"))
+  (sha256
+   (base32 "1ya4d2j2aacr9ii5zj4ac95fjpdvlm2rg79mgnk7yvl1dcy3y1z5"))
+  (patches (search-patches
+"gtkglext-disable-disable-deprecated.patch"
+(build-system gnu-build-system)
+(inputs `(("gtk+" ,gtk+-2)
+  ("mesa" ,mesa)
+  ("glu" ,glu)
+  ("libx11" ,libx11)
+  ("libxt" ,libxt)))
+(native-inputs `(("pkg-config" ,pkg-config)
+ ("glib" ,glib "bin")))
+(propagated-inputs `(("pangox-compat" ,pangox-compat)))
+(home-page "https://projects.gnome.org/gtkglext";)
+(synopsis "OpenGL extension to GTK+")
+(description "GtkGLExt is an OpenGL extension to GTK+.  It provides
+additional GDK objects which support OpenGL rendering in GTK+ and GtkWidget
+API add-ons to make GTK+ widgets OpenGL-capable.")
+(license license:lgpl2.1+)))


Re: [PATCH] gnu: Add python-pypump

2016-08-16 Thread Leo Famulari
On Tue, Aug 16, 2016 at 12:29:27AM +0200, Danny Milosavljevic wrote:
> > I think we should package the latest version, at least.
> > 
> > Maybe we could also package 0.6 with a package 'python-pypump-0.6' that
> > inherits from python-pypump. Or, you could keep that inherited
> > python-pypump-0.6 in a private package repo, and use GUIX_PACKAGE_PATH.
> 
> It depends on whether pypump-0.6 is a major API-incompatible version
> that is still required by other Free Software packages in the wild on
> the internet. If so, it makes sense to carry it too. Otherwise not.

That would be a good reason to keep it. But so far, I haven't seen any
patches that would use it :)



[PATCH] gnu: lua-5.1: install pkg-config file.

2016-08-16 Thread Danny Milosavljevic
gnu: lua-5.1: install pkg-config file.

* gnu/packages/lua.scm (lua-5.1): Modified.
* gnu/packages/patches/lua51-pkgconfig.patch: New file.
---
 gnu/local.mk   |   1 +
 gnu/packages/lua.scm   |   3 +-
 gnu/packages/patches/lua51-pkgconfig.patch | 101 +
 3 files changed, 104 insertions(+), 1 deletion(-)
 create mode 100644 gnu/packages/patches/lua51-pkgconfig.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 7416850..8d2f754 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -648,6 +648,7 @@ dist_patch_DATA =		\
   %D%/packages/patches/lua-CVE-2014-5461.patch  \
   %D%/packages/patches/lua-pkgconfig.patch  \
   %D%/packages/patches/lua51-liblua-so.patch\
+  %D%/packages/patches/lua51-pkgconfig.patch\
   %D%/packages/patches/lua52-liblua-so.patch\
   %D%/packages/patches/luajit-no_ldconfig.patch			\
   %D%/packages/patches/luajit-symlinks.patch			\
diff --git a/gnu/packages/lua.scm b/gnu/packages/lua.scm
index b4b5dee..9f72c7c 100644
--- a/gnu/packages/lua.scm
+++ b/gnu/packages/lua.scm
@@ -80,7 +80,8 @@ for configuration, scripting, and rapid prototyping.")
  (sha256
   (base32 "0cskd4w0g6rdm2q8q3i4n1h3j8kylhs3rq8mxwl9vwlmlxbgqh16"))
  (patches (search-patches "lua51-liblua-so.patch"
-  "lua-CVE-2014-5461.patch"))
+  "lua-CVE-2014-5461.patch"
+  "lua51-pkgconfig.patch"))
 
 (define-public luajit
   (package
diff --git a/gnu/packages/patches/lua51-pkgconfig.patch b/gnu/packages/patches/lua51-pkgconfig.patch
new file mode 100644
index 000..5b03ada
--- /dev/null
+++ b/gnu/packages/patches/lua51-pkgconfig.patch
@@ -0,0 +1,101 @@
+Enables generating Lua's pkg-config file.
+
+http://lua-users.org/lists/lua-l/2015-03/msg00338.html
+
+--- a/Makefile	2016-08-16 19:44:27.363614964 +0200
 b/Makefile	2016-08-16 19:49:22.623070005 +0200
+@@ -13,6 +13,7 @@
+ INSTALL_BIN= $(INSTALL_TOP)/bin
+ INSTALL_INC= $(INSTALL_TOP)/include
+ INSTALL_LIB= $(INSTALL_TOP)/lib
++INSTALL_PC= $(INSTALL_LIB)/pkgconfig
+ INSTALL_MAN= $(INSTALL_TOP)/man/man1
+ #
+ # You probably want to make INSTALL_LMOD and INSTALL_CMOD consistent with
+@@ -41,9 +42,12 @@
+ PLATS= aix ansi bsd freebsd generic linux macosx mingw posix solaris
+ 
+ # What to install.
+-TO_BIN= lua luac
++INTERPRETER= lua
++COMPILER= luac
++TO_BIN= $(INTERPRETER) $(COMPILER)
+ TO_INC= lua.h luaconf.h lualib.h lauxlib.h ../etc/lua.hpp
+ TO_LIB= liblua.a liblua.so liblua.so.${V}
++TO_PC= lua-$(V).pc
+ TO_MAN= lua.1 luac.1
+ 
+ # Lua version and release.
+@@ -52,17 +56,22 @@
+ 
+ all:	$(PLAT)
+ 
+-$(PLATS) clean:
++$(PLATS):
+ 	cd src && $(MAKE) $@ V=$(V) R=$(R)
+ 
++clean:
++	cd src && $(MAKE) $@
++	$(RM) $(TO_PC)
++
+ test:	dummy
+ 	src/lua test/hello.lua
+ 
+-install: dummy
+-	cd src && $(MKDIR) $(INSTALL_BIN) $(INSTALL_INC) $(INSTALL_LIB) $(INSTALL_MAN) $(INSTALL_LMOD) $(INSTALL_CMOD)
++install: dummy $(TO_PC)
++	cd src && $(MKDIR) $(INSTALL_BIN) $(INSTALL_INC) $(INSTALL_LIB) $(INSTALL_PC) $(INSTALL_MAN) $(INSTALL_LMOD) $(INSTALL_CMOD)
+ 	cd src && $(INSTALL_EXEC) $(TO_BIN) $(INSTALL_BIN)
+ 	cd src && $(INSTALL_DATA) $(TO_INC) $(INSTALL_INC)
+ 	cd src && $(INSTALL_DATA) $(TO_LIB) $(INSTALL_LIB)
++	cd src && $(INSTALL_DATA) ../$(TO_PC) $(INSTALL_PC)
+ 	cd doc && $(INSTALL_DATA) $(TO_MAN) $(INSTALL_MAN)
+ 
+ ranlib:
+@@ -95,6 +104,7 @@
+ 	@echo "INSTALL_BIN = $(INSTALL_BIN)"
+ 	@echo "INSTALL_INC = $(INSTALL_INC)"
+ 	@echo "INSTALL_LIB = $(INSTALL_LIB)"
++	@echo "INSTALL_PC = $(INSTALL_PC)"
+ 	@echo "INSTALL_MAN = $(INSTALL_MAN)"
+ 	@echo "INSTALL_LMOD = $(INSTALL_LMOD)"
+ 	@echo "INSTALL_CMOD = $(INSTALL_CMOD)"
+@@ -111,6 +121,7 @@
+ 	@echo "TO_BIN = $(TO_BIN)"
+ 	@echo "TO_INC = $(TO_INC)"
+ 	@echo "TO_LIB = $(TO_LIB)"
++	@echo "TO_PC = $(TO_PC)"
+ 	@echo "TO_MAN = $(TO_MAN)"
+ 
+ # echo config parameters as Lua code
+@@ -122,7 +133,29 @@
+ 	@$(MAKE) echo | grep = | sed -e 's/= /= "/' -e 's/$$/"/' #-e 's/""/nil/'
+ 	@echo "-- EOF"
+ 
++pc:
++	@echo 'prefix=$(INSTALL_TOP)'
++	@echo 'libdir=$(INSTALL_LIB)'
++	@echo 'includedir=$(INSTALL_INC)'
++	@echo 'bindir=$(INSTALL_BIN)'
++	@echo
++	@echo 'INSTALL_LMOD=$(INSTALL_LMOD)'
++	@echo 'INSTALL_CMOD=$(INSTALL_CMOD)'
++	@echo 'INTERPRETER=$${bindir}/$(INTERPRETER)'
++	@echo 'COMPILER=$${bindir}/$(COMPILER)'
++	@echo
++	@echo 'Name: Lua'
++	@echo 'Description: A powerful, fast, lightweight, embeddable scripting language'
++	@echo 'Version: $(R)'
++	@echo
++	@echo 'Libs: -L$${libdir} -llua -lm'
++	@echo 'Cflags: -I$${includedir}'
++
++pkg-config: $(TO_PC)
++$(TO_PC):
++	@$(MAKE) -s pc > $@
++
+ # list targets that do not create files (but not all makes understand .PHONY)
+-.PHONY: all $(PLATS) clean test install local none dummy echo pecho lecho
++.PHONY: all $(PLATS) clean test install local none dum

[PATCH v2 0/6] Add FPGA Tools

2016-08-16 Thread Danny Milosavljevic
This patch adds FPGA tools.

Danny Milosavljevic (6):
  gnu: Add fpga module.
  gnu: fpga: Add abc.
  gnu: fpga: Add iverilog.
  gnu: fpga: Add yosys.
  gnu: fpga: Add icestorm.
  gnu: fpga: Add arachne-pnr.

 gnu/local.mk  |   1 +
 gnu/packages/fpga.scm | 271 ++
 2 files changed, 272 insertions(+)
 create mode 100644 gnu/packages/fpga.scm



[PATCH v2 3/6] gnu: fpga: Add iverilog.

2016-08-16 Thread Danny Milosavljevic

* gnu/packages/fpga.scm (iverilog): New variable.
---
 gnu/packages/fpga.scm | 27 +++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/fpga.scm b/gnu/packages/fpga.scm
index 7571f87..b0d4819 100644
--- a/gnu/packages/fpga.scm
+++ b/gnu/packages/fpga.scm
@@ -81,3 +81,30 @@ and formal verification.")
 ;; FIXME use license: MIT Modern variant as described in:
 ;;   
 (license license:expat
+
+(define-public iverilog
+  (package
+(name "iverilog")
+(version "10.1.1")
+(source (origin
+  (method url-fetch)
+  (uri
+   (string-append "ftp://ftp.icarus.com/pub/eda/verilog/v10/verilog-"; version ".tar.gz"))
+  (sha256
+(base32
+   "1nnassxvq30rnn0r2p85rkb2zwxk97p109y13x3vr365wzgpbapx"
+(build-system gnu-build-system)
+(native-inputs
+ `(("flex" ,flex)
+   ("bison" ,bison)
+   ("ghostscript" ,ghostscript) #| ps2pdf |#))
+(home-page "http://iverilog.icarus.com/";)
+(synopsis "FPGA Verilog Simulation and Synthesis Tool")
+(description "Icarus Verilog is a Verilog simulation and synthesis tool.
+It operates as a compiler, compiling source code written in Verilog
+(IEEE-1364) into some target format.
+For batch simulation, the compiler can generate an intermediate form called
+vvp assembly.
+This intermediate form is executed by the ``vvp'' command.
+For synthesis, the compiler generates netlists in the desired format.")
+(license license:gpl2)))


[PATCH v2 2/6] gnu: fpga: Add abc.

2016-08-16 Thread Danny Milosavljevic

* gnu/packages/fpga.scm (abc): New variable.
---
 gnu/packages/fpga.scm | 43 +++
 1 file changed, 43 insertions(+)

diff --git a/gnu/packages/fpga.scm b/gnu/packages/fpga.scm
index 112d53b..7571f87 100644
--- a/gnu/packages/fpga.scm
+++ b/gnu/packages/fpga.scm
@@ -38,3 +38,46 @@
   #:use-module (gnu packages version-control)
   #:use-module (gnu packages libftdi))
 
+;; To compile as C code (default):
+;;   make sure that CC=gcc and ABC_NAMESPACE is not defined.
+;; To compile as C++ code with namespaces:
+;;   make sure that CC=g++ and ABC_NAMESPACE is set to the namespace.
+;;   For example, add -DABC_NAMESPACE=xxx to OPTFLAGS.
+(define-public abc
+ (let ((commit "5ae4b975c49c"))
+  (package
+(name "abc")
+(version (string-append "0.0-" (string-take commit 7)))
+(source (origin
+  (method url-fetch)
+  (uri
+   (string-append "https://bitbucket.org/alanmi/abc/get/";
+  commit ".zip"))
+  (file-name (string-append name "-" version "-checkout.zip"))
+  (sha256
+(base32
+   "1syygi1x40rdryih3galr4q8yg1w5bvdzl75hd27v1xq0l5bz3d0"
+(build-system gnu-build-system)
+(native-inputs
+ `(("unzip" ,unzip)))
+(inputs
+ `(("readline" ,readline)))
+(arguments
+ `(#:tests? #f ; 'check target does not exist.
+   #:phases
+(modify-phases %standard-phases
+  (delete 'configure)
+  (replace 'install
+(lambda* (#:key outputs #:allow-other-keys)
+  (let* ((out (assoc-ref outputs "out"))
+ (outbin (string-append out "/bin"))
+ (target (string-append outbin "/abc")))
+(mkdir-p outbin)
+(copy-file "abc" target)))
+(home-page "http://people.eecs.berkeley.edu/~alanmi/abc/";)
+(synopsis "Sequential Logic Synthesis and Formal Verification")
+(description "ABC is a program for sequential logic synthesis
+and formal verification.")
+;; FIXME use license: MIT Modern variant as described in:
+;;   
+(license license:expat


[PATCH v2 1/6] gnu: Add fpga module.

2016-08-16 Thread Danny Milosavljevic

* gnu/packages/fpga.scm: New file.
---
 gnu/local.mk  |  1 +
 gnu/packages/fpga.scm | 40 
 2 files changed, 41 insertions(+)
 create mode 100644 gnu/packages/fpga.scm

diff --git a/gnu/local.mk b/gnu/local.mk
index 7416850..e70ba77 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -124,6 +124,7 @@ GNU_SYSTEM_MODULES =\
   %D%/packages/fltk.scm\
   %D%/packages/fonts.scm			\
   %D%/packages/fontutils.scm			\
+  %D%/packages/fpga.scm\
   %D%/packages/freedesktop.scm			\
   %D%/packages/freeipmi.scm			\
   %D%/packages/ftp.scm\
diff --git a/gnu/packages/fpga.scm b/gnu/packages/fpga.scm
new file mode 100644
index 000..112d53b
--- /dev/null
+++ b/gnu/packages/fpga.scm
@@ -0,0 +1,40 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2016 Danny Milosavljevic 
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see .
+
+(define-module (gnu packages fpga)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix git-download)
+  #:use-module (guix build-system gnu)
+  #:use-module (guix build-system cmake)
+  #:use-module (gnu packages)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages tcl)
+  #:use-module (gnu packages readline)
+  #:use-module (gnu packages python)
+  #:use-module (gnu packages bison)
+  #:use-module (gnu packages flex)
+  #:use-module (gnu packages libffi)
+  #:use-module (gnu packages zip)
+  #:use-module (gnu packages perl)
+  #:use-module (gnu packages ghostscript)
+  #:use-module (gnu packages gawk)
+  #:use-module (gnu packages version-control)
+  #:use-module (gnu packages libftdi))
+


[PATCH v2 4/6] gnu: fpga: Add yosys.

2016-08-16 Thread Danny Milosavljevic

* gnu/packages/fpga.scm (yosys): New variable.
---
 gnu/packages/fpga.scm | 81 +++
 1 file changed, 81 insertions(+)

diff --git a/gnu/packages/fpga.scm b/gnu/packages/fpga.scm
index b0d4819..0e51626 100644
--- a/gnu/packages/fpga.scm
+++ b/gnu/packages/fpga.scm
@@ -108,3 +108,84 @@ vvp assembly.
 This intermediate form is executed by the ``vvp'' command.
 For synthesis, the compiler generates netlists in the desired format.")
 (license license:gpl2)))
+
+(define-public yosys
+  (package
+(name "yosys")
+(version "0.6")
+(source (origin
+  (method url-fetch)
+  (uri
+   (string-append "https://github.com/cliffordwolf/yosys/archive/";
+  name "-" version ".tar.gz"))
+  (sha256
+(base32
+   "02j0c0m9dfyjccynalf0aggj6gy20k7iphpkg5cn6sdirlkv8gmx"))
+  (file-name (string-append name "-" version "-checkout.tar.gz"))
+  (modules '((guix build utils)))
+  (snippet
+'(substitute* "Makefile"
+   (("ABCREV = .*") "ABCREV = default\n")
+(build-system gnu-build-system)
+(arguments
+ `(#:test-target "test"
+   #:make-flags (list "CC=gcc"
+  "CXX=g++"
+  (string-append "PREFIX=" %output))
+   #:phases
+   (modify-phases %standard-phases
+ (replace 'configure
+   (lambda* (#:key inputs (make-flags '()) #:allow-other-keys)
+ (zero? (apply system* "make" "config-gcc" make-flags
+ (add-after 'configure 'prepare-abc
+   (lambda* (#:key inputs #:allow-other-keys)
+ (let* ((sourceabc (assoc-ref inputs "abc"))
+(sourcebin (string-append sourceabc "/bin"))
+(source (string-append sourcebin "/abc")))
+   (mkdir-p "abc")
+   (call-with-output-file "abc/Makefile"
+ (lambda (port)
+   (format port ".PHONY: all\nall:\n\tcp -f abc abc-default\n")))
+   (copy-file source "abc/abc")
+   (zero? (system* "chmod" "+w" "abc/abc")
+  (add-before 'check 'fix-iverilog-references
+ (lambda* (#:key inputs native-inputs #:allow-other-keys)
+   (let* ((xinputs (or native-inputs inputs))
+  (xdirname (assoc-ref xinputs "iverilog"))
+  (iverilog (string-append xdirname "/bin/iverilog")))
+ (substitute* '("./manual/CHAPTER_StateOfTheArt/synth.sh"
+"./manual/CHAPTER_StateOfTheArt/validate_tb.sh"
+"./techlibs/ice40/tests/test_bram.sh"
+"./techlibs/ice40/tests/test_ffs.sh"
+"./techlibs/xilinx/tests/bram1.sh"
+"./techlibs/xilinx/tests/bram2.sh"
+"./tests/bram/run-single.sh"
+"./tests/realmath/run-test.sh"
+"./tests/simple/run-test.sh"
+"./tests/techmap/mem_simple_4x1_runtest.sh"
+"./tests/tools/autotest.sh"
+"./tests/vloghtb/common.sh")
+(("if ! which iverilog") "if ! true")
+(("iverilog ") (string-append iverilog " "))
+(("iverilog_bin=\".*\"") (string-append "iverilog_bin=\""
+iverilog
+"\"")
+;; TODO add xdot [patch the path to it here] as soon as I find out where it is.
+(native-inputs
+ `(("pkg-config" ,pkg-config)
+   ("python" ,python)
+   ("bison" ,bison)
+   ("flex" ,flex)
+   ("gawk" , gawk) ; for the tests and "make" progress pretty-printing
+   ("tcl" ,tcl) ; tclsh for the tests
+   ("iverilog" ,iverilog) ; for the tests
+))
+(inputs
+ `(("tcl" ,tcl)
+   ("readline" ,readline)
+   ("libffi" ,libffi)
+   ("abc" ,abc)))
+(home-page "http://www.clifford.at/yosys/";)
+(synopsis "FPGA Verilog RTL Synthesizer")
+(description "Yosys synthesizes Verilog-2005.")
+(license license:isc)))


[PATCH v2 5/6] gnu: fpga: Add icestorm.

2016-08-16 Thread Danny Milosavljevic

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

diff --git a/gnu/packages/fpga.scm b/gnu/packages/fpga.scm
index 0e51626..25c4570 100644
--- a/gnu/packages/fpga.scm
+++ b/gnu/packages/fpga.scm
@@ -189,3 +189,40 @@ For synthesis, the compiler generates netlists in the desired format.")
 (synopsis "FPGA Verilog RTL Synthesizer")
 (description "Yosys synthesizes Verilog-2005.")
 (license license:isc)))
+
+(define-public icestorm
+  (let ((commit "12b2295c9087d94b75e374bb205ae4d76cf17e2f"))
+   (package
+(name "icestorm")
+(version (string-append "0.0-" (string-take commit 7)))
+(source (origin
+  (method git-fetch)
+  (uri (git-reference
+ (url "https://github.com/cliffordwolf/icestorm.git";)
+ (commit commit)))
+  (file-name (string-append name "-" version "-checkout"))
+  (sha256
+(base32
+   "1mmzlqvap6w8n4qzv3idvy51arkgn03692ssplwncy3akjrbsd2b"
+(build-system gnu-build-system)
+(arguments
+ `(#:tests? #f ; no unit tests that don't need an FPGA exist.
+   #:make-flags (list "CC=gcc" "CXX=g++"
+  (string-append "PREFIX=" (assoc-ref %outputs "out")))
+   #:phases
+(modify-phases %standard-phases
+  (add-after 'unpack 'remove-usr-local
+(lambda _
+  (substitute* "iceprog/Makefile"
+(("-L/usr/local/lib") ""
+  (delete 'configure
+(inputs
+  `(("libftdi" ,libftdi)))
+(native-inputs
+  `(("python-3" ,python)
+("pkg-config" ,pkg-config)))
+(home-page "http://www.clifford.at/icestorm/";)
+(synopsis "Project IceStorm - Lattice iCE40 FPGAs Bitstream Tools")
+(description "Project IceStorm - Lattice iCE40 FPGAs Bitstream Tools. 
+Includes the actual FTDI connector.")
+(license license:isc ; FIXME more licenses?


[PATCH v2 6/6] gnu: fpga: Add arachne-pnr.

2016-08-16 Thread Danny Milosavljevic

* gnu/packages/fpga.scm (arachne-pnr): Add variable.
---
 gnu/packages/fpga.scm | 43 +++
 1 file changed, 43 insertions(+)

diff --git a/gnu/packages/fpga.scm b/gnu/packages/fpga.scm
index 25c4570..ed5bc18 100644
--- a/gnu/packages/fpga.scm
+++ b/gnu/packages/fpga.scm
@@ -226,3 +226,46 @@ For synthesis, the compiler generates netlists in the desired format.")
 (description "Project IceStorm - Lattice iCE40 FPGAs Bitstream Tools. 
 Includes the actual FTDI connector.")
 (license license:isc ; FIXME more licenses?
+
+(define-public arachne-pnr
+  (let ((commit "52e69ed207342710080d85c7c639480e74a021d7"))
+   (package
+(name "arachne-pnr")
+(version (string-append "0.0-" (string-take commit 7)))
+(source (origin
+  (method git-fetch)
+  (uri (git-reference
+ (url "https://github.com/cseed/arachne-pnr.git";)
+ (commit commit)))
+  (file-name (string-append name "-" version "-checkout"))
+  (sha256
+(base32
+   "15bdw5yxj76lxrwksp6liwmr6l1x77isf4bs50ys9rsnmiwh8c3w"
+(build-system gnu-build-system)
+(arguments
+ `(#:test-target "test"
+   #:phases (modify-phases %standard-phases
+   (replace 'configure
+ (lambda* (#:key outputs inputs #:allow-other-keys)
+   (substitute* '("Makefile")
+ (("DESTDIR = .*") (string-append "DESTDIR = "
+  (assoc-ref outputs "out")
+  "\n"))
+ (("ICEBOX = .*") (string-append "ICEBOX = "
+  (assoc-ref inputs "icestorm")
+  "/share/icebox\n")))
+   (substitute* '("./tests/fsm/generate.py"
+  "./tests/combinatorial/generate.py")
+ (("#!/usr/bin/python") "#!/usr/bin/python2"))
+   #t)
+(inputs
+ `(("icestorm" ,icestorm)))
+(native-inputs
+ `(("git" ,git)  ; for determining its own version string
+   ("yosys" ,yosys) ; for tests
+   ("perl" ,perl) ; for shasum
+   ("python-2" ,python-2))) ; for tests
+(home-page "https://github.com/cseed/arachne-pnr";)
+(synopsis "Place-and-Route Tool For FPGAs")
+(description "Arachne-PNR is a Place-and-Route Tool For FPGAs.")
+(license license:gpl2 ; FIXME check license


[PATCH] gnu: libftdi: Propagate the libusb input.

2016-08-16 Thread Danny Milosavljevic
gnu: libftdi: Propagate the libusb input.

* gnu/packages/libftdi.scm (libftdi): Modified.
---
 gnu/packages/libftdi.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/libftdi.scm b/gnu/packages/libftdi.scm
index 5c2671a..0bce96e 100644
--- a/gnu/packages/libftdi.scm
+++ b/gnu/packages/libftdi.scm
@@ -37,7 +37,7 @@
(base32
 "088yh8pxd6q53ssqndydcw1dkq51cjqyahc03lm6iip22cdazcf0"
 (build-system cmake-build-system)
-(inputs
+(propagated-inputs
  `(("libusb" ,libusb)))
 (home-page "http://www.intra2net.com/en/developer/libftdi/";)
 (synopsis "FTDI USB driver with bitbang mode")


Re: Specifying Java version when using ant-build-system

2016-08-16 Thread Leo Famulari
On Tue, Aug 16, 2016 at 09:58:33AM +0200, Ricardo Wurmus wrote:
> 
> Leo Famulari  writes:
> 
> > On Mon, Aug 15, 2016 at 04:42:01PM +0200, Ricardo Wurmus wrote:
> >> > (define* (ant-build store name inputs
> >
> > [...]
> >
> >> > (guile #f)p
> >> >   ^^^ what does this mean?
> >> 
> >> Ouch!  This shouldn’t have been committed.  This is what happened pretty
> >> often with my terrible keyboard at work — my control key (among many
> >> other keys) wasn’t very reliable and would sometimes stop working while
> >> I moved around in the sources in Emacs (where Ctrl+p moves up one
> >> line).
> >
> > Can we correct the typo on the master branch? It seems that only a few
> > packages are using the ant-build-system for now, although I didn't check
> > if those packages have a lot of referrers.
> 
> Yes, it wouldn’t cause too many rebuilds.  Would you like to do it?

Done as 59c3e98474.



[PATCH] gnu: pypi importer: Remove python-setuptools and hint on how to re-add it.

2016-08-16 Thread Danny Milosavljevic
gnu: pypi importer: Remove python-setuptools and hint on how to re-add it.

* guix/import/pypi.scm (make-pypi-sexp): Modified.
---
 guix/import/pypi.scm | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/guix/import/pypi.scm b/guix/import/pypi.scm
index 343445a..d177d33 100644
--- a/guix/import/pypi.scm
+++ b/guix/import/pypi.scm
@@ -233,7 +233,7 @@ name/variable pairs describing the required inputs of this package."
   (sort
 (map (lambda (input)
(list input (list 'unquote (string->symbol input
- (append '("python-setuptools")
+ (append ;'("python-setuptools")
  ;; Argparse has been part of Python since 2.7.
  (remove (cut string=? "python-argparse" <>)
  (guess-requirements source-url wheel-url tarball
@@ -271,7 +271,8 @@ VERSION, SOURCE-URL, HOME-PAGE, SYNOPSIS, DESCRIPTION, and LICENSE."
  (home-page ,home-page)
  (synopsis ,synopsis)
  (description ,description)
- (license ,(license->symbol license)))
+ (license ,(license->symbol license))
+ (properties `((python2-variant . ,(delay python2-foobar)
 
 (define (pypi->guix-package package-name)
   "Fetch the metadata for PACKAGE-NAME from pypi.python.org, and return the


Re: Guile question ... Re: [PATCH 07/11] gnu: ncurses: support mingw.

2016-08-16 Thread Jan Nieuwenhuizen
Jan Nieuwenhuizen writes:

> Ricardo Wurmus writes:
>
>> The command “guix refresh -l package-name” gives you a very rough list
>> of packages (on the same architecture) that would be affected by an
>> update to “package-name”.  This isn’t always correct, but in the case of
>> ncurses it shows at least that a lot of packages are affected:
>>
>> guix refresh -l ncurses
>> …
>> Building the following 1018 packages would ensure 2616 dependent
>> packages are rebuilt: …
>
> Thanks!
>
> I found why my ncurses still triggers rebuilds: that was in my fixes
> that I added on top of Mark's patch, adding necessary MinGW configure
> flags
>
> `(#:configure-flags
>   `(
>...
>;; MinGW: Provide termcap api, created for the MinGW port.
>,,@(if (target-mingw?) '("--enable-term-driver") '())
>)
>
> While this `works' build-wise, it still modifies configure-flags when
> not target-mingw?.
>
> That is solved technically by doing it like so

Oops, make that:

`(#:configure-flags
  ,(cons*
'quasiquote
`(("--with-shared" "--without-debug" "--enable-widec"

   ;; By default headers land in an `ncursesw' subdir, which is not
   ;; what users expect.
   ,(list 'unquote '(string-append "--includedir=" (assoc-ref %outputs 
"out")
   "/include"))
   "--enable-overwrite"  ;really honor --includedir

   ;; Make sure programs like 'tic', 'reset', and 'clear' have a
   ;; correct RUNPATH.
   ,(list 'unquote '(string-append "LDFLAGS=-Wl,-rpath=" (assoc-ref 
%outputs "out")
   "/lib"))
   ;; MinGW: Use term-driver created for the MinGW port, libtool.
   ,@(if (target-mingw?) '("--enable-term-driver" "--with-libtool") 
'()


Greetings,
Jan

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



Re: [PATCH v2 3/6] gnu: fpga: Add iverilog.

2016-08-16 Thread Thompson, David
diff --git a/gnu/packages/fpga.scm b/gnu/packages/fpga.scm
index 7571f87..b0d4819 100644
--- a/gnu/packages/fpga.scm
+++ b/gnu/packages/fpga.scm
@@ -81,3 +81,30 @@ and formal verification.")
 ;; FIXME use license: MIT Modern variant as described in:
 ;;   
 (license license:expat
+
+(define-public iverilog
+  (package
+(name "iverilog")
+(version "10.1.1")
+(source (origin
+  (method url-fetch)
+  (uri
+   (string-append
"ftp://ftp.icarus.com/pub/eda/verilog/v10/verilog-"; version
".tar.gz"))
+  (sha256
+(base32
+   "1nnassxvq30rnn0r2p85rkb2zwxk97p109y13x3vr365wzgpbapx"
+(build-system gnu-build-system)
+(native-inputs
+ `(("flex" ,flex)
+   ("bison" ,bison)
+   ("ghostscript" ,ghostscript) #| ps2pdf |#))

A minor nit, but we don't really use that form of comments, so I would
change it to this:

   ("ghostscript" ,ghostscript))) ; ps2pdf

+(home-page "http://iverilog.icarus.com/";)
+(synopsis "FPGA Verilog Simulation and Synthesis Tool")
+(description "Icarus Verilog is a Verilog simulation and synthesis tool.
+It operates as a compiler, compiling source code written in Verilog
+(IEEE-1364) into some target format.
+For batch simulation, the compiler can generate an intermediate form called
+vvp assembly.
+This intermediate form is executed by the ``vvp'' command.
+For synthesis, the compiler generates netlists in the desired format.")
+(license license:gpl2)))

Is it really GPL2 only?

LGTM otherwise, thanks!

- Dave



Re: [PATCH v2 1/6] gnu: Add fpga module.

2016-08-16 Thread Thompson, David
On Tue, Aug 16, 2016 at 2:06 PM, Danny Milosavljevic
 wrote:
>
> * gnu/packages/fpga.scm: New file.
> ---
>  gnu/local.mk  |  1 +
>  gnu/packages/fpga.scm | 40 
>  2 files changed, 41 insertions(+)
>  create mode 100644 gnu/packages/fpga.scm
>

You should merge this commit with the first patch that adds a variable
to this module.

- Dave



[PATCH 0/5] gnu: Add Arduino tools

2016-08-16 Thread Danny Milosavljevic
gnu: Add Arduino tools.

Danny Milosavljevic (5):
  gnu: Add "arduino" module.
  gnu: arduino: Add "arduino-installer" helper.
  gnu: arduino: Add arduino-hardware
  gnu: arduino: Add arduino-libraries.
  gnu: Add arduino-makefile.

 gnu/packages/arduino.scm | 191 +++
 1 file changed, 191 insertions(+)
 create mode 100644 gnu/packages/arduino.scm



[PATCH 1/5] gnu: Add "arduino" module.

2016-08-16 Thread Danny Milosavljevic

* gnu/packages/arduino.scm: New file.
---
 gnu/packages/arduino.scm | 31 +++
 1 file changed, 31 insertions(+)
 create mode 100644 gnu/packages/arduino.scm

diff --git a/gnu/packages/arduino.scm b/gnu/packages/arduino.scm
new file mode 100644
index 000..fc9712c
--- /dev/null
+++ b/gnu/packages/arduino.scm
@@ -0,0 +1,31 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2016 Danny Milosavljevic 
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see .
+
+(define-module (gnu packages arduino)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix utils)
+  #:use-module (guix download)
+  #:use-module (guix packages)
+  #:use-module (guix build-system gnu)
+  #:use-module (guix build-system python)
+  #:use-module (guix build-system ant)
+  #:use-module (gnu packages)
+  #:use-module (gnu packages avr)
+  #:use-module (gnu packages flashing-tools)
+  #:use-module (gnu packages java)
+  #:use-module (gnu packages python))


[PATCH 3/5] gnu: arduino: Add arduino-hardware

2016-08-16 Thread Danny Milosavljevic

* gnu/packages/arduino.scm (arduino-hardware): New variable.
---
 gnu/packages/arduino.scm | 53 
 1 file changed, 53 insertions(+)

diff --git a/gnu/packages/arduino.scm b/gnu/packages/arduino.scm
index b8d9aba..ae69c04 100644
--- a/gnu/packages/arduino.scm
+++ b/gnu/packages/arduino.scm
@@ -38,3 +38,56 @@
  (mkdir-p out-share)
  (copy-recursively ,filename out-share-part
 
+(define-public arduino-hardware
+  (package
+(name "arduino-hardware")
+(version "1.6.10")
+(source (origin
+  (method url-fetch)
+  (uri (string-append "https://github.com/arduino/Arduino/archive/"; version ".tar.gz"))
+  (sha256
+   (base32
+"15gbg64i2ac6d0mlnbla567sn26494cvqwf5q53xzf4b5v2rb0jc"))
+  (file-name (string-append name "-" version ".tar.gz"))
+  (modules '((guix build utils)))
+  (snippet
+ '(begin
+;; Delete bundled jar archives.
+(for-each delete-file (find-files "." "\\.jar$"))
+#t))
+  (patches (search-patches "arduino-hardware-patch-out-__cxa_guard_acquire.patch"
+(build-system gnu-build-system)
+(arguments
+ `(#:tests? #f ; no tests exist
+   #:phases
+(modify-phases %standard-phases
+  (delete 'configure)
+  (delete 'build)
+  (add-after 'unpack 'prepare-dependencies
+(lambda* (#:key inputs outputs #:allow-other-keys)
+  ;; this is intended to just prepare arduino inputs where its build system expects them
+  (for-each (lambda (input)
+  (let* ((key (car input))
+ (out-dir (assoc-ref outputs "out"))
+ (destination-dir (string-append out-dir "/share/arduino")))
+(if (string-prefix? "arduino-" key)
+  (let* ((basename
+   (string-drop key (string-length "arduino-")))
+ (target-outdir (assoc-ref inputs key))
+ (target-dir (string-append target-outdir "/share/arduino"))
+ (target (string-append target-dir "/" basename))
+ (destination (string-append destination-dir "/" basename)))
+(mkdir-p destination-dir)
+(symlink target destination)
+  #t
+inputs)
+  #t))
+  (add-before 'build 'chdir
+(lambda _
+  (chdir "hardware")))
+  (replace 'install ,(arduino-installer "hardware")
+(home-page "https://www.arduino.cc/";)
+(synopsis "Arduino Hardware Spec Files")
+(description "arduino-hardware contains Arduino Hardware Spec Files (boards.txt etc).")
+;; GPL covers the main body ("app", "core"). LGPL covers the remainder.
+(license license:lgpl2.1+))) ; FIXME check


[PATCH 5/5] gnu: Add arduino-makefile.

2016-08-16 Thread Danny Milosavljevic

* gnu/packages/arduino.scm (arduino-makefile): New variable.
---
 gnu/packages/arduino.scm | 83 
 1 file changed, 83 insertions(+)

diff --git a/gnu/packages/arduino.scm b/gnu/packages/arduino.scm
index 675df80..34f0251 100644
--- a/gnu/packages/arduino.scm
+++ b/gnu/packages/arduino.scm
@@ -106,3 +106,86 @@
   (chdir "libraries")))
   (replace 'install ,(arduino-installer "libraries"))
 (license license:lgpl2.1))) ; FIXME check apache license etc
+
+(define-public arduino-makefile ; really something like arduino-toolchain...
+  (package
+(name "arduino-makefile")
+(version "1.5.1")
+(source (origin
+  (method url-fetch)
+  (uri (string-append "https://github.com/sudar/Arduino-Makefile/";
+  "archive/" version ".tar.gz"))
+  (sha256
+   (base32
+"1gqmcg2jg62b915akbkivnqf8sx76gv719vx7azm47szd0w1i94i"))
+  (file-name (string-append name "-" version ".tar.gz"
+(build-system python-build-system)
+(arguments
+ `(#:tests? #f ; no tests exist
+   #:phases
+(modify-phases %standard-phases
+  (delete 'configure)
+  (add-after 'unpack 'patch-paths
+(lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((avr-gcc (assoc-ref inputs "avr-toolchain-5")))
+  (substitute* "bin/ard-reset-arduino"
+(("#!/usr/bin/env python") "#!/usr/bin/python3"))
+  (substitute* "Arduino.mk"
+(("#=> ARDUINO_DIR.*")
+   (string-append "ARDUINO_DIR = "
+  (assoc-ref %build-inputs "arduino-libraries")
+  "/share/arduino\n"))
+; ; defaults to "hardware/tools/avr"
+(("#=> AVR_TOOLS_DIR.*")
+   (string-append "AVR_TOOLS_DIR = "
+  (assoc-ref %build-inputs "avrdude")
+  "\n"))
+(("#=> ARDMK_DIR.*")
+   (string-append "ARDMK_DIR = "
+  (assoc-ref %outputs "out")
+  "/share/arduino\n"))
+(("CC_NAME[ ]*=.*")
+   (string-append "CC_NAME = " avr-gcc "/bin/avr-gcc\n"))
+(("CXX_NAME[ ]*=.*")
+   (string-append "CXX_NAME = " avr-gcc "/bin/avr-g++\n"))
+(("OBJCOPY_NAME[ ]*=.*")
+   (string-append "OBJCOPY_NAME = " avr-gcc "/bin/avr-objcopy\n"))
+(("OBJDUMP_NAME[ ]*=.*")
+   (string-append "OBJDUMP_NAME = " avr-gcc "/bin/avr-objdump\n"))
+(("AR_NAME[ ]*=.*")
+   (string-append "AR_NAME = " avr-gcc "/bin/avr-ar\n"))
+(("SIZE_NAME[ ]*=.*")
+   (string-append "SIZE_NAME = " avr-gcc "/bin/avr-size\n"))
+(("NM_NAME[ ]*=.*")
+   (string-append "NM_NAME = " avr-gcc "/bin/avr-nm\n"))
+  (delete 'build)
+  (replace 'install
+(lambda* (#:key outputs #:allow-other-keys)
+  (let* ((out (assoc-ref outputs "out"))
+ (out-mk (string-append out "/share/arduino"))
+ (out-doc (string-append out "/share/doc"))
+ (out-bin (string-append out "/bin"))
+ (out-man (string-append out "/share/man/man1")))
+(mkdir-p out-mk)
+(for-each (lambda (name)
+(copy-file name (string-append out-mk "/" name)))
+  '("Arduino.mk" "arduino-mk-vars.md" "chipKIT.mk" "Common.mk"))
+(mkdir-p out-doc)
+(copy-recursively "examples" out-doc)
+(mkdir-p out-bin)
+(copy-file "bin/ard-reset-arduino"
+   (string-append out-bin "/ard-reset-arduino"))
+(mkdir-p out-man)
+(copy-file "ard-reset-arduino.1"
+   (string-append out-man "/ard-reset-arduino.1"
+(inputs
+ `(("python" ,python)
+   ("python-pyserial" ,python-pyserial)
+   ("arduino-libraries" ,arduino-libraries)
+   ("avrdude" ,avrdude)
+   ("avr-toolchain-5" ,avr-toolchain-5)))
+(synopsis "Arduino Makefile Include Files")
+(description "Allows you to build Arduino sketches using a very tiny Makefile")
+(home-page "https://github.com/sudar/Arduino-Makefile";)
+;(supported-systems '("avr"))
+(license license:lgpl2.1)))


Re: [PATCH] gnu: Add python-reportlab.

2016-08-16 Thread Leo Famulari
On Tue, Aug 16, 2016 at 03:10:12PM +0100, Marius Bakke wrote:
> Marius Bakke  writes:
> 
> > Leo Famulari  writes:
> >
> >> On Mon, Aug 15, 2016 at 03:01:00PM +0100, Marius Bakke wrote:
> >>> 
> >>> > From c95b25a3ad4902ccdef79c7429485a7cacc72e1c Mon Sep 17 00:00:00 2001
> >>> > From: Marius Bakke 
> >>> > Date: Sun, 14 Aug 2016 16:47:33 +0100
> >>> > Subject: [PATCH] gnu: Add python-reportlab.
> >>> >
> >>> > * gnu/packages/python.scm (python-reportlab, python2-reportlab): New
> >>> >   variables.
> >>> > ---
> >>> >  gnu/packages/python.scm | 32 
> >>> >  1 file changed, 32 insertions(+)
> >>> 
> >>> Oops, forgot copyright line. New patch below. Perhaps pdf.scm is better?
> >>
> >> Looks good. I think pdf.scm is better. Can you send another patch?
> >
> > New patch attached.
> 
> Argh. Forgot to include python.scm. Here is an updated patch.

I already did this before I saw this latest email :)



Re: [PATCH] gnu: Add python-reportlab.

2016-08-16 Thread Leo Famulari
On Tue, Aug 16, 2016 at 11:57:25AM +0100, Marius Bakke wrote:
> New patch attached.

Thanks, applied as 3fa2dc274, after prefixing the license and importing
(gnu packages python).

By the way, I saw this at the end of the install phase:

---
running install_scripts

## SUMMARY INFO #

#Attempting install of _rl_accel & pyHnj
#extensions from 
'/tmp/guix-build-python-reportlab-3.3.0.drv-0/reportlab-3.3.0/src/rl_addons/rl_accel'


#Attempting install of _renderPM
#extensions from 
'/tmp/guix-build-python-reportlab-3.3.0.drv-0/reportlab-3.3.0/src/rl_addons/renderPM'
will use package libart 2.3.12
# installing without freetype no ttf, sorry!
# You need to install a static library version of the freetype2 software
# If you need truetype support in renderPM
# You may need to edit setup.cfg (win32)
# or edit this file to access the library if it is installed

Downloading standard T1 font curves
Failed to download standard T1 font curves
phase `install' succeeded after 1.2 seconds
---

> >> + ;; Prevent creation of the egg. Without this flag, various artifacts
> >> + ;; from the build inputs end up in the final python3 output. It also
> >> + ;; works around https://debbugs.gnu.org/cgi/bugreport.cgi?bug=20765 .
> >> + `(#:configure-flags '("--single-version-externally-managed" 
> >> "--root=/")))
> >
> > Feel free to add something to that discussion. We are starting a new
> > "core-updates" cycle, so it's a good time to begin implementing changes
> > to core components such as build systems.
> 
> There are quite a few packages suffering from this, at least
> python-{pillow,dendropy}. What's strange is that site.py and all
> propagated /bin files end up in the python3 output, causing a mountain
> of collisions. I'll have a shot at figuring out what's going on.

It would be awesome to make some progress on this.



[PATCH 2/5] gnu: arduino: Add "arduino-installer" helper.

2016-08-16 Thread Danny Milosavljevic

* gnu/packages/arduino.scm (arduino-installer): New procedure.
---
 gnu/packages/arduino.scm | 9 +
 1 file changed, 9 insertions(+)

diff --git a/gnu/packages/arduino.scm b/gnu/packages/arduino.scm
index fc9712c..b8d9aba 100644
--- a/gnu/packages/arduino.scm
+++ b/gnu/packages/arduino.scm
@@ -29,3 +29,12 @@
   #:use-module (gnu packages flashing-tools)
   #:use-module (gnu packages java)
   #:use-module (gnu packages python))
+
+(define (arduino-installer filename)
+  `(lambda* (#:key outputs #:allow-other-keys)
+(let* ((out (assoc-ref outputs "out"))
+   (out-share (string-append out "/share/arduino"))
+   (out-share-part (string-append out-share "/" ,filename)))
+ (mkdir-p out-share)
+ (copy-recursively ,filename out-share-part
+


[PATCH 06/24] gnu: xml: Add jsoncpp.

2016-08-16 Thread David Craven
* gnu/packages/xml.scm (jsoncpp): New variable.
---
 gnu/packages/xml.scm | 19 +++
 1 file changed, 19 insertions(+)

diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm
index 660a0b9..72403c2 100644
--- a/gnu/packages/xml.scm
+++ b/gnu/packages/xml.scm
@@ -832,3 +832,22 @@ files.  It is designed to be fast and to handle large 
input files.")
 (synopsis "YAML parser and emitter in C++ matching the YAML 1.2 spec")
 (description "YAML parser and emitter in C++ matching the YAML 1.2 spec.")
 (license license:bsd-3)))
+
+(define-public jsoncpp
+  (package
+(name "jsoncpp")
+(version "1.7.4")
+(source (origin
+  (method url-fetch)
+  (uri (string-append
+"https://github.com/open-source-parsers/jsoncpp/archive/";
+version ".tar.gz"))
+  (file-name (string-append name "-" version ".tar.gz"))
+  (sha256
+   (base32
+"0sgp6nc4c6pfn92f369v08zdwpqswn9j2ihy59bpwwl0grkx1p0h"
+(build-system cmake-build-system)
+(home-page "https://github.com/open-source-parsers/jsoncpp";)
+(synopsis "C++ library for interacting with JSON")
+(description "C++ library for interacting with JSON.")
+(license license:expat)))
-- 
2.9.0



[PATCH 02/24] gnu: qt: Add qtquickcontrols2.

2016-08-16 Thread David Craven
* gnu/packages/qt.scm (qtquickcontrols2): New variable.
---
 gnu/packages/qt.scm | 17 +
 1 file changed, 17 insertions(+)

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index ca777dd..65b6d82 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -819,6 +819,23 @@ developers using C++ or QML, a CSS & JavaScript like 
language.")
  `(("qtbase" ,qtbase)
("qtdeclarative" ,qtdeclarative)
 
+(define-public qtquickcontrols2
+  (package (inherit qtsvg)
+(name "qtquickcontrols2")
+(version "5.6.1-1")
+(source (origin
+ (method url-fetch)
+ (uri (string-append "https://download.qt.io/official_releases/qt/";
+ (version-major+minor version) "/" version
+ "/submodules/" name "-opensource-src-"
+ version ".tar.xz"))
+ (sha256
+  (base32
+   "0wfa2xcqsvx3zihd5nb9f9qhq0xn14c03sw1qdymzfsryqwmk4ac"
+(inputs
+ `(("qtbase" ,qtbase)
+   ("qtdeclarative" ,qtdeclarative)
+
 (define-public python-sip
   (package
 (name "python-sip")
-- 
2.9.0



[PATCH 04/24] gnu: databases: Add lmdb.

2016-08-16 Thread David Craven
* gnu/packages/databases.scm (lmdb): New variable.
---
 gnu/packages/databases.scm | 29 +
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index d3a44f7..0a6b267 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -57,6 +57,7 @@
   #:use-module ((guix licenses)
 #:select (gpl2 gpl3 gpl3+ lgpl2.1+ lgpl3+ x11-style 
non-copyleft
   bsd-2 bsd-3 public-domain))
+  #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix build-system gnu)
@@ -1064,3 +1065,31 @@ trees (LSM), for sustained throughput under random 
insert workloads.")
   (description
 "The DB::File module provides Perl bindings to the Berkeley DB version 
1.x.")
   (license (package-license perl
+
+(define-public lmdb
+  (package
+(name "lmdb")
+(version "0.9.18")
+(source (origin
+  (method url-fetch)
+  (uri (string-append "https://github.com/LMDB/lmdb/archive/";
+  "LMDB_" version ".tar.gz"))
+  (sha256
+   (base32
+"12crvzxky8in99ibh22k4ppmkgqs28yy3v7yy944za7fsrqv8dfx"
+(build-system gnu-build-system)
+(arguments
+ `(#:test-target "test"
+   #:phases
+   (modify-phases %standard-phases
+ (replace 'configure
+   (lambda* (#:key outputs #:allow-other-keys)
+ (chdir (string-append
+   (getenv "PWD") "/lmdb-LMDB_" ,version "/libraries/liblmdb"))
+   (substitute* "Makefile"
+ (("/usr/local") (assoc-ref outputs "out")))
+#t)
+(home-page "https://symas.com/products/lightning-memory-mapped-database";)
+(synopsis "Lightning memory-mapped database library")
+(description "Lightning memory-mapped database library.")
+(license license:openldap2.8)))
-- 
2.9.0



[PATCH 01/24] gnu: qt: Add qtquickcontrols.

2016-08-16 Thread David Craven
* gnu/packages/qt.scm (qtquickcontrols): New variable.
---
 gnu/packages/qt.scm | 17 +
 1 file changed, 17 insertions(+)

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index a12c526..ca777dd 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -802,6 +802,23 @@ developers using C++ or QML, a CSS & JavaScript like 
language.")
 (inputs
  `(("qtbase" ,qtbase)
 
+(define-public qtquickcontrols
+  (package (inherit qtsvg)
+(name "qtquickcontrols")
+(version "5.6.1-1")
+(source (origin
+ (method url-fetch)
+ (uri (string-append "https://download.qt.io/official_releases/qt/";
+ (version-major+minor version) "/" version
+ "/submodules/" name "-opensource-src-"
+ version ".tar.xz"))
+ (sha256
+  (base32
+   "0cjzf844r7wi32ssc9vbw1a2m9hnr8c0i1p7yyljy962ifplf401"
+(inputs
+ `(("qtbase" ,qtbase)
+   ("qtdeclarative" ,qtdeclarative)
+
 (define-public python-sip
   (package
 (name "python-sip")
-- 
2.9.0



[PATCH 03/24] gnu: qt: Add qtgraphicaleffects.

2016-08-16 Thread David Craven
* gnu/packages/qt.scm (qtgraphicaleffects): New variable.
---
 gnu/packages/qt.scm | 17 +
 1 file changed, 17 insertions(+)

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 65b6d82..19488ac 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -836,6 +836,23 @@ developers using C++ or QML, a CSS & JavaScript like 
language.")
  `(("qtbase" ,qtbase)
("qtdeclarative" ,qtdeclarative)
 
+(define-public qtgraphicaleffects
+  (package (inherit qtsvg)
+(name "qtgraphicaleffects")
+(version "5.6.1-1")
+(source (origin
+ (method url-fetch)
+ (uri (string-append "https://download.qt.io/official_releases/qt/";
+ (version-major+minor version) "/" version
+ "/submodules/" name "-opensource-src-"
+ version ".tar.xz"))
+ (sha256
+  (base32
+   "0560800fa9sd6dw1vk0ia9vq8ywdrwch2cpsi1vmh4iyxgwfr71b"
+(inputs
+ `(("qtbase" ,qtbase)
+   ("qtdeclarative" ,qtdeclarative)
+
 (define-public python-sip
   (package
 (name "python-sip")
-- 
2.9.0



[PATCH 07/24] gnu: compression: Add snappy.

2016-08-16 Thread David Craven
* gnu/packages/compression.scm (snappy): New variable.
---
 gnu/packages/compression.scm | 36 
 1 file changed, 36 insertions(+)

diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm
index e63c1af..cd1866b 100644
--- a/gnu/packages/compression.scm
+++ b/gnu/packages/compression.scm
@@ -11,6 +11,7 @@
 ;;; Copyright © 2016 Ben Woodcroft 
 ;;; Copyright © 2016 Danny Milosavljevic 
 ;;; Copyright © 2016 Tobias Geerinckx-Rice 
+;;; Copyright © 2016 David Craven 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -871,3 +872,38 @@ even LZMA can provide, or a higher speed than gzip while 
compressing as
 well as bzip2.")
 (license (list license:gpl3+
license:public-domain ; most files in lzma/
+
+(define-public snappy
+  (package
+(name "snappy")
+(version "1.1.3")
+(source (origin
+  (method url-fetch)
+  (uri (string-append
+"https://github.com/google/snappy/archive/";
+version ".tar.gz"))
+  (file-name (string-append name "-" version ".tar.gz"))
+  (sha256
+   (base32
+"04lc9n1fr4kak8yd68v61w561zcbykfyj9f745smva8hcn0hyk7r"
+(build-system gnu-build-system)
+(native-inputs
+ `(("autoconf" ,autoconf)
+   ("automake" ,automake)
+   ("libtool" ,libtool)
+   ("pkg-config" ,pkg-config)))
+(arguments
+ `(#:phases
+   (modify-phases %standard-phases
+ (add-after 'unpack 'autoconf
+   (lambda _
+ (zero? (system* "autoreconf" "-vfi")))
+(home-page "https://github.com/open-source-parsers/jsoncpp";)
+(synopsis "Fast compressor/decompressor")
+(description "Snappy is a compression/decompression library. It does not
+aim for maximum compression, or compatibility with any other compression 
library;
+instead, it aims for very high speeds and reasonable compression. For instance,
+compared to the fastest mode of zlib, Snappy is an order of magnitude faster
+for most inputs, but the resulting compressed files are anywhere from 20% to
+100% bigger.")
+(license license:asl2.0)))
-- 
2.9.0



[PATCH 11/24] gnu: modemmanager-qt: Propagate modem-manager.

2016-08-16 Thread David Craven
* gnu/packages/kde-frameworks.scm (modemmanager-qt)
  [propagated-inputs]: Add MODEM-MANAGER.
  [inputs]: Remove MODEM-MANAGER.
---
 gnu/packages/kde-frameworks.scm | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
index 61ed4aa..e08b8cf 100644
--- a/gnu/packages/kde-frameworks.scm
+++ b/gnu/packages/kde-frameworks.scm
@@ -898,9 +898,10 @@ lower level classes for interaction with the X Windowing 
System.")
  `(("extra-cmake-modules" ,extra-cmake-modules)
("dbus" ,dbus)
("pkg-config" ,pkg-config)))
+(propagated-inputs
+ `(("modem-manager", modem-manager)))
 (inputs
- `(("modem-manager", modem-manager)
-   ("qtbase" ,qtbase)))
+ `(("qtbase" ,qtbase)))
 (arguments
  `(#:phases
 (modify-phases %standard-phases
-- 
2.9.0



[PATCH 12/24] gnu: gnome: Add mobile-broadband-provider-info.

2016-08-16 Thread David Craven
* gnu/packages/gnome.scm (mobile-broadband-provider-info): New variable.
---
 gnu/packages/gnome.scm | 22 ++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 4a0be01..7bc0445 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -21,6 +21,7 @@
 ;;; Copyright © 2016 Leo Famulari 
 ;;; Copyright © 2016 Alex Griffin 
 ;;; Copyright © 2016 ng0 
+;;; Copyright © 2016 David Craven 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -4460,6 +4461,27 @@ devices, and provides VPN integration with a variety of 
different VPN
 services.")
 (license license:gpl2+)))
 
+(define-public mobile-broadband-provider-info
+  (package
+(name "mobile-broadband-provider-info")
+(version "20151214")
+(source (origin
+  (method url-fetch)
+  (uri (string-append
+"mirror://gnome/sources/"
+"mobile-broadband-provider-info/" version "/"
+"mobile-broadband-provider-info-" version ".tar.xz"))
+  (sha256
+   (base32
+"1905nab1h8p4hx0m1w0rn4mkg9209x680dcr4l77bngy21pmvr4a"
+(build-system gnu-build-system)
+(arguments
+ `(#:tests? #f)) ; No tests
+(home-page "https://wiki.gnome.org/Projects/NetworkManager";)
+(synopsis "Datbase of broadband connection configuration")
+(description "Datbase of broadband connection configuration.")
+(license license:public-domain)))
+
 (define-public network-manager-applet
   (package
 (name "network-manager-applet")
-- 
2.9.0



[PATCH 05/24] gnu: xml: Add yaml-cpp.

2016-08-16 Thread David Craven
* gnu/packages/xml.scm (yaml-cpp): New variable.
---
 gnu/packages/xml.scm | 24 
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm
index cfdc6c0..660a0b9 100644
--- a/gnu/packages/xml.scm
+++ b/gnu/packages/xml.scm
@@ -12,6 +12,7 @@
 ;;; Copyright © 2016 Leo Famulari 
 ;;; Copyright © 2016 Ben Woodcroft 
 ;;; Copyright © 2016 Jan Nieuwenhuizen 
+;;; Copyright © 2016 David Craven 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -31,6 +32,7 @@
 (define-module (gnu packages xml)
   #:use-module (gnu packages)
   #:use-module (gnu packages autotools)
+  #:use-module (gnu packages boost)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages gnupg)
   #:use-module (gnu packages perl)
@@ -808,3 +810,25 @@ XSLT and EXSLT.")
 XLSM) format spreadsheets into plaintext @dfn{comma separated values} (CSV)
 files.  It is designed to be fast and to handle large input files.")
 (license license:gpl2+)))
+
+(define-public yaml-cpp
+  (package
+(name "yaml-cpp")
+(version "0.5.3")
+(source (origin
+  (method url-fetch)
+  (uri (string-append
+"https://github.com/jbeder/yaml-cpp/archive/";
+"yaml-cpp-" version ".tar.gz"))
+  (sha256
+   (base32
+"1vk6pjh0f5k6jwk2sszb9z5169whmiha9ainbdpa1arxlkq7v3b6"
+(build-system cmake-build-system)
+(inputs
+ `(("boost" ,boost)))
+(native-inputs
+ `(("python" ,python)))
+(home-page "https://github.com/jbeder/yaml-cpp";)
+(synopsis "YAML parser and emitter in C++ matching the YAML 1.2 spec")
+(description "YAML parser and emitter in C++ matching the YAML 1.2 spec.")
+(license license:bsd-3)))
-- 
2.9.0



[PATCH 10/24] gnu: networkmanager-qt: Propagate network-manager.

2016-08-16 Thread David Craven
* gnu/packages/kde-frameworks.scm (networkmanager-qt)
  [propagated-inputs]: Add NETWORK-MANAGER.
  [inputs]: Remove NETWORK-MANAGER.
---
 gnu/packages/kde-frameworks.scm | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
index dbec5a3..61ed4aa 100644
--- a/gnu/packages/kde-frameworks.scm
+++ b/gnu/packages/kde-frameworks.scm
@@ -934,9 +934,10 @@ messages.")
   `(("extra-cmake-modules" ,extra-cmake-modules)
 ("dbus" ,dbus)
 ("pkg-config" ,pkg-config)))
+ (propagated-inputs
+  `(("network-manager", network-manager)))
  (inputs
-  `(("network-manager", network-manager)
-("qtbase" ,qtbase)))
+  `(("qtbase" ,qtbase)))
  (arguments
   `(#:phases
  (modify-phases %standard-phases
-- 
2.9.0



[PATCH 09/24] gnu: freedesktop: Add wayland-protocols.

2016-08-16 Thread David Craven
* gnu/packages/freedesktop.scm (wayland-protocols): New variable.
---
 gnu/packages/freedesktop.scm | 22 ++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index 0262d0a..a24d8fa 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -295,6 +295,28 @@ application, or a wayland client itself.  The clients can 
be traditional
 applications, X servers (rootless or fullscreen) or other display servers.")
 (license license:x11)))
 
+(define-public wayland-protocols
+  (package
+(name "wayland-protocols")
+(version "1.4")
+(source (origin
+  (method url-fetch)
+  (uri (string-append
+"https://wayland.freedesktop.org/releases/";
+"wayland-protocols-" version ".tar.xz"))
+  (sha256
+   (base32
+"0wpm7mz7ww6nn3vrgz7a9iyk7mk6za73wnq0n54lzl8yq8irljh1"
+(build-system gnu-build-system)
+(inputs
+ `(("wayland" ,wayland)))
+(native-inputs
+ `(("pkg-config" ,pkg-config)))
+(synopsis "Wayland protocols")
+(description "Contains Xml definitions of the wayland protocols.")
+(home-page "https://wayland.freedesktop.org";)
+(license license:expat)))
+
 (define-public exempi
   (package
 (name "exempi")
-- 
2.9.0



[PATCH 20/24] gnu: bitcoin-core: Use modular qt.

2016-08-16 Thread David Craven
* gnu/packages/finance.scm (bitcoin-core)[inputs]: Add QTBASE. Remove QT.
---
 gnu/packages/finance.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm
index 179e325..21a2276 100644
--- a/gnu/packages/finance.scm
+++ b/gnu/packages/finance.scm
@@ -67,7 +67,7 @@
("miniupnpc" ,miniupnpc)
("openssl" ,openssl)
("protobuf" ,protobuf)
-   ("qt" ,qt)))
+   ("qtbase" ,qtbase)))
 (arguments
  `(#:configure-flags
 (list
-- 
2.9.0



[PATCH 15/24] gnu: gstreamer: Symlink gstconfig.h into include directory.

2016-08-16 Thread David Craven
* gnu/packages/gstreamer.scm (gstreamer)[arguments]: Add symlink-gstconfig.h
  phase.
---
 gnu/packages/gstreamer.scm | 11 ++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index bd99880..54919cd 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -113,7 +113,16 @@ arrays of data.")
  `(#:configure-flags
(list (string-append "--with-html-dir="
 (assoc-ref %outputs "doc")
-"/share/gtk-doc/html"
+"/share/gtk-doc/html"))
+   #:phases
+(modify-phases %standard-phases
+  (add-after 'install 'symlink-gstconfig.h
+(lambda* (#:key outputs #:allow-other-keys)
+  (symlink
+(string-append (assoc-ref outputs "out")
+ "/lib/gstreamer-1.0/include/gst/gstconfig.h")
+(string-append (assoc-ref outputs "out")
+ "/include/gstreamer-1.0/gst/gstconfig.h")))
 (propagated-inputs `(("glib" ,glib))) ; required by gstreamer-1.0.pc.
 (native-inputs
  `(("bison" ,bison)
-- 
2.9.0



[PATCH 08/24] gnu: xorg: Add lndir.

2016-08-16 Thread David Craven
* gnu/packages/xorg.scm (lndir): New variable.
---
 gnu/packages/xorg.scm | 25 +
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm
index b24e437..1e7da68 100644
--- a/gnu/packages/xorg.scm
+++ b/gnu/packages/xorg.scm
@@ -133,6 +133,31 @@ projects.  Software developers are encouraged to migrate 
software to the GNU
 autotools system.")
 (license license:x11)))
 
+(define-public lndir
+  (package
+(name "lndir")
+(version "1.0.3")
+(source
+  (origin
+(method url-fetch)
+(uri (string-append
+"mirror://xorg/individual/util/lndir-"
+version
+".tar.bz2"))
+(sha256
+ (base32
+  "0pdngiy8zdhsiqx2am75yfcl36l7kd7d7nl0rss8shcdvsqgmx29"
+(build-system gnu-build-system)
+(native-inputs
+ `(("pkg-config" ,pkg-config)))
+(inputs
+ `(("xproto" ,xproto)))
+(home-page "http://www.x.org";)
+(synopsis "Symlink directory into tree")
+(description "Create a shadow directory of symbolic links to another
+directory tree.")
+(license license:x11)))
+
 (define-public bdftopcf
   (package
 (name "bdftopcf")
-- 
2.9.0



[PATCH 13/24] gnu: polkit-qt: Use modular qt.

2016-08-16 Thread David Craven
* gnu/packages/polkit.scm (polkit-qt)[propagated-inputs]: Use QTBASE instead
  of QT.
---
 gnu/packages/polkit.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/polkit.scm b/gnu/packages/polkit.scm
index 08b753a..e224ca2 100644
--- a/gnu/packages/polkit.scm
+++ b/gnu/packages/polkit.scm
@@ -142,7 +142,7 @@ for unprivileged applications.")
 (inputs
  `(("polkit" ,polkit)))
 (propagated-inputs
- `(("qt" ,qt))) ; qt-4 according to the pkg-config files
+ `(("qtbase" ,qtbase)))
 (native-inputs
  `(("pkg-config" ,pkg-config)))
 (arguments
-- 
2.9.0



[PATCH 16/24] gnu: gstreamer: Add qt-gstreamer.

2016-08-16 Thread David Craven
* gnu/packages/gstreamer.scm (qt-gstreamer): New variable.
---
 gnu/packages/gstreamer.scm | 42 ++
 1 file changed, 42 insertions(+)

diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index 54919cd..ee3c9e4 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -24,11 +24,13 @@
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix download)
+  #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
   #:use-module (guix utils)
   #:use-module (gnu packages)
   #:use-module (gnu packages audio)
   #:use-module (gnu packages bison)
+  #:use-module (gnu packages boost)
   #:use-module (gnu packages cdrom)
   #:use-module (gnu packages curl)
   #:use-module (gnu packages compression)
@@ -467,3 +469,43 @@ be used by Python applications using GStreamer.")
 (propagated-inputs
  `(("gst-plugins-base" ,gst-plugins-base)
("python-pygobject" ,python2-pygobject)
+
+(define-public qt-gstreamer
+  (package
+(name "qt-gstreamer")
+(version "1.2.0")
+(source (origin
+  (method url-fetch)
+  (uri (string-append
+"https://gstreamer.freedesktop.org/src/qt-gstreamer/";
+"qt-gstreamer-" version ".tar.xz"))
+  (sha256
+   (base32
+"1m4g5vcs8r4b8dzndr9a5w0rrawdyinvjkacis8vxnfafhmljfwz"
+(build-system cmake-build-system)
+(native-inputs
+ `(("glib:bin" ,glib "bin")
+   ("pkg-config" ,pkg-config)))
+(propagated-inputs
+ `(("boost" ,boost)))
+(inputs
+ `(("glib" ,glib)
+   ("gstreamer" ,gstreamer)
+   ("gst-libav" ,gst-libav)
+   ("gst-plugins-base" ,gst-plugins-base)
+   ("qtbase" ,qtbase)
+   ("qtdeclarative" ,qtdeclarative)))
+(arguments
+ `(#:configure-flags
+'("-DQT_VERSION=5"
+  "-DUSE_GST_PLUGIN_DIR=OFF"
+  "-DUSE_QT_PLUGIN_DIR=OFF")
+   #:validate-runpath? #f))
+(home-page "https://gstreamer.freedesktop.org/modules/qt-gstreamer.html";)
+(synopsis "C++ bindings for GStreamer with a Qt-style API")
+(description "QtGStreamer is a set of libraries providing C++ bindings for
+GStreamer with a Qt-style API, plus some helper classes and elements for
+integrating GStreamer better in Qt applications.  The goal of this module is to
+allow easy use of GStreamer for applications targetting MeeGo Mobile or the KDE
+desktop.")
+(license license:lgpl2.1+)))
-- 
2.9.0



[PATCH 17/24] gnu: kwidgetsaddons: Fix test failure.

2016-08-16 Thread David Craven
* gnu/packages/kde-frameworks.scm (kwidgetsaddons)[arguments]:
  Enable tests. Set Xvfb pixel depth to 24 bits.
---
 gnu/packages/kde-frameworks.scm | 10 +-
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
index e08b8cf..113257e 100644
--- a/gnu/packages/kde-frameworks.scm
+++ b/gnu/packages/kde-frameworks.scm
@@ -817,19 +817,19 @@ represented by a QPoint or a QSize.")
 (inputs
  `(("qtbase" ,qtbase)))
 (arguments
- `(#:tests? #f ; FIXME: libGL error: failed to load driver: swrast.
-   #:phases
+ `(#:phases
 (modify-phases %standard-phases
   (add-before 'check 'check-setup
 (lambda* _
-  (setenv "CTEST_OUTPUT_ON_FAILURE" "1") ; enable debug output
-  (setenv "LIBGL_DEBUG" "verbose") ; enable debug output
   (setenv "DBUS_FATAL_WARNINGS" "0")))
   (add-before 'check 'start-xorg-server
 (lambda* (#:key inputs #:allow-other-keys)
   ;; The test suite requires a running X server.
+  ;; Xvfb doesn't have proper glx support and needs a pixeldepth
+  ;; of 24 bit to avoid "libGL error: failed to load driver: 
swrast"
+  ;;"Could not initialize GLX"
   (system (string-append (assoc-ref inputs "xorg-server")
- "/bin/Xvfb :1 &"))
+ "/bin/Xvfb :1 -screen 0 640x480x24 &"))
   (setenv "DISPLAY" ":1")
  #t)
 (home-page "https://community.kde.org/Frameworks";)
-- 
2.9.0



[PATCH 21/24] gnu: gst-plugins-bad: Use modular qt.

2016-08-16 Thread David Craven
* gnu/packages/gstreamer.scm (gst-plugins-bad)[inputs]: Add QTBASE. Remove QT.
---
 gnu/packages/gstreamer.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index ee3c9e4..0d8a74d 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -334,7 +334,7 @@ developers consider to have good quality code and correct 
functionality.")
("openssl" ,openssl)
("opus" ,opus)
("orc" ,orc)
-   ("qt" ,qt)
+   ("qtbase" ,qtbase)
("soundtouch" ,soundtouch)
("wayland" ,wayland)))
 (home-page "http://gstreamer.freedesktop.org/";)
-- 
2.9.0



[PATCH 14/24] gnu: gstreamer: Use license: prefix.

2016-08-16 Thread David Craven
* gnu/packages/gstreamer.scm (define-module): Import guix licenses with #:prefix
  license:.
  (orc): Likewise.
  (gstreamer): Likewise.
  (gst-plugins-base): Likewise.
  (gst-plugins-good): Likewise.
  (gst-plugins-bad): Likewise.
  (gst-plugins-ugly): Likewise.
  (gst-libav): Likewise.
  (python-gst): Likewise.
---
 gnu/packages/gstreamer.scm | 18 +-
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index a39a3b4..bd99880 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -21,7 +21,7 @@
 ;;; along with GNU Guix.  If not, see .
 
 (define-module (gnu packages gstreamer)
-  #:use-module ((guix licenses) #:select (lgpl2.0+ lgpl2.1+ bsd-2 bsd-3 gpl2+))
+  #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix build-system gnu)
@@ -92,7 +92,7 @@ associated tools for compiling and executing simple programs 
that operate on
 arrays of data.")
 ;; The source code implementing the Marsenne Twister algorithm is licensed
 ;; under the 3-clause BSD license, the rest is under 2-clause BSD license.
-(license (list bsd-2 bsd-3
+(license (list license:bsd-2 license:bsd-3
 
 (define-public gstreamer
   (package
@@ -140,7 +140,7 @@ transparently.  Developers can add new codecs and filters 
by writing a
 simple plugin with a clean, generic interface.
 
 This package provides the core library and elements.")
-(license lgpl2.0+)))
+(license license:lgpl2.0+)))
 
 (define-public gst-plugins-base
   (package
@@ -192,7 +192,7 @@ This package provides the core library and elements.")
  "Plugins for the GStreamer multimedia library")
 (description "This package provides an essential exemplary set of plug-ins
 for the GStreamer multimedia library.")
-(license lgpl2.0+)))
+(license license:lgpl2.0+)))
 
 
 (define-public gst-plugins-good
@@ -258,7 +258,7 @@ for the GStreamer multimedia library.")
 (description "GStreamer Good Plug-ins is a set of plug-ins for the
 GStreamer multimedia library.  This set contains those plug-ins which the
 developers consider to have good quality code and correct functionality.")
-(license lgpl2.0+)))
+(license license:lgpl2.0+)))
 
 (define-public gst-plugins-bad
   (package
@@ -331,7 +331,7 @@ developers consider to have good quality code and correct 
functionality.")
 (description
  "GStreamer Bad Plug-ins is a set of plug-ins whose quality aren't up to
 par compared to the rest.")
-(license lgpl2.0+)))
+(license license:lgpl2.0+)))
 
 (define-public gst-plugins-ugly
   (package
@@ -369,7 +369,7 @@ par compared to the rest.")
 (description "GStreamer Ugly Plug-ins.  This set contains those plug-ins
 which the developers consider to have good quality code but that might pose
 distribution problems in some jurisdictions, e.g. due to patent threats.")
-(license lgpl2.0+)))
+(license license:lgpl2.0+)))
 
 (define-public gst-libav
   (package
@@ -406,7 +406,7 @@ distribution problems in some jurisdictions, e.g. due to 
patent threats.")
 (description
  "This GStreamer plugin supports a large number of audio and video
 compression formats through the use of the libav library.")
-(license gpl2+)))
+(license license:gpl2+)))
 
 (define-public python-gst
   (package
@@ -446,7 +446,7 @@ compression formats through the use of the libav library.")
 (description
  "This package contains GObject Introspection overrides for Python that can
 be used by Python applications using GStreamer.")
-(license lgpl2.1+)
+(license license:lgpl2.1+)
 (properties `((python2-variant . ,(delay python2-gst))
 
 (define-public python2-gst
-- 
2.9.0



[PATCH 19/24] gnu: fritzing: Use modular qt.

2016-08-16 Thread David Craven
* gnu/packages/engineering.scm (fritzing)[inputs]: Add QTBASE, QTSERIALPORT,
  QTSVG. Remove QT.
---
 gnu/packages/engineering.scm | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index f6c3d5f..dad38e0 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -388,7 +388,9 @@ multipole-accelerated algorithm.")
  (assoc-ref outputs "out"))
   "phoenix.pro"
 (inputs
- `(("qt" ,qt)
+ `(("qtbase" ,qtbase)
+   ("qtserialport" ,qtserialport)
+   ("qtsvg" ,qtsvg)
("boost" ,boost)
("zlib" ,zlib)
("fritzing-parts-db"
-- 
2.9.0



[PATCH 24/24] gnu: qt: Update qt to 5.7.0.

2016-08-16 Thread David Craven
* gnu/packages/qt.scm
  (qtbase): Update it.
  (qtsvg): Update it.
  (qtimageformats): Update it.
  (qtx11extras): Update it.
  (qtxmlpatterns): Update it.
  (qtdeclarative): Update it.
  (qtconnectivity): Update it.
  (qtwebsockets): Update it.
  (qtsensors): Update it.
  (qtmultimedia): Update it.
  (qtwayland): Update it.
  (qtserialport): Update it.
  (qtwebchannel): Update it.
  (qtlocation): Update it.
  (qttools): Update it.
  (qtscript): Update it.
  (qtquickcontrols): Update it.
  (qtquickcontrols2): Update it.
  (qtgraphicaleffects): Update it.
---
 gnu/packages/qt.scm | 78 ++---
 1 file changed, 39 insertions(+), 39 deletions(-)

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 021bb70..a7eee7c 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -313,7 +313,7 @@ developers using C++ or QML, a CSS & JavaScript like 
language.")
 (define-public qtbase
   (package
 (name "qtbase")
-(version "5.6.1-1")
+(version "5.7.0")
 (source (origin
  (method url-fetch)
  (uri (string-append "https://download.qt.io/official_releases/qt/";
@@ -322,7 +322,7 @@ developers using C++ or QML, a CSS & JavaScript like 
language.")
  version ".tar.xz"))
  (sha256
   (base32
-   "0fbwprlhqmdyhh2wb9122fcpq7pbil530iak482b9sy5gqs7i5ij"))
+   "0ip6xnizsn269r4s1nq9lkx8cdxkjqr1fidwrj3sa8xb7h96syry"))
  (modules '((guix build utils)))
  (snippet
   '(begin
@@ -484,7 +484,7 @@ developers using C++ or QML, a CSS & JavaScript like 
language.")
 (define-public qtsvg
   (package (inherit qtbase)
 (name "qtsvg")
-(version "5.6.1-1")
+(version "5.7.0")
 (source (origin
  (method url-fetch)
  (uri (string-append "https://download.qt.io/official_releases/qt/";
@@ -493,7 +493,7 @@ developers using C++ or QML, a CSS & JavaScript like 
language.")
  version ".tar.xz"))
  (sha256
   (base32
-   "1w0jvhgaiddafcms2nv8wl1klg07lncmjwm1zhdw3l6rxi9071sw"
+   "10fqrlqkiq83xhx79g8d2sjy7hjdnp28067z8f4byj7db81rzy51"
 (propagated-inputs `())
 (native-inputs `(("perl" ,perl)))
 (inputs
@@ -518,7 +518,7 @@ developers using C++ or QML, a CSS & JavaScript like 
language.")
 (define-public qtimageformats
   (package (inherit qtsvg)
 (name "qtimageformats")
-(version "5.6.1-1")
+(version "5.7.0")
 (source (origin
  (method url-fetch)
  (uri (string-append "https://download.qt.io/official_releases/qt/";
@@ -527,7 +527,7 @@ developers using C++ or QML, a CSS & JavaScript like 
language.")
  version ".tar.xz"))
  (sha256
   (base32
-   "1p98acvsm3azka2by1ph4gdb31qbnndrr5k5wns4xk2d760y8ifc"
+   "1rb27x7i2pmvsck6wax2cg31gqpzaakciy45wm5l3lcl86j48czg"
 (native-inputs `())
 (inputs
  `(("libmng" ,libmng)
@@ -540,7 +540,7 @@ developers using C++ or QML, a CSS & JavaScript like 
language.")
 (define-public qtx11extras
   (package (inherit qtsvg)
 (name "qtx11extras")
-(version "5.6.1-1")
+(version "5.7.0")
 (source (origin
  (method url-fetch)
  (uri (string-append "https://download.qt.io/official_releases/qt/";
@@ -549,7 +549,7 @@ developers using C++ or QML, a CSS & JavaScript like 
language.")
  version ".tar.xz"))
  (sha256
   (base32
-   "0yj5yg2dqkrwbgbicmk2rpqsagmi8dsffkrprpsj0fmkx4awhv5y"
+   "1yrkn8pqdbvbqykas3wx1vdfimhjkgx3s5jgdxib9dgmgyx6vjzw"
 (native-inputs `(("perl" ,perl)))
 (inputs
  `(("mesa" ,mesa)
@@ -558,7 +558,7 @@ developers using C++ or QML, a CSS & JavaScript like 
language.")
 (define-public qtxmlpatterns
   (package (inherit qtsvg)
 (name "qtxmlpatterns")
-(version "5.6.1-1")
+(version "5.7.0")
 (source (origin
  (method url-fetch)
  (uri (string-append "https://download.qt.io/official_releases/qt/";
@@ -567,14 +567,14 @@ developers using C++ or QML, a CSS & JavaScript like 
language.")
  version ".tar.xz"))
  (sha256
   (base32
-   "1966rrk7f6c55k57j33rffdjs77kk4mawrnnl8yv1ckcirxc3np1"
+   "02z2qxamslg6sphnaykjcjfpypq4b69pb586s43vw4fplm72m21q"
 (native-inputs `(("perl" ,perl)))
 (inputs `(("qtbase" ,qtbase)
 
 (define-public qtdeclarative
   (package (inherit qtsvg)
 (name "qtdeclarative")
-(version "5.6.1-1")
+(version "5.7.0")
 (source (origin
  (method url-fetch)
  (uri (string-append "https://download.qt.io/official_releases/qt/";
@@ -583,7 +583,7 @@ developers using C++ or QML, a CSS & JavaScript like 
language.")
   

[PATCH 22/24] gnu: poppler-qt5: Use modular qt.

2016-08-16 Thread David Craven
* gnu/packages/pdf.scm (poppler-qt)[inputs]: Add QTBASE. Remove QT.
---
 gnu/packages/pdf.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm
index 439adb9..4b08048 100644
--- a/gnu/packages/pdf.scm
+++ b/gnu/packages/pdf.scm
@@ -118,7 +118,7 @@
 (define-public poppler-qt5
   (package (inherit poppler)
(name "poppler-qt5")
-   (inputs `(("qt" ,qt)
+   (inputs `(("qtbase" ,qtbase)
  ,@(package-inputs poppler)))
(synopsis "Qt5 frontend for the Poppler PDF rendering library")))
 
-- 
2.9.0



Re: [PATCH v2 2/6] gnu: fpga: Add abc.

2016-08-16 Thread Thompson, David
diff --git a/gnu/packages/fpga.scm b/gnu/packages/fpga.scm
index 112d53b..7571f87 100644
--- a/gnu/packages/fpga.scm
+++ b/gnu/packages/fpga.scm
@@ -38,3 +38,46 @@
   #:use-module (gnu packages version-control)
   #:use-module (gnu packages libftdi))

+;; To compile as C code (default):
+;;   make sure that CC=gcc and ABC_NAMESPACE is not defined.
+;; To compile as C++ code with namespaces:
+;;   make sure that CC=g++ and ABC_NAMESPACE is set to the namespace.
+;;   For example, add -DABC_NAMESPACE=xxx to OPTFLAGS.
+(define-public abc
+ (let ((commit "5ae4b975c49c"))
+  (package
+(name "abc")
+(version (string-append "0.0-" (string-take commit 7)))
+(source (origin
+  (method url-fetch)
+  (uri
+   (string-append "https://bitbucket.org/alanmi/abc/get/";
+  commit ".zip"))
+  (file-name (string-append name "-" version "-checkout.zip"))
+  (sha256
+(base32
+   "1syygi1x40rdryih3galr4q8yg1w5bvdzl75hd27v1xq0l5bz3d0"
+(build-system gnu-build-system)
+(native-inputs
+ `(("unzip" ,unzip)))
+(inputs
+ `(("readline" ,readline)))
+(arguments
+ `(#:tests? #f ; 'check target does not exist.
+   #:phases
+(modify-phases %standard-phases

The opening paren should be aligned with the "#" in "#:phases" and the
rest of the form should be reindented accordingly.

+  (delete 'configure)
+  (replace 'install
+(lambda* (#:key outputs #:allow-other-keys)
+  (let* ((out (assoc-ref outputs "out"))
+ (outbin (string-append out "/bin"))
+ (target (string-append outbin "/abc")))
+(mkdir-p outbin)
+(copy-file "abc" target)))

You over-indented by 4 spaces here and the line above it.

+(home-page "http://people.eecs.berkeley.edu/~alanmi/abc/";)
+(synopsis "Sequential Logic Synthesis and Formal Verification")
+(description "ABC is a program for sequential logic synthesis
+and formal verification.")
+;; FIXME use license: MIT Modern variant as described in:
+;;   
+(license license:expat

Could someone who knows more about this license chime in about what
the best thing to do is?

LGTM other than these few minor things.

- Dave



[PATCH 18/24] gnu: qsynth: Use modular qt.

2016-08-16 Thread David Craven
* gnu/packages/audio.scm (qsynth)[inputs]: Add QTBASE, QTX11EXTRAS. Remove QT.
  [native-inputs]: Add QTTOOLS.
---
 gnu/packages/audio.scm | 7 +--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 5c42aaa..a21cd5b 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -2112,9 +2112,12 @@ interface.")
 (build-system gnu-build-system)
 (arguments
  `(#:tests? #f)) ; no "check" phase
+(native-inputs
+ `(("qttools" ,qttools)))
 (inputs
- `(("qt" ,qt)
-   ("fluidsynth" ,fluidsynth)))
+ `(("fluidsynth" ,fluidsynth)
+   ("qtbase" ,qtbase)
+   ("qtx11extras" ,qtx11extras)))
 (home-page "http://qsynth.sourceforge.net";)
 (synopsis "Graphical user interface for FluidSynth")
 (description
-- 
2.9.0



[PATCH 4/5] gnu: arduino: Add arduino-libraries.

2016-08-16 Thread Danny Milosavljevic

* gnu/packages/arduino.scm (arduino-libraries): New variable.
---
 gnu/packages/arduino.scm | 15 +++
 1 file changed, 15 insertions(+)

diff --git a/gnu/packages/arduino.scm b/gnu/packages/arduino.scm
index ae69c04..675df80 100644
--- a/gnu/packages/arduino.scm
+++ b/gnu/packages/arduino.scm
@@ -91,3 +91,18 @@
 (description "arduino-hardware contains Arduino Hardware Spec Files (boards.txt etc).")
 ;; GPL covers the main body ("app", "core"). LGPL covers the remainder.
 (license license:lgpl2.1+))) ; FIXME check
+
+(define-public arduino-libraries
+  (package (inherit arduino-hardware)
+(name "arduino-libraries")
+(inputs `(("arduino-hardware" ,arduino-hardware)))
+(arguments
+  (substitute-keyword-arguments
+(package-arguments arduino-hardware)
+((#:phases phases)
+`(modify-phases ,phases
+  (replace 'chdir
+(lambda _
+  (chdir "libraries")))
+  (replace 'install ,(arduino-installer "libraries"))
+(license license:lgpl2.1))) ; FIXME check apache license etc


[PATCH 23/24] gnu: qtkeychain: Use modular qt.

2016-08-16 Thread David Craven
* gnu/packages/qt.scm (qtkeychain)[inputs]: Add QTBASE. Remove QT.
  [native-inputs]: Add QTTOOLS.
---
 gnu/packages/qt.scm | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 19488ac..021bb70 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -1070,8 +1070,10 @@ contain over 620 classes.")
 (sha256
  (base32 "0fka5q5cdzlf79igcjgbnb2smvwbwfasqawkzkbr34whispgm6lz"
 (build-system cmake-build-system)
+(native-inputs
+ `(("qttools" ,qttools)))
 (inputs
- `(("qt" ,qt)))
+ `(("qtbase" ,qtbase)))
 (arguments
  `(#:tests? #f ; No tests included
#:phases
-- 
2.9.0



Re: [PATCH] gnu: Add clojure.

2016-08-16 Thread Ricardo Wurmus

Alex Vong  writes:

> Thanks for the review too. The changes looks good to me, excepts that it
> seems 'find-files' will find all files with name matching the regex
> recursively, but `scandir' will only list the files on the 1st
> level.

Ah, I didn’t notice that this is what you were trying to do there.
Using “scandir” is fine then.

> Also, I realize there is a typo in my original patch. It should be
> 'under' instead of 'under under' in the comment.

Excellent!  Pushed to master as
8293b116e64f543848f4845723208973aeb993f9.  Thank you for your
perseverance!

~~ Ricardo




Re: [PATCH] gnu: simple-scan: Update to 3.21.90.

2016-08-16 Thread Leo Famulari
On Tue, Aug 16, 2016 at 07:29:54PM +0200, Tobias Geerinckx-Rice wrote:
> * gnu/packages/gnome.scm (simple-scan): Update to 3.21.90.
> [inputs]: Remove libgudev.
> [native-inputs]: Replace intltool dependency with gnu-gettext.

Looks good, assuming that it's working for you!



Re: QtHaveModule

2016-08-16 Thread David Craven
Hi

>> Hi, I just sent a patch to add 'QMAKEPATH' as search-path, which should
>> fix this issue.

> Thank you! Yes this fixes the issue and is a lot cleaner than what I
> came up with...

I sent a couple of patches to the mailing list that will require the
qt and kde packages to be rebuilt (like the update to qt 5.7.0). Do
you mind if I apply your patch when I push mine, so that we can avoid
having unnecessary rebuilds?

David



Maven

2016-08-16 Thread Danny Milosavljevic
Hi,

I also tried to package the Arduino GUI - but it has lots of Apache Commons 
dependencies and those use the Maven repo system.

Has anyone already packaged Apache Commons libraries?



Re: [PATCH] gnu: Add clojure.

2016-08-16 Thread Pjotr Prins
On Tue, Aug 16, 2016 at 08:45:17PM +0200, Ricardo Wurmus wrote:
> 
> Alex Vong  writes:
> 
> > Thanks for the review too. The changes looks good to me, excepts that it
> > seems 'find-files' will find all files with name matching the regex
> > recursively, but `scandir' will only list the files on the 1st
> > level.
> 
> Ah, I didn’t notice that this is what you were trying to do there.
> Using “scandir” is fine then.
> 
> > Also, I realize there is a typo in my original patch. It should be
> > 'under' instead of 'under under' in the comment.
> 
> Excellent!  Pushed to master as
> 8293b116e64f543848f4845723208973aeb993f9.  Thank you for your
> perseverance!

Awesome. Another compiler gone in!

-- 



[PATCH] gnu: python: Add python-lirc.

2016-08-16 Thread Danny Milosavljevic
gnu: python: Add python-lirc.

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

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index abb90d8..47bc2e1 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -9915,3 +9915,53 @@ and/or Xon/Xoff.  The port is accessed in RAW mode.")
   (native-inputs
`(("python2-setuptools" ,python2-setuptools)
  ,@(package-native-inputs base))
+
+(define-public python-lirc
+ (let ((commit "4091fe918f3eed2513dad008828565cace408d2f"))
+  (package
+(name "python-lirc")
+(version (string-append "1.2.1-" (string-take commit 7)))
+(source
+  (origin
+(method git-fetch)
+(uri (git-reference
+   (url "https://github.com/tompreston/python-lirc.git";)
+   (commit commit)))
+(sha256
+  (base32
+"0cm47s5pvijfs3v2k7hmpxv3mvp4n5la0ihnsczk5ym3iq166jil"))
+(file-name (string-append name "-" version ".tar.gz"))
+(patches (search-patches "python-lirc-add-raw.patch"
+(build-system python-build-system)
+(inputs
+ `(("lirc" ,lirc)))
+(native-inputs
+ `(("python-cython" ,python-cython)))
+(arguments
+ `(#:tests? #f ; the only tests there are are human-interactive
+   #:phases
+(modify-phases %standard-phases
+  (add-before 'build 'build-from-cython-files
+(lambda _
+  (zero? (system* "make" "py3")))
+(home-page "https://github.com/tompreston/python-lirc";)
+(synopsis "Python bindings for LIRC.")
+(description "@code{lirc} is a Python module which provides LIRC
+(Linux Infrared) bindings.")
+(license gpl3)
+(properties `((python2-variant . ,(delay python2-lirc)))
+
+(define-public python2-lirc
+  (let ((base (package-with-python2 (strip-python2-variant python-lirc
+(package
+  (inherit base)
+  (arguments
+   `(#:tests? #f ; the only tests there are are human-interactive
+ #:phases
+  (modify-phases %standard-phases
+(add-before 'build 'build-from-cython-files
+  (lambda _
+(zero? (system* "make" "py2")))
+  (native-inputs
+   `(("python2-setuptools" ,python2-setuptools)
+ ("python2-cython" ,python2-cython))


Re: [PATCH 18/24] gnu: qsynth: Use modular qt.

2016-08-16 Thread Danny Milosavljevic
LGTM



Re: [PATCH 13/24] gnu: polkit-qt: Use modular qt.

2016-08-16 Thread Danny Milosavljevic
> - `(("qt" ,qt))) ; qt-4 according to the pkg-config files
> + `(("qtbase" ,qtbase)))

That won't be qt-4 anymore. Is that OK?



Re: [PATCH 19/24] gnu: fritzing: Use modular qt.

2016-08-16 Thread Danny Milosavljevic
LGTM.



Re: [PATCH 14/24] gnu: gstreamer: Use license: prefix.

2016-08-16 Thread Danny Milosavljevic
LGTM.



Re: [PATCH 17/24] gnu: kwidgetsaddons: Fix test failure.

2016-08-16 Thread Danny Milosavljevic
>(system (string-append (assoc-ref inputs "xorg-server")
> - "/bin/Xvfb :1 &"))
> + "/bin/Xvfb :1 -screen 0 640x480x24 &"))

Might

 (setenv "QT_QPA_PLATFORM" "offscreen")

also be enough? Starting an Xvfb server and then not stopping it again is kinda 
... extreme. Also, who says that :1 is free?

I can see that it was there before, but just to be sure...



Re: [PATCH] gnu: pypi importer: Remove python-setuptools and hint on how to re-add it.

2016-08-16 Thread ng0
Hi,

Danny Milosavljevic  writes:

> gnu: pypi importer: Remove python-setuptools and hint on how to re-add it.

Can you be more specific why it is removed? I don't understand the harm
it does or doesn't do when it's included.
Would this not be bad for packages which require setuptools?

> * guix/import/pypi.scm (make-pypi-sexp): Modified.
> ---
>  guix/import/pypi.scm | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/guix/import/pypi.scm b/guix/import/pypi.scm
> index 343445a..d177d33 100644
> --- a/guix/import/pypi.scm
> +++ b/guix/import/pypi.scm
> @@ -233,7 +233,7 @@ name/variable pairs describing the required inputs of 
> this package."
>(sort
>  (map (lambda (input)
> (list input (list 'unquote (string->symbol input
> - (append '("python-setuptools")
> + (append ;'("python-setuptools")
>   ;; Argparse has been part of Python since 2.7.
>   (remove (cut string=? "python-argparse" <>)
>   (guess-requirements source-url wheel-url tarball
> @@ -271,7 +271,8 @@ VERSION, SOURCE-URL, HOME-PAGE, SYNOPSIS, DESCRIPTION, 
> and LICENSE."
>   (home-page ,home-page)
>   (synopsis ,synopsis)
>   (description ,description)
> - (license ,(license->symbol license)))
> + (license ,(license->symbol license))
> + (properties `((python2-variant . ,(delay python2-foobar)
>  
>  (define (pypi->guix-package package-name)
>"Fetch the metadata for PACKAGE-NAME from pypi.python.org, and return the

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



Re: [PATCH 20/24] gnu: bitcoin-core: Use modular qt.

2016-08-16 Thread Danny Milosavljevic
LGTM!



Re: [PATCH 21/24] gnu: gst-plugins-bad: Use modular qt.

2016-08-16 Thread Danny Milosavljevic
LGTM!



Re: [PATCH 22/24] gnu: poppler-qt5: Use modular qt.

2016-08-16 Thread Danny Milosavljevic
LGTM!



Re: [PATCH 23/24] gnu: qtkeychain: Use modular qt.

2016-08-16 Thread Danny Milosavljevic
LGTM!



Re: [PATCH] NON-WORKING: new package: sent -- simple presentation tool

2016-08-16 Thread Eric Bavier
On Sun, 14 Aug 2016 11:04:15 +0300
Dmitry Bogatov  wrote:

> > This is my take on the patch.  It builds and works fine.
> >
> > Dmitry, I added a copyright line for you; does it seem alright?  
> 
> Perfectly. Thank you for saving patch from rot.
> 

No problem, sorry it took so long to get through.  Pushed as f0f0a48b.

`~Eric



Re: [PATCH 06/24] gnu: xml: Add jsoncpp.

2016-08-16 Thread Danny Milosavljevic
Might it make sense to also mention that it is optionally public domain?

Otherwise LGTM.



Re: [PATCH 03/24] gnu: qt: Add qtgraphicaleffects.

2016-08-16 Thread Danny Milosavljevic
LGTM!



Re: [PATCH] gnu: pypi importer: Remove python-setuptools and hint on how to re-add it.

2016-08-16 Thread Danny Milosavljevic
Hi,

> Can you be more specific why it is removed? I don't understand the harm
> it does or doesn't do when it's included.
> Would this not be bad for packages which require setuptools?

Python 3.4 integrated setuptools into the main distribution. It doesn't require 
an external python-setuptools. I don't understand why Guix even still has a 
"python-setuptools" package. (python2-setuptools is OK - but the other one: 
why?)

New packages are usually Python 3 compatible. Also, the python-build-system 
defaults to Python 3.

That's why I assume that the package S-Expression printed is for Python 3 (and 
so do many other Guix parts). There, it doesn't make sense to include 
setuptools anymore.

Also, it's better if the package expression doesn't include python-setuptools 
by default because a lazy packager (i.e. me) will just copy & paste it and call 
it a day. Then the new package depends on python-setuptools even though it 
doesn't need it at all.

I'm not sure what to do about the Python 2 package expression. I think this 
function only can return one expression.

If possible, I'd like it to automatically print the Python 2 package 
expression, for example

(define-public python2-lockfile
  (let ((base (package-with-python2 (strip-python2-variant python-lockfile
(package
  (inherit base)
  (native-inputs `(("python2-setuptools" ,python2-setuptools)
   ,@(package-native-inputs base))

, as well.



Re: [PATCH 24/24] gnu: qt: Update qt to 5.7.0.

2016-08-16 Thread Danny Milosavljevic
LGTM!



Re: [PATCH] gnu: pypi importer: Remove python-setuptools and hint on how to re-add it.

2016-08-16 Thread Pjotr Prins
On Tue, Aug 16, 2016 at 09:39:52PM +0200, Danny Milosavljevic wrote:
> Hi,
> 
> > Can you be more specific why it is removed? I don't understand the harm
> > it does or doesn't do when it's included.
> > Would this not be bad for packages which require setuptools?

Not all python packages require setuptools.

Pj.



Re: [PATCH 07/24] gnu: compression: Add snappy.

2016-08-16 Thread Alex Kost
David Craven (2016-08-16 21:39 +0300) wrote:

> * gnu/packages/compression.scm (snappy): New variable.
> ---
>  gnu/packages/compression.scm | 36 
>  1 file changed, 36 insertions(+)
>
>
> diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm
> index e63c1af..cd1866b 100644
> --- a/gnu/packages/compression.scm
> +++ b/gnu/packages/compression.scm
> @@ -11,6 +11,7 @@
>  ;;; Copyright © 2016 Ben Woodcroft 
>  ;;; Copyright © 2016 Danny Milosavljevic 
>  ;;; Copyright © 2016 Tobias Geerinckx-Rice 
> +;;; Copyright © 2016 David Craven 
>  ;;;
>  ;;; This file is part of GNU Guix.
>  ;;;
> @@ -871,3 +872,38 @@ even LZMA can provide, or a higher speed than gzip while 
> compressing as
>  well as bzip2.")
>  (license (list license:gpl3+
> license:public-domain ; most files in lzma/
> +
> +(define-public snappy
> +  (package
> +(name "snappy")
> +(version "1.1.3")
> +(source (origin
> +  (method url-fetch)
> +  (uri (string-append
> +"https://github.com/google/snappy/archive/";
> +version ".tar.gz"))
> +  (file-name (string-append name "-" version ".tar.gz"))
> +  (sha256
> +   (base32
> +"04lc9n1fr4kak8yd68v61w561zcbykfyj9f745smva8hcn0hyk7r"
> +(build-system gnu-build-system)
> +(native-inputs
> + `(("autoconf" ,autoconf)
> +   ("automake" ,automake)
> +   ("libtool" ,libtool)
> +   ("pkg-config" ,pkg-config)))
> +(arguments
> + `(#:phases
> +   (modify-phases %standard-phases
> + (add-after 'unpack 'autoconf
> +   (lambda _
> + (zero? (system* "autoreconf" "-vfi")))
> +(home-page "https://github.com/open-source-parsers/jsoncpp";)

I think you meant "https://github.com/google/snappy";

Also there is a real release that shouldn't require autoreconf phase:

Did you try using it?

> +(synopsis "Fast compressor/decompressor")
> +(description "Snappy is a compression/decompression library. It does not
> +aim for maximum compression, or compatibility with any other compression 
> library;
> +instead, it aims for very high speeds and reasonable compression. For 
> instance,
> +compared to the fastest mode of zlib, Snappy is an order of magnitude faster
> +for most inputs, but the resulting compressed files are anywhere from 20% to
> +100% bigger.")
> +(license license:asl2.0)))

-- 
Alex



Re: [PATCH] gnu: Add libunique.

2016-08-16 Thread Leo Famulari
On Mon, Aug 15, 2016 at 11:33:26PM +, ng0 wrote:
> Leo Famulari  writes:
> > Is this package required by something else that we are working on? What
> > is the use case?
> 
> (gnunet-gtk):
> 
> (arguments
>  `(#:configure-flags
> (list "--without-libunique"

Okay, then I think we should add the package with a comment that says
it's unmaintained. What do you think of the attached patch?
>From fa8fbd899756cf948da23e9a29d92a5f48d4eb1c Mon Sep 17 00:00:00 2001
From: ng0 
Date: Wed, 3 Aug 2016 08:18:14 +
Subject: [PATCH] gnu: Add libunique.

* gnu/packages/gnome.scm (libunique): New variable.

Signed-off-by: Leo Famulari 
---
 gnu/packages/gnome.scm | 40 
 1 file changed, 40 insertions(+)

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



Re: [PATCH 09/24] gnu: freedesktop: Add wayland-protocols.

2016-08-16 Thread Danny Milosavljevic
> +(inputs
> + `(("wayland" ,wayland)))
> +(native-inputs
> + `(("pkg-config" ,pkg-config)))
> +(synopsis "Wayland protocols")
> +(description "Contains Xml definitions of the wayland protocols.")
  ^XML   ^Wayland

If it only contains XML definitions of the Wayland protocols why does it need 
"wayland" and "pkg-config". It probably does something else, too. I can see 
that it uses wayland-scanner for something. I suggest to update the description.

Otherwise LGTM!



  1   2   >