Re: Stuck on KiCad dependency wxPython

2016-09-29 Thread Theodoros Foradis

Danny Milosavljevic writes:

> Or maybe the attached patch captures the goal of wxwidgets better (which they 
> IMO don't succeed at).
>
> I added gtk, opengl etc as native inputs instead of regular inputs because 
> from the point of view of Python they are not direct inputs.
>
> wxPython only requires gtk while building the extension because wxwidgets 
> does #include  in their exported API (why...) - but after it's 
> done it will not require it directly anymore and actually just require 
> wxwidgets.
>
> Of course, the gtk version of wxwidgets will still require gtk by itself.
>
> That said, I still think it would be nicer if wxwidgets propagated gtk - 
> since when you use wxwidgets, you also need to have gtk as well if wxwidgets 
> was compiled for gtk - and the one deciding what wxwidgets is compiled for is 
> the wxwidgets package. So it should go there...
>
> What do you think?

Hello,

I worked on your wxpython patch, and got wxpython to build, with kicad on top
of it. Quite a lot of problems exist in the packages as of now.

Regarding kicad, the built binary has the following issues:
-In eeschema, the screen does not get redrawn automatically, leaving
mouse traces. I found somewhere some suggestions, that building
wxwidgets3.0 with gtk2 solves the issue, but I tried that and it does
not.
-When pcbnew is fired up, there is a "pcbnewInitPythonScripting() failed."
message. Trying again, it opens normally (and effectively shows
drawn pcb layouts), but with ui resizing issues. The ui resizing issues
exist everywhere.
-I have not added the kicad-libraries(components and footprints) in the package 
yet.

On the build side of things, first of all, the update to boost 1.61.0
breaks the build of kicad, with a header missing error. I have reverted
the latest changes in boost (to 1.60.1), in the patch, for development purposes.

The wxpython package tries to install the wxPython headers in
gnu/store/...-wxwidgets-3.0.2/include by default. I force set WXPREFIX
in config.py to get around that. In turn, in the kicad package, the
include path has to be set with a cmake flag, to find the wxPython
headers. I am sure there is a better way to handle this, but this is how I got 
it
to build for now.

The phase that replaces 'install in wxpython, can be obviously ommitted, if
your patch to honor configure-flags in python build phase is accepted.

I think you are correct, in that wxwidgets should propagate gtk.

I am waiting for some feedback on the patch.

Greetings
-- 
Theodoros Foradis
 gnu/packages/boost.scm   |  8 ++--
 gnu/packages/engineering.scm | 63 +
 gnu/packages/wxwidgets.scm   | 94 
 3 files changed, 160 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/boost.scm b/gnu/packages/boost.scm
index ab31fa8..8fe8c8e 100644
--- a/gnu/packages/boost.scm
+++ b/gnu/packages/boost.scm
@@ -34,7 +34,7 @@
 (define-public boost
   (package
 (name "boost")
-(version "1.61.0")
+(version "1.60.0")
 (source (origin
   (method url-fetch)
   (uri (string-append
@@ -43,7 +43,7 @@
 ".tar.bz2"))
   (sha256
(base32
-"0h5nk7pgxf7xsvvshj9qfpsfp9wx6gq9r78n3nx736pxq83bsix5"
+"0fzx6dwqbrkd4bcd8pjv0fpapwmrxxwr8yx9g67lihlsk3zzysk8"
 (build-system gnu-build-system)
 (inputs `(("zlib" ,zlib)))
 (native-inputs
@@ -90,9 +90,7 @@
  (replace
  'build
(lambda* (#:key outputs make-flags #:allow-other-keys)
- (zero? (apply system* "./b2"
-   (format #f "-j~a" (parallel-job-count))
-   make-flags
+ (zero? (apply system* "./b2" make-flags
  (replace
  'install
(lambda* (#:key outputs make-flags #:allow-other-keys)
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index dad38e0..d222bda 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -28,6 +28,7 @@
   #:use-module (guix store)
   #:use-module (guix utils)
   #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
   #:use-module (gnu packages)
   #:use-module (gnu packages autotools)
@@ -50,9 +51,14 @@
   #:use-module (gnu packages maths)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages python)
   #:use-module (gnu packages qt)
+  #:use-module (gnu packages swig)
   #:use-module (gnu packages tcl)
+  #:use-module (gnu packages tls)
   #:use-module (gnu packages tex)
+  #:use-module (gnu packages wxwidgets)
+  #:use-module (gnu packages xorg)
   #:use-module (srfi srfi-1))
 
 (define-public librecad
@@ -460,3 +466,60 @@ you load several files on top of each other, do measurements on the displayed
 image, etc.  Besides viewing Gerbers, you may also view 

Re: guix environment guix doesn't provide guix dependencies?

2016-09-29 Thread Thompson, David
On Wed, Sep 28, 2016 at 5:20 PM, Ludovic Courtès  wrote:
> Hi Chris,
>
> Chris Marusich  skribis:
>
>> John Darrington  writes:
>
> [...]
>
>>> I don't think so.   Running ./bootstrap is not part of the normal process 
>>> for *building*
>>> guix - only for bootstrapping.  But you are right - it is common to want to 
>>> do that.
>>> For this reason I often run:
>>>
>>>  guix environment guix --ad-hoc automake autoconf texinfo help2man
>>>
>>>
>>> But perhaps you are right - the manual might want to mention this.
>>>
>>> J'
>>
>> That makes sense.  I feel like it used to provide all the dependencies,
>> including autoconf etc., but that was months ago, and I might be
>> mis-remembering.  It works fine when I add the needed bootstrap
>> dependencies with --ad-hoc.
>
> In fact there’s a small time window during which “guix environment guix”
> doesn’t provide autoconf et al.: it’s when the ‘guix’ variable in (gnu
> packages package-management) refers to a released tarball instead of a
> Git checkout, since a build from tarball doesn’t depend on autoconf et
> al.
>
> So if you run “guix environment guix” on a commit different from
> v0.11.0 + 1, you effectively get all the dependencies.
>
> I admit this is a bit confusing.  Not sure how to document/improve that.
>
> Ideas?

How about a public guix-devel package that always builds from the Git repo?

- Dave



Re: [PATCH v3 0/6] Add FPGA Tools

2016-09-29 Thread Theodoros Foradis

Danny Milosavljevic writes:

> This patch adds FPGA tools.
>
> Danny Milosavljevic (6):
>   gnu: Add abc.
>   gnu: Add iverilog.
>   gnu: Add yosys.
>   gnu: Add icestorm.
>   gnu: Add arachne-pnr.
>   gnu: Add gtkwave.
>
>  gnu/local.mk  |   1 +
>  gnu/packages/fpga.scm | 311 
> ++
>  2 files changed, 312 insertions(+)
>  create mode 100644 gnu/packages/fpga.scm

I tested the patches again, and they are working correctly after the fix in
libftdi. Should we still delete "-I/usr/local/include" from the makefile
of icestorm to ensure it doesn't build wrongly in non-guixsd systems or is
it unnecessary?

Gtkwave is fine as well. Maybe we would like to add it in
another file though (e.g. engineering.scm), in case it's used  with
other packages in the future.

Regards,
-- 
Theodoros Foradis



Re: Building Guix with Guile 2.1

2016-09-29 Thread Taylan Ulrich Bayırlı/Kammer
Andy Wingo  writes:

> On Wed 28 Sep 2016 16:56, taylanbayi...@gmail.com (Taylan Ulrich 
> "Bayırlı/Kammer") writes:
>
>> I haven't made much progress regarding the -O1 setting to speed up
>> building, but for the time being here's the patch that would make the
>> build process work at all on 2.2, including for 'guix pull'.
>
> Patch LGTM.

Thanks!  Pushed.

Taylan



Re: Reproducible build IRC meeting tomorrow

2016-09-29 Thread ng0
Hi,

thanks for pointing this out. I'll be either present and participating,
or just present and logging to process this for my other project.

Ludovic Courtès  writes:

> Hello!
>
> There’ll be a reproducible build IRC meeting tomorrow (Sept. 30th; see
> below).  I won’t be able to attend, but if anyone else would like to
> chime in, it’d be nice.
>
> Ludo’.
>
> From: Chris Lamb 
> Subject: Re: [rb-general] Scheduling a trial reproducible IRC meeting
> To: reproducible-bui...@lists.alioth.debian.org, 
> rb-gene...@lists.reproducible-builds.org, 
> diffosc...@lists.reproducible-builds.org
> Date: Tue, 27 Sep 2016 15:18:14 +0100
>
> Chris Lamb wrote:
>
>> I'd like to schedule a trial IRC meeting for the Reproducible builds
>> project — it's easier to just try it once and discuss the merits and
>> drawbacks based on experience, instead of debating them in advance.
>
> I have picked the following time:
>
>http://time.is/compare/1800_30_Sept_2016_in_UTC
>
> It will be held on the #debian-reproducible channel on irc.oftc.net.
>
> The meeting will start promptly and will last 1 hour maximum.
>
> As previously mentioned, contributors from all projects and interests
> are very welcome, this is not intended to be at all exclusive to Debian
> folks.
>
>
> What you need to do
> ===
>
> a) Convert that time to your local timezone and add to your diary or
>organiser. Appending "/$location" to the above URL will generally do
>the right thing, for example:
>
>http://time.is/compare/1800_30_Sept_2016_in_UTC/London
>
> b) If you have any agenda items, please add them here:
>  
>https://pad.riseup.net/p/reproducible-irc-meeting-1
>
>
> Regards,
>
> -- 
>   ,''`.
>  : :'  : Chris Lamb
>  `. `'`  la...@debian.org / chris-lamb.co.uk
>`-
> ___
> rb-gene...@lists.reproducible-builds.org mailing list
>
> To change your subscription options, visit 
> https://lists.reproducible-builds.org/listinfo/rb-general.
>
> To unsubscribe, send an email to 
> rb-general-unsubscr...@lists.reproducible-builds.org.

-- 
   ng0
#.endofsubmission.



Re: kdesu security update needed

2016-09-29 Thread Leo Famulari
On Thu, Sep 29, 2016 at 08:35:53PM +0200, David Craven wrote:
> > David, since you added all the KDE packages, can you look into this bug
> > and see what we need to do to protect against it?
> 
> They have a vendored kdesu. The source files look pretty different
> now, and I'm having a little trouble seeing if the problem is in kde
> kdesu or just kde-cli-tools kdesu. From what I can tell the source has
> diverged and the problem seems to be with the cli client they wrote
> for the kdesu deamon or something like that. Don't know if this is a
> satisfying answer...

Yeah, that's my interpretation as well. Thanks for looking :)



Re: [PATCH] openssh service

2016-09-29 Thread Ludovic Courtès
Hi Julien,

Julien Lepiller  skribis:

> Sorry for the delay, here is a new version of the patch.
>
> Meanwhile, sysconfdir was set to /etc, but I changed this for /etc/ssh,
> because openssh looks for its configuration and other files (about 10)
> directly in sysconfdir, not a subdirectory. Also, I fixed a mistake in
> openssh-service (it was not following what the doc said).

[...]

> From cf879a47c8f9b0733fac906cd4bd28dc646aa9fb Mon Sep 17 00:00:00 2001
> From: Julien Lepiller 
> Date: Fri, 5 Aug 2016 15:20:15 +0200
> Subject: [PATCH] services: Add openssh
>
> * gnu/packages/ssh.scm: Openssh reads its configuration from /etc
> * gnu/services/ssh.scm: Add openssh-service
> * doc/guix.texi (Networking Services): Document 'openssh-services'.

Pushed as 071fbb42a6e2dcdfd566cba9525e6ae6a4dfdc7d with a few changes.
In particular, I changed the config file to be passed as a command-line
option rather than added to /etc/ssh (this is generally preferable.)

Eventually I’d like to document and expose of ‘openssh-configuration’.

Thanks!

Ludo’.



Re: [PATCH] gnu: Add inputs for xonsh.

2016-09-29 Thread Leo Famulari
On Thu, Sep 29, 2016 at 09:08:08PM +0200, Danny Milosavljevic wrote:
> > I think this should be two commits. What do you think of the patches I
> > attached?
> 
> LGTM!

Okay, I pushed the "unbundle ply" patch as cfb7e269e9d.



Re: [PATCH] gnu: Add inputs for xonsh.

2016-09-29 Thread Leo Famulari
On Thu, Sep 29, 2016 at 09:39:58PM +0200, Danny Milosavljevic wrote:
> Oops, I don't think the xonsh tarball contains the docs. In which case we 
> need neither sphinx nor numpydoc.
> 
> Strange, does it have online-only docs? Or do we need another tarball?

It turns out the GitHub tarball does include the docs. I think we should
use that source and add a 'docs' phase as in the certbot package
definition [0].

Can you also ask upstream if they meant to leave the docs out of the
PyPi download?

Too bad the docs Makefile doesn't have a target for info or man pages. I
guess that's a "bonus" goal :)

[0]
http://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/tls.scm#n524



Re: kdesu security update needed

2016-09-29 Thread Leo Famulari
On Thu, Sep 29, 2016 at 08:52:34PM +0200, David Craven wrote:
> Ah just checked our linter doesn't flag a CVE, so I think we're ok...

The linter is a good tool for catching things that we miss, but it's not
a substitute for manual investigation :)

First, our package's name might not match the name used by the Common
Platform Enumeration [0], which is the name that the linter looks up. We
can give packages a cpe-name property [1], which tells the linter to use
something besides the package's name.

Second, I've noticed that sometimes bugs are publicized on oss-sec or
elsewhere, but then they don't show up in the CVE database for a while.

An aside, the CVE linter gives false positives for grafted packages. For
example, try `guix lint -c cve openssl@1.0`.

[0]
https://nvd.nist.gov/cpe.cfm

[1] An example:
http://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/gd.scm#n76



Re: Reproducible build IRC meeting tomorrow

2016-09-29 Thread Eric Bavier

On 2016-09-29 09:58, l...@gnu.org wrote:

Hello!

There’ll be a reproducible build IRC meeting tomorrow (Sept. 30th; see
below).  I won’t be able to attend, but if anyone else would like to
chime in, it’d be nice.


Thanks for sharing!  I'll probably drop in.

--
`~Eric



Re: [PATCH] gnu: Add inputs for xonsh.

2016-09-29 Thread Danny Milosavljevic
Oops, I don't think the xonsh tarball contains the docs. In which case we need 
neither sphinx nor numpydoc.

Strange, does it have online-only docs? Or do we need another tarball?




Re: [PATCH] gnu: Add inputs for xonsh.

2016-09-29 Thread Danny Milosavljevic
> I think this should be two commits. What do you think of the patches I
> attached?

LGTM!



Re: kdesu security update needed

2016-09-29 Thread David Craven
Ah just checked our linter doesn't flag a CVE, so I think we're ok...



Re: kdesu security update needed

2016-09-29 Thread David Craven
> David, since you added all the KDE packages, can you look into this bug
> and see what we need to do to protect against it?

They have a vendored kdesu. The source files look pretty different
now, and I'm having a little trouble seeing if the problem is in kde
kdesu or just kde-cli-tools kdesu. From what I can tell the source has
diverged and the problem seems to be with the cli client they wrote
for the kdesu deamon or something like that. Don't know if this is a
satisfying answer...



Re: [PATCH 3/3] gnu: emacs: Build with m17n support.

2016-09-29 Thread Arun Isaac

> How can one check whether it works?  Do users have to install m17n-db in
> their profile?

No, users don't have to install m17n-db in their profile. They just need
to use the new emacs package built with m17n. m17n-db and m17n-lib are
just "inputs" not "propagated-inputs".

The difference with and without m17n is visible in the rendering of
Indic scripts. Tamil, one of the languages of South India, is the one I
use and tested.


signature.asc
Description: PGP signature


Re: [PATCH v2 0/4] Add GCC cross compiler for arm-none-eabi.

2016-09-29 Thread Theodoros Foradis

Ricardo Wurmus writes:

> Ludovic Courtès  writes:
>
>> Hi Theodoros,
>>
>> Theodoros Foradis  skribis:
>>
>>> The original patch series was working correctly and producing working 
>>> binaries. Some
>>> flags (that I had been using with 6.2.0) are missing from that version of 
>>> GCC 4.9,
>>> so I added 6.2.0 as an extra option. I have tested it to produce working 
>>> binaries.
>>>
>>> Here are some modifications to Ricardo's patches for the arm-none-eabi
>>> bare metal cross compiler. The following changes have been made:
>>>
>>> - I have modified xbinutils to use binutils 2.25.1 from cross-base, as it 
>>> compiles
>>> correctly with it. The version from the svn commit that was used by Ricardo 
>>> is compiling
>>> correct binaries as well. Thus, if it is deemed appropriate, the source for 
>>> xbinutils can
>>> be swapped for the previous one, with (seemingly) no difference.
>>>
>>> - The xgcc of the original, was failing to find the headers that newlib 
>>> provided.
>>> I have set the native-cross-paths as a workaround. Not sure if there is a 
>>> better
>>> alternative, or if the failure was my mistake.
>>>
>>> - A package for cross GCC 6.2.0 is added, with appropriate patches for 
>>> multilib
>>> support.
>>>
>>> - Newlib-arm-none-eabi and newlib-nano-arm-none-eabi have been changed to
>>> procedures, taking an xgcc as argument, so as to facilitate building with
>>> either version of gcc.
>>>
>>> - An arm-none-eabi-toolchain procedure is declared, to create toolchain 
>>> packages
>>> for both gcc and newlib version. The four toolchain variables follow. Not 
>>> sure
>>> if it's a mistake to include "nano" in the toolchain version.
>>
>> This all sounds reasonable to me.  Ricardo was interested in using this
>> toolchain for one specific purpose, so maybe we’ll want to check that it
>> also works here.  Ricardo: could you comment?
>
> The changes seem reasonable.  I wasn’t happy with using fixed SVN
> revisions in my patches, so I’m glad that this can be avoided.
>
> I haven’t yet found the time to apply the proposed changes, build the
> toolchain and try it with the Axoloti board.  I hope I’ll be able try on
> Sunday to first address your comments, Ludo.  Then I’ll check the
> suggested changes made by Theodoros (e.g. using different binutils and
> doing without SVN).
>
> Theodoros, I see that your patch set includes some of my patches as
> well.  The only changes I can see is the addition of the native search
> paths and parameterising newlib with xgcc, both of which I’ll add.
> After applying my modified patches I would apply your patches that add
> “arm-none-eabi-gcc-6” and the “arm-none-eabi-toolchain”.
>
> Is this acceptable?
>
> ~~ Ricardo

Yes, actually I did apply my patches on top of yours. It is perfectly
acceptable, with either version of binutils.

Regards,
-- 
Theodoros Foradis



libgd security CVE-2016-7568

2016-09-29 Thread Leo Famulari
This patches fixes an integer overflow in libgd:

https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7568
http://seclists.org/oss-sec/2016/q3/639
From b125d20c4e60cfd204a99fd7df174de73df067a2 Mon Sep 17 00:00:00 2001
From: Leo Famulari 
Date: Thu, 29 Sep 2016 11:32:34 -0400
Subject: [PATCH] gnu: gd: Fix CVE-2016-7568.

* gnu/packages/patches/gd-CVE-2016-7568.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/gd.scm (gd)[source]: Use it.
---
 gnu/local.mk|  1 +
 gnu/packages/gd.scm |  3 +-
 gnu/packages/patches/gd-CVE-2016-7568.patch | 44 +
 3 files changed, 47 insertions(+), 1 deletion(-)
 create mode 100644 gnu/packages/patches/gd-CVE-2016-7568.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index b864ea9..3a9cb2d 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -529,6 +529,7 @@ dist_patch_DATA =   
\
   %D%/packages/patches/gcc-cross-environment-variables.patch   \
   %D%/packages/patches/gcc-libvtv-runpath.patch\
   %D%/packages/patches/gcc-5.0-libvtv-runpath.patch\
+  %D%/packages/patches/gd-CVE-2016-7568.patch  \
   %D%/packages/patches/gd-fix-gd2-read-test.patch  \
   %D%/packages/patches/gd-fix-tests-on-i686.patch  \
   %D%/packages/patches/gegl-CVE-2012-4433.patch\
diff --git a/gnu/packages/gd.scm b/gnu/packages/gd.scm
index 4ba0194..6c94d35 100644
--- a/gnu/packages/gd.scm
+++ b/gnu/packages/gd.scm
@@ -50,7 +50,8 @@
  (sha256
   (base32
"0g3xz8jpz1pl2zzmssglrpa9nxiaa7rmcmvgpbrjz8k9cyynqsvl"))
- (patches (search-patches "gd-fix-gd2-read-test.patch"
+ (patches (search-patches "gd-CVE-2016-7568.patch"
+  "gd-fix-gd2-read-test.patch"
   "gd-fix-tests-on-i686.patch"
 (build-system gnu-build-system)
 (native-inputs
diff --git a/gnu/packages/patches/gd-CVE-2016-7568.patch 
b/gnu/packages/patches/gd-CVE-2016-7568.patch
new file mode 100644
index 000..6a1a632
--- /dev/null
+++ b/gnu/packages/patches/gd-CVE-2016-7568.patch
@@ -0,0 +1,44 @@
+Fix CVE-2016-7568 (integer overflow in gdImageWebpCtx()):
+
+https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7568
+
+Patch copied from upstream source repository:
+
+https://github.com/libgd/libgd/commit/2806adfdc27a94d333199345394d7c302952b95f
+
+From 2806adfdc27a94d333199345394d7c302952b95f Mon Sep 17 00:00:00 2001
+From: trylab 
+Date: Tue, 6 Sep 2016 18:35:32 +0800
+Subject: [PATCH] Fix integer overflow in gdImageWebpCtx
+
+Integer overflow can be happened in expression gdImageSX(im) * 4 *
+gdImageSY(im). It could lead to heap buffer overflow in the following
+code. This issue has been reported to the PHP Bug Tracking System. The
+proof-of-concept file will be supplied some days later. This issue was
+discovered by Ke Liu of Tencent's Xuanwu LAB.
+---
+ src/gd_webp.c | 8 
+ 1 file changed, 8 insertions(+)
+
+diff --git a/src/gd_webp.c b/src/gd_webp.c
+index 8eb4dee..9886399 100644
+--- a/src/gd_webp.c
 b/src/gd_webp.c
+@@ -199,6 +199,14 @@ BGD_DECLARE(void) gdImageWebpCtx (gdImagePtr im, gdIOCtx 
* outfile, int quality)
+   quality = 80;
+   }
+ 
++  if (overflow2(gdImageSX(im), 4)) {
++  return;
++  }
++
++  if (overflow2(gdImageSX(im) * 4, gdImageSY(im))) {
++  return;
++  }
++
+   argb = (uint8_t *)gdMalloc(gdImageSX(im) * 4 * gdImageSY(im));
+   if (!argb) {
+   return;
+-- 
+2.10.0
+
-- 
2.10.0



signature.asc
Description: PGP signature


kdesu security update needed

2016-09-29 Thread Leo Famulari
kdesu has a string handling bug, CVE-2016-7787:

http://seclists.org/oss-sec/2016/q3/653

David, since you added all the KDE packages, can you look into this bug
and see what we need to do to protect against it?



[PATCH 2/3] gnu: Add r-purrr.

2016-09-29 Thread Ricardo Wurmus
* gnu/packages/statistics.scm (r-purrr): New variable.
---
 gnu/packages/statistics.scm | 25 +
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index 51294e5..fd5aaf4 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -3117,6 +3117,31 @@ and tidyr provides no margins or aggregation.")
 It uses and relies on grid graphics and formal (S4) classes and methods.")
 (license license:gpl2+)))
 
+(define-public r-purrr
+  (package
+(name "r-purrr")
+(version "0.2.2")
+(source
+ (origin
+   (method url-fetch)
+   (uri (cran-uri "purrr" version))
+   (sha256
+(base32
+ "0lss8q733nv7s154wargm6vnxq55qygnxakib8xdj4jv0y86sxc3"
+(build-system r-build-system)
+(propagated-inputs
+ `(("r-bh" ,r-bh)
+   ("r-dplyr" ,r-dplyr)
+   ("r-lazyeval" ,r-lazyeval)
+   ("r-magrittr" ,r-magrittr)
+   ("r-rcpp" ,r-rcpp)))
+(home-page "https://github.com/hadley/purrr;)
+(synopsis "Functional programming tools")
+(description
+ "This package completes R's functional programming tools with missing
+features present in other programming languages.")
+(license license:gpl3+)))
+
 (define-public r-plotly
   (package
 (name "r-plotly")
-- 
2.10.0





[PATCH 3/3] gnu: r-plotly: Update to 4.5.2.

2016-09-29 Thread Ricardo Wurmus
* gnu/packages/statistics.scm (r-plotly): Update to 4.5.2.
[propagated-inputs]: Remove r-plyr; remove r-viridis; add r-dplyr; add
r-lazyeval; add r-purrr; add r-tibble; add r-viridislite.
---
 gnu/packages/statistics.scm | 11 +++
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index fd5aaf4..cbaf026 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -3145,27 +3145,30 @@ features present in other programming languages.")
 (define-public r-plotly
   (package
 (name "r-plotly")
-(version "3.6.0")
+(version "4.5.2")
 (source (origin
   (method url-fetch)
   (uri (cran-uri "plotly" version))
   (sha256
(base32
-"15hvqa0sf4z6l6vvr614zjszfphwpv66zpc665iyiynq0pd1jv2c"
+"08shs0qhy9js0fpj3d4rzfbwmw11ki3z5vg8jszfm6m69mfkgzw1"
 (build-system r-build-system)
 (propagated-inputs
  `(("r-base64enc" ,r-base64enc)
("r-digest" ,r-digest)
+   ("r-dplyr" ,r-dplyr)
("r-ggplot2" ,r-ggplot2)
("r-hexbin" ,r-hexbin)
("r-htmlwidgets" ,r-htmlwidgets)
("r-httr" ,r-httr)
("r-jsonlite" ,r-jsonlite)
+   ("r-lazyeval" ,r-lazyeval)
("r-magrittr" ,r-magrittr)
-   ("r-plyr" ,r-plyr)
+   ("r-purrr" ,r-purrr)
("r-scales" ,r-scales)
+   ("r-tibble" ,r-tibble)
("r-tidyr" ,r-tidyr)
-   ("r-viridis" ,r-viridis)))
+   ("r-viridislite" ,r-viridislite)))
 (home-page "https://plot.ly/r;)
 (synopsis "Create interactive web graphics")
 (description
-- 
2.10.0





[PATCH 1/3] gnu: Add r-viridislite.

2016-09-29 Thread Ricardo Wurmus
* gnu/packages/statistics.scm (r-viridislite): New variable.
---
 gnu/packages/statistics.scm | 25 +
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index 9cf79ef..51294e5 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -3040,6 +3040,31 @@ black-and-white.  They are also designed to be perceived 
by readers with the
 most common form of color blindness.")
 (license license:x11)))
 
+(define-public r-viridislite
+  (package
+(name "r-viridislite")
+(version "0.1.3")
+(source
+ (origin
+   (method url-fetch)
+   (uri (cran-uri "viridisLite" version))
+   (sha256
+(base32
+ "1b0fhj8i1m9jsz91gzag60k7vy7kk5xkdg31rc3h3spq96l66psp"
+(properties `((upstream-name . "viridisLite")))
+(build-system r-build-system)
+(home-page "https://github.com/sjmgarnier/viridisLite;)
+(synopsis "Default color maps from matplotlib")
+(description
+ "This package is a port of the new @code{matplotlib} color maps 
('viridis',
+'magma', 'plasma' and 'inferno') to R.  matplotlib is a popular plotting
+library for Python.  These color maps are designed in such a way that they
+will analytically be perfectly perceptually-uniform, both in regular form and
+also when converted to black-and-white.  They are also designed to be
+perceived by readers with the most common form of color blindness.  This is
+the 'lite' version of the more complete @code{viridis} package.")
+(license license:expat)))
+
 (define-public r-tidyr
   (package
 (name "r-tidyr")
-- 
2.10.0





Re: Call for volunteer(s) for Guix "security" web page

2016-09-29 Thread Leo Famulari
On Tue, Sep 27, 2016 at 02:26:53PM -0400, Leo Famulari wrote:
> > Note that you’ll then need to commit the resulting HTML to CVS(!) to
> > that the update pages show up, as per the instructions available on the
> > Savannah project page.  If you’re unsure or anything, I can do that.
> 
> I'll try it if this new patch is okay.

I read some parts of the CVS manual [0].

I checked out the CVS repo over SSH as directed by Savannah. Then, I
copied all the new and changed files created by (export-web-site) in to
the CVS tree.

I want some reassurance that I'm doing the right thing before I do it :)

My plan:

$ cvs add security # The manual says that `cvs add` is not recursive.
$ cvs add security/index.html
$ cvs commit # I think this will commit all changes in tracked files.

Does that look right?

[0] For some reason nongnu.org/cvs directs users to archive.org for the
manual...
https://web.archive.org/web/20130202033128/http://ximbiot.com/cvs/manual/cvs-1.12.13/cvs_7.html#SEC68


signature.asc
Description: PGP signature


Reproducible build IRC meeting tomorrow

2016-09-29 Thread Ludovic Courtès
Hello!

There’ll be a reproducible build IRC meeting tomorrow (Sept. 30th; see
below).  I won’t be able to attend, but if anyone else would like to
chime in, it’d be nice.

Ludo’.

--- Begin Message ---
Chris Lamb wrote:

> I'd like to schedule a trial IRC meeting for the Reproducible builds
> project — it's easier to just try it once and discuss the merits and
> drawbacks based on experience, instead of debating them in advance.

I have picked the following time:

   http://time.is/compare/1800_30_Sept_2016_in_UTC

It will be held on the #debian-reproducible channel on irc.oftc.net.

The meeting will start promptly and will last 1 hour maximum.

As previously mentioned, contributors from all projects and interests
are very welcome, this is not intended to be at all exclusive to Debian
folks.


What you need to do
===

a) Convert that time to your local timezone and add to your diary or
   organiser. Appending "/$location" to the above URL will generally do
   the right thing, for example:
   
   http://time.is/compare/1800_30_Sept_2016_in_UTC/London

b) If you have any agenda items, please add them here:
 
   https://pad.riseup.net/p/reproducible-irc-meeting-1


Regards,

-- 
  ,''`.
 : :'  : Chris Lamb
 `. `'`  la...@debian.org / chris-lamb.co.uk
   `-
___
rb-gene...@lists.reproducible-builds.org mailing list

To change your subscription options, visit 
https://lists.reproducible-builds.org/listinfo/rb-general.

To unsubscribe, send an email to 
rb-general-unsubscr...@lists.reproducible-builds.org.--- End Message ---


Re: [PATCH 2/3] gnu: Add m17n-lib.

2016-09-29 Thread Ludovic Courtès
Arun Isaac  skribis:

> * gnu/packages/emacs.scm (m17n-lib): New variable.

Applied with mirror:// URI, thanks!

Ludo’.



Re: [PATCH 1/3] gnu: Add m17n-db.

2016-09-29 Thread Ludovic Courtès
Arun Isaac  skribis:

> * gnu/packages/emacs.scm (m17n-db): New variable.

[...]

> +   (uri (string-append
> + "http://download.savannah.gnu.org/releases/m17n/m17n-db-; 
> version ".tar.gz"))

Changed to mirror://savannah and applied, thanks!

Ludo’.



Re: locales gone, gnome-terminal doesn't start up anymore

2016-09-29 Thread Ludovic Courtès
Hi,

Danny Milosavljevic  skribis:

> so I've updated to 947a5d47a50252cb0b87b78a8f83f274dec593e2 git guix and now 
> I don't have any useful locales.
>
> $ locale -a
> C
> POSIX

I think this has always been the case because this command only lists
statically-known locales, strangely enough.

> Also, gnome-terminal doesn't start anymore:
>
> $ gnome-terminal
> Error constructing proxy for org.gnome.Terminal:/org/gnome/Terminal/Factory0: 
> Error calling StartServiceByName for org.gnome.Terminal: 
> GDBus.Error:org.freedesktop.DBus.Error.Spawn.ChildExited: Process 
> org.gnome.Terminal exited with status 8
>
> $ gnome-terminal --disable-factory
> Failed to parse arguments: Option "--disable-factory" is no longer supported 
> in this version of gnome-terminal.

Hmm, I suppose there is something else going on here.

Could you try in ‘guix system vm’ with the desktop.tmpl example and see
if the same problem occurs?

Thanks for reporting it,
Ludo’.



Re: [PATCH 5/7] gnu: Add rustc-bootstrap.

2016-09-29 Thread David Craven
> gcc-toolchain is a function. We could use gcc-toolchain-4.9 if you prefer?

ah see what you mean now, ignore this comment.



Re: [PATCH 2/6] gnu: %default-extra-linux-options: Remove redundant options.

2016-09-29 Thread Ludovic Courtès
David Craven  skribis:

>>> I think we need to revert this patch.  Could you please look at it?
>
> m and y aren't equivalent after all. The default initrd requires these
> to be modules.
>
> So there are two options, revert the patch or change the y's to m's.
>
> I think your're right. I can revert it and add a comment saying why
> they are needed.

Right, thanks for the quick response!

I think it’s best to have them as modules, because I imagine one would
want to avoid loading them when the system runs on the bare metal.

Ludo’.



Fw: [PATCH] guix: python-build-system: Honor configure-flags also when building

2016-09-29 Thread Danny Milosavljevic
(Hmm, maybe this patch was not seen because it's so far down in the thread 
"Stuck on KiCad dependency wxPython". So I'm resending it to the top.)

While there was already a #:configure-flags for the "install" target,
it was not used when building. Use it.

* guix/build/python-build-system.scm (build): Modified.
---
 guix/build/python-build-system.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/guix/build/python-build-system.scm b/guix/build/python-build-system.scm
index 9109fb4..65824a3 100644
--- a/guix/build/python-build-system.scm
+++ b/guix/build/python-build-system.scm
@@ -44,9 +44,9 @@
  (zero? (apply system* "python" "setup.py" command params)))
   (error "no setup.py found")))
 
-(define* (build #:rest empty)
+(define* (build #:key (configure-flags '()) #:allow-other-keys)
   "Build a given Python package."
-  (call-setuppy "build" '()))
+  (call-setuppy "build" configure-flags))
 
 (define* (check #:key tests? test-target #:allow-other-keys)
   "Run the test suite of a given Python package."


Re: Go not setting $GOPATH by default

2016-09-29 Thread 宋文武
swedebu...@riseup.net writes:

> Hi
>
> I have just installed go and it seems that it does not set a gopath by
> default.
>
> This leads to errors when trying to use go get, e.g.:
>
> sdb@unknown ~$ go get github.com/syncthing/syncthing
> package github.com/syncthing/syncthing: cannot download, $GOPATH not
> set. For more details see: go help gopath
>
> I propose that we set the gopath by default to "~/go" and create that
> directory by default, what do you think?

I think it's a good thing for user to set GOPATH his own, knowing where
the `go get' download into.



Re: [PATCH] doc: Add information related to network connectivity with qemu.

2016-09-29 Thread David Craven
> Though it does not solve my problem

Can you please explain your problem again?

So in a different thread you said you can't connect to the internet
from within your vm.

Did you receive an ip address from the dhcp-client-service? Does the
ip address look like the one on the host? Same subnet mask etc.?

wget https://google.com doesn't work then I gather? What's the error
message? Is it related to certificates or dns? Does wget
http://your-router-ip work?



[PATCH] gnu: Add sunxi-tools.

2016-09-29 Thread Danny Milosavljevic

* gnu/packages/admin.scm (sunxi-tools): New variable.
---
 gnu/packages/admin.scm | 28 
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index 6981242..ae2408b 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -1846,3 +1846,31 @@ Kerberos and Heimdal and FAST is supported with recent MIT Kerberos.")
 (license license:gpl1+)))
 
 ;;http://archives.eyrie.org/software/kerberos/pam-krb5-4.7.tar.xz
+
+(define-public sunxi-tools
+  (package
+(name "sunxi-tools")
+(version "1.3")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append "https://github.com/linux-sunxi/;
+   "sunxi-tools/archive/v" version ".tar.gz"))
+   (sha256
+(base32 "1iazm28gws1i8sls3gxwc5p108n56ags287zmh1rpvkn2k1az81a"
+(native-inputs
+ `(("pkg-config" ,pkg-config)))
+(inputs
+ `(("libusb" ,libusb)))
+(build-system gnu-build-system)
+(arguments
+ `(#:tests? #f ; no tests exist
+   #:make-flags (list (string-append "PREFIX="
+ (assoc-ref %outputs "out")))
+   #:phases
+   (modify-phases %standard-phases
+ (delete 'configure
+(home-page "https://github.com/linux-sunxi/sunxi-tools;)
+(synopsis "Tools to help manage Allwinner A10 devices")
+(description "This package contains tools for Allwinner A10 devices (for FEX, FEL USB, PIO, NAND, JTAG, RAM)")
+(license license:gpl2+)))


Re: [PATCH] doc: Add information related to network connectivity with qemu.

2016-09-29 Thread ng0
David Craven  writes:

> I could add a few examples, but it depends what's available.
>
> wget https://google.com or curl https://google.com would be two obvious ones
>

or/and: guix download http://gnu.org/index.html
-- 
  ng0



[PATCH] gnu: Add inputs for xonsh.

2016-09-29 Thread Danny Milosavljevic

* gnu/packages/shells.scm (xonsh): Add inputs.
---
 gnu/packages/shells.scm | 17 -
 1 file changed, 16 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm
index c165f99..e8ad701 100644
--- a/gnu/packages/shells.scm
+++ b/gnu/packages/shells.scm
@@ -281,8 +281,23 @@ ksh, and tcsh.")
 (uri (pypi-uri "xonsh" version))
 (sha256
   (base32
-"0byxd9kjl99q2pyvjh9jy18l0di1i35wr0qqgnw4i6jh6ig3zcki"
+"0byxd9kjl99q2pyvjh9jy18l0di1i35wr0qqgnw4i6jh6ig3zcki"))
+(modules '((guix build utils)))
+(snippet
+ `(begin
+;; Delete bundled ply.
+(delete-file-recursively "xonsh/ply")
+(substitute* '("setup.py")
+  (("'xonsh\\.ply',") ""))
+#t
 (build-system python-build-system)
+(native-inputs
+ `(("python-numpydoc" ,python-numpydoc)))
+(inputs
+  ;; TODO jupyter distro cloud Sphinx-Theme
+ `(("python-ply" ,python-ply)
+   ("python-sphinx" ,python-sphinx)
+   ("python-prompt-toolkit" ,python-prompt-toolkit)))
 (home-page "http://xon.sh/;)
 (synopsis "Python-ish shell")
 (description


Re: [PATCH] doc: Add information related to network connectivity with qemu.

2016-09-29 Thread David Craven
I could add a few examples, but it depends what's available.

wget https://google.com or curl https://google.com would be two obvious ones



Re: [PATCH 4/4] gnu: Add psyced.

2016-09-29 Thread ng0
Like in the old patch (I don't know how to pass git sendemail the root
of another thread), this is not a finished patch but I require input on
this. I have to debug by writing the service.

ng0  writes:

> * gnu/packages/psyc.scm (psyced): New variable.
> ---
>  gnu/packages/psyc.scm | 103 
> ++
>  1 file changed, 103 insertions(+)
>
> diff --git a/gnu/packages/psyc.scm b/gnu/packages/psyc.scm
> index 75d861e..cc1da6e 100644
> --- a/gnu/packages/psyc.scm
> +++ b/gnu/packages/psyc.scm
> @@ -223,3 +223,106 @@ multi user virtual environments on the internet.  This 
> technology is used for
>  MUDs and also the psyced implementation of the Protocol for SYnchronous 
> Conferencing (PSYC).  psycLPC is a fork of LDMud with some new features and
>  many bug fixes.")
>  (license license:gpl2
> +
> +;; XXX: We need a service for this which makes it functional, including
> +;; copying initial data around.
> +(define-public psyced
> +  (let* ((commit "18e72b74ccc4edef58751475d15138fb1300a3b1")
> + (revision "1"))
> +(package
> +  (name "psyced")
> +  (version (string-append "20160830-" revision "." (string-take commit 
> 7)))
> +  (source (origin
> +(method git-fetch)
> +(uri (git-reference
> +  (url "git://git.psyced.org/psyced")
> +  (commit commit)))
> +(file-name (string-append name "-" version "-checkout"))
> +(sha256
> + (base32
> +  "1h2cbb14lvnxyqf9g35h78d796hyhafg3h73jv69z6j2cvhka9r2"
> +  (build-system gnu-build-system)
> +  (inputs
> +   `(("perl" ,perl)))
> +  ;; psyced needs psyclpc at runtime, specifically you will also not
> +  ;; be able to use psyced witout psyclpc.
> +  (native-inputs
> +   `(("pkg-config" ,pkg-config)))
> +  (propagated-inputs
> +   `(("psyclpc" ,psyclpc)))
> +  (arguments
> +   `(#:tests? #f ; No tests
> + #:phases
> + (modify-phases %standard-phases
> +   (delete 'configure) ; No configure
> +   (delete 'build) ; no make build needed
> +   ;; Much of what install.sh used to do is now handled by psyconf. 
> Upstream
> +   ;; reference is the Gentoo ebuild in the 
> youbroketheinternet-overlay
> +   ;; (https://gnunet.org/git/) where equal ways of installing 
> psyced are applied
> +   (replace 'install
> + (lambda* (#:key outputs #:allow-other-keys)
> +   (let* ((out (assoc-ref outputs "out"))
> +  (bin (string-append out "/bin")) ;symlink it?
> +  (doc (string-append out "/share/doc"))
> +  ;; sandbox in /opt/psyced/world:
> +  (opt (string-append out "/opt/psyced"))
> +  (var (string-append out "/var/psyced"))
> +  (vard (string-append var "/data"))
> +  (vardpe (string-append vard "/person"))
> +  (vardpl (string-append vard "/place"))
> +  (varcon (string-append var "/config"))
> +  (etcpsy (string-append out "/etc/psyc")) ;symlink to /
> +  (varlp (string-append out "/var/log/psyced")) ;symlink 
> to /
> +  (varlpp (string-append varlp "/place"))) ;symlink to /
> + (mkdir-p bin)
> + (mkdir-p doc)
> + (mkdir-p opt)
> + (mkdir-p var)
> + (mkdir-p vard)
> + (mkdir-p vardpe)
> + (mkdir-p vardpl)
> + (mkdir-p varcon)
> + (mkdir-p etcpsy)
> + (mkdir-p varlp)
> + (mkdir-p varlpp)
> +
> + (copy-recursively "bin" bin)
> +
> + (install-file "config/psyced.ini" etcpsy)
> +
> + (install-file "AGENDA.txt" doc)
> + (install-file "CHANGESTODO" doc)
> + (install-file "COPYLEFT.txt" doc)
> + (install-file "LICENSE.txt" doc)
> +
> + (copy-recursively "pike" opt)
> + (copy-recursively "place" opt)
> + (copy-recursively "run" opt)
> + (copy-recursively "tor" opt)
> + (copy-recursively "config" opt)
> + (copy-recursively "trust" opt)
> + (copy-recursively "utility" opt)
> + (copy-recursively "world" opt)
> + #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/"))
> +  

Re: [PATCH] doc: Add information related to network connectivity with qemu.

2016-09-29 Thread ng0
Hi,

thanks for the patch. Though it does not solve my problem it adds
documentation.

David Craven  writes:

> * doc/guix.text: Add it.
> ---
>  doc/guix.texi | 39 +++
>  1 file changed, 39 insertions(+)
>
> diff --git a/doc/guix.texi b/doc/guix.texi
> index 785d6fb..5173ca7 100644
> --- a/doc/guix.texi
> +++ b/doc/guix.texi
> @@ -11030,6 +11030,45 @@ which may be insufficient for some operations.
>  The file name of the qcow2 image.
>  @end table
>  
> +The default @command{run-vm.sh} script that is returned by an invokation of
> +@command{guix system vm} does not add a @command{-net user} flag by default.
> +To get network access from within the vm add the @code{(dhcp-client-service)}
> +to your system definition and start the vm using
> +@command{$(guix system vm config.scm) -net user}.  An important caveat of 
> using
> +@command{-net user} for networking is that @command{ping} will not work, 
> because
> +it uses the ICMP protocol.  You'll have to use a different command to check 
> for
> +network connectivity, I'll leave this as an exercise for the reader.

I find this bad for documentation.. "I'll leave this as an exercise for
the reader" leaves the reader with question, when they might've started
to read this documentation section because they had a specific question
about this. Maybe point to other documentations, links, etc?

> +@subsubsection Connecting through ssh
> +
> +To enable ssh inside a vm you need to add a ssh server like 
> @code{(dropbear-service)}
> +or @code{(lsh-service)} to your vm. The @code{(lsh-service}) doesn't 
> currently
> +boot unsupervised. It requires you to type some characters to initialize the
> +randomness generator. In addition you need to forward the ssh port, 22 by
> +default, to the host. You can do this with
> +@command{$(guix system vm config.scm) -net user,hostfwd=tcp::10022-:22}. To 
> connect
> +to the vm you can run
> +@command{ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 
> 10022}.
> +The @command{-p} tells @command{ssh} the port you want to connect to.
> +@command{-o UserKnownHostsFile=/dev/null} prevents @command{ssh} from 
> complaining
> +every time you modify your @command{config.scm} file and the
> +@command{-o StrictHostKeyChecking=no} prevents you from having to allow a
> +connection to an unknown host every time you connect.
> +
> +@subsubsection Using virt-viewer with spice
> +
> +The default qemu graphical client isn't very nice.  As an alternative you can
> +use the @command{remote-viewer} from the @command{virt-viewer} package. To
> +connect pass the @command{-spice port=5930,disable-ticketing} flag to
> +@command{qemu}. See previous section for further information on how to do 
> this.
> +
> +Spice also allows you to do some nice stuff like share your clipboard with 
> your
> +vm.  To enable that you'll have to in addition pass the following flags to
> +@command{qemu}: @command{-device 
> virtio-serial-pci,id=virtio-serial0,max_ports=16,bus=pci.0,addr=0x5}
> +@command{-chardev spicevmc,name=vdagent,id=vdagent}
> +@command{-device 
> virtserialport,nr=1,bus=virtio-serial0.0,chardev=vdagent,name=com.redhat.spice.0}.
> +You'll also need to add the @code{(spice-vdagent-service)}.
> +
>  @node Defining Services
>  @subsection Defining Services
>  
> -- 
> 2.9.0
>
>

-- 
  ng0



[PATCH 3/4] gnu: Add psyclpc.

2016-09-29 Thread ng0
* gnu/packages/psyc.scm (psyclpc): New variable.
---
 gnu/packages/psyc.scm | 79 +++
 1 file changed, 79 insertions(+)

diff --git a/gnu/packages/psyc.scm b/gnu/packages/psyc.scm
index 253fa64..75d861e 100644
--- a/gnu/packages/psyc.scm
+++ b/gnu/packages/psyc.scm
@@ -18,15 +18,24 @@
 
 (define-module (gnu packages psyc)
   #:use-module (guix download)
+  #:use-module (guix git-download)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix build-system perl)
   #:use-module (guix build-system gnu)
   #:use-module (gnu packages)
   #:use-module (gnu packages admin)
+  #:use-module (gnu packages autotools)
+  #:use-module (gnu packages bison)
+  #:use-module (gnu packages compression)
+  #:use-module (gnu packages gettext)
   #:use-module (gnu packages linux)
+  #:use-module (gnu packages man)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages perl)
+  #:use-module (gnu packages pcre)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages tls)
   #:use-module (gnu packages web))
 
 (define-public perl-net-psyc
@@ -144,3 +153,73 @@ including psyced.")
 (license (list license:agpl3+
;; test/test.c is based on a public-domain test
license:public-domain
+
+;; This commit removes the historic bundled pcre, not released as a tarball so 
far.
+(define-public psyclpc
+  (let* ((commit "8bd51f2a4847860ba8b82dc79348ab37d516011e")
+ (revision "1"))
+  (package
+(name "psyclpc")
+(version (string-append "20160821-" revision "." (string-take commit 7)))
+(source (origin
+  (method git-fetch)
+  (uri (git-reference
+(url "git://git.psyced.org/git/psyclpc")
+(commit commit)))
+  (sha256
+   (base32
+"10w4kx9ygcv1lcmd7j4knvjiy8dac1y3hjfv3lhp67jpv6w3iagz"
+(build-system gnu-build-system)
+(arguments
+ `(#:tests? #f ; There are no tests/checks.
+   #:configure-flags
+   ;; If you have questions about this part, look at
+   ;; "src/settings/psyced" and the ebuild.
+   (list
+"--enable-use-tls=yes"
+"--enable-use-mccp" ; Mud Client Compression Protocol, leave this 
enabled.
+(string-append "--prefix="
+   (assoc-ref %outputs "out"))
+;; src/Makefile: Set MUD_LIB to the directory which contains
+;; the mud data. defaults to MUD_LIB = @libdir@
+(string-append "--libdir="
+   (assoc-ref %outputs "out")
+   "/opt/psyced/world")
+(string-append "--bindir="
+   (assoc-ref %outputs "out")
+   "/opt/psyced/bin")
+;; src/Makefile: Set ERQ_DIR to directory which contains the
+;; stuff which ERQ can execute (hopefully) savely.  Was formerly
+;; defined in config.h. defaults to ERQ_DIR= @libexecdir@
+(string-append "--libexecdir="
+   (assoc-ref %outputs "out")
+   "/opt/psyced/run"))
+   #:phases
+   (modify-phases %standard-phases
+ (add-before 'configure 'chdir-to-src
+   ;; We need to pass this as env variables
+   ;; and manually change the directory.
+   (lambda _
+ (chdir "src")
+ (setenv "CONFIG_SHELL" (which "sh"))
+ (setenv "SHELL" (which "sh")
+   #:make-flags (list "install-all")))
+(inputs
+ `(("zlib" ,zlib)
+   ("openssl" ,openssl)
+   ("pcre" ,pcre)))
+(native-inputs
+ `(("pkg-config" ,pkg-config)
+   ("bison" ,bison)
+   ("gnu-gettext" ,gnu-gettext)
+   ("help2man" ,help2man)
+   ("autoconf" ,autoconf)
+   ("automake" ,automake)))
+(home-page "http://lpc.psyc.eu/;)
+(synopsis "psycLPC is a multi-user network server programming language")
+(description
+ "LPC is a bytecode language, invented to specifically implement
+multi user virtual environments on the internet.  This technology is used for
+MUDs and also the psyced implementation of the Protocol for SYnchronous 
Conferencing (PSYC).  psycLPC is a fork of LDMud with some new features and
+many bug fixes.")
+(license license:gpl2
-- 
2.10.0




[PATCH 4/4] gnu: Add psyced.

2016-09-29 Thread ng0
* gnu/packages/psyc.scm (psyced): New variable.
---
 gnu/packages/psyc.scm | 103 ++
 1 file changed, 103 insertions(+)

diff --git a/gnu/packages/psyc.scm b/gnu/packages/psyc.scm
index 75d861e..cc1da6e 100644
--- a/gnu/packages/psyc.scm
+++ b/gnu/packages/psyc.scm
@@ -223,3 +223,106 @@ multi user virtual environments on the internet.  This 
technology is used for
 MUDs and also the psyced implementation of the Protocol for SYnchronous 
Conferencing (PSYC).  psycLPC is a fork of LDMud with some new features and
 many bug fixes.")
 (license license:gpl2
+
+;; XXX: We need a service for this which makes it functional, including
+;; copying initial data around.
+(define-public psyced
+  (let* ((commit "18e72b74ccc4edef58751475d15138fb1300a3b1")
+ (revision "1"))
+(package
+  (name "psyced")
+  (version (string-append "20160830-" revision "." (string-take commit 7)))
+  (source (origin
+(method git-fetch)
+(uri (git-reference
+  (url "git://git.psyced.org/psyced")
+  (commit commit)))
+(file-name (string-append name "-" version "-checkout"))
+(sha256
+ (base32
+  "1h2cbb14lvnxyqf9g35h78d796hyhafg3h73jv69z6j2cvhka9r2"
+  (build-system gnu-build-system)
+  (inputs
+   `(("perl" ,perl)))
+  ;; psyced needs psyclpc at runtime, specifically you will also not
+  ;; be able to use psyced witout psyclpc.
+  (native-inputs
+   `(("pkg-config" ,pkg-config)))
+  (propagated-inputs
+   `(("psyclpc" ,psyclpc)))
+  (arguments
+   `(#:tests? #f ; No tests
+ #:phases
+ (modify-phases %standard-phases
+   (delete 'configure) ; No configure
+   (delete 'build) ; no make build needed
+   ;; Much of what install.sh used to do is now handled by psyconf. 
Upstream
+   ;; reference is the Gentoo ebuild in the youbroketheinternet-overlay
+   ;; (https://gnunet.org/git/) where equal ways of installing psyced 
are applied
+   (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+   (let* ((out (assoc-ref outputs "out"))
+  (bin (string-append out "/bin")) ;symlink it?
+  (doc (string-append out "/share/doc"))
+  ;; sandbox in /opt/psyced/world:
+  (opt (string-append out "/opt/psyced"))
+  (var (string-append out "/var/psyced"))
+  (vard (string-append var "/data"))
+  (vardpe (string-append vard "/person"))
+  (vardpl (string-append vard "/place"))
+  (varcon (string-append var "/config"))
+  (etcpsy (string-append out "/etc/psyc")) ;symlink to /
+  (varlp (string-append out "/var/log/psyced")) ;symlink 
to /
+  (varlpp (string-append varlp "/place"))) ;symlink to /
+ (mkdir-p bin)
+ (mkdir-p doc)
+ (mkdir-p opt)
+ (mkdir-p var)
+ (mkdir-p vard)
+ (mkdir-p vardpe)
+ (mkdir-p vardpl)
+ (mkdir-p varcon)
+ (mkdir-p etcpsy)
+ (mkdir-p varlp)
+ (mkdir-p varlpp)
+
+ (copy-recursively "bin" bin)
+
+ (install-file "config/psyced.ini" etcpsy)
+
+ (install-file "AGENDA.txt" doc)
+ (install-file "CHANGESTODO" doc)
+ (install-file "COPYLEFT.txt" doc)
+ (install-file "LICENSE.txt" doc)
+
+ (copy-recursively "pike" opt)
+ (copy-recursively "place" opt)
+ (copy-recursively "run" opt)
+ (copy-recursively "tor" opt)
+ (copy-recursively "config" opt)
+ (copy-recursively "trust" opt)
+ (copy-recursively "utility" opt)
+ (copy-recursively "world" opt)
+ #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 "\\.*$"))
+ #t))
+  (home-page "http://www.psyced.org;)
+  (synopsis "Server for Federated Messaging and Chat over PSYC, IRC, XMPP, 
and more")
+  

[PATCH 2/4] gnu: Add libpsyc.

2016-09-29 Thread ng0
* gnu/packages/psyc.scm (libpsyc): New variable.
---
 gnu/packages/psyc.scm | 41 +
 1 file changed, 41 insertions(+)

diff --git a/gnu/packages/psyc.scm b/gnu/packages/psyc.scm
index 4d53dfd..253fa64 100644
--- a/gnu/packages/psyc.scm
+++ b/gnu/packages/psyc.scm
@@ -21,7 +21,10 @@
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix build-system perl)
+  #:use-module (guix build-system gnu)
   #:use-module (gnu packages)
+  #:use-module (gnu packages admin)
+  #:use-module (gnu packages linux)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages web))
@@ -103,3 +106,41 @@ for @uref{https://torproject.org,tor} router) and many 
more.")
license:public-domain
;; bin/psycplay states AGPL with no version:
license:agpl3+
+
+(define-public libpsyc
+  (package
+(name "libpsyc")
+(version "20160913")
+(source (origin
+  (method url-fetch)
+  (uri (string-append "http://www.psyced.org/files/;
+  name "-" version ".tar.xz"))
+  (sha256
+   (base32
+"14q89fxap05ajkfn20rnhc6b1h4i3i2adyr7y6hs5zqwb2lcmc1p"
+(build-system gnu-build-system)
+(native-inputs
+ `(("perl" ,perl)
+   ("netcat" ,netcat)
+   ("procps" ,procps)))
+(arguments
+ `(#:make-flags
+   (list "CC=gcc"
+ (string-append "PREFIX=" (assoc-ref %outputs "out")))
+   #:phases
+   (modify-phases %standard-phases
+ ;; The rust bindings are the only ones in use, the lpc bindings
+ ;; are in psyclpc.  The other bindings are not used by anything,
+ ;; the chances are high that the bindings do not even work,
+ ;; therefore we do not include them.
+ ;; TODO: Get a cargo build system in Guix.
+ (delete 'configure ; no configure script
+(home-page "http://about.psyc.eu/libpsyc;)
+(description
+ "@code{libpsyc} is a PSYC library in C which implements
+core aspects of PSYC, useful for all kinds of clients and servers
+including psyced.")
+(synopsis "PSYC library in C")
+(license (list license:agpl3+
+   ;; test/test.c is based on a public-domain test
+   license:public-domain
-- 
2.10.0




[PATCH 1/4] gnu: Add perl-net-psyc.

2016-09-29 Thread ng0
* gnu/packages/psyc.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
---
 gnu/local.mk  |   1 +
 gnu/packages/psyc.scm | 105 ++
 2 files changed, 106 insertions(+)
 create mode 100644 gnu/packages/psyc.scm

diff --git a/gnu/local.mk b/gnu/local.mk
index b864ea9..d49d458 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -296,6 +296,7 @@ GNU_SYSTEM_MODULES =\
   %D%/packages/pumpio.scm  \
   %D%/packages/pretty-print.scm\
   %D%/packages/protobuf.scm\
+  %D%/packages/psyc.scm \
   %D%/packages/pv.scm  \
   %D%/packages/python.scm  \
   %D%/packages/qemu.scm\
diff --git a/gnu/packages/psyc.scm b/gnu/packages/psyc.scm
new file mode 100644
index 000..4d53dfd
--- /dev/null
+++ b/gnu/packages/psyc.scm
@@ -0,0 +1,105 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2016 ng0 
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see .
+
+(define-module (gnu packages psyc)
+  #:use-module (guix download)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix packages)
+  #:use-module (guix build-system perl)
+  #:use-module (gnu packages)
+  #:use-module (gnu packages ncurses)
+  #:use-module (gnu packages perl)
+  #:use-module (gnu packages web))
+
+(define-public perl-net-psyc
+  (package
+(name "perl-net-psyc")
+(version "1.1")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append "http://perl.psyc.eu/;
+   "perlpsyc-" version ".zip"))
+   (file-name (string-append name "-" version ".zip"))
+   (sha256
+(base32
+ "1lw6807qrbmvzbrjn1rna1dhir2k70xpcjvyjn45y35hav333a42"))
+   ;; psycmp3 currently depends on MP3::List and rxaudio (shareware),
+   ;; we can add it back when this is no longer the case.
+   (snippet '(delete-file "contrib/psycmp3"
+(build-system perl-build-system)
+(inputs
+ `(("perl-curses" ,perl-curses)
+   ("perl-io-socket-ssl" ,perl-io-socket-ssl)))
+(arguments
+ `(#:phases
+   (modify-phases %standard-phases
+ (delete 'configure) ; No configure script
+ ;; There is a Makefile, but it does not install everything
+ ;; (leaves out psycion) and says
+ ;; "# Just to give you a rough idea". XXX: Fix it upstream.
+ (replace 'build
+   (lambda _
+ (zero? (system* "make" "manuals"
+ (replace 'install
+   (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+(doc (string-append out "/share/doc/perl-net-psyc"))
+(man1 (string-append out "/share/man/man1"))
+(man3 (string-append out "/share/man/man3"))
+(bin (string-append out "/bin"))
+(libpsyc (string-append out "/lib/psyc/ion"))
+(libperl (string-append out "/lib/perl5/site_perl/"
+,(package-version perl
+
+   (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)
+   (copy-recursively "share/man/man1" man1)
+   (copy-recursively "share/man/man3" man3)
+   #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 (getenv "PERL5LIB")))
+   (for-each (lambda 

Re: [PATCH] doc: Add information related to network connectivity with qemu.

2016-09-29 Thread Ludovic Courtès
Hello!

David Craven  skribis:

> * doc/guix.text: Add it.

Could you mention the sections modified/added?  See
c8b543741f422ecf41e7635c6a1c40b3bd55947a for an example.

I only have cosmetic suggestions:

> --- a/doc/guix.texi
> +++ b/doc/guix.texi
> @@ -11030,6 +11030,45 @@ which may be insufficient for some operations.
>  The file name of the qcow2 image.
>  @end table
>  
> +The default @command{run-vm.sh} script that is returned by an invokation of
> +@command{guix system vm} does not add a @command{-net user} flag by default.
> +To get network access from within the vm add the @code{(dhcp-client-service)}
> +to your system definition and start the vm using

s/vm/VM/

> +@command{$(guix system vm config.scm) -net user}.  An important caveat of 
> using

I tend to use backquotes instead of $(…) in shell examples, for the sake
of people who do not use Bash or a compatible shell.

> +@command{-net user} for networking is that @command{ping} will not work, 
> because
> +it uses the ICMP protocol.  You'll have to use a different command to check 
> for
> +network connectivity, I'll leave this as an exercise for the reader.
> +
> +@subsubsection Connecting through ssh

“Connecting Through SSH”

> +To enable ssh inside a vm you need to add a ssh server like 
> @code{(dropbear-service)}
> +or @code{(lsh-service)} to your vm. The @code{(lsh-service}) doesn't 
> currently
> +boot unsupervised. It requires you to type some characters to initialize the
> +randomness generator. In addition you need to forward the ssh port, 22 by
> +default, to the host. You can do this with
> +@command{$(guix system vm config.scm) -net user,hostfwd=tcp::10022-:22}. To 
> connect
> +to the vm you can run
> +@command{ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 
> 10022}.
> +The @command{-p} tells @command{ssh} the port you want to connect to.
> +@command{-o UserKnownHostsFile=/dev/null} prevents @command{ssh} from 
> complaining
> +every time you modify your @command{config.scm} file and the
> +@command{-o StrictHostKeyChecking=no} prevents you from having to allow a
> +connection to an unknown host every time you connect.

s/ssh/SSH/ (when referring to the protocol), and s/vm/VM/, and
two-spaces-after-period please.  :-)

When giving a non-trivial command, it might be worth putting it in
@example so that it stands out more clearly:

  You can do this with:

  @example
  `guix system vm config.scm` -net user,hostfwd=tcp::10022-:22
  @end example

Also, might be worth adding “(@pxref{Networking Services})” at the end
of the first sentence above.

> +@subsubsection Using virt-viewer with spice

“Using @command{virt-viewer} with Spice”

> +The default qemu graphical client isn't very nice.  As an alternative you can

s/qemu/QEMU/

Also maybe replace “isn’t very nice” by “is limited in such and such
way”, or “lacks the ability to do foo and bar”.  (I’m actually genuinely
interested in knowing what Spice provides compared to the built-in
client, having not used it yet.  :-))

> +use the @command{remote-viewer} from the @command{virt-viewer} package. To
> +connect pass the @command{-spice port=5930,disable-ticketing} flag to
> +@command{qemu}. See previous section for further information on how to do 
> this.
> +
> +Spice also allows you to do some nice stuff like share your clipboard with 
> your
> +vm.  To enable that you'll have to in addition pass the following flags to
> +@command{qemu}: @command{-device 
> virtio-serial-pci,id=virtio-serial0,max_ports=16,bus=pci.0,addr=0x5}
> +@command{-chardev spicevmc,name=vdagent,id=vdagent}
> +@command{-device 
> virtserialport,nr=1,bus=virtio-serial0.0,chardev=vdagent,name=com.redhat.spice.0}.
> +You'll also need to add the @code{(spice-vdagent-service)}.

(@pxref{Miscellaneous Services, Spice service})

It’s a great addition, thank you!

Ludo’.



Re: [PATCH v2 0/4] Add GCC cross compiler for arm-none-eabi.

2016-09-29 Thread Ricardo Wurmus

Ludovic Courtès  writes:

> Hi Theodoros,
>
> Theodoros Foradis  skribis:
>
>> The original patch series was working correctly and producing working 
>> binaries. Some
>> flags (that I had been using with 6.2.0) are missing from that version of 
>> GCC 4.9,
>> so I added 6.2.0 as an extra option. I have tested it to produce working 
>> binaries.
>>
>> Here are some modifications to Ricardo's patches for the arm-none-eabi
>> bare metal cross compiler. The following changes have been made:
>>
>> - I have modified xbinutils to use binutils 2.25.1 from cross-base, as it 
>> compiles
>> correctly with it. The version from the svn commit that was used by Ricardo 
>> is compiling
>> correct binaries as well. Thus, if it is deemed appropriate, the source for 
>> xbinutils can
>> be swapped for the previous one, with (seemingly) no difference.
>>
>> - The xgcc of the original, was failing to find the headers that newlib 
>> provided.
>> I have set the native-cross-paths as a workaround. Not sure if there is a 
>> better
>> alternative, or if the failure was my mistake.
>>
>> - A package for cross GCC 6.2.0 is added, with appropriate patches for 
>> multilib
>> support.
>>
>> - Newlib-arm-none-eabi and newlib-nano-arm-none-eabi have been changed to
>> procedures, taking an xgcc as argument, so as to facilitate building with
>> either version of gcc.
>>
>> - An arm-none-eabi-toolchain procedure is declared, to create toolchain 
>> packages
>> for both gcc and newlib version. The four toolchain variables follow. Not 
>> sure
>> if it's a mistake to include "nano" in the toolchain version.
>
> This all sounds reasonable to me.  Ricardo was interested in using this
> toolchain for one specific purpose, so maybe we’ll want to check that it
> also works here.  Ricardo: could you comment?

The changes seem reasonable.  I wasn’t happy with using fixed SVN
revisions in my patches, so I’m glad that this can be avoided.

I haven’t yet found the time to apply the proposed changes, build the
toolchain and try it with the Axoloti board.  I hope I’ll be able try on
Sunday to first address your comments, Ludo.  Then I’ll check the
suggested changes made by Theodoros (e.g. using different binutils and
doing without SVN).

Theodoros, I see that your patch set includes some of my patches as
well.  The only changes I can see is the addition of the native search
paths and parameterising newlib with xgcc, both of which I’ll add.
After applying my modified patches I would apply your patches that add
“arm-none-eabi-gcc-6” and the “arm-none-eabi-toolchain”.

Is this acceptable?

~~ Ricardo



Re: [PATCH 1/2] gnu: Add perl-net-psyc. [pcre]

2016-09-29 Thread ng0
Leo Famulari  writes:

> [ Unknown signature status ]
> On Wed, Sep 21, 2016 at 06:46:31PM +, ng0 wrote:
>> From 74a6c1e552a6ae8f438e91cbe318882401b440f8 Mon Sep 17 00:00:00 2001
>> From: ng0 
>> Date: Wed, 21 Sep 2016 18:08:42 +
>> Subject: [PATCH 1/2] gnu: Add psyclpc.
>> 
>> * gnu/packages/psyc.scm (psyclpc): New variable.
>
>> +(source (origin
>> +  (method url-fetch)
>> +  (uri (list (string-append "http://www.psyced.org/files/;
>> +name "-" version ".tar.xz")
>> + (string-append "http://krosos.sdf.org/static/unix/;
>> +"perlpsyc-" version ".zip")))
>> +  (sha256
>> +   (base32
>> +"0c2afcj8b2yr2vmy9sy0528iqs9sw01j6q35lvxicm42gs7vnik2"
>
> Do both of those URLs provide a file with the same hash?
>
>> +(arguments
>> + `(#:tests? #f ; There are no tests/checks.
>> +   #:configure-flags (list
>> +  "--enable-use-tls=yes"
>> +  "--enable-use-mccp"
>
> The "Mud Client Compression Protocol"?
>
>> +  (string-append "--with-openssl="
>> + (assoc-ref %build-inputs 
>> "openssl"))
>> +  (string-append "--prefix="
>> + (assoc-ref %outputs "out"))
>> +  (string-append "--libdir=" ; "-DMUD_LIB="
>
> What does this commented text mean?
>
>> + (assoc-ref %outputs "out")
>> + "/opt/psyced/world")
>> +  (string-append "--bindir="
>> + (assoc-ref %outputs "out")
>> + "/opt/psyced/bin")
>> +  (string-append "--libexecdir=" ; "-DERQ_DIR="
>
> Same question here.
>
>> +(inputs
>> + `(("zlib" ,zlib)
>> +   ("openssl" ,openssl)))
>> +;; pcre is bundled to ensure the version is compatible. XXX: look into
>> +;; unbundling it. Upstream should update from pcre 4.5 to 8.38. For
>> +;; functionality reasons we can not unbundle it now.
>> +;; ("pcre" ,pcre)))
>
> That version of PCRE was released in 2003. We might want to add a
> warning to the package description...
>
> https://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=pcre

Update on this: the pcre bundling was inherited from ldmud, current
ldmud has unbundled pcre, so we will be able to unbundle pcre.

I'd still like to have the patches in their current form and update
psyclpc when the next version without pcre is out.
-- 
  ng0



Re: [PATCH 2/6] gnu: %default-extra-linux-options: Remove redundant options.

2016-09-29 Thread David Craven
I'll look at it I'm ca 1h afk. That's possible, the kernel configs may use
y instead of m, but I checked that they're all there. I think that the
configs should probably be changed, or wdyt?

On Sep 29, 2016 10:41 AM, "Ludovic Courtès"  wrote:

> Hi David,
>
> David Craven  skribis:
>
> > * gnu/packages/linux.scm (%default-extra-linux-options): Remove
> >   redundant options.
>
> This patches appears to break things:
>
> --8<---cut here---start->8---
> $ sudo ./pre-inst-env guix system reconfigure 
> ~/src/configuration/pluto-configuration.scm
> --fallback
>
> [...]
>
> Backtrace:
> In ice-9/boot-9.scm:
>  157: 13 [catch #t # ...]
> In unknown file:
>?: 12 [apply-smob/1 #]
> In ice-9/boot-9.scm:
>   63: 11 [call-with-prompt prompt0 ...]
> In ice-9/eval.scm:
>  432: 10 [eval # #]
> In ice-9/boot-9.scm:
> 2401: 9 [save-module-excursion # ice-9/boot-9.scm:4045:3 ()>]
> 4050: 8 [#]
> 1724: 7 [%start-stack load-stack # ice-9/boot-9.scm:4041:10 ()>]
> 1729: 6 [#]
> In unknown file:
>?: 5 [primitive-load "/gnu/store/8lmcdhipd7ccjpaqd3a8pbb2yvn9d7
> v0-linux-modules-builder"]
> In ice-9/eval.scm:
>  432: 4 [eval # ()]
>  453: 3 [eval # ()]
>  411: 2 [eval # ()]
> In srfi/srfi-1.scm:
>  578: 1 [map # ("ahci" "usb-storage" "uas" ...)]
> In unknown file:
>?: 0 [scm-error misc-error #f ...]
>
> ERROR: In procedure scm-error:
> ERROR: module not found "virtio_pci.ko" "/gnu/store/
> kzia9krx5ax1pm2pq5476v5fv71x36ai-linux-libre-4.7.5/lib/modules"
> builder for `/gnu/store/x0jqyr639karxakl0q2807ka608g4k3n-linux-modules.drv'
> failed with exit code 1
> --8<---cut here---end--->8---
>
> “make check-system TESTS=basic” fails similarly.
>
> Indeed, most of the virtio modules disappeared:
>
> --8<---cut here---start->8---
> $ find 
> "/gnu/store/kzia9krx5ax1pm2pq5476v5fv71x36ai-linux-libre-4.7.5/lib/modules"
> -name virtio\*
> /gnu/store/kzia9krx5ax1pm2pq5476v5fv71x36ai-linux-libre-4.7.5/lib/
> modules/4.7.5-gnu/kernel/drivers/char/hw_random/virtio-rng.ko
> /gnu/store/kzia9krx5ax1pm2pq5476v5fv71x36ai-linux-libre-4.7.5/lib/
> modules/4.7.5-gnu/kernel/drivers/scsi/virtio_scsi.ko
> /gnu/store/kzia9krx5ax1pm2pq5476v5fv71x36ai-linux-libre-4.7.5/lib/
> modules/4.7.5-gnu/kernel/drivers/gpu/drm/virtio
> /gnu/store/kzia9krx5ax1pm2pq5476v5fv71x36ai-linux-libre-4.7.5/lib/
> modules/4.7.5-gnu/kernel/drivers/gpu/drm/virtio/virtio-gpu.ko
> /gnu/store/kzia9krx5ax1pm2pq5476v5fv71x36ai-linux-libre-4.7.5/lib/
> modules/4.7.5-gnu/kernel/drivers/virtio
> /gnu/store/kzia9krx5ax1pm2pq5476v5fv71x36ai-linux-libre-4.7.5/lib/
> modules/4.7.5-gnu/kernel/drivers/virtio/virtio_input.ko
> --8<---cut here---end--->8---
>
> I think we need to revert this patch.  Could you please look at it?
>
> TIA!
>
> Ludo’.
>


Re: [PATCH 2/6] gnu: %default-extra-linux-options: Remove redundant options.

2016-09-29 Thread Ludovic Courtès
Hi David,

David Craven  skribis:

> * gnu/packages/linux.scm (%default-extra-linux-options): Remove
>   redundant options.

This patches appears to break things:

--8<---cut here---start->8---
$ sudo ./pre-inst-env guix system reconfigure 
~/src/configuration/pluto-configuration.scm --fallback

[...]

Backtrace:
In ice-9/boot-9.scm:
 157: 13 [catch #t # ...]
In unknown file:
   ?: 12 [apply-smob/1 #]
In ice-9/boot-9.scm:
  63: 11 [call-with-prompt prompt0 ...]
In ice-9/eval.scm:
 432: 10 [eval # #]
In ice-9/boot-9.scm:
2401: 9 [save-module-excursion #]
4050: 8 [#]
1724: 7 [%start-stack load-stack #]
1729: 6 [#]
In unknown file:
   ?: 5 [primitive-load 
"/gnu/store/8lmcdhipd7ccjpaqd3a8pbb2yvn9d7v0-linux-modules-builder"]
In ice-9/eval.scm:
 432: 4 [eval # ()]
 453: 3 [eval # ()]
 411: 2 [eval # ()]
In srfi/srfi-1.scm:
 578: 1 [map # ("ahci" "usb-storage" "uas" ...)]
In unknown file:
   ?: 0 [scm-error misc-error #f ...]

ERROR: In procedure scm-error:
ERROR: module not found "virtio_pci.ko" 
"/gnu/store/kzia9krx5ax1pm2pq5476v5fv71x36ai-linux-libre-4.7.5/lib/modules"
builder for `/gnu/store/x0jqyr639karxakl0q2807ka608g4k3n-linux-modules.drv' 
failed with exit code 1
--8<---cut here---end--->8---

“make check-system TESTS=basic” fails similarly.

Indeed, most of the virtio modules disappeared:

--8<---cut here---start->8---
$ find 
"/gnu/store/kzia9krx5ax1pm2pq5476v5fv71x36ai-linux-libre-4.7.5/lib/modules" 
-name virtio\*
/gnu/store/kzia9krx5ax1pm2pq5476v5fv71x36ai-linux-libre-4.7.5/lib/modules/4.7.5-gnu/kernel/drivers/char/hw_random/virtio-rng.ko
/gnu/store/kzia9krx5ax1pm2pq5476v5fv71x36ai-linux-libre-4.7.5/lib/modules/4.7.5-gnu/kernel/drivers/scsi/virtio_scsi.ko
/gnu/store/kzia9krx5ax1pm2pq5476v5fv71x36ai-linux-libre-4.7.5/lib/modules/4.7.5-gnu/kernel/drivers/gpu/drm/virtio
/gnu/store/kzia9krx5ax1pm2pq5476v5fv71x36ai-linux-libre-4.7.5/lib/modules/4.7.5-gnu/kernel/drivers/gpu/drm/virtio/virtio-gpu.ko
/gnu/store/kzia9krx5ax1pm2pq5476v5fv71x36ai-linux-libre-4.7.5/lib/modules/4.7.5-gnu/kernel/drivers/virtio
/gnu/store/kzia9krx5ax1pm2pq5476v5fv71x36ai-linux-libre-4.7.5/lib/modules/4.7.5-gnu/kernel/drivers/virtio/virtio_input.ko
--8<---cut here---end--->8---

I think we need to revert this patch.  Could you please look at it?

TIA!

Ludo’.



Re: [PATCH] Add tinycm.

2016-09-29 Thread ng0
Hi,

thanks for reviewing this.

Should I wait until the updates to the python buildsystem harmut sent
are merged? Including this now would require one more set of python2
packages to be changed.
I want this off my todo list and the branch deleted, but waiting until
this is merged sounds more reasonable to me.

Leo Famulari  writes:

> [ Unknown signature status ]
> On Wed, Sep 21, 2016 at 12:07:22PM +, ng0 wrote:
>> This adds tinycm. But now that I am finished, I think this is not what I
>> wanted, I wanted http://tinycm.slitaz.org/ . I assumed without looking
>> at the source that this is just a fork.
>> Well, no damage in more packages I'd say.
>
> Thanks for this patch series!
>
>> 
>
>> Subject: [PATCH 1/8] gnu: Add python-boolexp.
>> 
>> * gnu/packages/python.scm (python-boolexp): New variable.
>
>> +(define-public python2-boolexp
>> +  (let ((boolexp (package-with-python2 python-boolexp)))
>> +(package (inherit boolexp)
>> +  (native-inputs
>> +   `(("python2-setuptools" ,python2-setuptools))
>
> This won't work in all cases. You have to use the python2-variant system
> when python-2 versions of packages have different inputs from the
> python-3 version. Can you update the patch? See commit
> bd74be7b8c6f3df34d8556f55ab9ef7411c07933 for an example.
>
> Some more of the patches have this issue. I won't mention it again as I
> remove them.
>
>> Subject: [PATCH 3/8] gnu: Add python2-ruamel.ordereddict
>> 
>> * gnu/packages/python.scm (python2-ruamel.ordereddict): New variable.
>
>> +;; XXX: https://bitbucket.org/ruamel/ordereddict/issues/2
>> +(arguments
>> + `(#:python ,python-2))
>
> Please add a line to the comment that says something like "Only Python 2
> is supported", so that the hyperlink has some context.
>
>> Subject: [PATCH 4/8] gnu: Add python-distro.
>> 
>> * gnu/packages/python.scm (python-distro): New variable.
>
> `guix lint` should suggest some changes to the synopsis and description.
>
>> Subject: [PATCH 5/8] mailmap: Add new address for ng0.
>
> LGTM but I have no experience with this subject.
>
>> Subject: [PATCH 6/8] gnu: Add python-typing.
>> 
>> * gnu/packages/python.scm (python-typing): New variable.
>
> LGTM
>
>> Subject: [PATCH 7/8] gnu: Add python-ruamel.yaml.
>> 
>> * gnu/packages/python.scm (python-ruamel.yaml): New variable.
>
>> +(arguments
>> + `(;; Otherwise it complains that you have to do "pypi install ."
>> +   #:configure-flags (list "--single-version-externally-managed"
>> +   "--record=ruamel.yaml.txt")))
>
> Is the '--record' line also described by the comment about "pypi
> install"? If not please add a comment that explains it.
>
>> +(inputs
>> + `(("python-typing" ,python-typing)))
>
>> +(define-public python2-ruamel.yaml
>> +  (package (inherit (package-with-python2
>> + (strip-python2-variant python-ruamel.yaml)))
>> +(name "python2-ruamel.yaml")
>> +(inputs
>> + `(("python2-ruamel.ordereddict" ,python2-ruamel.ordereddict)
>> +   ("python2-typing" ,python2-typing)))
>> +(native-inputs
>> + `(("python2-setuptools" ,python2-setuptools)
>
> You'll need to add a (properties) field to ensure that the
> python2-variant is used. Also, you don't have to specify python2-typing;
> you can append to the inherited inputs that are transformed by
> package-with-python2. See 0adc21c2933fbe47ee37d90acdb4ad8cbc60ed69 for
> an example.

-- 
  ng0