Re: [WIP 0/8] GNOME Maps

2016-06-14 Thread Leo Famulari
On Mon, May 02, 2016 at 10:37:06AM +0200, Ludovic Courtès wrote:
> Leo Famulari  skribis:
> 
> > $ gnome-maps
> > ** (org.gnome.Maps:14112): WARNING **: Failed to load shared library 
> > 'libgoa-1.0.so.0' referenced by the typelib: libgoa-1.0.so.0: cannot open 
> > shared object file: No such file or directory
> 
> It says “warning”, but that’s probably a significant issue since libgoa
> is the “GNOME Online Accounts” library.  I suppose this can be fixed by
> adding ‘gnome-online-accounts’ to the LD_LIBRARY_PATH.  Could you try
> this?

It works for version 3.18.2! Attached.

But now 3.20.1 is out, and I want to use that version. It fails like
this:

---
$ ./pre-inst-env guix environment --ad-hoc gnome-maps -- gnome-maps
(org.gnome.Maps:30607): Gjs-WARNING **: JS ERROR: Error: Requiring Geoclue, 
version none: Typelib file for namespace 'Geoclue' (any version) not found
@resource:///org/gnome/Maps/js/geoclue.js:23
@resource:///org/gnome/Maps/js/application.js:34
@resource:///org/gnome/Maps/js/main.js:43
start@resource:///org/gnome/gjs/modules/package.js:176
@/gnu/store/9dsfcqfnpjg81mbibxi5qvnbcz29srzy-gnome-maps-3.20.1/share/gnome-maps/org.gnome.Maps:5

JS_EvaluateScript() failed
---

So, I'm building geoclue with gobject-introspection overnight.
>From 95bc258f419673e1e311429383a08d850155fac9 Mon Sep 17 00:00:00 2001
From: Leo Famulari 
Date: Sat, 5 Mar 2016 02:33:09 -0500
Subject: [PATCH] gnu: Add gnome-maps.

* gnu/packages/maps.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
---
 gnu/packages/maps.scm | 65 +++
 1 file changed, 65 insertions(+)
 create mode 100644 gnu/packages/maps.scm

diff --git a/gnu/packages/maps.scm b/gnu/packages/maps.scm
new file mode 100644
index 000..057f81a
--- /dev/null
+++ b/gnu/packages/maps.scm
@@ -0,0 +1,65 @@
+(define-module (gnu packages maps)
+  #:use-module (guix build-system glib-or-gtk)
+  #:use-module (guix download)
+  #:use-module (guix licenses)
+  #:use-module (guix packages)
+  #:use-module (guix utils)
+  #:use-module (gnu packages glib) ; intltool
+  #:use-module (gnu packages gnome)
+  #:use-module (gnu packages gtk)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages webkit)
+  #:use-module (gnu packages xml))
+
+(define-public gnome-maps
+  (package
+(name "gnome-maps")
+(version "3.18.2")
+(source (origin
+  (method url-fetch)
+  (uri (string-append "mirror://gnome/sources/" name "/"
+  (version-major+minor version) "/"
+  name "-" version ".tar.xz"))
+  (sha256
+   (base32
+"0y4jmh5hwskh2mnladh9hxp9k8as7crm8wwwiifvxsjjj9az2gv9"
+(build-system glib-or-gtk-build-system)
+(arguments
+ `(#:phases
+   (modify-phases %standard-phases
+ (add-after
+  'install 'wrap
+  (lambda* (#:key inputs outputs #:allow-other-keys)
+(let ((out (assoc-ref outputs "out"))
+  (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
+  (goa-path (string-append
+  (assoc-ref inputs "gnome-online-accounts")
+  "/lib")))
+  (wrap-program (string-append out "/bin/gnome-maps")
+   `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
+   `("LD_LIBRARY_PATH" ":" prefix (,goa-path)))
+  #t))
+(native-inputs
+ `(("gobject-introspection" ,gobject-introspection)
+   ("intltool" ,intltool)
+   ("pkg-config" ,pkg-config)))
+(inputs
+ `(("folks" ,folks)
+   ("libchamplain" ,libchamplain)
+   ("libgee" ,libgee)
+   ("libxml2" ,libxml2)
+   ("geoclue" ,geoclue)
+   ("geocode-glib" ,geocode-glib)
+   ("gfbgraph" ,gfbgraph)
+   ("gjs" ,gjs)
+   ("glib" ,glib)
+   ("gnome-online-accounts" ,gnome-online-accounts) ; necessary?
+   ("rest" ,rest)
+   ("webkitgtk" ,webkitgtk))) ; necessary?
+(propagated-inputs
+ `(("gtk+3" ,gtk+))) ; necessary?
+(synopsis "Graphical map viewer")
+(description "GNOME Maps is a graphical map viewer.  It uses map data from
+the OpenStreetMap project.")
+(home-page "https://wiki.gnome.org/Apps/Maps";)
+(license gpl2+)))
-- 
2.8.4



Guix mentioned in Journal of Open Source Software (JOSS)

2016-06-14 Thread Pjotr Prins
We published a paper on GeneNetwork which uses Guix for deployment:

  http://joss.theoj.org/papers/10.21105/joss.00025

The review process is online and you can see there were some hickups
with Guix:

  https://github.com/openjournals/joss-reviews/issues/25

(1) Roel has suggested we should script the binary installation. I think
that is a fine idea. That was hurdle one.

(2) Hurdle two is fixating the package tree. I would really like a 

  git pull --version HASH

where HASH pulls a git HASH version of the gnu/packages tree and
compile the scheme files. That would help binary reproducibility
without having to check out the full tree.

We don't need to roll-back the guix client, though that would be nice
too and should be possible with Guix. Just give it a different binary
name, how about guix-HASH? When using guix-HASH it would automatically
use the older guix and the older package tree.

Or something along that vein.

(3) I also think the default GUIX key should just be available. Why make
guix authorize an extra step? When I install guix, I WANT it.

(4) Finally, is there a way to automatically inject the search paths in
the shell? Rather than printing them, and people have to copy-paste,
why not create a new shell with paths set? Or is that already
available?

Addressing these 4 points and Guix install should be a breeze ;). Even
with an external package path.

Pj.



Re: Install gpg2 as gpg

2016-06-14 Thread Andreas Enge
Hello,

On Mon, Jun 13, 2016 at 05:07:08PM -0400, Leo Famulari wrote:
> On Mon, Jun 13, 2016 at 08:24:23PM +, ng0 wrote:
> > What if we patched gpg-1 to not colide with gpg-2?
> > 
> > For example, move gpg and gpgv and man pages of them
> > for gpg-1 to something which has -1 in its name.
> > On the other hand this would have to be consistent and be followed
> > straigth to not colide again. I'm not sure if this
> > approach will work out in the long run.
> 
> Unless this is a configuration option supported by upstream GnuPG, I
> don't want to do that. For the same reason, my patch does not affect
> gnupg-2.0.

I agree with this argument - one of our principles is to mess as little
as possible with upstream packages. In this case, since there is a special
configuration option for gnupg-2, we may use it, but then we would have
to pay the price that both gnupg-1 (or gnupg-2.0) and gnupg-2.1 could not
be installed together any more. Maybe it would then be consistent to drop
gnupg-2.0 from the distribution.

Finally I managed to make gnupg-2.1 work together with mutt, but it was
not completely straightforward... So we should document the change if we
make it.

By the way, should we maybe make pinentry a propagated input of gnupg-2.1?
If I understand correctly, gnupg-2.1 will not work without it (and mixing
pinentry from Debian with gnupg-2.1 from Guix was one of the reasons for
gnupg not working at first).

Andreas




Re: FYI: started working on kde-frameworks

2016-06-14 Thread Andreas Enge
On Mon, Jun 13, 2016 at 05:02:46PM +0200, Ludovic Courtès wrote:
> Hartmut Goebel  skribis:
> > The KDE frameworks are layered into 4 tiers and I'll work my way tier by
> > tier.
> Nice.  Andreas started packaging KDE things some time ago, but I can’t
> remember if they did something about kde-frameworks.

So far, there are just three packages in kde-frameworks.scm, and nothing
left on my disk. So you can go ahead!

> > I'd like to share my WIP, is there a good place for doing this? Esp.
> > since my time is somewhat limited :-)
> Maybe just push it on a Git repo you have access to and regularly send
> status updates here?

I think you could work in the file and submit additional packages one by
one; there is no need to wait until everything is finished. If the additional
packages compile, that is fine; if you notice problems later on, you can
still correct them as they appear.

Andreas




Re: Guix mentioned in Journal of Open Source Software (JOSS)

2016-06-14 Thread Ricardo Wurmus

Pjotr Prins  writes:

> (4) Finally, is there a way to automatically inject the search paths in
> the shell? Rather than printing them, and people have to copy-paste,
> why not create a new shell with paths set? Or is that already
> available?

At this institute I recommend users install software into one profile
per project.  To “enter” a profile users do this:

bash
cd projects/world-peace
source .guix-profile/etc/profile
# variables are set now
# do work here
exit

They enter a subshell, then go to their project directory in which they
have a Guix profile (always named “.guix-profile”).  By sourcing the
profile’s “etc/profile” all environment variables are set up.

When they are done they just exit the subshell, thereby restoring the
environment to its previous state.

~~ Ricardo



Re: [PATCH] 0 of 2: emacs-lua-mode, emacs-ebuild-mode

2016-06-14 Thread Alex Kost
ng0 (2016-06-14 00:35 +0300) wrote:

> The following 2 patches add 2 new major modes.
>
> 2 is to be applied after 1 for they directly
> follow each other in the emacs.scm file

The patches look good to me except I cannot apply them.  git gives the
following error:

  error: could not build fake ancestor

Could you remade the patches, please?


BTW, are you Nils Gillmann?  If so, are you going to use "ng0
" to identify yourself?

-- 
Alex



Re: Guix mentioned in Journal of Open Source Software (JOSS)

2016-06-14 Thread Alex Kost
Pjotr Prins (2016-06-14 10:47 +0300) wrote:

> We published a paper on GeneNetwork which uses Guix for deployment:
>
>   http://joss.theoj.org/papers/10.21105/joss.00025
>
> The review process is online and you can see there were some hickups
> with Guix:
>
>   https://github.com/openjournals/joss-reviews/issues/25
>
> (1) Roel has suggested we should script the binary installation. I think
> that is a fine idea. That was hurdle one.
>
> (2) Hurdle two is fixating the package tree. I would really like a 
>
>   git pull --version HASH
guix pull --version HASH

I guess a typo

> where HASH pulls a git HASH version of the gnu/packages tree and
> compile the scheme files. That would help binary reproducibility
> without having to check out the full tree.
>
> We don't need to roll-back the guix client, though that would be nice
> too and should be possible with Guix. Just give it a different binary
> name, how about guix-HASH? When using guix-HASH it would automatically
> use the older guix and the older package tree.
>
> Or something along that vein.
>
> (3) I also think the default GUIX key should just be available. Why make
> guix authorize an extra step? When I install guix, I WANT it.
>
> (4) Finally, is there a way to automatically inject the search paths in
> the shell? Rather than printing them, and people have to copy-paste,
> why not create a new shell with paths set? Or is that already
> available?

Are you looking for "guix package --search-paths=prefix"?

-- 
Alex



Re: Guix mentioned in Journal of Open Source Software (JOSS)

2016-06-14 Thread Ricardo Wurmus

Pjotr Prins  writes:

> We published a paper on GeneNetwork which uses Guix for deployment:
>
>   http://joss.theoj.org/papers/10.21105/joss.00025

Congratulations on getting the paper accepted!

> The review process is online and you can see there were some hickups
> with Guix:
>
>   https://github.com/openjournals/joss-reviews/issues/25

It’s good that this was documented.

> (1) Roel has suggested we should script the binary installation. I think
> that is a fine idea. That was hurdle one.
>
> (2) Hurdle two is fixating the package tree. I would really like a 
>
>   git pull --version HASH

“guix” or “git”?

> where HASH pulls a git HASH version of the gnu/packages tree and
> compile the scheme files. That would help binary reproducibility
> without having to check out the full tree.

What is the problem with checking out the “full tree”?  The biggest part
of Guix is the packages tree and it’s using things that are defined in
the smaller part, so they are tightly coupled.

Currently, the easiest way to get to a previous version is to do

git reset --hard cabba9e

where “cabba9e” is the hash of the version you want to have.  For the
central installation of Guix here at the MDC I suggest people publish
the result of these two commands along with their package manifests:

git -C /gnu/remote/guixdescribe
git -C /gnu/remote/guix-bimsb  describe

This gives them two hash-like strings for the unmodified Guix upstream
repo and our local repository.  Others trying to reproduce our state
would just need to clone the two repos and reset them to the given
description strings.

> We don't need to roll-back the guix client, though that would be nice
> too and should be possible with Guix. Just give it a different binary
> name, how about guix-HASH? When using guix-HASH it would automatically
> use the older guix and the older package tree.

Since they are coupled “git reset --hard ...” already does this.  But I
agree that it would be nice to have more than one installation of Guix
that allows users to switch versions without having to deal with the git
user interface.

> Or something along that vein.
>
> (3) I also think the default GUIX key should just be available. Why make
> guix authorize an extra step? When I install guix, I WANT it.

What default key do you mean?  Looking at the review I see that this is
about your caching server’s public key, is it not?  In that case I think
having to authorize an external provider of binaries is a feature.
Hydra, I think, is authorized by default.

~~ Ricardo



Re: [PATCH 02/14] gnu: Add qtimageformats.

2016-06-14 Thread Andreas Enge
On Sun, Jun 12, 2016 at 11:20:24PM +0300, Efraim Flashner wrote:
> quite possibly the inputs could be shortened, but since they're all
> using qmake for configure I don't really know how to check.

You could compile the packages and use "guix gc --references" to check
which of the inputs are used.

Two basic situations could occur:
- Essentially all inputs of qtbase are also needed for the other packages.
  Then in this special case, I think it does not matter too much to have
  added a few additional inputs, which in any case will have no effect on
  the build result or on installations.
- Only qtbase is used as an input, and the occasional additional one.
  Then I would add the inputs one by one by hand, until the package builds.
I think that the first case is more likely, and would be happy with you
pushing the packages then.

Andreas




Re: Workflow management with GNU Guix

2016-06-14 Thread Roel Janssen
Hello all,

Thank you for your replies.  I will use Ricardo's response to reply to.

Ricardo Wurmus writes:

> (Resending this as it could not be delivered.)
>
> Ricardo Wurmus  writes:
>
>> Hi Roel,
>>
>>> With GNU Guix we are able to install programs to our machines with an 
>>> amazing
>>> level of control over the dependency graph of the programs.  We can now know
>>> what code will run when we invoke a program.  We can now know what the 
>>> impact
>>> of an upgrade will be.  And we can now safely roll-back to previous states.
>>>
>>> What seems to be a common practice in research involving data analysis, is
>>> running multiple programs in a chain to transform data from raw to 
>>> specific. 
>>> This is often referred to as a "pipeline" or a "workflow".  Because data 
>>> sets
>>> can be quite large in comparison to the computing power of our laptops, the
>>> data analysis is performed on computing clusters instead of single machines.
>>>
>>> The usage of a pipeline/workflow is somewhat different from the package
>>> construction, because we want to run the sequence of commands on different 
>>> data
>>> sets (as opposed to running it on the same source code).  Plus, I would 
>>> like to
>>> integrate it with existing computing clusters that have a job scheduling 
>>> system
>>> in place.  
>>>
>>> The reason I think this should be possible with Guix is that it has
>>> everything in place to do software deployment and run-time isolation
>>> (containers).  From there it is a small step to executing programs in an
>>> automated way.
>>>
>>> So, I would like to propose a new Guix subcommand and an extension to
>>> the package management language to add workflow management features.
>>
>> I probably don’t understand your idea well enough, but from what I
>> understand it doesn’t really have much to do with packages (other than
>> using them) and store manipulation per se (produced artifacts are not
>> added to the store).  Exactly what features of Guix do you want to build
>> on?

I would like to build on the language to express packages.  What's nice
about the package recipes is that they are understandable, they are
shareable (just copy and paste the recipe) and from them a reproducible
output can be produced.

A package recipe describes its entire dependency graph because the
symbols in the inputs are turned into specific versions of the external
packages.  This is a very powerful feat for specifying how to run
things.

>> My perspective on pipelines is that they should be developed like any
>> other software package, treating individual tools as you would treat
>> libraries.  This means that a pipeline would have a configuration step
>> in which it checks for the paths of all tools it needs internally, and
>> then use the full paths rather than assume all tools to be in a
>> directory listed in the PATH variable.

When we would use Guix package recipes to describe tools, we wouldn't
need to search for them. We could just set up a profile with these tools
and set the environment variables suggested by Guix accordingly.

This way we can generate the exact dependency graph of a pipeline,
leaving no ambiguity to the run-time environment.

>> Distributing jobs to clusters would be the responsibility of the
>> pipeline, e.g. by using DRMMA, which supports several resource
>> management backends and has bindings for a wide range of programming
>> languages.

Wouldn't it be easier to write a pipeline in a language that has the
infrastructure to uniquely describe and deploy a program and its
dependencies?  You don't need to search for available tools, you can
just install them.  If they were available already, installing will be a
matter of creating a couple of symbolic links.

Here is a translation of a "real-world" process definition to my
 record type from one of the pipelines I studied.  It isn't a
perfect example because it uses a package that isn't in Guix..  Anyway:

===
(define (rnaseq-fastq-quality-control in out)
  (process
(name "rnaseq-fastq-quality-control")
(version "1.0")
(environment
 `(("fastqc" ,fastqc-bin-0.11.4)))
(input in)
(output (string-append out "/" name))
(procedure
 (script
  (interpreter 'guile)
  (source
(let ((sample-files (find-files in #:directories? #f)))
 `(begin
;; Create output directories.
(unless (access? ,out F_OK) (mkdir ,out))
(unless (access? ,output F_OK) (mkdir ,output))
;; Perform the analysis step.
(map (lambda (file)
   (when (string-suffix? ".fastq.gz" file)
 (system* "fastqc" "-q" file "-o" ,output)))
 ',sample-files))
(synopsis "Generate quality control reports for FastQ files")
(description "This process generates a quality control report
for a single FastQ file.")))
===

The resulting expression in `source' can be executed with Guile in any
place on a computing cluster (as long a

Re: Adding wc to Bournish

2016-06-14 Thread Efraim Flashner
On Wed, Jun 08, 2016 at 05:43:09PM +0200, Ludovic Courtès wrote:
> Efraim Flashner  skribis:
> 
> > On Sun, Jun 05, 2016 at 10:37:12PM +0200, Ludovic Courtès wrote:
> 
> [...]
> 
> >> I’ll commit a couple of fixes for bugs I just found and that prevent us
> >> from doing:
> >> 
> >>   (compile "ls" #:from %bournish-language #:to 'scheme).
> 
> (This should be be ‘read-and-compile’, not ‘compile’.)
> 
> Done in f82c58539e1f7b9b864e68ea2ab0c6a17c15fbb5.  Take a look at
> tests/bournish.scm for examples of what is expected.
> 

ok

> > From ebce5076177314bfd17a53019b3f6b6888762b01 Mon Sep 17 00:00:00 2001
> > From: Efraim Flashner 
> > Date: Sun, 22 May 2016 14:56:06 +0300
> > Subject: [PATCH] bournish: Add `wc' command.
> >
> > * guix/build/bournish.scm (file-size, wc-c-command, wc-l-command,
> > lines+chars, wc-command, wc-command-implementation): New variables.
> > (%commands): Add wc command.
> 
> [...]
> 
> > +(define* (wc-command-implementation filelist #:optional args)
> 
> ‘files’, not ‘filelist’.
> 

ok

> > +  (let ((files (filter (lambda (file)
> > + (catch 'system-error
> > +   (lambda ()
> > + (lstat file))
> > +   (lambda args
> > +  (let ((errno (system-error-errno args)))
> > +   (format (current-error-port) "~a: ~a~%"
> > +   file (strerror errno))
> > +   #f
> 
> ‘stat’ rather than ‘fstat’.
> 

ok

> > +(for-each
> > +  (lambda (file)
> > +(let-values (((lines chars)
> > +  (call-with-input-file file lines+chars)))
> > +(match args
> > +  (#\l
> > +   (format #t "~a ~a~%" lines file))
> > +  (#\c
> > +   (format #t "~a ~a~%" chars file))
> > +  (_
> > +   (format #t "~a ~a ~a~%" lines chars file)
> > +  files)))
> 
> OK.
> 

In the end I went with 3 separate functions for the three commands
(`wc', `wc -l', `wc -c') like you mentioned later.

> > +(define (wc-command args . rest)
> > +  (let* ((flags (cond ((string=? args "-l") #\l)
> > +  ((string=? args "-c") #\c)
> > +  (else #\nul; no flags, "args" is a file
> 
> I’d rather make it:
> 
>   (define (wc-commands . args)
> (cond ((member "-l" args) …)
>   ((member "-c" args) …)
>   (else …)))
> 
> Instead of the #\nul thing, I think it’d be best to have separate
> procedures for -l, -c, and the other case.

This also looks nicer, and I was able to strip the `-l' or `-c' before
passing the ,args to the implementation function.

> 
> > +((@@ (guix build bournish) wc-command-implementation)
> > + (if (char=? flags #\nul) (cons args rest) rest) flags)))
> 
> This is still not emitting code.  :-)  IOW, there should be a quasiquote
> here.
> 
> You can see that by running:
> 
>   (use-modules (system base compile) (guix build bournish))
>   (read-and-compile (open-input-string "wc -l foo")
> #:from %bournish-language #:to 'scheme)
> 
> This should return something like:
> 
>   `((@ (guix build bournish) wc-l-command-implementation) '("foo"))
> 

got this one fixed, which in turn broke the implementation code ;) In
the end I went with not a list, so it came out like this:

scheme@(guile-user)> (read-and-compile (open-input-string "wc -l foo bar baz") 
#:from %bournish-language #:to 'scheme)
$1 = ((@@ (guix build bournish) wc-l-command-implementation) "foo" "bar" "baz")

> Makes sense?  We’re almost done.
> 
> Please take a look at
> 
> to make the last review super fast.  ;-)
> 
> Thank you!
> 
> Ludo’.

I've attached what hopefully is the last patch for wc :) I took (and put
somewhere safe) the other code I wrote that does wc-c by calling (stat
file) and the one for wc-l that opens the file as a port and reads for
#\newlines.

-- 
Efraim Flashner  אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
From 60a473e123a5da4e3592c67aae8002bf11cca633 Mon Sep 17 00:00:00 2001
From: Efraim Flashner 
Date: Sun, 22 May 2016 14:56:06 +0300
Subject: [PATCH] bournish: Add `wc' command.

* guix/build/bournish.scm (lines+chars, wc-commands,
wc-command-implementation, wc-l-command-implementation,
wc-c-command-implementation): New variables.
(%commands): Add wc command.
---
 guix/build/bournish.scm | 79 -
 1 file changed, 78 insertions(+), 1 deletion(-)

diff --git a/guix/build/bournish.scm b/guix/build/bournish.scm
index 1f17e0a..a4c5b83 100644
--- a/guix/build/bournish.scm
+++ b/guix/build/bournish.scm
@@ -1,5 +1,6 @@
 ;;; GNU Guix --- Functional package

Re: Guix mentioned in Journal of Open Source Software (JOSS)

2016-06-14 Thread Andy Wingo
On Tue 14 Jun 2016 09:47, Pjotr Prins  writes:

> (3) I also think the default GUIX key should just be available. Why make
> guix authorize an extra step? When I install guix, I WANT it.

I agree.  If you are installing from a binary snapshot, you are trusting
binaries now.  Trusting binaries in the future is not the same but very
similar and almost always what the user wants.  The minority of users
that prefer a different source of binaries in the future can set this up
themselves.

Andy



Re: Adding wc to Bournish

2016-06-14 Thread Ricardo Wurmus

Efraim Flashner  writes:

> +(define wc-command-implementation
> +  (lambda files
> +(let ((files (filter (lambda (file)
> +   (catch 'system-error
> + (lambda ()
> +   (stat file))
> + (lambda args
> +   (let ((errno (system-error-errno args)))
> + (format (current-error-port) "~a: ~a~%"
> + file (strerror errno))
> + #f
> + files)))
> +  (for-each
> +(lambda (file)
> +  (let-values (((lines chars)
> +(call-with-input-file file lines+chars)))
> +  (format #t "~a ~a ~a~%" lines chars file)))
> +files
> +
> +(define wc-l-command-implementation
> +  (lambda files
> +(let ((files (filter (lambda (file)
> +   (catch 'system-error
> + (lambda ()
> +   (stat file))
> + (lambda args
> +   (let ((errno (system-error-errno args)))
> + (format (current-error-port) "~a: ~a~%"
> + file (strerror errno))
> + #f
> + files)))
> +  (for-each
> +(lambda (file)
> +  (let-values (((lines chars)
> +(call-with-input-file file lines+chars)))
> +  (format #t "~a ~a~%" lines file)))
> +files
> +
> +(define wc-c-command-implementation
> +  (lambda files
> +(let ((files (filter (lambda (file)
> +   (catch 'system-error
> + (lambda ()
> +   (stat file))
> + (lambda args
> +   (let ((errno (system-error-errno args)))
> +   (format (current-error-port) "~a: ~a~%"
> +   file (strerror errno))
> +   #f
> + files)))
> +  (for-each
> +(lambda (file)
> +  (let-values (((lines chars)
> +(call-with-input-file file lines+chars)))
> +  (format #t "~a ~a~%" chars file)))
> +files

It looks to me that the filter function is the same in all of these
procedures.  Even the actual implementation, i.e. the for-each over the
resulting files is almost exactly the same.

This could be simplified.  If only the format expression differs then
you could abstract this difference away.  You could still have three
different procedures, but they can be the result of evaluating a
higher-order function.

It also seems to me that you could use syntactic sugar to simplify
“(define something (lambda ...))” to “(define (something ...))”.

~~ Ricardo



Re: [PATCH 02/14] gnu: Add qtimageformats.

2016-06-14 Thread Efraim Flashner
On Tue, Jun 14, 2016 at 11:07:03AM +0200, Andreas Enge wrote:
> On Sun, Jun 12, 2016 at 11:20:24PM +0300, Efraim Flashner wrote:
> > quite possibly the inputs could be shortened, but since they're all
> > using qmake for configure I don't really know how to check.
> 
> You could compile the packages and use "guix gc --references" to check
> which of the inputs are used.
> 
> Two basic situations could occur:
> - Essentially all inputs of qtbase are also needed for the other packages.
>   Then in this special case, I think it does not matter too much to have
>   added a few additional inputs, which in any case will have no effect on
>   the build result or on installations.
> - Only qtbase is used as an input, and the occasional additional one.
>   Then I would add the inputs one by one by hand, until the package builds.
> I think that the first case is more likely, and would be happy with you
> pushing the packages then.
> 
> Andreas
> 

$ guix gc --references $(./pre-inst-env guix build qtsvg)

...

@ build-succeeded /gnu/store/1np6wm8mm9l8gljbr7qbknsbz8gz297j-qtsvg-5.6.1.drv -
   /gnu/store/8m00x5x8ykmar27s9248cmhnkdb2n54a-glibc-2.22
   /gnu/store/fikq4039zcbsa2wqlx33rq4kgp9gswk9-qtbase-5.6.1
   /gnu/store/hsxhfmjgh8m4c0pavq3gd3gcrn8zrgxj-zlib-1.2.8
   /gnu/store/lnrclizlj6kj5dag7f6fgc68nqybb941-mesa-11.0.9
   /gnu/store/v39bh3ln3ncnzhyw0kd12d46kww9747v-gcc-4.9.3-lib

$ guix gc --references $(./pre-inst-env guix build qtimageformats)

...

@ build-succeeded 
/gnu/store/7xsiyx1mampavj7c92by7ng8ml564grl-qtimageformats-5.6.1.drv -
 /gnu/store/39hhrf0sasq4qzmnz2nyji8xgzcwgj5h-libmng-2.0.3
 /gnu/store/8m00x5x8ykmar27s9248cmhnkdb2n54a-glibc-2.22
 /gnu/store/fikq4039zcbsa2wqlx33rq4kgp9gswk9-qtbase-5.6.1
 /gnu/store/hsxhfmjgh8m4c0pavq3gd3gcrn8zrgxj-zlib-1.2.8
 /gnu/store/lnrclizlj6kj5dag7f6fgc68nqybb941-mesa-11.0.9
 /gnu/store/v39bh3ln3ncnzhyw0kd12d46kww9747v-gcc-4.9.3-lib

It looks like they don't need the full list of inputs, so I'll run
through them and see how much it can be cleaned up. The other thing I
notice is that qtbase and these two all have references to mesa, which
makes me think it may not need to be propagated in qtbase afterall. Then
again, removing it may cause some packages that count on qt/qtbase's
mesa as an input will come up a dependancy short.


-- 
Efraim Flashner  אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted


signature.asc
Description: PGP signature


Re: How to deal with system-wide state databases

2016-06-14 Thread Ludovic Courtès
Roel Janssen  skribis:

> Ludovic Courtès writes:

[...]

>>> With this construct, I'd have to patch out the 'scrollkeeper-update'
>>> command from the GParted build system.
>>
>> Yes.
>
> Great.  So the next step with GParted is to create a
> 'scrollkeeper-database' hook.  I'm not sure how to do that by looking at
> the existing hooks, but I will attempt to create one.

To be clear, you can already provide a GParted package.  The
scrollkeeper hook is orthogonal.

Ludo’.



Re: syntax check before commit and patch: net-perl-psyc

2016-06-14 Thread Ludovic Courtès
Hello!

ng0  skribis:

> the following is an insert minus the header etc of
> net-perl-psyc. Before I commit and send in a patch, I'd
> like to check if there's anything I can improve.

Overall it looks good!

>(replace
> 'install
> (lambda* (#:key outputs #:allow-other-keys)
>   (let* ((out (assoc-ref outputs "out"))
>  (doc (string-append out "/share/doc/perl-net-psyc"))
>  (libpsyc (string-append out "/lib/psyc/ion"))
>  (libperl (string-append out "/lib/perl5/site_perl/"
>  ,(package-version perl)))
>  (bin (string-append out "/bin")))
> (copy-recursively "lib/perl5" libperl)
> (copy-recursively "lib/psycion" libpsyc)
> (copy-recursively "bin" bin)
> (install-file "cgi/psycpager" (string-append doc "/cgi"))
> (copy-recursively "contrib" (string-append doc "/contrib"))
> (copy-recursively "hooks" (string-append doc "/hooks"))
> (copy-recursively "sdj" (string-append doc "/sdj"))
> (install-file "README.txt" doc)
> (install-file "TODO.txt" doc)
> #t)))

Doesn’t “./Build install” do that?  (This is what ‘perl-build-system’
does, see (guix build perl-build-system).)

>(add-after 'install 'wrap-programs
>   (lambda* (#:key outputs #:allow-other-keys)
> ;; Make sure all executables in "bin" find the Perl 
> modules
> ;; provided by this package at runtime.
> (let* ((out  (assoc-ref outputs "out"))
>(bin  (string-append out "/bin/"))
>(path (string-append out 
> "/lib/perl5/site_perl")))
>   (for-each (lambda (file)
>   (wrap-program file
> `("PERL5LIB" ":" prefix (,path
> (find-files bin "\\.*$"))
>   ;; XXX: hooks/dpa2psyc,examples/{recvtest,sendtest},
>   ;; cgi/psycpager,contrib/{makenoise,keefchat
>   ;; contrib/MovableTypeBlog/plugins/psyc.pl
>   #t))

This reminds me that we should eventually update ‘perl-build-system’ to
have a ‘wrap’ phase similar to that of ‘python-build-system’.

Thanks,
Ludo’.



Re: [PATCH] gnurl: add CA path to configure-flags

2016-06-14 Thread Ludovic Courtès
ng0  skribis:

> On 2016-06-13(04:43:32+0200), Ludovic Courtès wrote:
>> Hi,
>>
>> Andreas Enge  skribis:
>>
>> > On Sat, Jun 11, 2016 at 08:51:28PM +, ng0 wrote:
>> >> * gnurl(configure-flags): --with-ca-path=/etc/ssl/certs/
>> >
>> > my impression is that this absolute path does not do what we would like
>> > it to. Optimally, the user would decide, by installing a certificate bundle
>> > into the profile, which certificates to use. And on a foreign distro, the
>> > random certificate bundle in /etc/ssl/certs, which does not come from Guix,
>> > would be used by the Guix gnurl, which would be surprising.
>>
>> Besides, our cURL and Gnurl packages are linked against GnuTLS, which is
>> itself configured with ‘--with-default-trust-store-dir=/etc/ssl/certs’.
>>
>> Does ‘--with-ca-path’ change anything to that?
>>
>> Thanks,
>> Ludo’.
>>
>
> I strongly assume that with those set, --with-ca-path is unnecessary.

Fine.  :-)

> I know patches are now tracked in patchworks, can they be closed via
> Email, or do I have to sign up? Else someone who already is signed up
> can close this, as from my perspective this is done.

I think one has to login, which is quite inconvenient.

Ludo’.



Re: Adding wc to Bournish

2016-06-14 Thread Efraim Flashner
On Tue, Jun 14, 2016 at 11:57:26AM +0200, Ricardo Wurmus wrote:
> 
> Efraim Flashner  writes:
> 
> > +(define wc-command-implementation
> > +  (lambda files
> > +(let ((files (filter (lambda (file)
> > +   (catch 'system-error
> > + (lambda ()
> > +   (stat file))
> > + (lambda args
> > +   (let ((errno (system-error-errno args)))
> > + (format (current-error-port) "~a: ~a~%"
> > + file (strerror errno))
> > + #f
> > + files)))
> > +  (for-each
> > +(lambda (file)
> > +  (let-values (((lines chars)
> > +(call-with-input-file file lines+chars)))
> > +  (format #t "~a ~a ~a~%" lines chars file)))
> > +files
> > +
> > +(define wc-l-command-implementation
> > +  (lambda files
> > +(let ((files (filter (lambda (file)
> > +   (catch 'system-error
> > + (lambda ()
> > +   (stat file))
> > + (lambda args
> > +   (let ((errno (system-error-errno args)))
> > + (format (current-error-port) "~a: ~a~%"
> > + file (strerror errno))
> > + #f
> > + files)))
> > +  (for-each
> > +(lambda (file)
> > +  (let-values (((lines chars)
> > +(call-with-input-file file lines+chars)))
> > +  (format #t "~a ~a~%" lines file)))
> > +files
> > +
> > +(define wc-c-command-implementation
> > +  (lambda files
> > +(let ((files (filter (lambda (file)
> > +   (catch 'system-error
> > + (lambda ()
> > +   (stat file))
> > + (lambda args
> > +   (let ((errno (system-error-errno args)))
> > +   (format (current-error-port) "~a: ~a~%"
> > +   file (strerror errno))
> > +   #f
> > + files)))
> > +  (for-each
> > +(lambda (file)
> > +  (let-values (((lines chars)
> > +(call-with-input-file file lines+chars)))
> > +  (format #t "~a ~a~%" chars file)))
> > +files
> 
> It looks to me that the filter function is the same in all of these
> procedures.  Even the actual implementation, i.e. the for-each over the
> resulting files is almost exactly the same.
> 
> This could be simplified.  If only the format expression differs then
> you could abstract this difference away.  You could still have three
> different procedures, but they can be the result of evaluating a
> higher-order function.
> 
> It also seems to me that you could use syntactic sugar to simplify
> “(define something (lambda ...))” to “(define (something ...))”.
> 
> ~~ Ricardo

It's already calling `((@@ (guix build bournish)
wc-l-command-implementation) ,@(delete "-l" args)), I could try changing
the ,@(delete part to ,@((@@ (guix build bournish) only-files) ,@(delete
"-l" args)) and then the various implementation functions will be just
printing the results

-- 
Efraim Flashner  אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted


signature.asc
Description: PGP signature


Re: [PATCH v4] gnu: Add teensy-loader-cli.

2016-06-14 Thread Hartmut Goebel
Am 13.06.2016 um 22:41 schrieb Leo Famulari:
> What do you think about the changes suggested here?
> http://lists.gnu.org/archive/html/guix-devel/2016-06/msg00131.html 

Oh, I missed this. Thanks for pointing me to it.

The quasiquote is what I was looking for, thanks. I'll send an updated
patch later today.



-- 
Regards
Hartmut Goebel

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





Re: Adding wc to Bournish

2016-06-14 Thread Efraim Flashner
On Tue, Jun 14, 2016 at 01:20:29PM +0300, Efraim Flashner wrote:
> On Tue, Jun 14, 2016 at 11:57:26AM +0200, Ricardo Wurmus wrote:
> > 
> > Efraim Flashner  writes:
> > 
> > > +(define wc-command-implementation
> > > +  (lambda files
> > > +(let ((files (filter (lambda (file)
> > > +   (catch 'system-error
> > > + (lambda ()
> > > +   (stat file))
> > > + (lambda args
> > > +   (let ((errno (system-error-errno args)))
> > > + (format (current-error-port) "~a: ~a~%"
> > > + file (strerror errno))
> > > + #f
> > > + files)))
> > > +  (for-each
> > > +(lambda (file)
> > > +  (let-values (((lines chars)
> > > +(call-with-input-file file lines+chars)))
> > > +  (format #t "~a ~a ~a~%" lines chars file)))
> > > +files
> > > +
> > > +(define wc-l-command-implementation
> > > +  (lambda files
> > > +(let ((files (filter (lambda (file)
> > > +   (catch 'system-error
> > > + (lambda ()
> > > +   (stat file))
> > > + (lambda args
> > > +   (let ((errno (system-error-errno args)))
> > > + (format (current-error-port) "~a: ~a~%"
> > > + file (strerror errno))
> > > + #f
> > > + files)))
> > > +  (for-each
> > > +(lambda (file)
> > > +  (let-values (((lines chars)
> > > +(call-with-input-file file lines+chars)))
> > > +  (format #t "~a ~a~%" lines file)))
> > > +files
> > > +
> > > +(define wc-c-command-implementation
> > > +  (lambda files
> > > +(let ((files (filter (lambda (file)
> > > +   (catch 'system-error
> > > + (lambda ()
> > > +   (stat file))
> > > + (lambda args
> > > +   (let ((errno (system-error-errno args)))
> > > +   (format (current-error-port) "~a: ~a~%"
> > > +   file (strerror errno))
> > > +   #f
> > > + files)))
> > > +  (for-each
> > > +(lambda (file)
> > > +  (let-values (((lines chars)
> > > +(call-with-input-file file lines+chars)))
> > > +  (format #t "~a ~a~%" chars file)))
> > > +files
> > 
> > It looks to me that the filter function is the same in all of these
> > procedures.  Even the actual implementation, i.e. the for-each over the
> > resulting files is almost exactly the same.
> > 
> > This could be simplified.  If only the format expression differs then
> > you could abstract this difference away.  You could still have three
> > different procedures, but they can be the result of evaluating a
> > higher-order function.
> > 
> > It also seems to me that you could use syntactic sugar to simplify
> > “(define something (lambda ...))” to “(define (something ...))”.
> > 
> > ~~ Ricardo
> 
> It's already calling `((@@ (guix build bournish)
> wc-l-command-implementation) ,@(delete "-l" args)), I could try changing
> the ,@(delete part to ,@((@@ (guix build bournish) only-files) ,@(delete
> "-l" args)) and then the various implementation functions will be just
> printing the results
> 

It turns out I forgot that calling only-files from wc-commands would
make it evaluate too soon, so I stuck it inside the different
implementations. Factoring out the check if a file exists or not could
also apply to the ls-command-implementation too later.


-- 
Efraim Flashner  אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
From 09eef9cd841a7d212e024be0609168611923696b Mon Sep 17 00:00:00 2001
From: Efraim Flashner 
Date: Sun, 22 May 2016 14:56:06 +0300
Subject: [PATCH] bournish: Add `wc' command.

* guix/build/bournish.scm (lines+chars, only-files, wc-commands,
wc-command-implementation, wc-l-command-implementation,
wc-c-command-implementation): New variables.
(%commands): Add wc command.
---
 guix/build/bournish.scm | 58 -
 1 file changed, 57 insertions(+), 1 deletion(-)

diff --git a/guix/build/bournish.scm b/guix/build/bournish.scm
index 1f17e0a..a8f6591 100644
--- a/guix/build/bournish.scm
+++ b/guix/build/bournish.scm
@@ -1,5 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2016 Ludovic Courtès 
+;;; Copyri

Re: [PATCH] gnu: boost: Allow for customizable build flags.

2016-06-14 Thread Ricardo Wurmus

David Thompson  writes:

> From: David Thompson 
>
> * gnu/packages/boost.scm (boost)[arguments]: Extract build flags to 
> #:make-flags argument.

If I understand correctly, this moves the let-bound “build-flags” to
regular make-flags and reuses the default mechanism for passing
make-flags, right?

If this is so it looks good to me.

(It’s a little hard for me to read the patch because of the indentation
change.)

~~ Ricardo


>  gnu/packages/boost.scm | 80 
> +-
>  1 file changed, 40 insertions(+), 40 deletions(-)
>
> diff --git a/gnu/packages/boost.scm b/gnu/packages/boost.scm
> index 0a644e8..882f9cc 100644
> --- a/gnu/packages/boost.scm
> +++ b/gnu/packages/boost.scm
> @@ -51,50 +51,50 @@
> ("python" ,python-2)
> ("tcsh" ,tcsh)))
>  (arguments
> - (let ((build-flags
> -`("threading=multi" "link=shared"
> + `(#:tests? #f
> +   #:make-flags
> +   (list "threading=multi" "link=shared"
>  
> -  ;; Set the RUNPATH to $libdir so that the libs find each other.
> -  (string-append "linkflags=-Wl,-rpath="
> - (assoc-ref outputs "out") "/lib")
> + ;; Set the RUNPATH to $libdir so that the libs find each other.
> + (string-append "linkflags=-Wl,-rpath="
> +(assoc-ref %outputs "out") "/lib")
>  
> -  ;; Boost's 'context' library is not yet supported on mips64, so
> -  ;; we disable it.  The 'coroutine' library depends on 
> 'context',
> -  ;; so we disable that too.
> -  ,@(if (string-prefix? "mips64" (or (%current-target-system)
> - (%current-system)))
> -'("--without-context"
> -  "--without-coroutine" "--without-coroutine2")
> -'()
> -   `(#:tests? #f
> - #:phases
> - (modify-phases %standard-phases
> -   (replace
> -'configure
> -(lambda* (#:key outputs #:allow-other-keys)
> -  (let ((out (assoc-ref outputs "out")))
> -(substitute* '("libs/config/configure"
> -   "libs/spirit/classic/phoenix/test/runtest.sh"
> -   "tools/build/doc/bjam.qbk"
> -   "tools/build/src/engine/execunix.c"
> -   "tools/build/src/engine/Jambase"
> -   "tools/build/src/engine/jambase.c")
> -  (("/bin/sh") (which "sh")))
> + ;; Boost's 'context' library is not yet supported on mips64, so
> + ;; we disable it.  The 'coroutine' library depends on 'context',
> + ;; so we disable that too.
> + ,@(if (string-prefix? "mips64" (or (%current-target-system)
> +(%current-system)))
> +   '("--without-context"
> + "--without-coroutine" "--without-coroutine2")
> +   '()))
> +   #:phases
> +   (modify-phases %standard-phases
> + (replace
> + 'configure
> +   (lambda* (#:key outputs #:allow-other-keys)
> + (let ((out (assoc-ref outputs "out")))
> +   (substitute* '("libs/config/configure"
> +  "libs/spirit/classic/phoenix/test/runtest.sh"
> +  "tools/build/doc/bjam.qbk"
> +  "tools/build/src/engine/execunix.c"
> +  "tools/build/src/engine/Jambase"
> +  "tools/build/src/engine/jambase.c")
> + (("/bin/sh") (which "sh")))
>  
> -(setenv "SHELL" (which "sh"))
> -(setenv "CONFIG_SHELL" (which "sh"))
> +   (setenv "SHELL" (which "sh"))
> +   (setenv "CONFIG_SHELL" (which "sh"))
>  
> -(zero? (system* "./bootstrap.sh"
> -(string-append "--prefix=" out)
> -"--with-toolset=gcc")
> -   (replace
> -'build
> -(lambda* (#:key outputs #:allow-other-keys)
> -  (zero? (system* "./b2" ,@build-flags
> -   (replace
> -'install
> -(lambda* (#:key outputs #:allow-other-keys)
> -  (zero? (system* "./b2" "install" ,@build-flags
> +   (zero? (system* "./bootstrap.sh"
> +   (string-append "--prefix=" out)
> +   "--with-toolset=gcc")
> + (replace
> + 'build
> +   (lambda* (#:key outputs make-flags #:allow-other-keys)
> + (zero? (apply system* "./b2" make-flags
> + (replace
> + 'install
> +   (lambda* (#:key outputs make-flags #:allow-other-keys)
> + 

Re: [PATCH 00/14] modular qt patches

2016-06-14 Thread Efraim Flashner
On Sun, Jun 12, 2016 at 04:13:21PM +0200, Andreas Enge wrote:
> Hello,
> 
> one other question: Would there be a good source for descriptions to adapt
> them for each module?
> 
> Andreas
> 

I haven't checked if there's a good upstream source, but a good
addition to the description could be: "This provides the qtsvg module"
(for qtsvg), or "This package provides the qtconcurrent, qtcore, qtdbus,
qtgui, qtopenglextensions, qtplatformheaders, qtplatformsupport,
qtprintsupport, qtsql, qttest, qtwidgets, qtxml modules." (for qtbase).

-- 
Efraim Flashner  אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted


signature.asc
Description: PGP signature


Re: Adding wc to Bournish

2016-06-14 Thread Ricardo Wurmus

Efraim Flashner  writes:

>> It's already calling `((@@ (guix build bournish)
>> wc-l-command-implementation) ,@(delete "-l" args)), I could try changing
>> the ,@(delete part to ,@((@@ (guix build bournish) only-files) ,@(delete
>> "-l" args)) and then the various implementation functions will be just
>> printing the results
>> 
>
> It turns out I forgot that calling only-files from wc-commands would
> make it evaluate too soon, so I stuck it inside the different
> implementations. Factoring out the check if a file exists or not could
> also apply to the ls-command-implementation too later.

I don’t understand this (but don’t let this delay you).  I don’t see any
“only-files” in your patch.  To delay evaluation you can always wrap
expressions in “(lambda _ ...)”.

I was thinking of a first simplification like this:


(define (existing-files file)
  (catch 'system-error
(lambda ()
  (stat file))
(lambda args
  (let ((errno (system-error-errno args)))
(format (current-error-port) "~a: ~a~%"
file (strerror errno))
#f

(define (wc-print file)
  (let-values (((lines chars)
(call-with-input-file file lines+chars)))
(format #t "~a ~a ~a~%" lines chars file)))

(define (wc-l-print file)
  (let-values (((lines chars)
(call-with-input-file file lines+chars)))
(format #t "~a ~a~%" lines file)))

(define (wc-c-print file)
  (let-values (((lines chars)
(call-with-input-file file lines+chars)))
(format #t "~a ~a~%" chars file)))

(define (wc-command-implementation files)
  (for-each wc-print (filter existing-files files)))

(define (wc-l-command-implementation files)
  (for-each wc-l-print (filter existing-files files)))

(define (wc-c-command-implementation files)
  (for-each wc-c-print (filter existing-files files)))


Even at this point there’s a lot of repetition that we could get rid of,
but maybe that’s too zealous.  Note that I didn’t follow this whole
discussion, so I could be completely off target.

~~ Ricardo



[PATCH v5] gnu: Add teensy-loader-cli.

2016-06-14 Thread Hartmut Goebel
* gnu/packages/flashing-tools.scm (teensy-loader-cli): New variable.
* gnu/packages/patches/teensy-loader-cli-Add-support-for-h-help.patch,
  gnu/packages/patches/teensy-loader-cli-Change-program-name-in-usage.patch
  New files.
---
 gnu/packages/flashing-tools.scm| 53 ++
 .../teensy-loader-cli-Add-support-for-h-help.patch | 34 ++
 ...y-loader-cli-Change-program-name-in-usage.patch | 33 ++
 3 files changed, 120 insertions(+)
 create mode 100644 
gnu/packages/patches/teensy-loader-cli-Add-support-for-h-help.patch
 create mode 100644 
gnu/packages/patches/teensy-loader-cli-Change-program-name-in-usage.patch

diff --git a/gnu/packages/flashing-tools.scm b/gnu/packages/flashing-tools.scm
index 37a1072..65f68a6 100644
--- a/gnu/packages/flashing-tools.scm
+++ b/gnu/packages/flashing-tools.scm
@@ -160,3 +160,56 @@ With dfu-util you are able to download firmware to your 
device or upload
 firmware from it.")
 (home-page "http://dfu-util.sourceforge.net/";)
 (license gpl2+)))
+
+(define-public teensy-loader-cli
+  ;; The repo does not tag versions nor does it use releases, but a commit
+  ;; message says "Importing 2.1", while the sourcce still says "2.0". So pin
+  ;; to a fixed commit.
+  (let ((commit "f289b7a2e5627464044249f0e5742830e052e360"))
+(package
+  (name "teensy-loader-cli")
+  (version (string-append "2.1-1." (string-take commit 7)))
+  (source
+   (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/PaulStoffregen/";
+ "teensy_loader_cli/archive/" commit ".tar.gz"))
+ (sha256 (base32 
"17wqc2q4fa473cy7f5m2yiyb9nq0qw7xal2kzrxzaikgm9rabsw8"))
+ (file-name (string-append "teensy-loader-cli-" version ".tar.gz" ))
+ (modules '((guix build utils)))
+ (snippet
+  `(begin
+ ;; Remove example flash files and teensy rebooter flash binaries.
+ (for-each delete-file (find-files "." "\\.(elf|hex)$"))
+ ;; Fix the version
+ (substitute* "teensy_loader_cli.c"
+   (("Teensy Loader, Command Line, Version 2.0n")
+(string-append "Teensy Loader, Command Line, " ,version 
"\\n")))
+ #t))
+   (patches (search-patches
+ "teensy-loader-cli-Add-support-for-h-help.patch"
+ "teensy-loader-cli-Change-program-name-in-usage.patch"
+  (build-system gnu-build-system)
+  (arguments
+   '(#:tests? #f ;; Makefile has no test target
+ #:make-flags (list "CC=gcc" (string-append "PREFIX=" %output))
+ #:phases
+ (modify-phases %standard-phases
+   (delete 'configure)
+   (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+   (let* ((out (assoc-ref outputs "out"))
+  (bin (string-append out "/bin")))
+ (rename-file "teensy_loader_cli" "teensy-loader-cli")
+ (install-file "teensy-loader-cli" bin)))
+  (inputs
+   `(("libusb-compat" ,libusb-compat)))
+  (synopsis "Command line firmware uploader for Teensy development boards")
+  (description "The Teensy Loader program communicates with your
+Teensy board when the HalfKay bootloader is running, so you can
+download new programs and run them.
+
+You'll need to add the udev-rules to make the teensy update available
+for non-root users.")
+  (home-page "https://www.pjrc.com/teensy/loader_cli.html";)
+  (license gpl3
diff --git 
a/gnu/packages/patches/teensy-loader-cli-Add-support-for-h-help.patch 
b/gnu/packages/patches/teensy-loader-cli-Add-support-for-h-help.patch
new file mode 100644
index 000..a5e0128
--- /dev/null
+++ b/gnu/packages/patches/teensy-loader-cli-Add-support-for-h-help.patch
@@ -0,0 +1,34 @@
+Add support for `-h` (help).
+This option was already in the usage message, but not implemented.
+
+Upstream pull-request pending.
+
+---
+ teensy_loader_cli.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/teensy_loader_cli.c b/teensy_loader_cli.c
+index d4a6cc5..0a06209 100644
+--- a/teensy_loader_cli.c
 b/teensy_loader_cli.c
+@@ -37,7 +37,8 @@ void usage(const char *err)
+ {
+   if(err != NULL) fprintf(stderr, "%s\n\n", err);
+   fprintf(stderr,
+-  "Usage: teensy_loader_cli --mcu= [-w] [-h] [-n] [-b] [-v] 
\n"
++  "Usage: teensy_loader_cli --mcu= [-h] [-w] [-n] [-b] [-v] 
\n"
++  "\t-h : Print this help message\n"
+   "\t-w : Wait for device to appear\n"
+   "\t-r : Use hard reboot if device not online\n"
+   "\t-s : Use soft reboot if device not online (Teensy3.x only)\n"
+@@ -1081,6 +1082,7 @@ void parse_flag(char *arg)
+   int i;
+   for(i=1; arg[i]; i++) {
+   switch(arg[i]) {
++  case 'h': usage(NULL); break;
+   case '

Re: [PATCH] gnu: boost: Allow for customizable build flags.

2016-06-14 Thread Thompson, David
On Tue, Jun 14, 2016 at 6:54 AM, Ricardo Wurmus
 wrote:
>
> David Thompson  writes:
>
>> From: David Thompson 
>>
>> * gnu/packages/boost.scm (boost)[arguments]: Extract build flags to 
>> #:make-flags argument.
>
> If I understand correctly, this moves the let-bound “build-flags” to
> regular make-flags and reuses the default mechanism for passing
> make-flags, right?

Yes, exactly.  With it I can easily create things like a statically
linked variant.

~283 packages will need to rebuilt with this change, so maybe
core-updates would be a good place to put this?  Or would it be
core-updates-next?  I'm not sure anymore. :)

Thanks!

- Dave



Re: [PATCH] gnu: boost: Allow for customizable build flags.

2016-06-14 Thread Efraim Flashner
On Tue, Jun 14, 2016 at 07:41:31AM -0400, Thompson, David wrote:
> On Tue, Jun 14, 2016 at 6:54 AM, Ricardo Wurmus
>  wrote:
> >
> > David Thompson  writes:
> >
> >> From: David Thompson 
> >>
> >> * gnu/packages/boost.scm (boost)[arguments]: Extract build flags to 
> >> #:make-flags argument.
> >
> > If I understand correctly, this moves the let-bound “build-flags” to
> > regular make-flags and reuses the default mechanism for passing
> > make-flags, right?
> 
> Yes, exactly.  With it I can easily create things like a statically
> linked variant.
> 
> ~283 packages will need to rebuilt with this change, so maybe
> core-updates would be a good place to put this?  Or would it be
> core-updates-next?  I'm not sure anymore. :)
> 
> Thanks!
> 
> - Dave
> 

I would toss it into core-updates and hope Ludo doesn't notice :). I don't
think it's quite reached building out that far yet so it should be ok.

-- 
Efraim Flashner  אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted


signature.asc
Description: PGP signature


Re: [PATCH] gnu: boost: Allow for customizable build flags.

2016-06-14 Thread Ludovic Courtès
"Thompson, David"  skribis:

> On Tue, Jun 14, 2016 at 6:54 AM, Ricardo Wurmus
>  wrote:
>>
>> David Thompson  writes:
>>
>>> From: David Thompson 
>>>
>>> * gnu/packages/boost.scm (boost)[arguments]: Extract build flags to 
>>> #:make-flags argument.
>>
>> If I understand correctly, this moves the let-bound “build-flags” to
>> regular make-flags and reuses the default mechanism for passing
>> make-flags, right?
>
> Yes, exactly.  With it I can easily create things like a statically
> linked variant.
>
> ~283 packages will need to rebuilt with this change, so maybe
> core-updates would be a good place to put this?  Or would it be
> core-updates-next?  I'm not sure anymore. :)

Heh, I think we need a PhD student to work on the scheduling of changes
in the package DAG (seriously, I think that’d be a real topic!).

Please apply to ‘core-updates’ and we’ll get it built.

Thanks!

Ludo’.



Re: Install gpg2 as gpg

2016-06-14 Thread Ludovic Courtès
Hi!

Andreas Enge  skribis:

> By the way, should we maybe make pinentry a propagated input of gnupg-2.1?
> If I understand correctly, gnupg-2.1 will not work without it (and mixing
> pinentry from Debian with gnupg-2.1 from Guix was one of the reasons for
> gnupg not working at first).

I don’t think it would help to propagate it since one needs to
explicitly specify the pinentry program in ~/.gnupg/gpg.conf, no?
Or maybe this is only needed if none of the pinentry programs is found
in $PATH?

Ludo’.



Re: Install gpg2 as gpg

2016-06-14 Thread Ludovic Courtès
Leo Famulari  skribis:

> There was discussion of installing the gnupg-2.1 binaries 'gpg2' and 
> 'gpgv2' as 'gpg' and 'gpgv' on the 'Trustable guix pull' thread [0].
>
> If we do this, it will become impossible to install gnupg-1 and 
> gnupg-2.1 in the same profile, due to collisions of 'gpg' and 'gpgv' and 
> their man pages. There are no collisions without this change.
>
> It might also require users to update their scripts.
>
> On the other hand, Werner recommends the change.

Go for it!

> The configuration option does not exist for gnupg-2.0.

Really?  Then we should do the same by hand, I guess.

Thank you!

Ludo’.



Re: OpenSSL CVE-2016-2177, CVE-2016-2178

2016-06-14 Thread Ludovic Courtès
Leo Famulari  skribis:

> On Sun, Jun 12, 2016 at 10:49:23PM +0200, Ludovic Courtès wrote:
>> Leo Famulari  skribis:
>> > CVE-2016-2177
>> > http://seclists.org/oss-sec/2016/q2/500
>> >
>> > CVE-2016-2178
>> > http://seclists.org/oss-sec/2016/q2/493
>> >
>> > Should we try cherry-picking the upstream commits from the OpenSSL
>> > development repo?
>> 
>> Sounds like it.  Could you look into it?
>
> I've attached my patch.
>
> According to OpenSSL's security policy [0], they seem to consider these
> bugs to be "LOW severity", since they did not keep them private or issue
> a new release, or even an advisory [1].
>
> There is also some discussion of the severity in this thread:
> http://seclists.org/oss-sec/2016/q2/493
>
> So, perhaps it's not worth the risk of cherry-picking these commits out
> of context, at least not without asking the upstream maintainers.
>
> Thoughts?

I don’t feel qualified to judge the severity of the bug (they do seem
hard to exploit, but I’m no expert.)

Since you’ve already done the work, I think we should simply apply those
fixes.

Makes sense?

Thank you!

Ludo’.



[PATCH] gnu: Add gengetopt.

2016-06-14 Thread Ricardo Wurmus
* gnu/packages/popt.scm (gengetopt): New variable.
---
 gnu/packages/popt.scm | 30 +-
 1 file changed, 29 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/popt.scm b/gnu/packages/popt.scm
index 0832766..e940df1 100644
--- a/gnu/packages/popt.scm
+++ b/gnu/packages/popt.scm
@@ -1,6 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2013, 2014, 2016 Ludovic Courtès 
-;;; Copyright © 2015 Ricardo Wurmus 
+;;; Copyright © 2015, 2016 Ricardo Wurmus 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -119,3 +119,31 @@ meaningful to that file.  Any application that links in 
that file will get the
 flags, and the gflags library will automatically handle that flag
 appropriately.")
 (license bsd-3)))
+
+(define-public gengetopt
+  (package
+(name "gengetopt")
+(version "2.22.6")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append "mirror://gnu/gengetopt/gengetopt-"
+   version ".tar.gz"))
+   (sha256
+(base32
+ "1xq1kcfs6hri101ss4dhym0jn96z4v6jdvx288mfywadc245mc1h"
+(build-system gnu-build-system)
+(arguments
+ `(#:parallel-build? #f))   ; not supported
+(synopsis "Create parsers for command line options")
+(description
+ "GNU Gengetopt is a program to generate a C/C++ function for parsing
+command-line options using the getopt_long function found in GNU
+libc, removing some of the tedium of this task for large programs
+that accept many options.  The options parsed by the generated
+function may be in both short (e.g., \"-h\") and long (\"--help\")
+formats, as specified by the GNU coding standards.  Additionally, the
+output of the standard options \"--help\" and \"--version\" is generated
+automatically.")
+(home-page "http://www.gnu.org/software/gengetopt/gengetopt.html";)
+(license gpl3+)))
-- 
2.4.11




Re: [PATCH] gnu: Add python-wcwidth and python2-wcwidth.

2016-06-14 Thread Danny Milosavljevic
On Mon, 13 Jun 2016 16:59:14 -0400
Leo Famulari  wrote:

> On Sun, Jun 12, 2016 at 05:40:06PM +0200, Danny Milosavljevic wrote:
> > * gnu/packages/python.scm (python-wcwidth, python2-wcwidth): New variables. 
> >  
> 
> Thanks for the patch!
> 
> What do you think of the attached changes to the synopsis and
> description?

Nice!

>@code{wcwidth} and @code{wcwidth}

E



[PATCH] gnu: Add log4cpp.

2016-06-14 Thread Ricardo Wurmus
* gnu/packages/logging.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
---
 gnu/local.mk |  1 +
 gnu/packages/logging.scm | 47 +++
 2 files changed, 48 insertions(+)
 create mode 100644 gnu/packages/logging.scm

diff --git a/gnu/local.mk b/gnu/local.mk
index 73aef0a..f896839 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -212,6 +212,7 @@ GNU_SYSTEM_MODULES =\
   %D%/packages/lisp.scm\
   %D%/packages/llvm.scm\
   %D%/packages/lout.scm\
+  %D%/packages/logging.scm \
   %D%/packages/lsh.scm \
   %D%/packages/lsof.scm\
   %D%/packages/lua.scm \
diff --git a/gnu/packages/logging.scm b/gnu/packages/logging.scm
new file mode 100644
index 000..68af09e
--- /dev/null
+++ b/gnu/packages/logging.scm
@@ -0,0 +1,47 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2016 Ricardo Wurmus 
+;;;
+;;; 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 logging)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix packages)
+  #:use-module (guix utils)
+  #:use-module (guix download)
+  #:use-module (guix build-system gnu)
+  #:use-module (gnu packages))
+
+(define-public log4cpp
+  (package
+(name "log4cpp")
+(version "1.1.1")
+(source (origin
+  (method url-fetch)
+  (uri (string-append "mirror://sourceforge/log4cpp/log4cpp-"
+  (version-major+minor version) 
".x%20%28new%29"
+  "/log4cpp-" (version-major+minor version)
+  "/log4cpp-" version ".tar.gz"))
+  (sha256
+   (base32
+"1l5yz5rfzzv6g3ynrj14mxfsk08cp5h1ssr7d74hjs0accrg7arm"
+(build-system gnu-build-system)
+(synopsis "Log library for C++")
+(description
+ "Log4cpp is library of C++ classes for flexible logging to files, syslog,
+IDSA and other destinations.  It is modeled after the Log4j Java library,
+staying as close to their API as is reasonable.")
+(home-page "http://log4cpp.sourceforge.net/";)
+(license license:lgpl2.1+)))
-- 
2.8.4




Re: [PATCH] 0 of 2: emacs-lua-mode, emacs-ebuild-mode

2016-06-14 Thread ng0
On 2016-06-14(11:46:08+0300), Alex Kost wrote:
> ng0 (2016-06-14 00:35 +0300) wrote:
>
> > The following 2 patches add 2 new major modes.
> >
> > 2 is to be applied after 1 for they directly
> > follow each other in the emacs.scm file
>
> The patches look good to me except I cannot apply them.  git gives the
> following error:
>
>   error: could not build fake ancestor
>
> Could you remade the patches, please?

This is weird, I rebased them on the master before I sent them out.
Well, I'll send in the new patches once I have tried and succesfully
applied them in a local second copy.

>
> BTW, are you Nils Gillmann?  If so, are you going to use "ng0
> " to identify yourself?
>
> --
> Alex
>

--
♥Ⓐ ng0
For non-prism friendly talk find me on
psyced.org / loupsycedyglgamf.onion


signature.asc
Description: Digital signature


Re: [WIP 0/8] GNOME Maps

2016-06-14 Thread Ludovic Courtès
Leo Famulari  skribis:

> On Mon, May 02, 2016 at 10:37:06AM +0200, Ludovic Courtès wrote:
>> Leo Famulari  skribis:
>> 
>> > $ gnome-maps
>> > ** (org.gnome.Maps:14112): WARNING **: Failed to load shared library 
>> > 'libgoa-1.0.so.0' referenced by the typelib: libgoa-1.0.so.0: cannot open 
>> > shared object file: No such file or directory
>> 
>> It says “warning”, but that’s probably a significant issue since libgoa
>> is the “GNOME Online Accounts” library.  I suppose this can be fixed by
>> adding ‘gnome-online-accounts’ to the LD_LIBRARY_PATH.  Could you try
>> this?
>
> It works for version 3.18.2! Attached.

Cool, let’s commit this one as a starting point!

> But now 3.20.1 is out, and I want to use that version. It fails like
> this:
>
> ---
> $ ./pre-inst-env guix environment --ad-hoc gnome-maps -- gnome-maps
> (org.gnome.Maps:30607): Gjs-WARNING **: JS ERROR: Error: Requiring Geoclue, 
> version none: Typelib file for namespace 'Geoclue' (any version) not found
> @resource:///org/gnome/Maps/js/geoclue.js:23
> @resource:///org/gnome/Maps/js/application.js:34
> @resource:///org/gnome/Maps/js/main.js:43
> start@resource:///org/gnome/gjs/modules/package.js:176
> @/gnu/store/9dsfcqfnpjg81mbibxi5qvnbcz29srzy-gnome-maps-3.20.1/share/gnome-maps/org.gnome.Maps:5
>
> JS_EvaluateScript() failed
> ---
>
> So, I'm building geoclue with gobject-introspection overnight.

Did we eventually figure out where/how this thing looks for typelib
file/gobject-introspection data?  It seems to be a “simple matter” of
telling it where to look for whatever it’s looking for.  :-)

> From 95bc258f419673e1e311429383a08d850155fac9 Mon Sep 17 00:00:00 2001
> From: Leo Famulari 
> Date: Sat, 5 Mar 2016 02:33:09 -0500
> Subject: [PATCH] gnu: Add gnome-maps.
>
> * gnu/packages/maps.scm: New file.
> * gnu-system.am (GNU_SYSTEM_MODULES): Add it.

Make sure to add a license header, but otherwise LGTM, thanks!

Ludo’.



Re: Guix mentioned in Journal of Open Source Software (JOSS)

2016-06-14 Thread Ludovic Courtès
Howdy!

Ricardo Wurmus  skribis:

> Pjotr Prins  writes:
>
>> We published a paper on GeneNetwork which uses Guix for deployment:
>>
>>   http://joss.theoj.org/papers/10.21105/joss.00025
>
> Congratulations on getting the paper accepted!

Indeed, well done!

>> (1) Roel has suggested we should script the binary installation. I think
>> that is a fine idea. That was hurdle one.
>>
>> (2) Hurdle two is fixating the package tree. I would really like a 
>>
>>   git pull --version HASH
>
> “guix” or “git”?

I think ‘guix’, but eventually it’ll be almost the same:

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

I think the plan outlined in this bug report should address your
concerns, Pjotr, and I agree it’d be very useful.

>> (3) I also think the default GUIX key should just be available. Why make
>> guix authorize an extra step? When I install guix, I WANT it.
>
> What default key do you mean?

For substitutes.

Maybe the 7 steps described under “Binary Installation” should be
replaced by a shell script that would be added in the binary tarball?
Hopefully it would be below 20 lines and people could easily check what
it does.

That script could also add the hydra.gnu.org key to the ACL.

Thoughts?

Ludo’.



Re: syntax check before commit and patch: net-perl-psyc

2016-06-14 Thread ng0
On 2016-06-14(12:10:05+0200), Ludovic Courtès wrote:
> Hello!
>
> ng0  skribis:
>
> > the following is an insert minus the header etc of
> > net-perl-psyc. Before I commit and send in a patch, I'd
> > like to check if there's anything I can improve.
>
> Overall it looks good!
>
> >(replace
> > 'install
> > (lambda* (#:key outputs #:allow-other-keys)
> >   (let* ((out (assoc-ref outputs "out"))
> >  (doc (string-append out "/share/doc/perl-net-psyc"))
> >  (libpsyc (string-append out "/lib/psyc/ion"))
> >  (libperl (string-append out "/lib/perl5/site_perl/"
> >  ,(package-version perl)))
> >  (bin (string-append out "/bin")))
> > (copy-recursively "lib/perl5" libperl)
> > (copy-recursively "lib/psycion" libpsyc)
> > (copy-recursively "bin" bin)
> > (install-file "cgi/psycpager" (string-append doc "/cgi"))
> > (copy-recursively "contrib" (string-append doc "/contrib"))
> > (copy-recursively "hooks" (string-append doc "/hooks"))
> > (copy-recursively "sdj" (string-append doc "/sdj"))
> > (install-file "README.txt" doc)
> > (install-file "TODO.txt" doc)
> > #t)))
>
> Doesn’t “./Build install” do that?  (This is what ‘perl-build-system’
> does, see (guix build perl-build-system).)
>


No, as it's not existing in the perlpsyc repository,
and the install above does what our gentoo overlay
ebuild of Net-PSYC does, which the author of the
software themselves maintains.

~/src/re-src/psyced/perlpsyc/INSTALL.txt:

You can simply move the contents of bin and lib into
the respective directories of /usr/local and things
should work from there. You can also put things into
/usr/depot, then add /usr/depot/bin to your PATH.

You may want to install a perl interpreter.

For a proper integration into your Unix distribution,
reach out for your vendor team.


> >(add-after 'install 'wrap-programs
> >   (lambda* (#:key outputs #:allow-other-keys)
> > ;; Make sure all executables in "bin" find the Perl 
> > modules
> > ;; provided by this package at runtime.
> > (let* ((out  (assoc-ref outputs "out"))
> >(bin  (string-append out "/bin/"))
> >(path (string-append out 
> > "/lib/perl5/site_perl")))
> >   (for-each (lambda (file)
> >   (wrap-program file
> > `("PERL5LIB" ":" prefix (,path
> > (find-files bin "\\.*$"))
> >   ;; XXX: 
> > hooks/dpa2psyc,examples/{recvtest,sendtest},
> >   ;; cgi/psycpager,contrib/{makenoise,keefchat
> >   ;; contrib/MovableTypeBlog/plugins/psyc.pl
> >   #t))
>
> This reminds me that we should eventually update ‘perl-build-system’ to
> have a ‘wrap’ phase similar to that of ‘python-build-system’.
>
> Thanks,
> Ludo’.
>

Thanks for taking the time to look into it.
Would you know if other than the source of perl-build-system, the section 
7.2.6.1
"Locale Data Compatibility Considerations" and the section above (and below?) in
the manual could serve as an explanation to the authors question of
"Why do you wrap such a simple language as perl?" ?

I know it becomes more obvious once you look more into details, but maybe you
have an explanation which wouldn't take so many turns as mine, or be too simple
("look at the source").

thanks,
--
♥Ⓐ ng0
For non-prism friendly talk find me on
psyced.org / loupsycedyglgamf.onion


signature.asc
Description: Digital signature


Re: [Patch] go@1.4 Updated patch

2016-06-14 Thread Ludovic Courtès
l...@gnu.org (Ludovic Courtès) skribis:

> It seems we’re almost done!  I was about to commit it with the changes
> below on top of the patch you posted (they are mostly cosmetic.)
>
> Since there are parts I don’t fully understand, I thought I’d leave it
> up to you.  In particular, could you could at least replace the “why” in
> the comments below with explanations of why this is done?
>
> Also, why do we need this “src” output?  IIUC, it contains the source of
> some of the unit tests, right?

One last thing I forgot to mention: building with --rounds=2 shows that
the build is not reproducible (some differences in a few .a files.)

If you prefer, we can address it in a later patch, though.

Thanks,
Ludo’.



Re: Install gpg2 as gpg

2016-06-14 Thread ng0
On 2016-06-14(09:52:46AM+0200), Andreas Enge wrote:
> Hello,
>
> On Mon, Jun 13, 2016 at 05:07:08PM -0400, Leo Famulari wrote:
> > On Mon, Jun 13, 2016 at 08:24:23PM +, ng0 wrote:
> > > What if we patched gpg-1 to not colide with gpg-2?
> > >
> > > For example, move gpg and gpgv and man pages of them
> > > for gpg-1 to something which has -1 in its name.
> > > On the other hand this would have to be consistent and be followed
> > > straigth to not colide again. I'm not sure if this
> > > approach will work out in the long run.
> >
> > Unless this is a configuration option supported by upstream GnuPG, I
> > don't want to do that. For the same reason, my patch does not affect
> > gnupg-2.0.

The -as-gnupg2 option got me for a moment, I forgot that this is gnupg-1.

>
> I agree with this argument - one of our principles is to mess as little
> as possible with upstream packages. In this case, since there is a special
> configuration option for gnupg-2, we may use it, but then we would have
> to pay the price that both gnupg-1 (or gnupg-2.0) and gnupg-2.1 could not
> be installed together any more. Maybe it would then be consistent to drop
> gnupg-2.0 from the distribution.

gnupg-2.0 and gnupg-2.1 are currently individual packages which can be
installed side by side in guix?

> Finally I managed to make gnupg-2.1 work together with mutt, but it was
> not completely straightforward... So we should document the change if we
> make it.

Yes, there have been some changes, but they are documented upstream.
When this is desired for Guix, I can see if I can recall what I did
in 2015 where it went from working to broken to almost working and
now completely functional with GnuPG2.1.x

I'd be curious if it just works when I can move to GuixSD again with
libgcrypt-1.7 merged.

> By the way, should we maybe make pinentry a propagated input of gnupg-2.1?
> If I understand correctly, gnupg-2.1 will not work without it (and mixing
> pinentry from Debian with gnupg-2.1 from Guix was one of the reasons for
> gnupg not working at first).
>
> Andreas
>
>

--
♥Ⓐ ng0
For non-prism friendly talk find me on
psyced.org / loupsycedyglgamf.onion


signature.asc
Description: Digital signature


Re: [PATCH] gnu: boost: Allow for customizable build flags.

2016-06-14 Thread Thompson, David
On Tue, Jun 14, 2016 at 8:04 AM, Ludovic Courtès  wrote:
> "Thompson, David"  skribis:
>
>> On Tue, Jun 14, 2016 at 6:54 AM, Ricardo Wurmus
>>  wrote:
>>>
>>> David Thompson  writes:
>>>
 From: David Thompson 

 * gnu/packages/boost.scm (boost)[arguments]: Extract build flags to 
 #:make-flags argument.
>>>
>>> If I understand correctly, this moves the let-bound “build-flags” to
>>> regular make-flags and reuses the default mechanism for passing
>>> make-flags, right?
>>
>> Yes, exactly.  With it I can easily create things like a statically
>> linked variant.
>>
>> ~283 packages will need to rebuilt with this change, so maybe
>> core-updates would be a good place to put this?  Or would it be
>> core-updates-next?  I'm not sure anymore. :)
>
> Heh, I think we need a PhD student to work on the scheduling of changes
> in the package DAG (seriously, I think that’d be a real topic!).

There certainly are some subtleties. ;)

> Please apply to ‘core-updates’ and we’ll get it built.

Done, thanks!

- Dave



Re: [PATCH] 2 of 2: emacs-ebuild-mode [v2]

2016-06-14 Thread ng0
From 1237cf72109c020e299f2eeb0898418a7520c415 Mon Sep 17 00:00:00 2001
From: ng0 
Date: Tue, 14 Jun 2016 13:03:50 +
Subject: [PATCH] gnu: Add emacs-ebuild-mode.

* gnu/packages/emacs.scm (emacs-ebuild-mode): New Variable
---
 gnu/packages/emacs.scm | 21 +
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index dfe2e23..cb6464d 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -2134,3 +2134,24 @@ CIDER).")
  "This Emacs package provides a mode for @uref{https://www.lua.org/,
 Lua programing language}.")
 (license license:gpl2+)))
+
+(define-public emacs-ebuild-mode
+  (package
+(name "emacs-ebuild-mode")
+(version "1.30")
+(source (origin
+  (method url-fetch)
+  (uri (string-append
+"https://dev.gentoo.org/~ulm/emacs/ebuild-mode";
+"-" version ".tar.xz"))
+  (file-name (string-append name "-" version ".tar.xz"))
+  (sha256
+   (base32
+"0vp7lq1kvmh1b2bms2x1kf2k76dy9m02d7cirkxpiglwaxa0h9vz"
+(build-system emacs-build-system)
+(home-page "https://devmanual.gentoo.org";)
+(synopsis "Major modes for Gentoo package files")
+(description
+ "This Emacs package provides modes for ebuild, eclass, eblit, GLEP42
+news items, openrc and runscripts.")
+(license license:gpl2+)))
--
2.8.4
From 1237cf72109c020e299f2eeb0898418a7520c415 Mon Sep 17 00:00:00 2001
From: ng0 
Date: Tue, 14 Jun 2016 13:03:50 +
Subject: [PATCH] gnu: Add emacs-ebuild-mode.

* gnu/packages/emacs.scm (emacs-ebuild-mode): New Variable
---
 gnu/packages/emacs.scm | 21 +
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index dfe2e23..cb6464d 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -2134,3 +2134,24 @@ CIDER).")
  "This Emacs package provides a mode for @uref{https://www.lua.org/,
 Lua programing language}.")
 (license license:gpl2+)))
+
+(define-public emacs-ebuild-mode
+  (package
+(name "emacs-ebuild-mode")
+(version "1.30")
+(source (origin
+  (method url-fetch)
+  (uri (string-append
+"https://dev.gentoo.org/~ulm/emacs/ebuild-mode";
+"-" version ".tar.xz"))
+  (file-name (string-append name "-" version ".tar.xz"))
+  (sha256
+   (base32
+"0vp7lq1kvmh1b2bms2x1kf2k76dy9m02d7cirkxpiglwaxa0h9vz"
+(build-system emacs-build-system)
+(home-page "https://devmanual.gentoo.org";)
+(synopsis "Major modes for Gentoo package files")
+(description
+ "This Emacs package provides modes for ebuild, eclass, eblit, GLEP42
+news items, openrc and runscripts.")
+(license license:gpl2+)))
-- 
2.8.4



signature.asc
Description: Digital signature


Re: [PATCH] 1 of 2: emacs-lua-mode [v2]

2016-06-14 Thread ng0
From 8788b9c676b2fc0738325c055176e07ce9f88788 Mon Sep 17 00:00:00 2001
From: ng0 
Date: Tue, 14 Jun 2016 13:00:59 +
Subject: [PATCH] gnu: Add emacs-lua-mode.

* gnu/packages/emacs.scm (emacs-lua-mode): New Variable.
---
 gnu/packages/emacs.scm | 22 ++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 6a79412..dfe2e23 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -13,6 +13,7 @@
 ;;; Copyright © 2016 David Thompson 
 ;;; Copyright © 2016 Matthew Jordan 
 ;;; Copyright © 2016 Roel Janssen 
+;;; Copyright © 2016 ng0 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -2112,3 +2113,24 @@ There are plenty of differences between CIDER and SLIME, 
but the core ideas
 are pretty much the same (and SLIME served as the principle inspiration for
 CIDER).")
 (license license:gpl3+)))
+
+(define-public emacs-lua-mode
+  (package
+(name "emacs-lua-mode")
+(version "20151025")
+(source (origin
+  (method url-fetch)
+  (uri (string-append
+"https://github.com/immerrr/lua-mode/archive/v";
+version ".tar.gz"))
+  (file-name (string-append name "-" version ".tar.gz"))
+  (sha256
+   (base32
+"0sbhfny5ib65cnx6xcy6h9bbw27mw034s8m9cca00bhxqaqi6p4v"
+(build-system emacs-build-system)
+(home-page "http://github.com/immerrr/lua-mode/";)
+(synopsis "Major mode for lua")
+(description
+ "This Emacs package provides a mode for @uref{https://www.lua.org/,
+Lua programing language}.")
+(license license:gpl2+)))
--
2.8.4
From 8788b9c676b2fc0738325c055176e07ce9f88788 Mon Sep 17 00:00:00 2001
From: ng0 
Date: Tue, 14 Jun 2016 13:00:59 +
Subject: [PATCH] gnu: Add emacs-lua-mode.

* gnu/packages/emacs.scm (emacs-lua-mode): New Variable.
---
 gnu/packages/emacs.scm | 22 ++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 6a79412..dfe2e23 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -13,6 +13,7 @@
 ;;; Copyright © 2016 David Thompson 
 ;;; Copyright © 2016 Matthew Jordan 
 ;;; Copyright © 2016 Roel Janssen 
+;;; Copyright © 2016 ng0 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -2112,3 +2113,24 @@ There are plenty of differences between CIDER and SLIME, but the core ideas
 are pretty much the same (and SLIME served as the principle inspiration for
 CIDER).")
 (license license:gpl3+)))
+
+(define-public emacs-lua-mode
+  (package
+(name "emacs-lua-mode")
+(version "20151025")
+(source (origin
+  (method url-fetch)
+  (uri (string-append
+"https://github.com/immerrr/lua-mode/archive/v";
+version ".tar.gz"))
+  (file-name (string-append name "-" version ".tar.gz"))
+  (sha256
+   (base32
+"0sbhfny5ib65cnx6xcy6h9bbw27mw034s8m9cca00bhxqaqi6p4v"
+(build-system emacs-build-system)
+(home-page "http://github.com/immerrr/lua-mode/";)
+(synopsis "Major mode for lua")
+(description
+ "This Emacs package provides a mode for @uref{https://www.lua.org/,
+Lua programing language}.")
+(license license:gpl2+)))
-- 
2.8.4



signature.asc
Description: Digital signature


Re: [PATCH] 0 of 2: emacs-lua-mode, emacs-ebuild-mode .

2016-06-14 Thread ng0
On 2016-06-13(09:35:17PM+), ng0 wrote:
> The following 2 patches add 2 new major modes.
>
> 2 is to be applied after 1 for they directly
> follow each other in the emacs.scm file
>

Resent based on current master (13:00 UTC).

--
♥Ⓐ ng0
For non-prism friendly talk find me on
psyced.org / loupsycedyglgamf.onion


signature.asc
Description: Digital signature


Re: Install gpg2 as gpg

2016-06-14 Thread Leo Famulari
On Tue, Jun 14, 2016 at 12:49:42PM +, ng0 wrote:
> gnupg-2.0 and gnupg-2.1 are currently individual packages which can be
> installed side by side in guix?

They are different packages but I assume they cannot be installed
together since they both have the 'gpg2' and 'gpg2v' binaries and man
pages, so they would collide in the profile.



Re: [PATCH] gnu: Add python-wcwidth and python2-wcwidth.

2016-06-14 Thread Leo Famulari
On Tue, Jun 14, 2016 at 02:13:32PM +0200, Danny Milosavljevic wrote:
> On Mon, 13 Jun 2016 16:59:14 -0400
> Leo Famulari  wrote:
> 
> > On Sun, Jun 12, 2016 at 05:40:06PM +0200, Danny Milosavljevic wrote:
> > > * gnu/packages/python.scm (python-wcwidth, python2-wcwidth): New 
> > > variables.  
> > 
> > Thanks for the patch!
> > 
> > What do you think of the attached changes to the synopsis and
> > description?
> 
> Nice!
> 
> >@code{wcwidth} and @code{wcwidth}
> 
> E

I'm not sure how to interpret that :) Is it a negative reaction?

It's texinfo markup that allows the marked up text to be displayed "as
code", however you want to interpret that. I think it is monospaced in
some formats. In `guix package --show` it is quoted in a particular way.



Re: Install gpg2 as gpg

2016-06-14 Thread Leo Famulari
On Tue, Jun 14, 2016 at 02:09:41PM +0200, Ludovic Courtès wrote:
> Leo Famulari  skribis:
> 
> > There was discussion of installing the gnupg-2.1 binaries 'gpg2' and 
> > 'gpgv2' as 'gpg' and 'gpgv' on the 'Trustable guix pull' thread [0].

[...]

> > The configuration option does not exist for gnupg-2.0.
> 
> Really?  Then we should do the same by hand, I guess.

Any volunteers? ;)



Re: [PATCH] gnu: youtube-dl: Update to 2016.06.14.

2016-06-14 Thread Alex Vong
Efraim Flashner  writes:

> On Tue, Jun 14, 2016 at 01:15:28PM +0800, Alex Vong wrote:
>> Hi,
>> 
>> This patch upgrades youtube-dl to the latest version. Also, the source
>> uri and home-page uri are changed to use https. The change is made
>> because the http source uri was redirected to a https uri, causing
>> youtube-dl to FTBFS on my machine.
>> 
>> Thanks,
>> Alex
>> 
>
> I see that they're now hosting their files on Github, before they were
> on some other site that didn't have a valid certificate for
> youtube-dl.org.
>
> pushed!

Thank you!



[PATCH] gnu: services: Add mysql-service.

2016-06-14 Thread 宋文武
* gnu/services/database.scm (): New record type.
(%mysql-accounts, mysql-service-type): New variables.
(mysql-configuration-file, %mysql-activation, mysql-shepherd-services)
(mysql-services): New procedures.
* doc/guix.texi (Database Services): Document it.
---
 doc/guix.texi  |  19 +++-
 gnu/services/databases.scm | 107 -
 2 files changed, 124 insertions(+), 2 deletions(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index 46d9e77..e163f36 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -7985,7 +7985,7 @@ web site} for more information.
 @node Database Services
 @subsubsection Database Services
 
-The @code{(gnu services databases)} module provides the following service.
+The @code{(gnu services databases)} module provides the following services.
 
 @deffn {Scheme Procedure} postgresql-service [#:postgresql postgresql] @
[#:config-file] [#:data-directory ``/var/lib/postgresql/data'']
@@ -7997,6 +7997,23 @@ The PostgreSQL daemon loads its runtime configuration 
from
 @var{data-directory}.
 @end deffn
 
+@deffn {Scheme Procedure} mysql-service [#:config (mysql-configuration)]
+Return a service that runs @command{mysqld}, the MySQL database server.
+
+The optional @var{config} argument specifies the configuration for
+@command{mysqld}, which should be a @code{} object.
+@end deffn
+
+@deftp {Data Type} mysql-configuration
+Data type representing the configuration of @var{mysql-service}.
+
+@table @asis
+@item @code{mysql} (default: @var{mariadb})
+Package object of the MySQL database server, can be either @var{mariadb}
+or @var{mysql}.
+@end table
+@end deftp
+
 @node Mail Services
 @subsubsection Mail Services
 
diff --git a/gnu/services/databases.scm b/gnu/services/databases.scm
index 690375e..fb063da 100644
--- a/gnu/services/databases.scm
+++ b/gnu/services/databases.scm
@@ -27,7 +27,9 @@
   #:use-module (guix records)
   #:use-module (guix gexp)
   #:use-module (ice-9 match)
-  #:export (postgresql-service))
+  #:export (postgresql-service
+mysql-service
+mysql-configuration))
 
 ;;; Commentary:
 ;;;
@@ -143,3 +145,106 @@ and stores the database cluster in @var{data-directory}."
 (postgresql postgresql)
 (config-file config-file)
 (data-directory data-directory
+
+
+;;;
+;;; MySQL.
+;;;
+
+(define-record-type* 
+  mysql-configuration make-mysql-configuration
+  mysql-configuration?
+  (mysql mysql-configuration-mysql (default mariadb)))
+
+(define %mysql-accounts
+  (list (user-group
+ (name "mysql")
+ (system? #t))
+(user-account
+ (name "mysql")
+ (group "mysql")
+ (system? #t)
+ (home-directory "/var/empty")
+ (shell #~(string-append #$shadow "/sbin/nologin")
+
+(define mysql-configuration-file
+  (match-lambda
+(($  mysql)
+ (plain-file "my.cnf" "[mysqld]
+datadir=/var/lib/mysql
+socket=/run/mysqld/mysqld.sock
+"
+
+(define (%mysql-activation config)
+  (let ((mysql  (mysql-configuration-mysql config))
+(my.cnf (mysql-configuration-file config)))
+#~(begin
+(use-modules (ice-9 popen)
+ (guix build utils))
+(let* ((mysqld  (string-append #$mysql "/bin/mysqld"))
+   (user(getpwnam "mysql"))
+   (uid (passwd:uid user))
+   (gid (passwd:gid user))
+   (datadir "/var/lib/mysql")
+   (rundir  "/run/mysqld"))
+  (mkdir-p datadir)
+  (chown datadir uid gid)
+  (mkdir-p rundir)
+  (chown rundir uid gid)
+  ;; Initialize the database when it doesn't exist.
+  (when (not (file-exists? (string-append datadir "/mysql")))
+(let ((p (open-pipe* OPEN_WRITE mysqld
+ (string-append "--defaults-file=" #$my.cnf)
+ "--bootstrap"
+ "--user=mysql")))
+  ;; Create the system database, according to 'mysql_install_db'.
+  (display "create database mysql;\n" p)
+  (display "use mysql;\n" p)
+  (for-each
+  (lambda (sql)
+(call-with-input-file
+(string-append #$mysql "/share/mysql/" sql)
+  (lambda (in) (dump-port in p
+  '("mysql_system_tables.sql"
+"mysql_performance_tables.sql"
+"mysql_system_tables_data.sql"
+"fill_help_tables.sql"))
+  ;; Remove the anonymous user and disable root access from
+  ;; remote machines, according to 'mysql_secure_installation'.
+  (display "
+DELETE FROM user WHERE User='';
+DELETE FROM user WHERE User='root' AND
+  Host NOT IN  ('localhost', '127.0.0.1', '::1');
+FLUSH PRIVILEGES;
+" p)
+  (close-pipe p)))
+
+(define (mysql-shepherd-service config)
+  (list (shepherd-service
+ (pr

Re: [WIP 0/8] GNOME Maps

2016-06-14 Thread Leo Famulari
On Tue, Jun 14, 2016 at 02:17:52PM +0200, Ludovic Courtès wrote:
> Leo Famulari  skribis:
> > It works for version 3.18.2! Attached.
> 
> Cool, let’s commit this one as a starting point!

Soon :) I need to clean it up and re-review the earlier part of the
patch series.

> > But now 3.20.1 is out, and I want to use that version. It fails like
> > this:
> >
> > ---
> > $ ./pre-inst-env guix environment --ad-hoc gnome-maps -- gnome-maps
> > (org.gnome.Maps:30607): Gjs-WARNING **: JS ERROR: Error: Requiring Geoclue, 
> > version none: Typelib file for namespace 'Geoclue' (any version) not found
> > @resource:///org/gnome/Maps/js/geoclue.js:23
> > @resource:///org/gnome/Maps/js/application.js:34
> > @resource:///org/gnome/Maps/js/main.js:43
> > start@resource:///org/gnome/gjs/modules/package.js:176
> > @/gnu/store/9dsfcqfnpjg81mbibxi5qvnbcz29srzy-gnome-maps-3.20.1/share/gnome-maps/org.gnome.Maps:5
> >
> > JS_EvaluateScript() failed
> > ---
> >
> > So, I'm building geoclue with gobject-introspection overnight.

Doing this worked. But of course there are more problems :)

> Did we eventually figure out where/how this thing looks for typelib
> file/gobject-introspection data?  It seems to be a “simple matter” of
> telling it where to look for whatever it’s looking for.  :-)

I'll contact the upstream developers for advice.



[PATCH] Re: syntax check before commit and patch: net-perl-psyc

2016-06-14 Thread ng0
From 771d300cd6f195720e782464ce7a7328edcf566f Mon Sep 17 00:00:00 2001
From: ng0 
Date: Tue, 14 Jun 2016 14:52:52 +
Subject: [PATCH] gnu: Add perl-net-psyc.

* gnu/packages/perl.scm (perl-net-psyc): New Variable.
---
 gnu/packages/perl.scm | 69 +++
 1 file changed, 69 insertions(+)

diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index e7e7967..c16a913 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -7,6 +7,7 @@
 ;;; Copyright © 2016 Mark H Weaver 
 ;;; Copyright © 2016 Jochem Raat 
 ;;; Copyright © 2016 Efraim Flashner 
+;;; Copyright © 2016 ng0 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -28,6 +29,7 @@
   #:use-module (gnu packages)
   #:use-module (guix packages)
   #:use-module (guix download)
+  #:use-module (guix git-download)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system perl))

@@ -3865,6 +3867,73 @@ cycle.  Functions called in the package itself will 
still be bound by their
 name, but they won't show up as methods on your class or instances.")
 (license (package-license perl

+;; highly optional dependencies: rxaudio (mp3 binary from 1996)
+;; opt. perl: MP3::List (psycmp3), Curses (psycion), pwd.pl
+;; (psyccmd), SGI::FAM module (psycfilemonitor); for full
+;; functionality package all except MP3::List.
+(define-public perl-net-psyc
+  (let ((commit "4176f5236e73e99391c0877152d5596ab0a9b154"))
+(package
+  (name "perl-net-psyc")
+  (version (string-append "1.0" "-"
+  (string-take commit 7)))
+  (source (origin
+(method git-fetch)
+(uri (git-reference
+  (url "git://git.psyced.org/git/perlpsyc")
+  (commit commit)))
+(file-name (string-append name "-" version))
+(sha256
+ (base32
+  "19msvr1kriqa6n8cnk8z96xd5i0v5cy2y52jsj08vaj79b4m7sph"
+  (build-system perl-build-system)
+  (arguments
+   `(#:phases
+ (modify-phases %standard-phases
+   (delete 'configure)
+   (delete 'build)
+   (replace
+'install
+(lambda* (#:key outputs #:allow-other-keys)
+  (let* ((out (assoc-ref outputs "out"))
+ (doc (string-append out "/share/doc/perl-net-psyc"))
+ (libpsyc (string-append out "/lib/psyc/ion"))
+ (libperl (string-append out "/lib/perl5/site_perl/"
+ ,(package-version perl)))
+ (bin (string-append out "/bin")))
+(copy-recursively "lib/perl5" libperl)
+(copy-recursively "lib/psycion" libpsyc)
+(copy-recursively "bin" bin)
+(install-file "cgi/psycpager" (string-append doc "/cgi"))
+(copy-recursively "contrib" (string-append doc "/contrib"))
+(copy-recursively "hooks" (string-append doc "/hooks"))
+(copy-recursively "sdj" (string-append doc "/sdj"))
+(install-file "README.txt" doc)
+(install-file "TODO.txt" doc)
+#t)))
+   (add-after 'install 'wrap-programs
+  (lambda* (#:key outputs #:allow-other-keys)
+;; Make sure all executables in "bin" find the Perl 
modules
+;; provided by this package at runtime.
+(let* ((out  (assoc-ref outputs "out"))
+   (bin  (string-append out "/bin/"))
+   (path (string-append out 
"/lib/perl5/site_perl")))
+  (for-each (lambda (file)
+  (wrap-program file
+`("PERL5LIB" ":" prefix (,path
+(find-files bin "\\.*$"))
+  ;; XXX: hooks/dpa2psyc,examples/{recvtest,sendtest},
+  ;; cgi/psycpager,contrib/{makenoise,keefchat
+  ;; contrib/MovableTypeBlog/plugins/psyc.pl
+  #t))
+  (description
+   "Perl implementation of PSYC protocol plus psycion, remotor, psycmp3 
etc.")
+  (synopsis
+   "Perl implementation of PSYC protocol plus psycion, remotor, psycmp3 
etc.")
+  (home-page "http://perlpsyc.pages.de";)
+  ;;dual licensed: gpl2+ Artistic
+  (license (list gpl2+ (package-license perl))
+
 (define-public perl-number-compare
   (package
 (name "perl-number-compare")
--
2.8.4
From 771d300cd6f195720e782464ce7a7328edcf566f Mon Sep 17 00:00:00 2001
From: ng0 
Date: Tue, 14 Jun 2016 14:52:52 +
Subject: [PATCH] gnu: Add perl-net-psyc.

* gnu/packages/perl.scm (perl-net-psyc): New Variable.
---
 gnu/packages/perl.scm | 69 +++
 1 file changed, 69 insertions(+)

[PATCH] gnu: Add python2-qrcode

2016-06-14 Thread Daniel Pimentel

Added python2-qrcode.

--
Daniel Pimentel (aka d4n1)From 3a9c7b2ed591a32ff7d8b40f1b24ee51f8350577 Mon Sep 17 00:00:00 2001
From: Daniel Pimentel 
Date: Tue, 14 Jun 2016 16:23:41 -0300
Subject: [PATCH 3/3] gnu: Add python2-qrcode

---
 gnu/packages/python.scm | 26 ++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index c9ac1f1..efdce9a 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -9058,3 +9058,29 @@ new (proposed) 2.0 spec, which includes batch submission, keyword arguments,
  "This module implements the password-based key derivation function, 
 PBKDF2, specified in RSA PKCS#5 v2.0.")
 (license license:expat)))
+
+(define-public python2-qrcode
+  (package
+(name "python2-qrcode")
+(version "5.1")
+(source (origin
+  (method url-fetch)
+  (uri (string-append
+"http://pypi.python.org/packages/source/q/qrcode/qrcode-";
+version ".tar.gz"))
+  (sha256
+   (base32
+"0skzrvhjnnacrz52jml4i050vdx5lfcd3np172srxjaghdgfxg9k"
+(build-system python-build-system)
+(inputs
+ `(("python2-setuptools" ,python2-setuptools)
+   ("python2-pillow" ,python2-pillow)
+   ("python2-six" ,python2-six)))
+(arguments
+ `(#:python ,python-2)) ; only Python 2.7 is supported
+(home-page "https://pypi.python.org/pypi/qrcode";)
+(synopsis "Python library to generate QR Codes")
+(description
+ "Python library that uses image libraries, Python Imaging Library (PIL) 
+by default, to generate QR Codes.")
+(license license:expat)))
-- 
2.7.4



Re: [PATCH] gnu: Update python2-pbkdf2

2016-06-14 Thread Daniel Pimentel

Update patch to python2-pbkdf2

--
Daniel Pimentel (aka d4n1)From 701c0e1d213efe8efdb96fb82d6e7a10d0c2ac2e Mon Sep 17 00:00:00 2001
From: Daniel Pimentel 
Date: Tue, 14 Jun 2016 16:40:53 -0300
Subject: [PATCH 4/4] gnu: Update python2-pbkdf2

---
 gnu/packages/python.scm | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index efdce9a..e054c63 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -9050,8 +9050,9 @@ new (proposed) 2.0 spec, which includes batch submission, keyword arguments,
 "0yb99rl2mbsaamj571s1mf6vgniqh23v98k4632150hjkwv9fqxc"
 (build-system python-build-system)
 (inputs
- `(("python-setuptools" ,python-setuptools)))
-(arguments `(#:tests? #f))
+ `(("python2-setuptools" ,python2-setuptools)))
+(arguments
+ `(#:tests? #f)) ; test empty to build
 (home-page "https://www.dlitz.net/software/python-pbkdf2/";)
 (synopsis "A module that implements the password-based key derivation function PBKDF2")
 (description
-- 
2.7.4



Re: [PATCH] gnu: Add python2-qrcode

2016-06-14 Thread ng0
On 2016-06-14(04:26:08PM-0300), Daniel Pimentel wrote:
> Added python2-qrcode.
>
> --
> Daniel Pimentel (aka d4n1)

> From 3a9c7b2ed591a32ff7d8b40f1b24ee51f8350577 Mon Sep 17 00:00:00 2001
> From: Daniel Pimentel 
> Date: Tue, 14 Jun 2016 16:23:41 -0300
> Subject: [PATCH 3/3] gnu: Add python2-qrcode
>
> ---
>  gnu/packages/python.scm | 26 ++
>  1 file changed, 26 insertions(+)
>
> diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
> index c9ac1f1..efdce9a 100644
> --- a/gnu/packages/python.scm
> +++ b/gnu/packages/python.scm
> @@ -9058,3 +9058,29 @@ new (proposed) 2.0 spec, which includes batch 
> submission, keyword arguments,
>   "This module implements the password-based key derivation function,
>  PBKDF2, specified in RSA PKCS#5 v2.0.")
>  (license license:expat)))
> +
> +(define-public python2-qrcode
> +  (package
> +(name "python2-qrcode")
> +(version "5.1")
> +(source (origin
> +  (method url-fetch)
> +  (uri (string-append
> +"http://pypi.python.org/packages/source/q/qrcode/qrcode-";

Could you use https://pypi.python.org/packages/source/q/qrcode/qrcode-";
instead of the http uri?

> +version ".tar.gz"))
> +  (sha256
> +   (base32
> +"0skzrvhjnnacrz52jml4i050vdx5lfcd3np172srxjaghdgfxg9k"
> +(build-system python-build-system)
> +(inputs
> + `(("python2-setuptools" ,python2-setuptools)
> +   ("python2-pillow" ,python2-pillow)
> +   ("python2-six" ,python2-six)))
> +(arguments
> + `(#:python ,python-2)) ; only Python 2.7 is supported
> +(home-page "https://pypi.python.org/pypi/qrcode";)
> +(synopsis "Python library to generate QR Codes")
> +(description
> + "Python library that uses image libraries, Python Imaging Library (PIL)
> +by default, to generate QR Codes.")
> +(license license:expat)))
> --
> 2.7.4
>

Otherwise it looks good to me. I can't run it because I'm running and testing
something myself.

thanks,
--
♥Ⓐ ng0
For non-prism friendly talk find me on
psyced.org / loupsycedyglgamf.onion


signature.asc
Description: Digital signature


Re: [PATCH] gnu: Update python2-jsonrpclib

2016-06-14 Thread Daniel Pimentel

Update patch python2-jsonrpclib

--
Daniel Pimentel (aka d4n1)From 4abd2effdb7b75ef57109c53b9983186c214b0dd Mon Sep 17 00:00:00 2001
From: Daniel Pimentel 
Date: Tue, 14 Jun 2016 16:51:00 -0300
Subject: [PATCH 5/5] gnu: Update python2-jsonrpclib

---
 gnu/packages/python.scm | 6 --
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index e054c63..33bc932 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -9025,8 +9025,10 @@ focus on event-based network programming and multiprotocol integration.")
 "02vgirw2bcgvpcxhv5hf3yvvb4h5wzd1lpjx8na5psdmaffj6l3z"
 (build-system python-build-system)
 (inputs
- `(("python-setuptools" ,python-setuptools)))
-(arguments `(#:tests? #f))
+ `(("python2-setuptools" ,python2-setuptools)))
+(arguments
+ `(#:tests? #f
+#:python ,python-2))
 (home-page "https://github.com/joshmarshall/jsonrpclib/";)
 (synopsis "Implementation of JSON-RPC specification for Python")
 (description
-- 
2.7.4



Re: [PATCH] gnu: Update python2-pbkdf2

2016-06-14 Thread Daniel Pimentel

Update patch to python2-pbkdf2 (python2 support).

--
Daniel Pimentel (aka d4n1)From 0535122c2fe6e59b1ee9639224dae9a7ee8291c8 Mon Sep 17 00:00:00 2001
From: Daniel Pimentel 
Date: Tue, 14 Jun 2016 16:53:45 -0300
Subject: [PATCH 6/6] gnu: Update python2-pbkdf2

---
 gnu/packages/python.scm | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 33bc932..775b760 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -9054,7 +9054,8 @@ new (proposed) 2.0 spec, which includes batch submission, keyword arguments,
 (inputs
  `(("python2-setuptools" ,python2-setuptools)))
 (arguments
- `(#:tests? #f)) ; test empty to build
+ `(#:tests? #f
+#:python ,python-2))
 (home-page "https://www.dlitz.net/software/python-pbkdf2/";)
 (synopsis "A module that implements the password-based key derivation function PBKDF2")
 (description
-- 
2.7.4



Re: [PATCH] gnu: Update python2-pbkdf2

2016-06-14 Thread Daniel Pimentel

Add HTTPS in URI.

thanks,

--
Daniel Pimentel (aka d4n1)From facbf4a5b4c01abd583adebc66949737b9b54d19 Mon Sep 17 00:00:00 2001
From: Daniel Pimentel 
Date: Tue, 14 Jun 2016 17:00:57 -0300
Subject: [PATCH 8/8] gnu: Update python2-pbkdf2

---
 gnu/packages/python.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 0e2a162..997be60 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -9045,7 +9045,7 @@ new (proposed) 2.0 spec, which includes batch submission, keyword arguments,
 (source (origin
   (method url-fetch)
   (uri (string-append
-"http://pypi.python.org/packages/source/p/pbkdf2/pbkdf2-";
+"https://pypi.python.org/packages/source/p/pbkdf2/pbkdf2-";
 version ".tar.gz"))
   (sha256
(base32
-- 
2.7.4



Re: [PATCH] import: pypi: read requirements from wheels.

2016-06-14 Thread Cyril Roelandt
On 05/15/2016 09:49 PM, Ludovic Courtès wrote:
> 
> Cyril, if there’s nothing from the previous review round that’s missing,
> please push!

Finally done!

Cyril.




Re: [PATCH] gnu: Update python2-qrcode

2016-06-14 Thread Daniel Pimentel

Could you use https://pypi.python.org/packages/source/q/qrcode/qrcode-";
instead of the http uri?


Done!

Thanks :)

--
Daniel Pimentel (aka d4n1)From 55137a720f4642fff0b67d91e37887e1ae14b8c5 Mon Sep 17 00:00:00 2001
From: Daniel Pimentel 
Date: Tue, 14 Jun 2016 16:58:31 -0300
Subject: [PATCH 7/7] gnu: Update python2-qrcode

---
 gnu/packages/python.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 775b760..0e2a162 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -9070,7 +9070,7 @@ PBKDF2, specified in RSA PKCS#5 v2.0.")
 (source (origin
   (method url-fetch)
   (uri (string-append
-"http://pypi.python.org/packages/source/q/qrcode/qrcode-";
+"https://pypi.python.org/packages/source/q/qrcode/qrcode-";
 version ".tar.gz"))
   (sha256
(base32
-- 
2.7.4



Re: [WIP 0/8] GNOME Maps

2016-06-14 Thread Leo Famulari
On Tue, Jun 14, 2016 at 02:17:52PM +0200, Ludovic Courtès wrote:
> Leo Famulari  skribis:
> > It works for version 3.18.2! Attached.
> 
> Cool, let’s commit this one as a starting point!

I found it only works from within GNOME. In i3, it fails like this:
http://paste.lisp.org/display/318375

It never exits. It just hangs open after printing those warnings and
errors.

I don't know if that's acceptable or not.

> Did we eventually figure out where/how this thing looks for typelib
> file/gobject-introspection data?  It seems to be a “simple matter” of
> telling it where to look for whatever it’s looking for.  :-)

Working on it...

> Make sure to add a license header, but otherwise LGTM, thanks!

Revision attached!
>From 87f3c4b12c75287fde5ff96167c71501676c02f7 Mon Sep 17 00:00:00 2001
From: Leo Famulari 
Date: Sat, 5 Mar 2016 02:33:09 -0500
Subject: [PATCH] gnu: Add gnome-maps.

* gnu/packages/maps.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
---
 gnu/packages/maps.scm | 91 +++
 1 file changed, 91 insertions(+)
 create mode 100644 gnu/packages/maps.scm

diff --git a/gnu/packages/maps.scm b/gnu/packages/maps.scm
new file mode 100644
index 000..89962ce
--- /dev/null
+++ b/gnu/packages/maps.scm
@@ -0,0 +1,91 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2016 Leo Famulari 
+;;;
+;;; 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 maps)
+  #:use-module (guix build-system glib-or-gtk)
+  #:use-module (guix download)
+  #:use-module (guix licenses)
+  #:use-module (guix packages)
+  #:use-module (guix utils)
+  #:use-module (gnu packages glib) ; intltool
+  #:use-module (gnu packages gnome)
+  #:use-module (gnu packages gtk)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages webkit)
+  #:use-module (gnu packages xml))
+
+(define-public gnome-maps
+  (package
+(name "gnome-maps")
+(version "3.18.2")
+(source (origin
+  (method url-fetch)
+  (uri (string-append "mirror://gnome/sources/" name "/"
+  (version-major+minor version) "/"
+  name "-" version ".tar.xz"))
+  (sha256
+   (base32
+"0y4jmh5hwskh2mnladh9hxp9k8as7crm8wwwiifvxsjjj9az2gv9"
+(build-system glib-or-gtk-build-system)
+(arguments
+ `(#:configure-flags ; Ensure that geoclue is referred to by output.
+   (list (string-append "LDFLAGS=-L"
+(assoc-ref %build-inputs "geoclue") "/lib")
+ (string-append "CFLAGS=-I"
+(assoc-ref %build-inputs "geoclue") "/include"))
+   #:phases
+   (modify-phases %standard-phases
+ (add-after
+  'install 'wrap
+  (lambda* (#:key inputs outputs #:allow-other-keys)
+(let ((out (assoc-ref outputs "out"))
+  (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
+  (goa-path (string-append
+  (assoc-ref inputs "gnome-online-accounts")
+  "/lib")))
+  (wrap-program (string-append out "/bin/gnome-maps")
+   `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
+
+   ;; There seems to be no way to embed the path of libgoa-1.0.so.0.
+   `("LD_LIBRARY_PATH" ":" prefix (,goa-path)))
+  #t))
+(native-inputs
+ `(("gobject-introspection" ,gobject-introspection)
+   ("intltool" ,intltool)
+   ("pkg-config" ,pkg-config)))
+(inputs
+ `(("folks" ,folks)
+   ("libchamplain" ,libchamplain)
+   ("libgee" ,libgee)
+   ("libxml2" ,libxml2)
+   ("geoclue" ,geoclue)
+   ("geocode-glib" ,geocode-glib)
+   ("gfbgraph" ,gfbgraph)
+   ("gjs" ,gjs)
+   ("glib" ,glib)
+   ("gnome-online-accounts" ,gnome-online-accounts)
+   ("rest" ,rest)
+   ("webkitgtk" ,webkitgtk)))
+(propagated-inputs
+ `(("gtk+3" ,gtk+)))
+(synopsis "Graphical map viewer and wayfinding program")
+(description "GNOME Maps is a graphical map viewer.  It uses map data from
+the OpenStreetMap project. It can provide directions for walking, bicycling, and
+driving.")
+(home-page "https://wiki.gnome.org/Apps/Maps";)
+  

Re: [PATCH] gnu: Update python2-qrcode

2016-06-14 Thread ng0
On 2016-06-14(05:00:11-0300), Daniel Pimentel wrote:
> > Could you use https://pypi.python.org/packages/source/q/qrcode/qrcode-";
> > instead of the http uri?
>
> Done!
>
> Thanks :)
>
> --
> Daniel Pimentel (aka d4n1)

> From 55137a720f4642fff0b67d91e37887e1ae14b8c5 Mon Sep 17 00:00:00 2001
> From: Daniel Pimentel 
> Date: Tue, 14 Jun 2016 16:58:31 -0300
> Subject: [PATCH 7/7] gnu: Update python2-qrcode
>
> ---
>  gnu/packages/python.scm | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
> index 775b760..0e2a162 100644
> --- a/gnu/packages/python.scm
> +++ b/gnu/packages/python.scm
> @@ -9070,7 +9070,7 @@ PBKDF2, specified in RSA PKCS#5 v2.0.")
>  (source (origin
>(method url-fetch)
>(uri (string-append
> -"http://pypi.python.org/packages/source/q/qrcode/qrcode-";
> +
> "https://pypi.python.org/packages/source/q/qrcode/qrcode-";
>  version ".tar.gz"))
>(sha256
> (base32
> --
> 2.7.4
>

Thanks.

I think it's more welcome if you sent in just one initial patch for a package,
not a patch based on another patch.

--
♥Ⓐ ng0
For non-prism friendly talk find me on
psyced.org / loupsycedyglgamf.onion


signature.asc
Description: Digital signature


[PATCH] Add more symlinks to python-wrapper

2016-06-14 Thread Hartmut Goebel
Enclosed patch adds missing sysmlinks "python-config" and "pip" to
python-wrapper.

I did not add a symlink for easy_install, this this is obsoleted by pip.

Hartmut Goebel (1):
  gnu: wrap-python3: create more symlinks.

 gnu/packages/python.scm | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

-- 
2.7.4




[PATCH v5] gnu: Add teensy-loader-cli.

2016-06-14 Thread Hartmut Goebel
* gnu/packages/flashing-tools.scm (teensy-loader-cli): New variable.
* gnu/packages/patches/teensy-loader-cli-Add-support-for-h-help.patch,
  gnu/packages/patches/teensy-loader-cli-Change-program-name-in-usage.patch
  New files.
---
 gnu/packages/flashing-tools.scm| 53 ++
 .../teensy-loader-cli-Add-support-for-h-help.patch | 34 ++
 ...y-loader-cli-Change-program-name-in-usage.patch | 33 ++
 3 files changed, 120 insertions(+)
 create mode 100644 
gnu/packages/patches/teensy-loader-cli-Add-support-for-h-help.patch
 create mode 100644 
gnu/packages/patches/teensy-loader-cli-Change-program-name-in-usage.patch

diff --git a/gnu/packages/flashing-tools.scm b/gnu/packages/flashing-tools.scm
index 37a1072..65f68a6 100644
--- a/gnu/packages/flashing-tools.scm
+++ b/gnu/packages/flashing-tools.scm
@@ -160,3 +160,56 @@ With dfu-util you are able to download firmware to your 
device or upload
 firmware from it.")
 (home-page "http://dfu-util.sourceforge.net/";)
 (license gpl2+)))
+
+(define-public teensy-loader-cli
+  ;; The repo does not tag versions nor does it use releases, but a commit
+  ;; message says "Importing 2.1", while the sourcce still says "2.0". So pin
+  ;; to a fixed commit.
+  (let ((commit "f289b7a2e5627464044249f0e5742830e052e360"))
+(package
+  (name "teensy-loader-cli")
+  (version (string-append "2.1-1." (string-take commit 7)))
+  (source
+   (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/PaulStoffregen/";
+ "teensy_loader_cli/archive/" commit ".tar.gz"))
+ (sha256 (base32 
"17wqc2q4fa473cy7f5m2yiyb9nq0qw7xal2kzrxzaikgm9rabsw8"))
+ (file-name (string-append "teensy-loader-cli-" version ".tar.gz" ))
+ (modules '((guix build utils)))
+ (snippet
+  `(begin
+ ;; Remove example flash files and teensy rebooter flash binaries.
+ (for-each delete-file (find-files "." "\\.(elf|hex)$"))
+ ;; Fix the version
+ (substitute* "teensy_loader_cli.c"
+   (("Teensy Loader, Command Line, Version 2.0n")
+(string-append "Teensy Loader, Command Line, " ,version 
"\\n")))
+ #t))
+   (patches (search-patches
+ "teensy-loader-cli-Add-support-for-h-help.patch"
+ "teensy-loader-cli-Change-program-name-in-usage.patch"
+  (build-system gnu-build-system)
+  (arguments
+   '(#:tests? #f ;; Makefile has no test target
+ #:make-flags (list "CC=gcc" (string-append "PREFIX=" %output))
+ #:phases
+ (modify-phases %standard-phases
+   (delete 'configure)
+   (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+   (let* ((out (assoc-ref outputs "out"))
+  (bin (string-append out "/bin")))
+ (rename-file "teensy_loader_cli" "teensy-loader-cli")
+ (install-file "teensy-loader-cli" bin)))
+  (inputs
+   `(("libusb-compat" ,libusb-compat)))
+  (synopsis "Command line firmware uploader for Teensy development boards")
+  (description "The Teensy Loader program communicates with your
+Teensy board when the HalfKay bootloader is running, so you can
+download new programs and run them.
+
+You'll need to add the udev-rules to make the teensy update available
+for non-root users.")
+  (home-page "https://www.pjrc.com/teensy/loader_cli.html";)
+  (license gpl3
diff --git 
a/gnu/packages/patches/teensy-loader-cli-Add-support-for-h-help.patch 
b/gnu/packages/patches/teensy-loader-cli-Add-support-for-h-help.patch
new file mode 100644
index 000..a5e0128
--- /dev/null
+++ b/gnu/packages/patches/teensy-loader-cli-Add-support-for-h-help.patch
@@ -0,0 +1,34 @@
+Add support for `-h` (help).
+This option was already in the usage message, but not implemented.
+
+Upstream pull-request pending.
+
+---
+ teensy_loader_cli.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/teensy_loader_cli.c b/teensy_loader_cli.c
+index d4a6cc5..0a06209 100644
+--- a/teensy_loader_cli.c
 b/teensy_loader_cli.c
+@@ -37,7 +37,8 @@ void usage(const char *err)
+ {
+   if(err != NULL) fprintf(stderr, "%s\n\n", err);
+   fprintf(stderr,
+-  "Usage: teensy_loader_cli --mcu= [-w] [-h] [-n] [-b] [-v] 
\n"
++  "Usage: teensy_loader_cli --mcu= [-h] [-w] [-n] [-b] [-v] 
\n"
++  "\t-h : Print this help message\n"
+   "\t-w : Wait for device to appear\n"
+   "\t-r : Use hard reboot if device not online\n"
+   "\t-s : Use soft reboot if device not online (Teensy3.x only)\n"
+@@ -1081,6 +1082,7 @@ void parse_flag(char *arg)
+   int i;
+   for(i=1; arg[i]; i++) {
+   switch(arg[i]) {
++  case 'h': usage(NULL); break;
+   case '

[PATCH] gnu: wrap-python3: create more symlinks.

2016-06-14 Thread Hartmut Goebel
* gnu/pyckages/python.csm (wrap-python3): Create symlinks for
  pip and python-config, too.
---
 gnu/packages/python.scm | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 65210e0..5c4bf3b 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -18,6 +18,7 @@
 ;;; Copyright © 2015 Kyle Meyer 
 ;;; Copyright © 2015, 2016 Chris Marusich 
 ;;; Copyright © 2016 Danny Milosavljevic 
+;;; Copyright © 2016 Hartmut Goebel 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -334,8 +335,8 @@ data types.")
   (lambda (old new)
 (symlink (string-append python old)
  (string-append bin "/" new)))
-  `("python3" ,"pydoc3" ,"idle3")
-  `("python"  ,"pydoc"  ,"idle"))
+  `("python3" ,"pydoc3" ,"idle3" ,"pip3" ,"python3-config")
+  `("python"  ,"pydoc"  ,"idle"  ,"pip"  ,"python-config"))
 (synopsis "Wrapper for the Python 3 commands")
 (description
  "This package provides wrappers for the commands of Python@tie{}3.x such
-- 
2.7.4




[WIP v0.1 0/8] KDE framework 5, tier 1

2016-06-14 Thread Hartmut Goebel
Hi,

this is the first batch of WIP patched for KDE framework 5, tier 1.

I pushed the (complete) branch to . Feel
free to comment there or per mail.

Hartmut Goebel (8):
  extra-cmake: Update comments
  gnu: Add kde attica
  gnu: Add kde bluez-qt
  gnu: Add kde breeze-icons
  gnu: Add kde kapidox
  gnu: Add kde karchive
  gnu: Add kde kcodecs
  gnu: Add kde kconfig

 gnu/packages/kde-frameworks.scm | 274 +++-
 1 file changed, 270 insertions(+), 4 deletions(-)

-- 
2.7.4




[WIP v0.1 3/8] gnu: Add kde bluez-qt

2016-06-14 Thread Hartmut Goebel
* gnu/packages/kde-frameworks.scm (bluez-qt): New variable.
---
 gnu/packages/kde-frameworks.scm | 31 +++
 1 file changed, 31 insertions(+)

diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
index ca89374..e4a947b 100644
--- a/gnu/packages/kde-frameworks.scm
+++ b/gnu/packages/kde-frameworks.scm
@@ -97,6 +97,37 @@ 
http://freedesktop.org/wiki/Specifications/open-collaboration-services/
 ")
 (license (list license:lgpl2.1+ license:lgpl3+
 
+(define-public bluez-qt
+;; TOOO fails with
+;; CMake Error at cmake_install.cmake:74 (file):
+;;  file cannot create directory: /lib/udev/rules.d.
+;; Maybe need administrative  privileges.
+  (package
+(name "bluez-qt")
+(version kde-frameworks-version)
+(source
+  (origin
+(method url-fetch)
+(uri (string-append "http://download.kde.org/stable/frameworks/";
+(version-major+minor version) "/"
+name "-" version ".tar.xz"))
+(sha256
+ (base32
+  "0nsnxa4k31l69fapxn49g112948zprc5xr7v3ggxwnxkb1pll60a"
+(build-system cmake-build-system)
+(native-inputs
+ `(("extra-cmake-modules" ,extra-cmake-modules)))
+(inputs
+ `(("qt" ,qt)))
+(arguments
+ `(#:tests? #f)) ; TODO tests freeze
+(home-page "https://community.kde.org/Frameworks";)
+(synopsis "QML wrapper for bluez")
+(description " bluez-qt is a Qt-style library for accessing the bluez
+Bluetooth stack.  It is used by the KDE Bluetooth stack, BlueDevil.")
+(license (list license:lgpl2.1+ license:lgpl3+
+
+
 (define-public kwindowsystem
   (package
 (name "kwindowsystem")
-- 
2.7.4




[WIP v0.1 1/8] extra-cmake: Update comments

2016-06-14 Thread Hartmut Goebel
---
 gnu/packages/kde-frameworks.scm | 12 
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
index 0b747de..902d0fd 100644
--- a/gnu/packages/kde-frameworks.scm
+++ b/gnu/packages/kde-frameworks.scm
@@ -42,11 +42,15 @@
 (sha256
  (base32
   "1kbc5fkcbz9vkg0jpz10vsfgwajlrsmbl0vrbls5qvrdgbgrwlm3"
-;; The package looks for Qt5LinguistTools provided by Qt, but apparently
-;; compiles without it; it might be needed for building the
-;; documentation, which requires the additional Sphinx package.
-;; To save space, we do not add these inputs.
 (build-system cmake-build-system)
+;; optional dependencies - to save space, we do not add these inputs.
+;; Sphinx > 1.2:
+;;   Required to build Extra CMake Modules documentation in Qt Help format.
+;; Qt5LinguistTools , Qt5 linguist tools. , 
+;;   Required to run tests for the ECMPoQmTools module.
+;; Qt5Core
+;;   Required to run tests for the ECMQtDeclareLoggingCategory module,
+;;   and for some tests of the KDEInstallDirs module.
 (home-page "https://community.kde.org/Frameworks";)
 (synopsis "CMake module files for common software used by KDE")
 (description "The Extra CMake Modules package, or ECM, adds to the
-- 
2.7.4




[WIP v0.1 5/8] gnu: Add kde kapidox

2016-06-14 Thread Hartmut Goebel
* gnu/packages/kde-frameworks.scm (kapidox): New variable.
---
 gnu/packages/kde-frameworks.scm | 44 +
 1 file changed, 44 insertions(+)

diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
index 0a17568..b1e7038 100644
--- a/gnu/packages/kde-frameworks.scm
+++ b/gnu/packages/kde-frameworks.scm
@@ -25,6 +25,7 @@
   #:use-module (guix packages)
   #:use-module (guix utils)
   #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages python)
   #:use-module (gnu packages qt)
   #:use-module (gnu packages xorg))
 
@@ -155,6 +156,49 @@ It is the default icon theme for the KDE Plasma 5 
desktop.")
 ;; text.
 (license license:lgpl3+)))
 
+(define-public kapidox
+  (package
+(name "kapidox")
+(version kde-frameworks-version)
+(source
+  (origin
+(method url-fetch)
+(uri (string-append "http://download.kde.org/stable/frameworks/";
+(version-major+minor version) "/"
+name "-" version ".tar.xz"))
+(sha256
+ (base32
+  "0w3jch93d8vdqd0g4yl2fxmamrg9hnx1lypnpgw7615wlsb02qyx"
+(build-system cmake-build-system)
+(arguments
+ `(#:tests? #f)) ; has no test target
+(native-inputs
+ `(("extra-cmake-modules" ,extra-cmake-modules)))
+(propagated-inputs
+ ;; kapidox is a python programm
+ ;; TODO: check if doxygen has to be installed, the readme does not
+ ;; mention it. The openSuse .rpm lists doxygen, graphviz, graphviz-gd,
+ ;; and python-xml.
+ `(("python" ,python)
+   ("python-jinja2" ,python-jinja2)
+   ("python-pyyaml" ,python-pyyaml)))
+(inputs
+ `(("qt" ,qt)))
+(home-page "https://community.kde.org/Frameworks";)
+(synopsis "KDE Doxygen Tools")
+
+(description "This framework contains scripts and data for building API
+documentation (dox) in a standard format and style for KDE.
+
+For the actual documentation extraction and formatting the Doxygen tool is
+used, but this framework provides a wrapper script to make generating the
+documentation more convenient (including reading settings from the target
+framework or other module) and a standard template for the generated
+documentation.")
+;; Most parts are bsd-2, but incuded jquery is expat
+;; This list is taken from http://packaging.neon.kde.org/cgit/
+(license (list license:bsd-2 license:expat
+
 (define-public kwindowsystem
   (package
 (name "kwindowsystem")
-- 
2.7.4




[WIP v0.1 7/8] gnu: Add kde kcodecs

2016-06-14 Thread Hartmut Goebel
* gnu/packages/kde-frameworks.scm (kcodecs): New variable.
---
 gnu/packages/kde-frameworks.scm | 34 ++
 1 file changed, 34 insertions(+)

diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
index ab90112..dca89d7 100644
--- a/gnu/packages/kde-frameworks.scm
+++ b/gnu/packages/kde-frameworks.scm
@@ -234,6 +234,40 @@ GZip format, via a subclass of QIODevice.")
 (license (list license:lgpl2.1 license:lgpl2.1+
license:lgpl3+ license:bsd-2
 
+(define-public kcodecs
+  (package
+(name "kcodecs")
+(version kde-frameworks-version)
+(source
+  (origin
+(method url-fetch)
+(uri (string-append "http://download.kde.org/stable/frameworks/";
+(version-major+minor version) "/"
+name "-" version ".tar.xz"))
+(sha256
+ (base32
+  "0wng7kqqxrsz7b4w163j6m2zdhb5pvgbd9n6bn7ggyldn4zl86w7"
+(build-system cmake-build-system)
+(native-inputs
+ `(("extra-cmake-modules" ,extra-cmake-modules)))
+(inputs
+ `(("qt" ,qt)))
+(home-page "https://community.kde.org/Frameworks";)
+(synopsis "String encoding and manipulating library")
+(description "KCodecs provide a collection of methods to manipulate
+strings using various encodings.
+
+It can automatically determine the charset of a string, translate XML
+entities, validate email addresses, and find encodings by name in a more
+tolerant way than QTextCodec (useful e.g. for data coming from the
+Internet).")
+;; The included licenses is are gpl2 and lgpl2.1, but the sources are
+;; under a variety of licenses.
+;; This list is taken from http://packaging.neon.kde.org/cgit/
+(license (list license:gpl2 license:gpl2+ license:bsd-2
+   license:lgpl2.1 license:lgpl2.1+ license:expat
+   license:lgpl3+ license:mpl1.1
+
 (define-public kwindowsystem
   (package
 (name "kwindowsystem")
-- 
2.7.4




[WIP v0.1 2/8] gnu: Add kde attica

2016-06-14 Thread Hartmut Goebel
* gnu/packages/kde-frameworks.scm (attica): New variable.
---
 gnu/packages/kde-frameworks.scm | 39 +++
 1 file changed, 39 insertions(+)

diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
index 902d0fd..ca89374 100644
--- a/gnu/packages/kde-frameworks.scm
+++ b/gnu/packages/kde-frameworks.scm
@@ -1,6 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2015 Andreas Enge 
 ;;; Copyright © 2016 Efraim Flashner 
+;;; Copyright © 2016 Hartmut Goebel 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -58,6 +59,44 @@ modules provided by CMake to find common software.  In 
addition, it provides
 common build settings used in software produced by the KDE community.")
 (license license:bsd-3)))
 
+;; Tier 1
+;;
+;; Tier 1 frameworks depend only on Qt (and possibly a small number of other
+;; third-party libraries), so can easily be used by an Qt-based project.
+
+(define-public attica
+  (package
+(name "attica")
+(version kde-frameworks-version)
+(source
+  (origin
+(method url-fetch)
+(uri (string-append "http://download.kde.org/stable/frameworks/";
+(version-major+minor version) "/"
+name "-" version ".tar.xz"))
+(sha256
+ (base32
+  "1aqfw73g424f60qmpx1lky3qfqrsl1id02388pnlmpa8fnpp940c"
+(build-system cmake-build-system)
+(native-inputs
+ `(("extra-cmake-modules" ,extra-cmake-modules)))
+(inputs
+ `(("qt" ,qt)))
+(home-page "https://community.kde.org/Frameworks";)
+(synopsis "Open Collaboration Service client library")
+(description "Attica is a Qt library that implements the Open
+Collaboration Services API version 1.6.
+
+It grants easy access to the services such as querying information about
+persons and contents.  The library is used in KNewStuff3 as content provider.
+In order to integrate with KDE's Plasma Desktop, a platform plugin exists in
+kdebase.
+
+The REST API is defined here:
+http://freedesktop.org/wiki/Specifications/open-collaboration-services/
+")
+(license (list license:lgpl2.1+ license:lgpl3+
+
 (define-public kwindowsystem
   (package
 (name "kwindowsystem")
-- 
2.7.4




[WIP v0.1 4/8] gnu: Add kde breeze-icons

2016-06-14 Thread Hartmut Goebel
* gnu/packages/kde-frameworks.scm (breeze-icons): New variable.
---
 gnu/packages/kde-frameworks.scm | 27 +++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
index e4a947b..0a17568 100644
--- a/gnu/packages/kde-frameworks.scm
+++ b/gnu/packages/kde-frameworks.scm
@@ -128,6 +128,33 @@ Bluetooth stack.  It is used by the KDE Bluetooth stack, 
BlueDevil.")
 (license (list license:lgpl2.1+ license:lgpl3+
 
 
+(define-public breeze-icons
+  (package
+(name "breeze-icons")
+(version kde-frameworks-version)
+(source
+  (origin
+(method url-fetch)
+(uri (string-append "http://download.kde.org/stable/frameworks/";
+(version-major+minor version) "/"
+name "-" version ".tar.xz"))
+(sha256
+ (base32
+  "1a7ikdq8a44n42i6swf29aqyfwjh05ir3ym0lzjzdb6133fzlb01"
+(build-system cmake-build-system)
+(native-inputs
+ `(("extra-cmake-modules" ,extra-cmake-modules)))
+(inputs
+ `(("qt" ,qt)))
+(home-page "https://community.kde.org/Frameworks";)
+(synopsis "Default KDE Plasma 5 icon theme")
+(description "Breeze provides a freedesktop.org compatible icon theme.
+It is the default icon theme for the KDE Plasma 5 desktop.")
+;; The license file mentions lgpl3+. The license files in the source
+;; directories are lgpl3, while the top directory contains the lgpl2.1.
+;; text.
+(license license:lgpl3+)))
+
 (define-public kwindowsystem
   (package
 (name "kwindowsystem")
-- 
2.7.4




[WIP v0.1 6/8] gnu: Add kde karchive

2016-06-14 Thread Hartmut Goebel
* gnu/packages/kde-frameworks.scm (karchive): New variable.
---
 gnu/packages/kde-frameworks.scm | 35 +++
 1 file changed, 35 insertions(+)

diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
index b1e7038..ab90112 100644
--- a/gnu/packages/kde-frameworks.scm
+++ b/gnu/packages/kde-frameworks.scm
@@ -24,6 +24,7 @@
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix utils)
+  #:use-module (gnu packages compression)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
   #:use-module (gnu packages qt)
@@ -199,6 +200,40 @@ documentation.")
 ;; This list is taken from http://packaging.neon.kde.org/cgit/
 (license (list license:bsd-2 license:expat
 
+(define-public karchive
+  (package
+(name "karchive")
+(version kde-frameworks-version)
+(source
+  (origin
+(method url-fetch)
+(uri (string-append "http://download.kde.org/stable/frameworks/";
+(version-major+minor version) "/"
+name "-" version ".tar.xz"))
+(sha256
+ (base32
+  "042ww21wmm3sf87zqgr2qiyg2j5mjf1mmqpqhpcax4gnjpck5nvc"
+(build-system cmake-build-system)
+(native-inputs
+ `(("extra-cmake-modules" ,extra-cmake-modules)))
+(inputs
+ `(("zlib" ,zlib)
+   ("bzip2" ,bzip2)
+   ("xz" ,xz)
+   ("qt" ,qt)))
+(home-page "https://community.kde.org/Frameworks";)
+(synopsis "Qt 5 addon providing access to numerous types of archives")
+(description "KArchive provides classes for easy reading, creation and
+manipulation of 'archive' formats like ZIP and TAR.
+
+It also provides transparent compression and decompression of data, like the
+GZip format, via a subclass of QIODevice.")
+;; The included licenses is are gpl2 and lgpl2.1, but the sources are
+;; under a variety of licenses.
+;; This list is taken from http://packaging.neon.kde.org/cgit/
+(license (list license:lgpl2.1 license:lgpl2.1+
+   license:lgpl3+ license:bsd-2
+
 (define-public kwindowsystem
   (package
 (name "kwindowsystem")
-- 
2.7.4




[WIP v0.1 8/8] gnu: Add kde kconfig

2016-06-14 Thread Hartmut Goebel
* gnu/packages/kde-frameworks.scm (kconfig): New variable.
---
 gnu/packages/kde-frameworks.scm | 52 +
 1 file changed, 52 insertions(+)

diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
index dca89d7..2355fa9 100644
--- a/gnu/packages/kde-frameworks.scm
+++ b/gnu/packages/kde-frameworks.scm
@@ -268,6 +268,58 @@ Internet).")
license:lgpl2.1 license:lgpl2.1+ license:expat
license:lgpl3+ license:mpl1.1
 
+(define-public kconfig
+  (package
+(name "kconfig")
+(version kde-frameworks-version)
+(source
+  (origin
+(method url-fetch)
+(uri (string-append "http://download.kde.org/stable/frameworks/";
+(version-major+minor version) "/"
+name "-" version ".tar.xz"))
+(sha256
+ (base32
+  "0w5wvy3yhgh64k8jghyv5fkx9jr828yl11jlihg24hfplnmihkxw"
+(build-system cmake-build-system)
+(native-inputs
+ `(("extra-cmake-modules" ,extra-cmake-modules)
+   ("xorg-server" ,xorg-server))) ; for the tests
+(inputs
+ `(("qt" ,qt)))
+(arguments
+ `(#:tests? #f)) ; TODO: Mosts tests fail
+(home-page "https://community.kde.org/Frameworks";)
+(synopsis "Kconfiguration settings framework for Qt")
+(description "KConfig provides an advanced configuration system.
+It is made of two parts: KConfigCore and KConfigGui.
+
+KConfigCore provides access to the configuration files themselves.
+It features:
+
+@itemize
+@item Code generation: describe your configuration in an XML file, and use
+`kconfig_compiler to generate classes that read and write configuration
+entries.
+
+@item Cascading configuration files (global settings overridden by local
+settings).
+
+@item Optional shell expansion support (see docs/options.md).
+
+@item The ability to lock down configuration options (see docs/options.md).
+@end itemize
+
+KConfigGui provides a way to hook widgets to the configuration so that they
+are automatically initialized from the configuration and automatically
+propagate their changes to their respective configuration files.")
+;; The included licenses is are gpl2 and lgpl2.1, but the sources are
+;; under a variety of licenses.
+;; This list is taken from http://packaging.neon.kde.org/cgit/
+(license (list license:lgpl2.1 license:lgpl2.1+ license:expat
+   license:lgpl3+ license:gpl1 ; licende:mit-olif
+   license:bsd-2 license:bsd-3
+
 (define-public kwindowsystem
   (package
 (name "kwindowsystem")
-- 
2.7.4




Re: [PATCH] Add more symlinks to python-wrapper

2016-06-14 Thread Hartmut Goebel
Sorry, this patch was accidentaly resend.

-- 
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/liberario-als-alternative-zum-db-navigator-und-zu-offi

Kolumne: http://www.cissp-gefluester.de/2010-01-hinterturen-allen-ortes



smime.p7s
Description: S/MIME Cryptographic Signature


Re: [PATCH v5] gnu: Add teensy-loader-cli.

2016-06-14 Thread Hartmut Goebel
Sorry, this patch was accidentaly resend.



smime.p7s
Description: S/MIME Cryptographic Signature


Re: [PATCH] gnu: wrap-python3: create more symlinks.

2016-06-14 Thread Hartmut Goebel
Sorry, this patch was accidentaly resend.

-- 
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/liberario-als-alternative-zum-db-navigator-und-zu-offi

Kolumne: http://www.cissp-gefluester.de/2010-01-hinterturen-allen-ortes



smime.p7s
Description: S/MIME Cryptographic Signature


Re: Openttd - mention todo/integration status of OpenGFX in description?

2016-06-14 Thread Albin
Den Sun, 12 Jun 2016 21:16:05 +0200
skrev Re: Openttd - mention todo/integration status of OpenGFX in
description?:

> Den Sun, 12 Jun 2016 15:50:19 +
> skrev Re: Openttd - mention todo/integration status of OpenGFX in
> description?:
> 
> > On 2016-06-12(03:21:29+0200), Albin wrote:  
> > > Den Sat, 11 Jun 2016 07:48:59 +
> > > skrev Re: Openttd - mention todo/integration status of OpenGFX in
> > > description?:
> > >
> > > > On 2016-06-10(10:39:49-0400), Leo Famulari wrote:
> > > > > On Sat, Jun 11, 2016 at 01:02:18AM +, ng0 wrote:
> > > > > > After installing OpenTTD, the game asks for a download of
> > > > > > OpenGFX (GPL2 licensed) which can be done in application.
> > > > > >
> > > > > > Now this is not the way this is handled usually, and it is
> > > > > > also stated in a comment in the package (games.scm:1926),
> > > > > > should we - even if it is just temporarily - point out that
> > > > > > OpenGFX is not included, or should it just be added and
> > > > > > users will notice through an package update and not a
> > > > > > comment on it?
> > > > >
> > > > > How do you recommend we point it out?
> > > > >
> > > > > Of course, the best solution is to package OpenGFX.
> > > > >
> > > >
> > > > OpenGFX looks rather small, so I'll try to do it soon.
> > > >
> > > > (description "OpenTTD is a game in which you transport goods and
> > > > passengers by land, water and air.  It is a re-implementation of
> > > > Transport Tycoon Deluxe with many enhancements including
> > > > multiplayer mode, internationalization support, conditional
> > > > orders and the ability to clone, autoreplace and autoupdate
> > > > vehicles.")
> > > >
> > > > What about something like:
> > > >
> > > > (description "OpenTTD is a game in which you transport goods and
> > > > passengers by land, water and air.  It is a re-implementation of
> > > > Transport Tycoon Deluxe with many enhancements including
> > > > multiplayer mode, internationalization support, conditional
> > > > orders and the ability to clone, autoreplace and autoupdate
> > > > vehicles.  This package only includes the base of the game, when
> > > > you start it you will be prompted to download graphics and
> > > > sounds.")   
> > >
> > > I believe this would be more correct:
> > >
> > > "This package only includes the game engine.  When you start
> > > it you will be prompted to download a graphics set."
> > 
> > Looks good to me, can you create a patch for it?  
> 
> IMHO, this is unnecessary work if opengfx is to be added any time
> soon, but if you want, feel free to use my formulation above.
> 
> >   
> > > But, of course, the best would be to package opengfx.
> > >
> > > By the way, the sound effects are not free since only
> > > non-commercial redistribution is permitted.
> > 
> > Yes, but as the licenses are in the details of the in-game download
> > manager I think it's enough to mention the start blocker (gfx), you
> > could theoretically just run it without sounds or create your own
> > soundpack and use it (same for gfx).  
> 
> After I packaged openttd we had a discussion about this
> and I then suggested that opengfx + openmsx (a GPLv2 licensed music
> set) might be enough for a good user experience.  An unfortunate
> fact about the in-game downloader is that it only displays the
> license *after* you have downloaded a particular package.  So far, I
> have not seen any examples of proprietary software, but a few cases of
> non-free (nc) non-functional data.  I will ask upstream if they have a
> policy regarding what may be included there.
> 
> Albin

Hi,

I have now received a reply from an OpenTTD developer.

> the in-game content-downloader is a pure distribution platform.
> It does not enforce any licence terms onto the content.
> 
> There are terms of service
> ( http://bananas.openttd.org/en/manager/tos/ ) for it, but they are
> just a minimal set of rights which allow running the primary
> distribution via the in-game content.
> 
> After the download, it is all up to the licence included in the
> download. In particular there is no requirement for content being
> redistributable or even usable.
> 
> As you mention, there is currently no option to see the licence before
> downloading the content, in particular also not for custom licences.
> Furthermore there is no in-game GUI method to delete content once
> downloaded (you have to use a file browser or console or similar).

As you can see, this content downloader is rather problematic. What
do you think we should do about it?

Albin

> 
> > >
> > > >
> > > > --
> > > > ♥Ⓐ ng0
> > > > For non-prism friendly talk find me on
> > > > psyced.org / loupsycedyglgamf.onion
> > >
> > > Albin
> > 
> > --
> > ♥Ⓐ ng0
> > For non-prism friendly talk find me on
> > psyced.org / loupsycedyglgamf.onion  
> 
> 




Re: [PATCH] gnu: Update python2-qrcode

2016-06-14 Thread d4n1
OK. I'll rebuild packages and send a complete patch.

thanks.



Daniel Pimentel (aka d4n1)On ng0 , Jun 14, 2016 6:13 PM wrote:On 2016-06-14(05:00:11-0300), Daniel Pimentel wrote:
> > Could you use https://pypi.python.org/packages/source/q/qrcode/qrcode-"
> > instead of the http uri?
>
> Done!
>
> Thanks :)
>
> --
> Daniel Pimentel (aka d4n1)

> From 55137a720f4642fff0b67d91e37887e1ae14b8c5 Mon Sep 17 00:00:00 2001
> From: Daniel Pimentel 
> Date: Tue, 14 Jun 2016 16:58:31 -0300
> Subject: [PATCH 7/7] gnu: Update python2-qrcode
>
> ---
>  gnu/packages/python.scm | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
> index 775b760..0e2a162 100644
> --- a/gnu/packages/python.scm
> +++ b/gnu/packages/python.scm
> @@ -9070,7 +9070,7 @@ PBKDF2, specified in RSA PKCS#5 v2.0.")
>  (source (origin
>    (method url-fetch)
>    (uri (string-append
> -    "http://pypi.python.org/packages/source/q/qrcode/qrcode-"
> +    "https://pypi.python.org/packages/source/q/qrcode/qrcode-"
>  version ".tar.gz"))
>    (sha256
> (base32
> --
> 2.7.4
>

Thanks.

I think it's more welcome if you sent in just one initial patch for a package,
not a patch based on another patch.

--
♥Ⓐ ng0
For non-prism friendly talk find me on
psyced.org / loupsycedyglgamf.onion



Re: [PATCH] gnu: Add python-wcwidth and python2-wcwidth.

2016-06-14 Thread Danny Milosavljevic
On Tue, 14 Jun 2016 09:41:01 -0400
Leo Famulari  wrote:

> > >@code{wcwidth} and @code{wcwidth}  

Is that twice the same thing?



help with setenv of perl-curses

2016-06-14 Thread ng0
This is what I have so far, after many tries.
There was a generation which had a let for the ncurses in the phase,
but I seem not to be able to get the CURSES_CFLAGS and CURSES_CFLAGS
to pass along right.

(define-public perl-curses
  (package
   (name "perl-curses")
   (version "1.34")
   (source
(origin
 (method url-fetch)
 (uri (string-append
   "https://cpan.metacpan.org/authors/id/G/GI/GIRAFFED/Curses-";
   version
   ".tar.gz"))
 (sha256
  (base32
   "0arj9llgwim4lilgxc1r3dyqw40210yhzfghbypnbqkbjkal93l0"
   (build-system perl-build-system)
   (inputs `(("ncurses" ,ncurses)))
   (arguments
`(#:phases
  (modify-phases %standard-phases
 (add-before
  'configure 'set-curses-ldflags
  (lambda* (#:key inputs #:allow-other-keys)
   (setenv "CURSES_LDFLAGS"
   (string-append "-L" (assoc-ref inputs 
"ncurses")
  "/lib/ncurses.so" 
"-lncurses"))
   (setenv "CURSES_CFLAGS"
   (string-append "-I" (assoc-ref inputs 
"ncurses")
  "/include")))
   (home-page "https://search.cpan.org/dist/Curses";)
   (synopsis
"Terminal screen handling and optimization")
   (description
"Curses is the interface between Perl and your system's curses library.")
   (license (package-license perl

;;export CURSES_LDFLAGS="-L/usr/lib/ncurses -lncurses"
;;export CURSES_CFLAGS="-I/usr/include/ncurses"

--
♥Ⓐ ng0
For non-prism friendly talk find me on
psyced.org / loupsycedyglgamf.onion


signature.asc
Description: Digital signature


Re: [PATCH] gnu: Add python-wcwidth and python2-wcwidth.

2016-06-14 Thread Leo Famulari
On Wed, Jun 15, 2016 at 01:15:37AM +0200, Danny Milosavljevic wrote:
> On Tue, 14 Jun 2016 09:41:01 -0400
> Leo Famulari  wrote:
> 
> > > >@code{wcwidth} and @code{wcwidth}  
> 
> Is that twice the same thing?

Yes! :p

The second one should be wcswidth.



Re: [PATCH] Quick-start guide

2016-06-14 Thread yoosty
On Sat, Jun 11, 2016 at 10:49 AM, Leo Famulari  wrote:

> On Sat, Jun 11, 2016 at 06:43:21AM -0700, yoo...@gmail.com wrote:
> > Upon further reflection.. The Guix manual might not be an appropriate
> place
> > for such a guide. If the Guix manual isn't a good place for such a set of
> > instructions, do you have any suggestions for a location (blog, etc)?
>
> There is this useful wiki managed by Raymond Nicholson:
> https://gitlab.com/rain1/guix-wiki/wikis/home
>
> Although, I'd like to echo Ludovic's question, and also say that the
> goal of the manual is to be completely sufficient for first-timers and
> experienced users alike.
>
> I find the phenomenon of 3rd party wikis giving instructions on how to
> use some piece of software to be a dismaying "antipattern". And, the
> situation only gets worse as people send documentation to the 3rd party
> wiki instead of to the software project in questoin.
>

I agree on the 3rd party wikis point as well, hence my willing to pick up
some Texinfo and attempt submitting a patch :)


>
> So, please tell us of any specific shortcomings! It seems that you would
> prefer "System Installation" to begin with an outline?
>

Now that you mention it.. Merging what I've done in to the "System
Installation" section would make more sense location-wise but..

After reading the feedback here and spending some more time in IRC (which
really drives home the feedback about translations and colloquialisms,
thanks John) I would like to do the following:
- Add a contiguous set of examples to the existing "System Installation"
section (such that if you follow the examples you will almost certainly end
up with a working system, even if you don't read much of anything else)
- Add at least one more sub-section to "System Installation" that
introduces users to extending/customizing the initial system's .scm file
-- Something like a "Where to go from here? Customizing your installation."
-- A chance to tease users in to Scheme programming

Sound better?

-- 

   .:Justin:.