Re: [PATCH] gnu: Add rpcbind

2016-08-31 Thread John Darrington
On Wed, Aug 31, 2016 at 10:38:00PM +0200, John Darrington wrote:
 On Wed, Aug 31, 2016 at 10:25:36PM +0200, Ludovic Court??s wrote:
  John Darrington  skribis:
  
  > +(synopsis "A server to convert RPC program numbers into 
universal addresses")
^
  What about: ???Convert ONC??RPC program numbers to addresses
 
 I have no idea what ONC is.

Oh according to Wikipedia "Open Network Computing".  Maybe then I will move 
this code
out of linux.scm and into onc-rpc.scm

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



signature.asc
Description: Digital signature


Re: core-updates, next release, and all that

2016-08-31 Thread Ben Woodcroft



On 01/09/16 05:33, Ricardo Wurmus wrote:

Ben Woodcroft  writes:


On 28/07/16 19:31, Andreas Enge wrote:

Hello,

the main failures that remain on x86 are related to the gmime problem fixed
in master. So I merged master once again and will start another evaluation
of core-updates. Probably we are done then.

There is a little problem with some source that cannot be downloaded:
 http://hydra.gnu.org:3000/build/1327453
If this has not been fixed in master yet, maybe the bioinformatics people
would like to have a look.

Fixed in 'f2e791750'. This was another case of BioConductor deleting out
of date sources, and more encouragement to move to SVN as discussed
previously.
https://lists.gnu.org/archive/html/guix-devel/2016-06/msg00683.html

Yeah, I really feel guilty each time I tell people here that Guix helps
with reproducibility — and then I remember Bioconductor and have to add
a footnote…
It isn't so bad with content addressed mirrors now of course, this was a 
special case with hydra itself going down.



I have already rewritten a Bioconductor package locally to test this.
It shouldn’t take very long to move to SVN, but I just haven’t found the
time so far.  Maybe after the recursive importer is merged I’ll be able
to make time to adjust the importer and existing Bioconductor packages.

Excellent.

ben



Re: Store on separate partition

2016-08-31 Thread John Darrington
On Wed, Aug 31, 2016 at 11:21:32PM +0200, Ludovic Court??s wrote:

 > And voil??, I can boot into my newly installed GuixSD with /gnu/store in
 > a separate partition.

That's great.

It would be wonderful if we could go one step further, and have source 
derivations on
a separate partition to binary derivations.  Those two kinds of object have 
significantly,
different access patterns, and would benefit from being stored on different 
media.

J'
 

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



signature.asc
Description: Digital signature


Re: [PATCH] gnu: gzochi: Update to 0.10.

2016-08-31 Thread Julian Graham
Hi Mark,

On Thu, Aug 25, 2016 at 3:22 PM, Mark H Weaver  wrote:
> I tested gzochi-0.10.1 by applying your proposed patch to current
> 'master' (commit 8930fe62f0) and building on armhf.  Unfortunately
> there's still a problem: test_oid_strategy_allocation fails an
> assertion.  See below.

I've been testing my code for the past several days using QEMU to
emulate a Versatile Express (Cortex A9) ARM system running Debian
Wheezy. And while I've found and fixed a number of interesting
portability issues, I've yet to be able to reproduce the specific test
failure you saw.

You mentioned on IRC that your armhf build machine is a Wandboard
Quad. Is there anything else you can tell me about it that'd help me
debug further? For example, is it running in big-endian mode?

Thanks for your help and patience thus far.


Regards,
Julian



Re: [PATCH] Clean all .go in clean-go

2016-08-31 Thread Mathieu Lirzin
Hello,

Eric Bavier  writes:

> From: Eric Bavier 
>
> I encountered a runtime error recently while running `guix system
> reconfigure`.  Thinking this might be because of an ABI break I ran `make 
> clean-go && make` before trying again, with the same result.
>
> It turns out a module had been renamed, in this case fish.scm to shells.scm,
> but I had overlooked this and failed to update the list of modules in my
> config.scm's (use-package-modules ...) statement.  However, I still had a
> stale fish.go sitting in my build directory, which `make clean-go` had failed
> to clean up, and guix happily loaded it.
>
> I believe the following patch is an appropriate way to avoid such errors in
> the future.

AIUI the main problem is that the API for defining "config.scm" is not
stable because of the package modules renames.  Since package names are
more stable, I think that configuration files should import (gnu
packages) and use 'specification->package' when possible to resolve
packages, instead of relying on the module names.  Maybe we should fix
the "config.scm" documentation?

In regards of the .go files remaining in the build directory, I agree
that this is not good, however I don't think it is worth trying to fix
this issue which equally applies to every file generated by Make.  Using
wildcards can be tempting in such cases but it can lead to accidental
file deletions which is worse IMO.  As a consequence I would prefer
keeping the current 'clean-go' rule.

-- 
Mathieu Lirzin



[PATCH] gnu: gtk: Add clipit.

2016-08-31 Thread doncatnip
Hey Guix,

This patch adds ClipIt (clipit) to the repository. Tested with lint,
build rounds=2 and actual usability.>From 82051a27d1ca6131ad6295fad95e0bc19cc22bfa Mon Sep 17 00:00:00 2001
From: doncatnip 
Date: Thu, 1 Sep 2016 03:15:01 +0200
Subject: [PATCH] gnu: gtk: Add clipit.

* gnu/packages/gtk.scm (clipit): New variable.
---
 gnu/packages/gtk.scm | 36 
 1 file changed, 36 insertions(+)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 8feac11..c47a763 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -1331,3 +1331,39 @@ glass artworks done by Venicians glass blowers.")
  "GtkSpell provides word-processor-style highlighting and replacement of
 misspelled words in a GtkTextView widget.")
 (license license:gpl2+)))
+
+(define-public clipit
+  (package
+(name "clipit")
+(version "1.4.2")
+(source (origin
+  (method url-fetch)
+  (file-name (string-append name "-" version ".tar.gz"))
+  (uri (string-append
+"https://github.com/CristianHenzel/ClipIt/archive/;
+version ".tar.gz"))
+  (sha256
+(base32 "0ni1xrzabs8685wv3fgranrw49bf6bjmrqmqpp6vjm70br7bm1h6"
+(build-system gnu-build-system)
+(arguments
+ '(#:phases (alist-cons-after
+ 'unpack 'autogen
+ (lambda _
+   (zero? (system* "sh" "autogen.sh")))
+ %standard-phases)))
+(native-inputs
+ `(("intltool" ,intltool)
+   ("pkg-config" ,pkg-config)
+   ("autoconf", autoconf)
+   ("automake", automake)
+   ("libtool", libtool)))
+(inputs
+ `(("gtk+" ,gtk+-2)))
+(home-page "https://github.com/CristianHenzel/ClipIt;)
+(synopsis "Lightweight GTK+ clipboard manager")
+(description
+ "Clipboard manager with features such as a history, search thereof, global
+hotkeys and clipboard item actions.  ClipIt was forked from Parcellite and adds
+many bugfixes and features to the project.  For a full list of changes see
+https://github.com/CristianHenzel/ClipIt/blob/master/ChangeLog;)
+(license license:gpl2+)))
-- 
2.9.3



[PATCH] build: Clean all .go files in clean-go.

2016-08-31 Thread Eric Bavier
From: Eric Bavier 

* Makefile.am (clean-go): Use wildcards instead of a list of files.
---
 Makefile.am | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/Makefile.am b/Makefile.am
index 165dfe9..36d1d78 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -204,9 +204,10 @@ srfi/srfi-37.scm: srfi/srfi-37.scm.in
 
 endif INSTALL_SRFI_37
 
-# Handy way to remove the .go files without removing all the rest.
+# Handy way to remove the .go files without removing all the rest.  Use
+# wildcards so that any stale .go files from renamed modules are also cleaned.
 clean-go:
-   -$(RM) -f $(GOBJECTS)
+   -$(RM) -f $(addsuffix *.go,$(sort $(dir $(GOBJECTS
 
 
 # Test extensions; has to be unconditional.
-- 
2.9.3




[PATCH] Clean all .go in clean-go

2016-08-31 Thread Eric Bavier
From: Eric Bavier 

I encountered a runtime error recently while running `guix system
reconfigure`.  Thinking this might be because of an ABI break I ran `make 
clean-go && make` before trying again, with the same result.

It turns out a module had been renamed, in this case fish.scm to shells.scm,
but I had overlooked this and failed to update the list of modules in my
config.scm's (use-package-modules ...) statement.  However, I still had a
stale fish.go sitting in my build directory, which `make clean-go` had failed
to clean up, and guix happily loaded it.

I believe the following patch is an appropriate way to avoid such errors in
the future.

Eric Bavier (1):
  build: Clean all .go files in clean-go.

 Makefile.am | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

-- 
2.9.3




Re: GHM debriefing

2016-08-31 Thread Leo Famulari
On Thu, Sep 01, 2016 at 12:28:51AM +0200, Clément Lassieur wrote:
> The Kernel Recipes talk by Greg KH [4] about why the Linux kernel
> developers rely on plain text email instead of using "modern"
> development tools might be of some interest too. It'll happen in Paris
> on September 28 [5].

I am interested in this talk. Hopefully it will be accessible to those
who can't be present at the event.



Re: GHM debriefing

2016-08-31 Thread Clément Lassieur
Hi Ludovic,

Ludovic Courtès  writes:

> On that topic, I had an interesting discussion with Nicolas Petton of
> Emacs about patch tracking.  Nicolas explained that Gitlab (free
> software) doesn’t have some of the technical defects that GitHub has; in
> particular it can rebase instead of merging, thereby helping preserve a
> linear history, and it can be dealt with “mostly” by email.  Perhaps we
> could try running an instance and see what it’s like.

According to Gitlab Documentation [0] [1], the rebase feature you are
talking about is only available in Gitlab Enterprise Edition, which is
proprietary [2].

The libreboot website [3] explains "what's wrong with Gitlab", I think
it is worth reading.

The Kernel Recipes talk by Greg KH [4] about why the Linux kernel
developers rely on plain text email instead of using "modern"
development tools might be of some interest too. It'll happen in Paris
on September 28 [5].

[0]: https://about.gitlab.com/features/#compare
[1]: http://docs.gitlab.com/ee/workflow/rebase_before_merge.html
[2]: https://about.gitlab.com/2014/02/11/gitlab-ee-license-change/
[3]: https://libreboot.org/gitlab/
[4]: https://kernel-recipes.org/en/2016/talks/patches-carved-into-stone-tablets/
[5]: https://kernel-recipes.org/en/2016/schedule/

Clément



Re: [PATCH] gnu: Add mtd-utils.

2016-08-31 Thread Danny Milosavljevic
On Wed, 31 Aug 2016 22:59:11 +0200
l...@gnu.org (Ludovic Courtès) wrote:

> Are there GPLv2 license headers that lack the “or any later version”
> wording, or anything that explicitly says “version 2 only”?  If not,
> it’s v2-or-later.

./ftl_format.c: ' Ported to MTD system.  * Based on:  
==
Utility to create an FTL partition in a memory regionftl_format.c 1.13 
1999/10/25 20:01:35The contents of this file are subject to the Mozilla 
Public   License Version 1.1  ( the "License" ) ; you may not use this file   
except in compliance with the License. You may obtain a copy of   the License 
at http://www.mozilla.org/MPL/Software distributed under the License is 
distributed on an "AS   IS" basis, WITHOUT WARRANTY OF ANY KIND, either express 
or   implied. See the License for the specific language governing   rights and 
limitations under the License.The initial developer of the original code is 
David A. Hinds   .  Portions created by David A. 
Hinds   are Copyright  ( C )  1999 David A. Hinds.  All Rights Reserved.
Alternatively, the contents of this file may be used under the   terms of the 
GNU Public Lic
 ense version 2  ( the "GPL" ) , in which   case the provisions of the GPL are 
applicable instead of the   above.  If you wish to allow the use of your 
version of this file   only under the terms of the GPL and not to allow others 
to use   your version of this file under the MPL, indicate your decision   by 
deleting the provisions above and replace them with the notice   and other 
provisions required by the GPL.  If you do not delete   the provisions above, a 
recipient may use your version of this   file under either the MPL or the GPL.  
  =='

./mkfs.ubifs/crc16.h: '  * Implements the standard CRC-16:  *   Width 16  *   
Poly  0x8005  ( x^16 + x^15 + x^2 + 1 )   *   Init  0  *  * Copyright  ( c )  
2005 Ben Gardner   *  * This code was taken from the linux 
kernel. The license is GPL Version 2.  '



[PATCH v2 1/2] gnu: Add dtc.

2016-08-31 Thread Danny Milosavljevic
gnu: Add dtc.

* gnu/packages/u-boot.scm (dtc): New variable.

Co-authored-by: David Craven 
---
 gnu/local.mk   |  4 ++
 gnu/packages/patches/dtc-01_build_doc.patch| 22 
 ...t-Add-missing-functions-to-shared-library.patch | 30 ++
 ...t-Add-some-missing-symbols-to-version.lds.patch | 33 +++
 gnu/packages/u-boot.scm| 65 ++
 5 files changed, 154 insertions(+)
 create mode 100644 gnu/packages/patches/dtc-01_build_doc.patch
 create mode 100644 
gnu/packages/patches/dtc-23-libfdt-Add-missing-functions-to-shared-library.patch
 create mode 100644 
gnu/packages/patches/dtc-24_libfdt-Add-some-missing-symbols-to-version.lds.patch
 create mode 100644 gnu/packages/u-boot.scm

diff --git a/gnu/local.mk b/gnu/local.mk
index 66ef07b..799b6f0 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -345,6 +345,7 @@ GNU_SYSTEM_MODULES =\
   %D%/packages/tor.scm\
   %D%/packages/tre.scm\
   %D%/packages/tv.scm\
+  %D%/packages/u-boot.scm			\
   %D%/packages/unrtf.scm			\
   %D%/packages/upnp.scm\
   %D%/packages/uucp.scm\
@@ -809,6 +810,9 @@ dist_patch_DATA =		\
   %D%/packages/patches/torsocks-dns-test.patch			\
   %D%/packages/patches/totem-debug-format-fix.patch		\
   %D%/packages/patches/tuxpaint-stamps-path.patch		\
+  %D%/packages/patches/u-boot-dtc-01_build_doc.patch		\
+  %D%/packages/patches/u-boot-dtc-23-libfdt-Add-missing-functions-to-shared-library.patch	\
+  %D%/packages/patches/u-boot-dtc-24_libfdt-Add-some-missing-symbols-to-version.lds.patch	\
   %D%/packages/patches/unzip-CVE-2014-8139.patch		\
   %D%/packages/patches/unzip-CVE-2014-8140.patch		\
   %D%/packages/patches/unzip-CVE-2014-8141.patch		\
diff --git a/gnu/packages/patches/dtc-01_build_doc.patch b/gnu/packages/patches/dtc-01_build_doc.patch
new file mode 100644
index 000..0ecafa3
--- /dev/null
+++ b/gnu/packages/patches/dtc-01_build_doc.patch
@@ -0,0 +1,22 @@
+Note: the patch is from 
+Index: device-tree-compiler-1.0.0/Documentation/Makefile
+===
+--- /dev/null	1970-01-01 00:00:00.0 +
 device-tree-compiler-1.0.0/Documentation/Makefile	2007-08-23 18:26:22.0 +0200
+@@ -0,0 +1,16 @@
++all: dtc-paper.ps dtc-paper.pdf dtc-manual.txt
++
++dtc-manual.txt: manual.txt
++	cp -f $< $@
++
++dtc-paper.dvi: dtc-paper.tex
++	latex $<
++
++dtc-paper.ps: dtc-paper.dvi
++	dvips $<
++
++dtc-paper.pdf: dtc-paper.tex
++	pdflatex $<
++
++clean:
++	rm -f *.aux *.log *.dvi *.ps *.pdf dtc-manual.txt
diff --git a/gnu/packages/patches/dtc-23-libfdt-Add-missing-functions-to-shared-library.patch b/gnu/packages/patches/dtc-23-libfdt-Add-missing-functions-to-shared-library.patch
new file mode 100644
index 000..3bfde67
--- /dev/null
+++ b/gnu/packages/patches/dtc-23-libfdt-Add-missing-functions-to-shared-library.patch
@@ -0,0 +1,30 @@
+From a4b093f7366fdb429ca1781144d3985fa50d0fbb Mon Sep 17 00:00:00 2001
+From: Julien Grall 
+Date: Tue, 17 Mar 2015 16:00:34 +
+Subject: [PATCH] libfdt: Add missing functions to shared library
+
+The commit 4e76ec7 "libfdt: Add fdt_next_subnode() to permit easy
+subnode iteration" adds new functions (fdt_{first,next}_subnode) but
+forgot to mark them as 'global' in the shared library.
+
+Signed-off-by: Julien Grall 
+---
+ libfdt/version.lds | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/libfdt/version.lds b/libfdt/version.lds
+index 80b322b..941208e 100644
+--- a/libfdt/version.lds
 b/libfdt/version.lds
+@@ -54,6 +54,8 @@ LIBFDT_1.2 {
+ 		fdt_get_property_by_offset;
+ 		fdt_getprop_by_offset;
+ 		fdt_next_property_offset;
++		fdt_first_subnode;
++		fdt_next_subnode;
+ 
+ 	local:
+ 		*;
+-- 
+2.8.1
+
diff --git a/gnu/packages/patches/dtc-24_libfdt-Add-some-missing-symbols-to-version.lds.patch b/gnu/packages/patches/dtc-24_libfdt-Add-some-missing-symbols-to-version.lds.patch
new file mode 100644
index 000..4f825c4
--- /dev/null
+++ b/gnu/packages/patches/dtc-24_libfdt-Add-some-missing-symbols-to-version.lds.patch
@@ -0,0 +1,33 @@
+From f58799be130e27cc729cb2d45566daa0bb3b8605 Mon Sep 17 00:00:00 2001
+From: David Gibson 
+Date: Tue, 1 Dec 2015 12:55:21 +1100
+Subject: [PATCH] libfdt: Add some missing symbols to version.lds
+
+Several functions in the header file were missing from the version.lds
+script, meaning that they couldn't be used from a libfdt shared library.
+
+Reported by Ken Aaker, via github issue tracker.
+
+Signed-off-by: David Gibson 
+---
+ libfdt/version.lds | 4 
+ 1 file changed, 4 insertions(+)
+
+diff --git a/libfdt/version.lds b/libfdt/version.lds
+index f19f157..1f4e1ea 100644
+--- a/libfdt/version.lds
 b/libfdt/version.lds
+@@ -57,6 +57,10 @@ 

[PATCH v2 2/2] gnu: Add u-boot.

2016-08-31 Thread Danny Milosavljevic
gnu: Add u-boot.

* gnu/packages/u-boot.scm (u-boot, make-u-boot-package,
  armhf-linux-uboot, mips64el-linux-uboot): New variables.

Co-authored-by: David Craven 
---
 gnu/packages/u-boot.scm | 90 ++---
 1 file changed, 86 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/u-boot.scm b/gnu/packages/u-boot.scm
index 5f3fd49..4a10782 100644
--- a/gnu/packages/u-boot.scm
+++ b/gnu/packages/u-boot.scm
@@ -23,8 +23,11 @@
   #:use-module (guix packages)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (gnu packages)
+  #:use-module ((gnu packages algebra) #:select (bc))
   #:use-module (gnu packages bison)
-  #:use-module (gnu packages flex))
+  #:use-module (gnu packages cross-base)
+  #:use-module (gnu packages flex)
+  #:use-module (gnu packages python))
 
 (define-public dtc
   (package
@@ -38,9 +41,9 @@
   (sha256
(base32
 "155v52palf5fwfcnq696s41whjk0a5dqx98b7maqzdn7xbc2m6bp"))
-  (patches (search-patches "u-boot-dtc-01_build_doc.patch"
-   "u-boot-dtc-23-libfdt-Add-missing-functions-to-shared-library.patch"
-   "u-boot-dtc-24_libfdt-Add-some-missing-symbols-to-version.lds.patch"
+  (patches (search-patches "dtc-01_build_doc.patch"
+   "dtc-23-libfdt-Add-missing-functions-to-shared-library.patch"
+   "dtc-24_libfdt-Add-some-missing-symbols-to-version.lds.patch"
 (build-system gnu-build-system)
 (native-inputs
  `(("bison" ,bison)
@@ -63,3 +66,82 @@
 device tree binary (.dtb) files. 
 These are hardware (board) description files (used by Linux and BSD).")
 (license license:gpl2+)))
+
+(define u-boot
+  (package
+(name "u-boot")
+(version "2016.07")
+(source (origin
+  (method url-fetch)
+  (uri (string-append
+"ftp://ftp.denx.de/pub/u-boot/;
+"u-boot-" version ".tar.bz2"))
+  (sha256
+   (base32
+"0lqj4ckmfqiap8mc6z2d5albs3g2h5mzccbn60hsgxhabhibfkwp"
+(native-inputs
+ `(("bc" ,bc)
+   ("dtc" ,dtc)
+   ("python-2" ,python-2)))
+(build-system gnu-build-system)
+(home-page "http://www.denx.de/wiki/U-Boot/;)
+(synopsis "ARM Bootloader")
+(description "U-Boot is a bootloader mostly used for ARM boards. 
+It also initializes the boards (RAM etc).")
+(license license:gpl2+)))
+
+(define (make-u-boot-package board triplet)
+  (let ((xgcc (cross-gcc triplet)))
+   (package
+(inherit u-boot)
+(name (string-append "u-boot-" (string-downcase board)))
+(native-inputs
+ `(("cross-gcc" ,xgcc)
+   ("cross-binutils" ,(cross-binutils triplet))
+   ,@(package-native-inputs u-boot)))
+(arguments
+ `(#:test-target "test"
+   #:make-flags
+   (list "HOSTCC=gcc" (string-append "CROSS_COMPILE=" ,triplet "-"))
+   #:phases
+   (modify-phases %standard-phases
+ (replace
+  'configure
+   (lambda* (#:key outputs make-flags #:allow-other-keys)
+ (let ((config-name (string-append ,board "_defconfig")))
+   (if (zero? (system* "ls" (string-append "configs/" config-name)))
+  (zero? (apply system* "make" `(,@make-flags ,config-name)))
+  (begin
+(use-modules (ice-9 match) (ice-9 format))
+(display "Invalid board name. Valid board names would have been:")
+(newline)
+(let ((dir (opendir "configs")))
+  (do ((file-name (readdir dir) (readdir dir)))
+  ((eof-object? file-name))
+(if (string-suffix? "_defconfig" file-name)
+  (format #t
+  "- ~A\n"
+  (string-drop-right file-name
+ (string-length "_defconfig")
+  (closedir dir))
+#f)
+ (replace 'install
+   (lambda* (#:key outputs make-flags #:allow-other-keys)
+ (let ((out (string-append (assoc-ref outputs "out") "/libexec")))
+   (mkdir-p out)
+   (for-each (lambda (name)
+   (let ((outname (string-append out "/" name)))
+ (mkdir-p (dirname outname))
+ (copy-file name outname)))
+ (find-files "." ".*\\.(bin|efi|spl)$")))
+
+(define-public armhf-linux-uboot
+  (make-u-boot-package "vexpress_ca9x4" "arm-linux-gnueabihf"))
+
+(define-public mips64el-linux-uboot
+  (make-u-boot-package "malta" "mips64el-linux-gnuabi64"))
+
+;;; Something should:
+;;; - create extlinux.conf and put it on the first bootable 

[PATCH v2 0/2] Add u-boot package and its dependent packages

2016-08-31 Thread Danny Milosavljevic
Danny Milosavljevic (2):
  gnu: Add dtc.
  gnu: Add u-boot.

 gnu/local.mk   |   4 +
 gnu/packages/patches/dtc-01_build_doc.patch|  22 +++
 ...t-Add-missing-functions-to-shared-library.patch |  30 +
 ...t-Add-some-missing-symbols-to-version.lds.patch |  33 +
 gnu/packages/u-boot.scm| 147 +
 5 files changed, 236 insertions(+)
 create mode 100644 gnu/packages/patches/dtc-01_build_doc.patch
 create mode 100644 
gnu/packages/patches/dtc-23-libfdt-Add-missing-functions-to-shared-library.patch
 create mode 100644 
gnu/packages/patches/dtc-24_libfdt-Add-some-missing-symbols-to-version.lds.patch
 create mode 100644 gnu/packages/u-boot.scm



Re: Lowercase user names

2016-08-31 Thread David Craven
According to [0] there is. But I think sticking to lowercase usernames
isn't such a big restriction. I think adding a check that the username
is lowercase and notifying the user on guix system reconfigure is just
as good a solution IMO.

[0] 
http://stackoverflow.com/questions/6949667/what-are-the-real-rules-for-linux-usernames-on-centos-6-and-rhel-6



Re: Store on separate partition

2016-08-31 Thread Ludovic Courtès
Hi,

csanchez...@gmail.com (Carlos Sánchez de La Lama) skribis:

> When rebooting the installed system, I have to edit GRUB command line
> (pressing 'e'), which was:
>
>   search --file --set 
> /gnu/store/2qh58nr4sxc5jwv2ng9sqq06niab8sjp-linux-libre-4.7/bzImage
>   linux /gnu/store/2qh58nr4sxc5jwv2ng9sqq06niab8sjp-linux-libre-4.7/bzImage 
> --root=my-root --system=/gnu/store/4ji3d5v5ci91l69fgi4hdi73kc558whp-system 
> --load=/gnu/store/4ji3d5v5ci91l69fgi4hdi73kc558whp-system/boot
>   initrd /gnu/store/4ji3d5v5ci91l69fgi4hdi73kc558whp-system/initrd
>
> By:
>
> 1) removing "/gnu" from search command, so GRUB root (not kernel root)
>is correctly set as (hd1,msdos1), i.e. /dev/sdb1
> 2) removing "/gnu" from linux command, so the kernel is correctly loaded
>by GRUB (/gnu is not removed from --system or --load, as those
>commands are interpreted by gnu/build/linux-boot.scm after all
>needed-for-boot filesystems have been mounted in their correct mount
>points).
> 3) changing initrd path. Removing "/gnu" is not enough, as the path in
>grub.cfg is a symlink to the real initrd, pointing into /gnu/store
>which is not available at initrd-loading time. So I placed the
>synlink destination there, removing "/gnu", so:
>
> initrd /store/-base-initrd/initrd
>
> And voilá, I can boot into my newly installed GuixSD with /gnu/store in
> a separate partition.

Ooh, I see.

We should fix our grub.cfg generation to take this into account
somehow.  I’ve reported filed it to bug-g...@gnu.org:

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

Please email 24...@debbugs.gnu.org if you have suggestions on how to
fix it.

Thanks!

Ludo’.



Re: [PATCH] gnu: Add u-boot.

2016-08-31 Thread David Craven
> I'm not totally against naming filenames "file" - or "f" for that matter - 
> but I distinguish for good reason.

I believe I renamed your variables... xD

(replace 'install
+   (lambda* (#:key outputs make-flags #:allow-other-keys)
+ (let ((out (string-append (assoc-ref outputs "out") "/libexec")))
+   (mkdir-p out)
+   (for-each (lambda (name)
+   (let ((outname (string-append out "/" name)))
+ (mkdir-p (dirname outname))
+ (copy-file name outname)))
+ (find-files "." ".*\\.(bin|efi)$"))



Lowercase user names

2016-08-31 Thread Ludovic Courtès
Hi!

Marc Dunivan  skribis:

> That was the problem...I changed the user name to all lowercase, and 
> successfully booted into the installed system.

Weird, I didn’t know about this restriction (I thought I was just
self-imposing it ;-)).

Is there anything we can do in PAM config or whatever to waive it?

Ludo’.



Re: [PATCH 1/2] daemon: Fix '--version'.

2016-08-31 Thread Ludovic Courtès
Hi Alex,

Alex Vong  skribis:

> l...@gnu.org (Ludovic Courtès) writes:
>
>> Hi!
>>
>> Alex Vong  skribis:
>>
>>> This one and the next patch fix '--version' of guix-daemon and
>>> guix-register. Currently, they are not working, which is the reason why
>>> help2man gives error when building from source.

[...]

> I get this output instead:
>
> $ LC_ALL=C ./guix-daemon --version
> ./guix-daemon: unrecognized option '--version'
> Try `guix-daemon --help' or `guix-daemon --usage' for more information.
>
> This is werid, but I think it is because I build guix with lto.

What about the attached program?  It works for me with GCC 6.2.0, both
with and without LTO.

Ludo’.

#include 

const char *argp_program_version = "foo";
const char *argp_program_bug_address = "f...@example.org";

static const struct argp_option options[] =
  {
{ "system", 's', "SYSTEM", 0,
  "assume SYSTEM as the current system type" },
{ 0, 0, 0, 0, 0 }
  };

static const struct argp argp =
  {
options, NULL,
NULL, "doc",
NULL, NULL,
NULL
  };

int
main (int argc, char *argv[])
{
  argp_parse (, argc, argv, 0, 0, 0);
  return 0;
}


Re: Display diffs between generations.

2016-08-31 Thread Vincent Legoll
Hello

>>>   --list-generations=full

I think keeping a way to see all generations in one go would be cool

-- 
Vincent Legoll



Re: [PATCH] gnu: Add mtd-utils.

2016-08-31 Thread Ludovic Courtès
Danny Milosavljevic  skribis:

> On Tue, 30 Aug 2016 11:08:17 +0300
> Alex Kost  wrote:
>
>> It would be good if you write a comment before licenses, like what files
>> have what licenses.  Also is it really 'gpl2'?  If the license says "or
>> any later version", it should be 'gpl2+'.
>
> They are:

Based on
,
the combined work seems to be GPLv2+.

> GPL2-only parts (which constitute the vast majority) were omitted.

Are there GPLv2 license headers that lack the “or any later version”
wording, or anything that explicitly says “version 2 only”?  If not,
it’s v2-or-later.

HTH,
Ludo’.



Re: [PATCH] gnu: Add rpcbind

2016-08-31 Thread John Darrington
On Wed, Aug 31, 2016 at 10:25:36PM +0200, Ludovic Court??s wrote:
 John Darrington  skribis:
 
 > +(synopsis "A server to convert RPC program numbers into universal 
addresses")
   ^
 What about: ???Convert ONC??RPC program numbers to addresses

I have no idea what ONC is.
 
 > +(description
 > + "The rpcbind utility is a server that converts RPC program numbers 
into 
 > +universal addresses.")
 
 Maybe: ???The @command{rpcbind} utility is a directory server that convert
 ONC??RPC program numbers to IP addresses.???
 
What is a "directory server"  it doesn't serve up directories.

J'



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



signature.asc
Description: Digital signature


Re: [PATCH] gnu: Add u-boot.

2016-08-31 Thread Danny Milosavljevic
Hi Ludo,

On Wed, 31 Aug 2016 22:40:57 +0200
l...@gnu.org (Ludovic Courtès) wrote:

> > +   (lambda* (#:key outputs make-flags #:allow-other-keys)
> > + (let ((configname (string-append ,board "_defconfig")))  
> 
> Should be ‘config-name’ per our conventions, but ‘config’ is probably
> enough.
> 
> > +   (if (file-exists? (string-append "configs/" configname))
> > +   (zero? (apply system* "make" `(,@make-flags 
> > ,configname)))
> > +   (begin
> > + (display "Invalid boardname. Valid boardnames would 
> > have been:")
>
> “board name” (two words).

> > +(copy-file file-path target-file-path)))
> > +uboot-files)  
> 
> s/-path//

For the record, a filename (or file path) is something completely different 
from a file. It makes no sense to call a filename "file". Likewise, a boardname 
is the name of a board. It's not the board. A configname is the name of a 
config [file]. "config" would be the configuration itself.

To develop this habit has taken a long time for me and it has paid off well.

I'm not totally against naming filenames "file" - or "f" for that matter - but 
I distinguish for good reason.

Also when adapting gnu/system.scm etc for U-Boot I spent lots of time finding 
out what are confignames and what are configurations because it likewise does 
not distinguish.

A rose by any other name would smell as sweet, you know :)



Re: Display diffs between generations.

2016-08-31 Thread Ludovic Courtès
Roel Janssen  skribis:

> Ludovic Courtès writes:
>
>> Hi Roel,
>>
>> I’ve just tried the patch and I think it’s awesome!  I’ve also always
>> been dissatisfied with what ‘--list-generations’ provides—it’s
>> inconvenient as soon as you have more than a handful packages.
>>
>> Perhaps we could add an optional argument to --list-generations where:
>>
>>   --list-generations
>>
>> would be equivalent to:
>>
>>   --list-generations=diff
>>
>> and:
>>
>>   --list-generations=full
>>
>> would restore the previous behavior.  It doesn’t cost much to do that.
>>
>> WDYT?
>
> That would be great.  Currently, the --list-generations already takes a
> generation number.

Ah, good point.  Well, forget my suggestion then; I’d say, let’s just do
diffs, and that’s it.  If someone wants to list the contents of one
generation, they can always do “--list-generations=42”, which does
exactly that.

Anyone against ‘--list-generations’ always displaying diffs?  Time to
speak up!  :-)

>> In general, I find it clearer to define the singular form and inline the
>> ‘for-each’:
>>
>>   (define display-entry
>> (match-lambda …))
>>
>>   …
>>
>>   (for-each display-entry entries)
>>
>> Otherwise LGTM!
>
> Right.  That does look clearer.  I refactored the function further to
> the following:
>
> --- BEGIN ---
> (define (display-profile-content-diff profile number)
>   "Display the changed packages in PROFILE compared to generation NUMBER."
>
>   (define (equal-entry? first second)
> (string= (manifest-entry-item first)
>  (manifest-entry-item second)))
>
>   (define display-entry
> (match-lambda
>(($  name version output location _)
> (format #f "~a\t~a\t~a\t~a~%" name version output location
>
>   (define (display-entries entries prefix)
> (for-each (lambda (entry)
> (format #t "  ~a ~a" prefix (display-entry entry))) entries))

[...]

> The thing with `display-entries' is because I cannot pass two arguments
> in the function used in the `for-each', and the prefix for `installed'
> or `removed' differs, I cannot remove it that easily :-).

Maybe like this:

  (define (display-entry entry prefix)
(match entry …))

  …

  (for-each (cut display-entry <> "+") added)
  (for-each (cut display-entry <> "-") removed)

Let’s wait a bit to see what people think.

Thanks!

Ludo’.



Re: [PATCH] gnu: Add p7zip.

2016-08-31 Thread Ricardo Wurmus

Kei Kebreau  writes:

> Whoops, last patch was a bit messy and stacked on the previous one. This
> patch should be better!

I just wanted to push a slightly modified version of this (attached) but
I cannot actually build the package.  The patch to remove unused code
does not apply due to different line endings.

Could you please take a look at this again and make sure that the patch
to the sources applies?

~~ Ricardo

>From 709859c8c8d7d05a523c715f3163e02cec37131b Mon Sep 17 00:00:00 2001
From: Kei Kebreau 
Date: Sat, 27 Aug 2016 06:33:26 -0400
Subject: [PATCH] gnu: Add p7zip.

* gnu/packages/compression.scm (p7zip): New variable.
* gnu/packages/patches/remove-unused-p7zip-code.patch: New patch.
* gnu/local.mk (dist_patch_DATA): Add it.
---
 gnu/local.mk   |   1 +
 gnu/packages/compression.scm   |  67 ++
 .../patches/p7zip-remove-unused-code.patch | 959 +
 3 files changed, 1027 insertions(+)
 create mode 100644 gnu/packages/patches/p7zip-remove-unused-code.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 5ec47fc..1688eba 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -703,6 +703,7 @@ dist_patch_DATA =		\
   %D%/packages/patches/openssl-CVE-2016-2178.patch		\
   %D%/packages/patches/orpheus-cast-errors-and-includes.patch	\
   %D%/packages/patches/ots-no-include-missing-file.patch	\
+  %D%/packages/patches/p7zip-remove-unused-code.patch		\
   %D%/packages/patches/patchelf-page-size.patch			\
   %D%/packages/patches/patchelf-rework-for-arm.patch		\
   %D%/packages/patches/patchutils-xfail-gendiff-tests.patch	\
diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm
index c239d16..0040e45 100644
--- a/gnu/packages/compression.scm
+++ b/gnu/packages/compression.scm
@@ -12,6 +12,7 @@
 ;;; Copyright © 2016 Danny Milosavljevic 
 ;;; Copyright © 2016 Tobias Geerinckx-Rice 
 ;;; Copyright © 2016 David Craven 
+;;; Copyright © 2016 Kei Kebreau 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -895,3 +896,69 @@ compared to the fastest mode of zlib, Snappy is an order of magnitude faster
 for most inputs, but the resulting compressed files are anywhere from 20% to
 100% bigger.")
 (license license:asl2.0)))
+
+(define-public p7zip
+  (package
+(name "p7zip")
+(version "16.02")
+(source (origin
+  (method url-fetch)
+  (uri (string-append "mirror://sourceforge/" name "/" name "/"
+  version "/" name "_" version
+  "_src_all.tar.bz2"))
+  (sha256
+   (base32
+"07rlwbbgszq8i7m8jh3x6j2w2hc9a72dc7fmqawnqkwlwb00mcjy"))
+  (modules '((guix build utils)))
+  (snippet
+   '(begin
+  ;; Remove non-free source files
+  (for-each delete-file
+(append
+ (find-files "CPP/7zip/Compress" "Rar.*")
+ (find-files "CPP/7zip/Crypto" "Rar.*")
+ (find-files "DOC/unRarLicense.txt")
+ (find-files  "Utils/file_Codecs_Rar_so.py")))
+  (delete-file-recursively "CPP/7zip/Archive/Rar")
+  (delete-file-recursively "CPP/7zip/Compress/Rar")
+  #t))
+  (patches (search-patches "p7zip-remove-unused-code.patch"
+(build-system gnu-build-system)
+(arguments
+ `(#:make-flags
+   (list (string-append "DEST_HOME=" (assoc-ref %outputs "out")) "all3")
+   #:phases
+   (modify-phases %standard-phases
+ (replace 'configure
+   (lambda* (#:key system outputs #:allow-other-keys)
+ (zero? (system* "cp"
+ (let ((system ,(or (%current-target-system)
+(%current-system
+   (cond
+((string-prefix? "x86_64" system)
+ "makefile.linux_amd64_asm")
+((string-prefix? "i686" system)
+ "makefile.linux_x86_asm_gcc_4.X")
+(else
+ "makefile.linux_any_cpu_gcc_4.X")))
+ "makefile.machine"
+ (replace 'check
+   (lambda _
+ (and (zero? (system* "make" "test"))
+  (zero? (system* "make" "test_7z"))
+  (zero? (system* "make" "test_7zr"
+(inputs
+ (let ((system (or (%current-target-system)
+   (%current-system
+   `(,@(cond ((string-prefix? "x86_64" system)
+  `(("yasm" ,yasm)))
+ ((string-prefix? "i686" system)
+  

Re: [PATCH] gnu: Add dtc.

2016-08-31 Thread Ludovic Courtès
David Craven  skribis:

> From: Danny Milosavljevic 
>
> * gnu/packages/u-boot.scm (dtc): New variable.
>
> Co-authored-by: David Craven 

[...]

> +(synopsis "Compiles Device Tree Source Files (.dts)")

Maybe: “Compile device tree source files”.

> +(description "dtc compiles Device Tree Source Files to Device Tree 
> Binary Files.

And: “@command{dtc} compiles device tree source (DTS) files to device
tree binary (DTB) files. …”

“dtc” appears to be the upstream name (on kernel.org), so we should
stick to it.

I’ll let Danny and you figure out whether anything else needs to be
done.  :-)

Thank you!

Ludo’.



Re: [PATCH] gnu: Add u-boot.

2016-08-31 Thread Ludovic Courtès
David Craven  skribis:

> From: Danny Milosavljevic 
>
> * gnu/packages/u-boot.scm (u-boot, make-u-boot-package,
>   u-boot-vexpress_ca9x4, u-boot-malta armhf-linux-uboot,
>   mips64el-linux-uboot): New variables.
>
> Co-authored-by: David Craven 

Cool, thanks for picking it up!

Overall this LGTM.  I guess Danny’s comments should be taken into
account.  Other than that, I only have cosmetic suggestions:

> +(synopsis "ARM Universal Bootloader")

“ARM bootloader” (or “ARM universal bootloader” if you insist).

> +(description "U-Boot is an universal bootloader mostly used for ARM 
> boards.
> +It also initializes the boards (RAM etc).")

I also think “universal” can be removed.

> +(define (make-u-boot-package board triplet xgcc)

A docstring would be nice here.

I think you could remove the ‘xgcc’ parameter and simply do:

  (let ((xgcc (cross-gcc triplet)))
(package
   …))

> +   (lambda* (#:key outputs make-flags #:allow-other-keys)
> + (let ((configname (string-append ,board "_defconfig")))

Should be ‘config-name’ per our conventions, but ‘config’ is probably
enough.

> +   (if (file-exists? (string-append "configs/" configname))
> +   (zero? (apply system* "make" `(,@make-flags ,configname)))
> +   (begin
> + (display "Invalid boardname. Valid boardnames would 
> have been:")
> + (newline)
> + (system* "ls" "-1" "configs")
> + #f)

“board name” (two words).

> + (replace 'install
> +   (lambda* (#:key outputs make-flags #:allow-other-keys)
> + (let* ((out (assoc-ref outputs "out"))
> +(libexec (string-append out "/libexec"))
> +(uboot-files (find-files "." ".*\\.(bin|efi)$")))
> +   (mkdir-p libexec)
> +   (for-each
> +(lambda (file-path)
> +  (let ((target-file-path (string-append libexec "/" 
> file-path)))
> +(mkdir-p (dirname target-file-path))
> +(copy-file file-path target-file-path)))
> +uboot-files)

s/-path//

> +
> +(define-public u-boot-vexpress_ca9x4
> +  (make-u-boot-package "vexpress_ca9x4" "arm-linux-gnueabihf" xgcc-armhf))
> +
> +(define-public u-boot-malta
> +  (make-u-boot-package "malta" "mips64el-linux-gnuabi64" xgcc-mips64el))
> +
> +(define-public armhf-linux-uboot
> +  u-boot-vexpress_ca9x4)
> +
> +(define-public mips64el-linux-uboot
> +  u-boot-malta)

I think these two aliases can be removed, no?

Thanks!

Ludo’.



Re: [PATCH v6 1/2] gnu: Add arduino-libraries.

2016-08-31 Thread Danny Milosavljevic
> As this is only used by “arduino-libraries” and probably no other
> package I’d move this into the definition of “arduino-libraries”.

I suppressed arduino-core in this patch series. It will be used by others.

> Could you expand the description a little?  Maybe one more sentence.

What should I write?

Would "There are libraries for Ethernet, GSM, LCD, SD drives, servos, stepper 
motors, TFT displays and WiFi. " be OK?

> > +;;   libraries/Ethernet/src/utility/w5100*: lgpl2.1  
> 
> Only 2.1?  Or is a later version okay?

Only 2.1.

> > diff --git 
> > a/gnu/packages/patches/arduino-libraries-hardware-remove-__cxa_guard_acquire.patch
> >  
> > b/gnu/packages/patches/arduino-libraries-hardware-remove-__cxa_guard_acquire.patch
> >   
> 
> Please add a comment at the very top of this patch to explain what its
> purpose is.

"Removes function-static variable. Our avr-gcc chokes on it otherwise." ?



Re: [PATCH v6 2/2] gnu: Add arduino-makefile.

2016-08-31 Thread Danny Milosavljevic
Hi Ricardo,

On Wed, 31 Aug 2016 22:02:55 +0200
Ricardo Wurmus  wrote:
> > + (let ((avr-gcc (assoc-ref inputs "avr-gcc-5"))
> > +   (avr-binutils (assoc-ref inputs "avr-binutils")))
> > +  (substitute* "bin/ard-reset-arduino"
> > +(("#!/usr/bin/env python") "#!/usr/bin/python3"))  
> 
> This looks unnecessary.  When “python-wrapper” is among the inputs the
> shebang would be replaced automatically.

It's impossible for anyone to reliably detect the major Python version that
the script expects.

Therefore, this clarifies that we need Python3 for it.
The shebang will then be automatically updated correctly.

> > +  (substitute* "Arduino.mk"
> > +(("#=> ARDUINO_DIR.*")
> > +   (string-append "ARDUINO_DIR = "
> > +  (assoc-ref %build-inputs 
> > "arduino-libraries")  
> 
> Could you use “inputs” instead of “%build-inputs” here?

Yes. What's the difference?

> > +; What about ld ?  
> 
> What about it?  :)

I don't know. Seems to work without it but it just irks me.
There's no variable for ld's name in the makefile.

> I’m a little confused about this.  Why is avrdude among the inputs?  Why
> python-pyserial?  Nothing is built here.  You just copy the files.

It's supposed to be something like an arduino-toolchain. You just install it
and it will pull the compiler, flasher etc and use it for your projects
automagically as long as they "include Arduino.mk".

> If “bin/ard-reset-arduino” or any other script uses pyserial you will
> probably have to wrap the executables such that they set the PYTHONPATH
> to include the output of python-pyserial.  Otherwise they won’t be able
> to find anything.

Probably.

> Please break this line.  Is this really just a Makefile?  What else is
> there?

Yeah, huge makefile. Allows you to build and flash the stuff.

> > +;(supported-systems '("avr"))  
> 
> This should be removed.

As I said I'm not a fan of obfuscating what system this is for.
It is *good* for maintenance to have little hints of what to expect.

If it worked usefully, I'd even make the (supported-system '("avr")) active!

> > +(license license:lgpl2.1)))  
> 
> Only version 2.1, or does it have the “or later” clause?

lgpl2.1+

Thanks,
Danny



Re: [PATCH 00/31] KDE Tier 3 Packages

2016-08-31 Thread Ludovic Courtès
Hartmut Goebel  skribis:

> Am 26.08.2016 um 23:52 schrieb David Craven:
>> kio, kservice, kxmlgui, kemoticons, kiconthemes, plasma-frameworks,
>> krunner, ktexteditor and knewstuff have tests disabled
>
> Thanks for this great work!

+1  I’m impressed by the sheer number of KDE packages that have landed
recently!

Ludo’.



Re: HELP needed with CA certificates! [PATCH] gnu: Add tup, Add pbpst.

2016-08-31 Thread Ludovic Courtès
Hi,

ng0  skribis:

>> The ‘nss-certs’ package provides X.509 certificates:
>>
>>   
>> https://www.gnu.org/software/guix/manual/html_node/X_002e509-Certificates.html
>
> I commented nss-certs, enabled or disabled it made no difference to the
> resulting binary.

You need to have ‘nss-certs’ installed, *and* set the environment
variables mentioned above (depending on whether you use OpenSSL, GnuTLS,
Git, etc.; for GnuTLS, I think there’s no such environment variable.)

HTH!
Ludo’.



Re: [PATCH] gnu: Add telepathy-mission-control.

2016-08-31 Thread Leo Famulari
On Tue, Aug 30, 2016 at 05:43:40PM -0400, Kei Kebreau wrote:
> Next package in the quest for Polari.

> From de2bb9e63d26ec539f8425c7d1b39ba91f987dfa Mon Sep 17 00:00:00 2001
> From: Kei Kebreau 
> Date: Tue, 30 Aug 2016 17:40:17 -0400
> Subject: [PATCH] gnu: Add telepathy-mission-control.
> 
> * gnu/packages/freedesktop.scm (telepathy-mission-control): New variable.

I didn't try building it, but it looks good.


signature.asc
Description: PGP signature


Re: [PATCH] gnu: Add rpcbind

2016-08-31 Thread Ludovic Courtès
John Darrington  skribis:

> From: John Darrington 
>
> * gnu/packages/linux.scm (rpcbind): New variable.
> +(synopsis "A server to convert RPC program numbers into universal 
> addresses")
  ^
If I were ‘guix lint’ I’d complain about that.  ;-)

What about: “Convert ONC RPC program numbers to addresses”?

> +(description
> + "The rpcbind utility is a server that converts RPC program numbers into 
> +universal addresses.")

Maybe: “The @command{rpcbind} utility is a directory server that convert
ONC RPC program numbers to IP addresses.”

Otherwise LGTM, thank you!

Ludo’.



Re: [PATCH] gnu: Add rpcbind

2016-08-31 Thread John Darrington
On Wed, Aug 31, 2016 at 03:35:05PM -0400, Leo Famulari wrote:
 On Sun, Aug 28, 2016 at 11:25:23PM +0200, John Darrington wrote:
 > From: John Darrington 
 > 
 > * gnu/packages/linux.scm (rpcbind): New variable.
 
 The patch looks good, but I think it depends on some context that we
 don't have in Guix:
 
 [...]
 
 > + "The rpcbind utility is a server that converts RPC program numbers 
into 
 > +universal addresses.")
 > +(license license:bsd-3)))
 > +
 >  (define-public nfs-utils
 >(package
 >  (name "nfs-utils")
 
 I don't think we have nfs-utils yet :)

Right.  That's the next patch (when I get it debugged).

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



signature.asc
Description: Digital signature


Re: [PATCH] gnu: Add mash.

2016-08-31 Thread Ricardo Wurmus

Leo Famulari  writes:

> On Tue, Aug 30, 2016 at 06:54:49PM +0100, Marius Bakke wrote:
>> * gnu/packages/bioinformatics.scm (mash): New variable.
>
> Thanks!
>
>> + (add-after 'unpack 'fix-includes
>> +   (lambda _
>> + (substitute* '("src/mash/Sketch.cpp" 
>> "src/mash/CommandFind.cpp")
>> +   (("^#include \"kseq\\.h\"")
>> +"#include \"htslib/kseq.h\""))
>> + #t))
>> + (add-before 'configure 'autoconf
>> +   (lambda _ (zero? (system* "autoconf")))
>> +(native-inputs
>> + `(("autoconf" ,autoconf)
>> +   ("capnproto" ,capnproto)
>> +   ("htslib" ,htslib)))
>
> Does it only need to use capnproto and htslib while building? Okay if
> so.

Looking at the substitution in “fix-includes” htslib probably should be
a regular input.

~~ Ricardo




Re: [PATCH v6 1/2] gnu: Add arduino-libraries.

2016-08-31 Thread Ricardo Wurmus

Danny Milosavljevic  writes:

> * gnu/packages/arduino.scm (arduino-installer, arduino-libraries): New 
> variables.

I think we’d just write “New file.” without mentioning the new variables.

> * 
> gnu/packages/patches/arduino-libraries-hardware-remove-__cxa_guard_acquire.patch:
>  New file.
> * gnu/local.mk (dist_patch_DATA, GNU_SYSTEM_MODULES): Add them.
> ---

[…]

> +(define-module (gnu packages arduino)
> +  #:use-module ((guix licenses) #:prefix license:)
> +  #:use-module (guix utils)
> +  #:use-module (guix download)
> +  #:use-module (guix packages)
> +  #:use-module (guix build-system gnu)
> +  #:use-module (guix build-system python)
> +  #:use-module (guix build-system ant)
> +  #:use-module (gnu packages)
> +  #:use-module (gnu packages avr)
> +  #:use-module (gnu packages flashing-tools)
> +  #:use-module (gnu packages java)
> +  #:use-module (gnu packages python))
> +
> +(define (arduino-installer filenames)
> +  `(lambda* (#:key outputs #:allow-other-keys)
> +(let* ((out (assoc-ref outputs "out"))
> +   (out-share (string-append out "/share/arduino")))
> +  (mkdir-p out-share)
> +  (for-each
> +(lambda (filename)
> +  (let* ((out-share-part (string-append out-share "/" filename)))
> +(copy-recursively filename out-share-part)))
> +(list ,@filenames)

As this is only used by “arduino-libraries” and probably no other
package I’d move this into the definition of “arduino-libraries”.

> +(define-public arduino-libraries
> +  (package
> +(name "arduino-libraries")
> +(version "1.6.10")
> +(source (origin
> +  (method url-fetch)
> +  (uri (string-append "https://github.com/arduino/Arduino/;
> +  "archive/" version ".tar.gz"))
> +  (sha256
> +   (base32
> +"15gbg64i2ac6d0mlnbla567sn26494cvqwf5q53xzf4b5v2rb0jc"))
> +  (file-name (string-append name "-" version ".tar.gz"))
> +  (modules '((guix build utils)))
> +  (snippet
> + '(begin
> +;; Delete bundled jar archives.
> +(for-each delete-file (find-files "." "\\.jar$"))
> +;; Delete non-Free Software
> +(delete-file-recursively "libraries/WiFi/extras/wifiHD")
> +(delete-file-recursively 
> "libraries/WiFi/extras/wifi_dnld")
> +#t))
> +  (patches (search-patches
> +
> "arduino-libraries-hardware-remove-__cxa_guard_acquire.patch"
> +(build-system gnu-build-system)
> +(arguments
> + `(#:tests? #f ; no tests exist
> +   #:phases
> +(modify-phases %standard-phases
> +  (delete 'configure)
> +  (delete 'build)
> +  (replace 'install ,(arduino-installer '("libraries" 
> "hardware"))
> +(home-page "https://www.arduino.cc/;)
> +(synopsis "Arduino Libraries and Hardware Spec Files")

Please use lower case.

> +(description "arduino-libraries contains libraries and Arduino
> +hardware spec files (boards.txt).")

s/arduino-libraries/This package/

Could you expand the description a little?  Maybe one more sentence.

> +;; gpl covers the main body ("app", "core").
> +;; lgpl2.1+ covers the remainder mostly.
> +;; Exceptions are:
> +;;   libraries/Ethernet/src/Dns*: asl2.0
> +;;   libraries/Ethernet/src/EthernetUdp*: expat
> +;;   libraries/Ethernet/src/utility/w5100*: lgpl2.1

Only 2.1?  Or is a later version okay?

> +;;   libraries/SD: gpl3+
> +;;   libraries/TFT: bsd-3
> +;;   libraries/WiFi: bsd-3

Nitpick: the license names should be capitalised.

> +(license (list license:lgpl2.1+
> +   license:asl2.0
> +   license:expat
> +   license:bsd-3

The list should also include “gpl3+”.

> diff --git 
> a/gnu/packages/patches/arduino-libraries-hardware-remove-__cxa_guard_acquire.patch
>  
> b/gnu/packages/patches/arduino-libraries-hardware-remove-__cxa_guard_acquire.patch

Please add a comment at the very top of this patch to explain what its
purpose is.

Thanks!

~~ Ricardo




Re: [PATCH v6 2/2] gnu: Add arduino-makefile.

2016-08-31 Thread Ricardo Wurmus

Hi Danny,

Thank you for your contributions!  I haven’t followed the discussion on
the previous versions, so I hope my comments below are not annoying.

> +(define-public arduino-makefile
> +  (package
> +(name "arduino-makefile")
> +(version "1.5.1")
> +(source (origin
> +  (method url-fetch)
> +  (uri (string-append 
> "https://github.com/sudar/Arduino-Makefile/;
> +  "archive/" version ".tar.gz"))
> +  (sha256
> +   (base32
> +"1gqmcg2jg62b915akbkivnqf8sx76gv719vx7azm47szd0w1i94i"))
> +  (file-name (string-append name "-" version ".tar.gz"
> +(build-system python-build-system)
> +(arguments
> + `(#:tests? #f ; no tests exist
> +   #:phases
> +(modify-phases %standard-phases
> +  (delete 'configure)
> +  (add-after 'unpack 'patch-paths
> +(lambda* (#:key inputs outputs #:allow-other-keys)
> + (let ((avr-gcc (assoc-ref inputs "avr-gcc-5"))
> +   (avr-binutils (assoc-ref inputs "avr-binutils")))
> +  (substitute* "bin/ard-reset-arduino"
> +(("#!/usr/bin/env python") "#!/usr/bin/python3"))

This looks unnecessary.  When “python-wrapper” is among the inputs the
shebang would be replaced automatically.

> +  (substitute* "Arduino.mk"
> +(("#=> ARDUINO_DIR.*")
> +   (string-append "ARDUINO_DIR = "
> +  (assoc-ref %build-inputs 
> "arduino-libraries")

Could you use “inputs” instead of “%build-inputs” here?

> +  "/share/arduino\n"))
> +; ; defaults to "hardware/tools/avr"

; ; –> ;;

> +(("#=> AVR_TOOLS_DIR.*")
> +   (string-append "AVR_TOOLS_DIR = /\n"
> +  "AVR_TOOLS_PATH = /\n"
> +  "AVRDUDE = " (assoc-ref %build-inputs 
> "avrdude") "\n"))
> +(("CC_NAME[ ]*=.*")
> +   (string-append "CC_NAME = " avr-gcc "/bin/avr-gcc\n"))
> +(("CXX_NAME[ ]*=.*")
> +   (string-append "CXX_NAME = " avr-gcc "/bin/avr-g++\n"))
> +(("OBJCOPY_NAME[ ]*=.*")
> +   (string-append "OBJCOPY_NAME = " avr-binutils 
> "/bin/avr-objcopy\n"))
> +(("OBJDUMP_NAME[ ]*=.*")
> +   (string-append "OBJDUMP_NAME = " avr-binutils 
> "/bin/avr-objdump\n"))
> +(("AR_NAME[ ]*=.*")
> +   (string-append "AR_NAME = " avr-binutils "/bin/avr-ar\n"))
> +(("SIZE_NAME[ ]*=.*")
> +   (string-append "SIZE_NAME = " avr-binutils 
> "/bin/avr-size\n"))
> +(("NM_NAME[ ]*=.*")
> +   (string-append "NM_NAME = " avr-binutils "/bin/avr-nm\n"))
> +; What about ld ?

What about it?  :)

> +(("#=> ARDMK_DIR.*")
> +   (string-append "ARDMK_DIR = "
> +  (assoc-ref %outputs "out")
> +  "/share/arduino\n"))

The indentation of this whole block looks a bit off.  Don’t worry about
it, though.  We can fix this before pushing the patch.

> +  (delete 'build)
> +  (replace 'install
> +(lambda* (#:key outputs #:allow-other-keys)
> +  (let* ((out (assoc-ref outputs "out"))
> + (out-mk (string-append out "/share/arduino"))
> + (out-doc (string-append out "/share/doc"))
> + (out-bin (string-append out "/bin"))
> + (out-man (string-append out "/share/man/man1")))
> +(for-each (lambda (name)
> +(install-file name out-mk))
> +  '("Arduino.mk" "arduino-mk-vars.md" 
> "chipKIT.mk" "Common.mk"))
> +(mkdir-p out-doc)
> +(copy-recursively "examples" out-doc)
> +(install-file "bin/ard-reset-arduino" out-bin)
> +(install-file "ard-reset-arduino.1" out-man)))

The phase should end with #t because “install-file” has no useful return value.

> +(inputs
> + `(("python" ,python)
> +   ("python-pyserial" ,python-pyserial)
> +   ("arduino-libraries" ,arduino-libraries)
> +   ("avrdude" ,avrdude)
> +   ("avr-gcc-5" ,avr-gcc-5)
> +   ("avr-binutils" ,avr-binutils)))

I’m a little confused about this.  Why is avrdude among the inputs?  Why
python-pyserial?  Nothing is built here.  You just copy the files.

If “bin/ard-reset-arduino” or any other script uses pyserial you will
probably have to wrap the executables such that they set the PYTHONPATH
to include the output of python-pyserial.  Otherwise they won’t be able
to find anything.

> +(synopsis "Arduino Makefile Include file")

Please use lower case.

Re: new package build error: archiver requires 'AM_PROG_AR' in 'configure.ac'

2016-08-31 Thread David Craven
> I have never seen this before.  Have you tried patching “configure.ac”
> as it says, adding “AM_PROG_AR” somewhere?

You could also try adding gettext and pkg-config to native-inputs.
Some autotools errors magically disappear sometimes...



Re: new package build error: archiver requires 'AM_PROG_AR' in 'configure.ac'

2016-08-31 Thread Ricardo Wurmus

Hartmut Goebel  writes:

> I try to build the asn1c package, see below. But this fails with the
> following error message.
>
> /gnu/store/…-automake-1.15/share/automake-1.15/am/ltlibrary.am:
> warning: 'libasn1compiler.la': linking libtool libraries using a non-POSIX
> archiver requires 'AM_PROG_AR' in 'configure.ac'
>
> Is this a common issue?

I have never seen this before.  Have you tried patching “configure.ac”
as it says, adding “AM_PROG_AR” somewhere?

~~ Ricardo




Re: [PATCH] gnu: Add mash.

2016-08-31 Thread Leo Famulari
On Tue, Aug 30, 2016 at 06:54:49PM +0100, Marius Bakke wrote:
> * gnu/packages/bioinformatics.scm (mash): New variable.

Thanks!

> + (add-after 'unpack 'fix-includes
> +   (lambda _
> + (substitute* '("src/mash/Sketch.cpp" "src/mash/CommandFind.cpp")
> +   (("^#include \"kseq\\.h\"")
> +"#include \"htslib/kseq.h\""))
> + #t))
> + (add-before 'configure 'autoconf
> +   (lambda _ (zero? (system* "autoconf")))
> +(native-inputs
> + `(("autoconf" ,autoconf)
> +   ("capnproto" ,capnproto)
> +   ("htslib" ,htslib)))

Does it only need to use capnproto and htslib while building? Okay if
so.



Re: [PATCH] gnu: Add rpcbind

2016-08-31 Thread Leo Famulari
On Sun, Aug 28, 2016 at 11:25:23PM +0200, John Darrington wrote:
> From: John Darrington 
> 
> * gnu/packages/linux.scm (rpcbind): New variable.

The patch looks good, but I think it depends on some context that we
don't have in Guix:

[...]

> + "The rpcbind utility is a server that converts RPC program numbers into 
> +universal addresses.")
> +(license license:bsd-3)))
> +
>  (define-public nfs-utils
>(package
>  (name "nfs-utils")

I don't think we have nfs-utils yet :)



Re: core-updates, next release, and all that

2016-08-31 Thread Ricardo Wurmus

Ben Woodcroft  writes:

> On 28/07/16 19:31, Andreas Enge wrote:
>> Hello,
>>
>> the main failures that remain on x86 are related to the gmime problem fixed
>> in master. So I merged master once again and will start another evaluation
>> of core-updates. Probably we are done then.
>>
>> There is a little problem with some source that cannot be downloaded:
>> http://hydra.gnu.org:3000/build/1327453
>> If this has not been fixed in master yet, maybe the bioinformatics people
>> would like to have a look.
>
> Fixed in 'f2e791750'. This was another case of BioConductor deleting out 
> of date sources, and more encouragement to move to SVN as discussed 
> previously.
> https://lists.gnu.org/archive/html/guix-devel/2016-06/msg00683.html

Yeah, I really feel guilty each time I tell people here that Guix helps
with reproducibility — and then I remember Bioconductor and have to add
a footnote…

I have already rewritten a Bioconductor package locally to test this.
It shouldn’t take very long to move to SVN, but I just haven’t found the
time so far.  Maybe after the recursive importer is merged I’ll be able
to make time to adjust the importer and existing Bioconductor packages.

~~ Ricardo




Re: [PATCH] gnu: font-un: Add mirror.

2016-08-31 Thread Leo Famulari
On Mon, Aug 22, 2016 at 10:47:38PM +, ng0 wrote:
> > On Sat, Aug 20, 2016 at 07:44:21PM +, ng0 wrote:
> >> This adds another mirror for font-un, this time with tls
> >> enabled. Leaving the sdf.org mirror in the list in case dl.n0.is goes
> >> down.
> >
> > Hi, can you remind us why this is necessary?
> 
> It is possible that it is unnecessary. My motivation was that tls
> enabled source urls provide minimal more security. But we have the
> hash of the file which is expected, so there should be no significant
> difference between those two protocols, correct?

Since we check the hash of the downloaded source file, there _shouldn't_
be any difference between using HTTP and HTTPS.

However, users of HTTP don't have the privacy that HTTPS can provide.

Also, HTTP is unauthenticated, so a man-in-the-middle could provide a
malformed source file that exploited bugs in our HTTP client or
hash checker.

Those are the drawbacks of HTTP that I can think of with respect to
Guix's source file downloading. I'm no expert, so I could be wrong, and
there could be other drawbacks.

> If this is true, this patch was unnecessary.

But, I don't think we should start re-hosting the source tarballs
ourself unless there is no other source. Also, Hydra itself serves as a
content-addressed mirror now.



Re: How to add library dependency to guix build

2016-08-31 Thread Ricardo Wurmus

Hi Tobias,

> I tried to package a speech syntesizer framework called WORLD for Guix,
> which I had earlier packaged for Trisquel. The guix build process does
> not find , even if I declared a dependency on libsndfile.

That’s because actually you added pulseaudio, not libsndfile :)

> (define-public world
>   (package
> (name "world")
> (version "0.3.1")
> (source (origin
>   (method url-fetch)
>   (uri (string-append 
> "http://ongakunix.isengaara.de/ongakunix/pool/main/w/world/world_; version
>   ".orig.tar.gz"))
>   (sha256
>(base32
> "0d23rdk9hdwj6q981n3wm6472ygs0mlzkqk4b49w1ifa5l600kfc"
> (build-system cmake-build-system)
> (inputs `(("libsndfile",pulseaudio)))

Inputs are a list where each item consists of an arbitrary label and a
package value (i.e. the name of a variable in Guix that is bound to a
package expression).  Here you have one item with label “libsndfile” and
the value of the “pulseaudio” package.

If you want to have both pulseaudio and libsndfile do this instead:

(inputs
 `(("libsndfile" ,libsndfile)
   ("pulseaudio" ,pulseaudio)))

One more thing: there’s special Scheme syntax here which needs
explaining, I think.

In Scheme this is how you create a list of three numbers:

(list 1 2 3)

There is a short form for lists:

'(1 2 3)

This is called “quote”.  Think of it as declaring “data mode”.
The backtick “`” is used when you want to be able to switch from “data
mode” to “code mode”.  This is equivalent to the above list:

`(1 2 3)

The backtick allows you to flip to “code mode” to temporarily evaluate
some nested code.  That’s done with the comma:

`(1 2 ,(- 5 2))

This also results in a list of the numbers 1, 2 and 3.  The backtick is
short for “quasiquote” and the comma stands for “unquote”.

So in the list of inputs the comma just means that we insert the actual
value of the given package variables.

I hope this helps!

~~ Ricardo



Re: [PATCH] gnu: rofi: Update to 1.2.0.

2016-08-31 Thread Leo Famulari
On Wed, Aug 31, 2016 at 08:09:07PM +0100, Marius Bakke wrote:
> 
> > Done and done! New patches attached.
> 
> Oops, forgot to refresh my local branch. Here are the actual new
> patches.

> Subject: [PATCH 1/2] gnu: Add xcb-util-xrm.
> * gnu/packages/xdisorg.scm (xcb-util-xrm): New variable.

> Subject: [PATCH 2/2] gnu: rofi: Update to 1.2.0.
> * gnu/packages/xdisorg.scm (rofi): Update to 1.2.0.

Thanks, applied as 68c35ba96!



Re: [PATCH] gnu: rofi: Update to 1.2.0.

2016-08-31 Thread Marius Bakke

> Done and done! New patches attached.

Oops, forgot to refresh my local branch. Here are the actual new
patches.

>From e1606ba7814ff218a5670aab22b57686b71f2922 Mon Sep 17 00:00:00 2001
From: Marius Bakke 
Date: Wed, 31 Aug 2016 15:37:18 +0100
Subject: [PATCH 1/2] gnu: Add xcb-util-xrm.

* gnu/packages/xdisorg.scm (xcb-util-xrm): New variable.
---
 gnu/packages/xdisorg.scm | 41 +
 1 file changed, 41 insertions(+)

diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index cc83a04..06ed052 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -14,6 +14,7 @@
 ;;; Copyright © 2016 Efraim Flashner 
 ;;; Copyright © 2016 Leo Famulari 
 ;;; Copyright © 2016 Alex Kost 
+;;; Copyright © 2016 Marius Bakke 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -49,6 +50,7 @@
   #:use-module (gnu packages gl)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnome)
+  #:use-module (gnu packages m4)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages python)
@@ -1021,3 +1023,42 @@ The taskbar includes transparency and color settings for the font, icons,
 border, and background.  It also supports multihead setups, customized mouse
 actions, a built-in clock, a battery monitor and a system tray.")
 (license license:gpl2)))
+
+(define-public xcb-util-xrm
+  (package
+(name "xcb-util-xrm")
+(version "1.0")
+(source (origin
+  (method url-fetch)
+  (uri (string-append
+"https://github.com/Airblader/xcb-util-xrm/releases;
+"/download/v" version "/xcb-util-xrm-" version ".tar.bz2"))
+  (sha256
+   (base32
+"1h5vxwpd37dqfw9yj1l4zd9c5dj30r3g0szgysr6kd7xrqgaq04l"))
+  (modules '((guix build utils)))
+  (snippet
+   ;; Drop bundled m4.
+   '(delete-file-recursively "m4"
+(build-system gnu-build-system)
+(native-inputs
+ `(("pkg-config" ,pkg-config)
+   ("m4" ,m4)
+   ("libx11" ,libx11))) ; for tests
+(inputs
+ `(("libxcb" ,libxcb)
+   ("xcb-util" ,xcb-util)))
+(home-page "https://github.com/Airblader/xcb-util-xrm;)
+(synopsis "XCB utility functions for the X resource manager")
+(description
+ "The XCB util module provides a number of libraries which sit on
+top of libxcb, the core X protocol library, and some of the extension
+libraries.  These experimental libraries provide convenience functions
+and interfaces which make the raw X protocol more usable.  Some of the
+libraries also provide client-side code which is not strictly part of
+the X protocol but which has traditionally been provided by Xlib.
+
+XCB util-xrm module provides the following libraries:
+
+- xrm: utility functions for the X resource manager.")
+(license license:x11)))
-- 
2.9.3

>From cb5d1f27388ab748afa96b86cc146545192f1b79 Mon Sep 17 00:00:00 2001
From: Marius Bakke 
Date: Wed, 31 Aug 2016 15:45:06 +0100
Subject: [PATCH 2/2] gnu: rofi: Update to 1.2.0.

* gnu/packages/xdisorg.scm (rofi): Update to 1.2.0.
  [inputs]: Drop libx11 and add xcb-util-xrm.
---
 gnu/packages/xdisorg.scm | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index 06ed052..323ff11 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -940,7 +940,7 @@ connectivity of the X server running on a particular @code{DISPLAY}.")
 (define-public rofi
   (package
 (name "rofi")
-(version "1.1.0")
+(version "1.2.0")
 (source (origin
   (method url-fetch)
   (uri (string-append "https://github.com/DaveDavenport/rofi/;
@@ -948,17 +948,17 @@ connectivity of the X server running on a particular @code{DISPLAY}.")
   version "/rofi-" version ".tar.xz"))
   (sha256
(base32
-"1l8vl0mh7i0b1ycifqpg6392f5i4qxlv003m126skfk6fnlfq8hn"
+"0xxx0xpxhrhlhi2axq9867zqrhwqavc1qrr833k1xr0pvm5m0aqc"
 (build-system gnu-build-system)
 (inputs
- `(("libx11" ,libx11)
-   ("pango" ,pango)
+ `(("pango" ,pango)
("cairo" ,cairo)
("glib" ,glib)
("startup-notification" ,startup-notification)
("libxkbcommon" ,libxkbcommon)
("libxcb" ,libxcb)
("xcb-util" ,xcb-util)
+   ("xcb-util-xrm" ,xcb-util-xrm)
("xcb-util-wm" ,xcb-util-wm)))
 (native-inputs
  `(("pkg-config" ,pkg-config)))
-- 
2.9.3



Re: [PATCH] gnu: Add dlib.

2016-08-31 Thread Leo Famulari
On Tue, Aug 30, 2016 at 03:43:05PM +0100, Marius Bakke wrote:
> Shogun failed to build in this run. I don't have time to investigate
> further, so picking the OpenBLAS update is not very appealing.
> 
> Instead I opted to disable the test that fails with lapack (and without,
> on Hydra), since it's one specific openblas operation that is not unique
> to dlib. I think it's an acceptable tradeoff, to give users the full
> dlib functionality, and have the segfault "sort itself" when
> core-updates lands in master.

Okay, this sounds fine to me.

> Below is a patch which disables these tests (and the above segfault) for
> 19.1, rather than backporting the patches from dlib master branch.
> 
> One note about the patch: I could not figure out how to pass the list of
> tests as arguments to `substitute*`, so currently it calls `substitute*`
> for each of them. Any tips to prevent this?

Not from me — Calling all seasoned Schemers to thread :) If nobody
replies I will say this solution is fine.

Changing the subject, you could disable the tests per-architecture. Look
for uses of current-target-system and current-system for usage examples.
But this is not absolutely required, IMO.

> It also no longer builds the main application twice for tests.

Thank you :)



How to add library dependency to guix build

2016-08-31 Thread Tobias Platen
Hello,

I tried to package a speech syntesizer framework called WORLD for Guix,
which I had earlier packaged for Trisquel. The guix build process does
not find , even if I declared a dependency on libsndfile.

Tobias Platen
warning: failed to install locale: Invalid argument
The following package will be installed:
   world0.3.1   /gnu/store/g0x1z1rp639b1m48q1pq96am1fwlaik3-world-0.3.1

The following derivations will be built:
   /gnu/store/f9y64ns3dr3nlzbkyri1nk67v5qsrff7-profile.drv
   /gnu/store/sqwp9g3m5j6gg283bbbjj1bjxnbcdqk9-ca-certificate-bundle.drv
   /gnu/store/mvvdzf38m226dwklvkcv1dnr1jhzdv08-xdg-mime-database.drv
   /gnu/store/fi8mvnzcsan0gy7m6d240gpw96m6af9b-info-dir.drv
   /gnu/store/42g7f9jiyxkaiacbm8scaqsbmb3drmh2-fonts-dir.drv
   /gnu/store/1hwf475l9ghwmpz88svhpqlvckclrasb-gtk-icon-themes.drv
   /gnu/store/d8wswii4lw5a59zrhkxidxr7h0ncixgz-world-0.3.1.drv
starting phase `set-SOURCE-DATE-EPOCH'
phase `set-SOURCE-DATE-EPOCH' succeeded after 0.0 seconds
starting phase `set-paths'
environment variable `PATH' set to 
`/gnu/store/zcn7lm8lf60q0756q7z9qpvl9z5wbh82-cmake-3.5.2/bin:/gnu/store/3a3qhlr9ssczrkjr10jllb01mbdgsijp-pulseaudio-8.0/bin:/gnu/store/2pdb9h9mdq7qnjj1b9b6k2a2md46idyj-tar-1.29/bin:/gnu/store/54ilw1jcicj7n259cpra59y6gik2mig2-gzip-1.8/bin:/gnu/store/pzk986yikywnql4x393pbhzbiz7vl72n-bzip2-1.0.6/bin:/gnu/store/p9c6hk9rdln5rz752fkwd6zxj2xs3sa9-xz-5.2.2/bin:/gnu/store/3nhg61n6p870vj1q654rbxrgsq5zsgsp-file-5.25/bin:/gnu/store/lr2vwc88wck5ra3p969rgk8nnqh111aj-diffutils-3.3/bin:/gnu/store/ni491r4ffm03v0cr70df12lwiq826das-patch-2.7.5/bin:/gnu/store/bzv2l4hx3j74jm49fb7g20900yqjdn22-sed-4.2.2/bin:/gnu/store/53p06lrr734a1xxa770xz9ddan4a2zjq-findutils-4.6.0/bin:/gnu/store/bd4m0d7h247iwwgl7wi3b28prv554gjn-gawk-4.1.3/bin:/gnu/store/dk9hvkwr5s4n22z9pjgcmxrppd08k286-grep-2.25/bin:/gnu/store/lpvkjic9dhj55plc29jhq8l39irvqm4f-coreutils-8.25/bin:/gnu/store/1iiqn2124niw1pvqfwr7wb3lxi28r67q-make-4.2/bin:/gnu/store/ykzwykkvr2c80rw4l1qh3mvfdkl7jibi-bash-4.3.42/bin:/gnu/store/5k8z2aj8ca16nmvwvdsl0mdc3slm14k2-ld-wrapper-0/bin:/gnu/store/z53lxlrp7061vggbnhpxcsmad6lx96p8-binutils-2.25.1/bin:/gnu/store/frrj3bfbmg5vrd0flh9cf8j64h7cr2v4-gcc-4.9.3/bin:/gnu/store/m9vxvhdj691bq1f85lpflvnhcvrdilih-glibc-2.23/bin:/gnu/store/m9vxvhdj691bq1f85lpflvnhcvrdilih-glibc-2.23/sbin:/gnu/store/8pskv4xpdjg1grx3c2an3g5fqj8pcrgh-gdbm-1.12/bin:/gnu/store/y51frvdprzpq3skac6w392px91vyp4rq-libcap-2.24/sbin'
environment variable `CMAKE_PREFIX_PATH' set to 
`/gnu/store/zcn7lm8lf60q0756q7z9qpvl9z5wbh82-cmake-3.5.2/:/gnu/store/3a3qhlr9ssczrkjr10jllb01mbdgsijp-pulseaudio-8.0/:/gnu/store/2pdb9h9mdq7qnjj1b9b6k2a2md46idyj-tar-1.29/:/gnu/store/54ilw1jcicj7n259cpra59y6gik2mig2-gzip-1.8/:/gnu/store/pzk986yikywnql4x393pbhzbiz7vl72n-bzip2-1.0.6/:/gnu/store/p9c6hk9rdln5rz752fkwd6zxj2xs3sa9-xz-5.2.2/:/gnu/store/3nhg61n6p870vj1q654rbxrgsq5zsgsp-file-5.25/:/gnu/store/lr2vwc88wck5ra3p969rgk8nnqh111aj-diffutils-3.3/:/gnu/store/ni491r4ffm03v0cr70df12lwiq826das-patch-2.7.5/:/gnu/store/bzv2l4hx3j74jm49fb7g20900yqjdn22-sed-4.2.2/:/gnu/store/53p06lrr734a1xxa770xz9ddan4a2zjq-findutils-4.6.0/:/gnu/store/bd4m0d7h247iwwgl7wi3b28prv554gjn-gawk-4.1.3/:/gnu/store/dk9hvkwr5s4n22z9pjgcmxrppd08k286-grep-2.25/:/gnu/store/lpvkjic9dhj55plc29jhq8l39irvqm4f-coreutils-8.25/:/gnu/store/1iiqn2124niw1pvqfwr7wb3lxi28r67q-make-4.2/:/gnu/store/ykzwykkvr2c80rw4l1qh3mvfdkl7jibi-bash-4.3.42/:/gnu/store/5k8z2aj8ca16nmvwvdsl0mdc3slm14k2-ld-wrapper-0/:/gnu/store/z53lxlrp7061vggbnhpxcsmad6lx96p8-binutils-2.25.1/:/gnu/store/frrj3bfbmg5vrd0flh9cf8j64h7cr2v4-gcc-4.9.3/:/gnu/store/m9vxvhdj691bq1f85lpflvnhcvrdilih-glibc-2.23/:/gnu/store/w74j2phxh04phnspxmjg9hpzpk90054x-glibc-utf8-locales-2.23/:/gnu/store/8pskv4xpdjg1grx3c2an3g5fqj8pcrgh-gdbm-1.12/:/gnu/store/y51frvdprzpq3skac6w392px91vyp4rq-libcap-2.24/:/gnu/store/k3nwrfrgkg1bafhqi9w8inh2rr8njb1b-linux-libre-headers-4.1.18/'
environment variable `C_INCLUDE_PATH' set to 
`/gnu/store/3a3qhlr9ssczrkjr10jllb01mbdgsijp-pulseaudio-8.0/include:/gnu/store/pzk986yikywnql4x393pbhzbiz7vl72n-bzip2-1.0.6/include:/gnu/store/p9c6hk9rdln5rz752fkwd6zxj2xs3sa9-xz-5.2.2/include:/gnu/store/3nhg61n6p870vj1q654rbxrgsq5zsgsp-file-5.25/include:/gnu/store/bd4m0d7h247iwwgl7wi3b28prv554gjn-gawk-4.1.3/include:/gnu/store/1iiqn2124niw1pvqfwr7wb3lxi28r67q-make-4.2/include:/gnu/store/z53lxlrp7061vggbnhpxcsmad6lx96p8-binutils-2.25.1/include:/gnu/store/frrj3bfbmg5vrd0flh9cf8j64h7cr2v4-gcc-4.9.3/include:/gnu/store/m9vxvhdj691bq1f85lpflvnhcvrdilih-glibc-2.23/include:/gnu/store/8pskv4xpdjg1grx3c2an3g5fqj8pcrgh-gdbm-1.12/include:/gnu/store/y51frvdprzpq3skac6w392px91vyp4rq-libcap-2.24/include:/gnu/store/k3nwrfrgkg1bafhqi9w8inh2rr8njb1b-linux-libre-headers-4.1.18/include'
environment variable `CPLUS_INCLUDE_PATH' set to 

Re: [PATCH] gnu: rofi: Update to 1.2.0.

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

>> * gnu/packages/xdisorg.scm (xcb-util-xrm): New variable.
>
> This actually bundles m4, even if it doesn't use it. Can you delete that
> 'm4' directory in an origin snippet? There's an example in the calibre
> package definition.

Good catch!

>> +  (uri (string-append
>> +
>> "https://github.com/Airblader/xcb-util-xrm/releases/download;
>
> Also this line a bit too long :)

Done and done! New patches attached.

>From 002e487185df0f6c5ad38c297ee77c9d1150841a Mon Sep 17 00:00:00 2001
From: Marius Bakke 
Date: Wed, 31 Aug 2016 15:37:18 +0100
Subject: [PATCH 1/2] gnu: Add xcb-util-xrm.

* gnu/packages/xdisorg.scm (xcb-util-xrm): New variable.
---
 gnu/packages/xdisorg.scm | 37 +
 1 file changed, 37 insertions(+)

diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index cc83a04..b2cdde8 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -14,6 +14,7 @@
 ;;; Copyright © 2016 Efraim Flashner 
 ;;; Copyright © 2016 Leo Famulari 
 ;;; Copyright © 2016 Alex Kost 
+;;; Copyright © 2016 Marius Bakke 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -49,6 +50,7 @@
   #:use-module (gnu packages gl)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnome)
+  #:use-module (gnu packages m4)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages python)
@@ -1021,3 +1023,38 @@ The taskbar includes transparency and color settings for the font, icons,
 border, and background.  It also supports multihead setups, customized mouse
 actions, a built-in clock, a battery monitor and a system tray.")
 (license license:gpl2)))
+
+(define-public xcb-util-xrm
+  (package
+(name "xcb-util-xrm")
+(version "1.0")
+(source (origin
+  (method url-fetch)
+  (uri (string-append
+"https://github.com/Airblader/xcb-util-xrm/releases/download;
+"/v" version "/xcb-util-xrm-" version ".tar.bz2"))
+  (sha256
+   (base32
+"1h5vxwpd37dqfw9yj1l4zd9c5dj30r3g0szgysr6kd7xrqgaq04l"
+(build-system gnu-build-system)
+(native-inputs
+ `(("pkg-config" ,pkg-config)
+   ("m4" ,m4)
+   ("libx11" ,libx11))) ; for tests
+(inputs
+ `(("libxcb" ,libxcb)
+   ("xcb-util" ,xcb-util)))
+(home-page "https://github.com/Airblader/xcb-util-xrm;)
+(synopsis "XCB utility functions for the X resource manager")
+(description
+ "The XCB util module provides a number of libraries which sit on
+top of libxcb, the core X protocol library, and some of the extension
+libraries.  These experimental libraries provide convenience functions
+and interfaces which make the raw X protocol more usable.  Some of the
+libraries also provide client-side code which is not strictly part of
+the X protocol but which has traditionally been provided by Xlib.
+
+XCB util-xrm module provides the following libraries:
+
+- xrm: utility functions for the X resource manager.")
+(license license:x11)))
-- 
2.9.3

>From 2daec13c728424a3e3b7695b30f873da47c22172 Mon Sep 17 00:00:00 2001
From: Marius Bakke 
Date: Wed, 31 Aug 2016 15:45:06 +0100
Subject: [PATCH 2/2] gnu: rofi: Update to 1.2.0.

* gnu/packages/xdisorg.scm (rofi): Update to 1.2.0.
  [inputs]: Drop libx11 and add xcb-util-xrm.
---
 gnu/packages/xdisorg.scm | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index b2cdde8..b294a79 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -940,7 +940,7 @@ connectivity of the X server running on a particular @code{DISPLAY}.")
 (define-public rofi
   (package
 (name "rofi")
-(version "1.1.0")
+(version "1.2.0")
 (source (origin
   (method url-fetch)
   (uri (string-append "https://github.com/DaveDavenport/rofi/;
@@ -948,17 +948,17 @@ connectivity of the X server running on a particular @code{DISPLAY}.")
   version "/rofi-" version ".tar.xz"))
   (sha256
(base32
-"1l8vl0mh7i0b1ycifqpg6392f5i4qxlv003m126skfk6fnlfq8hn"
+"0xxx0xpxhrhlhi2axq9867zqrhwqavc1qrr833k1xr0pvm5m0aqc"
 (build-system gnu-build-system)
 (inputs
- `(("libx11" ,libx11)
-   ("pango" ,pango)
+ `(("pango" ,pango)
("cairo" ,cairo)
("glib" ,glib)
("startup-notification" ,startup-notification)
("libxkbcommon" ,libxkbcommon)
("libxcb" ,libxcb)
("xcb-util" ,xcb-util)
+   ("xcb-util-xrm" ,xcb-util-xrm)
("xcb-util-wm" ,xcb-util-wm)))
 (native-inputs
  `(("pkg-config" ,pkg-config)))
-- 
2.9.3



Re: [PATCH] gnu: sqlite: Enable DBSTAT_VTAB.

2016-08-31 Thread Leo Famulari
On Wed, Aug 31, 2016 at 01:34:30AM +0200, David Craven wrote:
> * gnu/packages/databases.scm (sqlite)[arguments]: Enable configure-flag
>   -DSQLITE_ENABLE_DBSTAT_VTAB.
> ---
>  gnu/packages/databases.scm | 10 ++
>  1 file changed, 6 insertions(+), 4 deletions(-)
> 
> diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
> index a04c375..ce51d28 100644
> --- a/gnu/packages/databases.scm
> +++ b/gnu/packages/databases.scm
> @@ -520,10 +520,12 @@ for example from a shell script.")
> (inputs `(("readline" ,readline)))
> (arguments
>  `(#:configure-flags
> -  ;; Add -DSQLITE_SECURE_DELETE and -DSQLITE_ENABLE_UNLOCK_NOTIFY to
> -  ;; CFLAGS.  GNU Icecat will refuse to use the system SQLite unless 
> these
> -  ;; options are enabled.
> -  '("CFLAGS=-O2 -DSQLITE_SECURE_DELETE -DSQLITE_ENABLE_UNLOCK_NOTIFY")))
> +  ;; Add -DSQLITE_SECURE_DELETE, -DSQLITE_ENABLE_UNLOCK_NOTIFY and
> +  ;; -DSQLITE_ENABLE_DBSTAT_VTAB to CFLAGS.  GNU Icecat will refuse
> +  ;; to use the system SQLite unless these options are enabled.
> +  (list (string-append "CFLAGS=-O2 -DSQLITE_SECURE_DELETE "
> +   "-DSQLITE_ENABLE_UNLOCK_NOTIFY "
> +   "-DSQLITE_ENABLE_DBSTAT_VTAB"

When the new Icecat is released, I think we should graft this change
onto the master branch. This is because the new Icecat will fix a bunch
of security bugs.



Re: [PATCH] gnu: rofi: Update to 1.2.0.

2016-08-31 Thread Leo Famulari
On Wed, Aug 31, 2016 at 04:00:06PM +0100, Marius Bakke wrote:
> Greetings Guix,
> 
> I am the maintainer of this package in NixOS and figured I could update
> it here as well, since it was non-trivial.

Thanks!

> The libx11 dependency is dropped in favour of a new xcb-util-xrm module.
> I added the latter to xdisorg since it's not listed on xcb.fd.o proper,
> but followed the convention of the other xcb-util-* libraries.
> 
> Disclaimer: untested, apart from building with rounds=2.

Okay!

> Subject: [PATCH 1/2] gnu: Add xcb-util-xrm.
> 
> * gnu/packages/xdisorg.scm (xcb-util-xrm): New variable.

This actually bundles m4, even if it doesn't use it. Can you delete that
'm4' directory in an origin snippet? There's an example in the calibre
package definition.

> +  (uri (string-append
> +
> "https://github.com/Airblader/xcb-util-xrm/releases/download;

Also this line a bit too long :)

Otherwise LGTM!



Re: [PATCH] gnu: Add bind

2016-08-31 Thread John Darrington
Thanks for the comments,

On Wed, Aug 31, 2016 at 01:52:11PM -0400, Leo Famulari wrote:
 On Tue, Aug 30, 2016 at 06:36:04PM +0200, John Darrington wrote:
 > * gnu/packages/networking.scm (bind): New variable.
 
 Hi, thanks for this patch! I think it can go in the DNS module.
 
 I wonder, how does it relate to the BIND that replaces the bundled BIND
 in isc-dhcp, which I've noticed often requires security updates?

I don't think it relates at all, except that it is produced by the same group.

However, I noticed in that module, there is bind-utils, which provides about
half of what my patch does, and IMO is unecessarily complicated.  I suppose this
was done because somebody wanted to provide the DNS query tools without the
DNS server.  

I think this would be better achieved by having separate outputs bind:utils and 
bind:daemon


 > + (modify-phases %standard-phases
 > + (replace 'check
 > +   (lambda _
 > + (zero? (system* "make" "force-test")))
 
 Does "force-test" mean that the test suite will return success even if
 there are some failures? If so, this should explicitly stated in a
 comment.

Apparently, some tests cannot be run unless one makes some local hacks 
as root.  force-test skips those tests which require that.

J'

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



signature.asc
Description: Digital signature


Re: [PATCH v3 3/3] gnu: update ldc to 0.17.1.

2016-08-31 Thread Leo Famulari
On Tue, Aug 30, 2016 at 06:52:00PM +0200, Danny Milosavljevic wrote:
> * gnu/packages/ldc.scm (ldc): Update to 0.17.1.
> * gnu/packages/patches/ldc-0.17.1-disable-tests.patch: New patch.
> * gnu/local.mk: Added reference to patch.

Thanks for this! Somebody needs to review it. Maybe you can ping
somebody who knows something about ldc?



Re: [PATCH v3 2/3] gnu: Add python-lit, python2-lit.

2016-08-31 Thread Leo Famulari
On Tue, Aug 30, 2016 at 06:51:59PM +0200, Danny Milosavljevic wrote:
> * gnu/packages/python.scm (python-lit, python2-lit): New variables.

> +(license license:bsd-3)

This package looks good, although I'm not sure about the license. It
doesn't contain a license text that I could find. 'setup.py' mentions
"BSD" and "University of Illinois/NCSA Open Source License":

https://opensource.org/licenses/UoI-NCSA.php

I think we should probably say this package is NCSA, since it's part of
LLVM. What do you think?



Re: [PATCH] gnu: Add bind

2016-08-31 Thread Leo Famulari
On Tue, Aug 30, 2016 at 06:36:04PM +0200, John Darrington wrote:
> * gnu/packages/networking.scm (bind): New variable.

Hi, thanks for this patch! I think it can go in the DNS module.

I wonder, how does it relate to the BIND that replaces the bundled BIND
in isc-dhcp, which I've noticed often requires security updates?

> +(description "BIND is an implementation of the Domain Name System (DNS)
> +protocols for the Internet.  It is a reference implementation of those
> +protocols, but it is also production-grade software, suitable for use in
> +high-volume and high-reliability applications. The name BIND stands for
> +"Berkeley Internet Name Domain", because the software originated in the early
> +1980s at the University of California at Berkeley.")

The descriptions needs the quotation marks around the acronym
description to be escaped. Otherwise, it doesn't work for me.

> +  (uri (string-append
> +"ftp://ftp.isc.org/isc/bind9/; version "/" name "-"
> +version ".tar.gz"))

This server is unavailable over IPv6 connections:

Starting download of 
/gnu/store/lhwlfx4qp94pn5d0xpflqib1cy2c4bhp-bind-9.10.4-P2.tar.gz
>From ftp://ftp.isc.org/isc/bind9/9.10.4-P2/bind-9.10.4-P2.tar.gz...
ERROR: Throw to key `ftp-error' with args `(# "PASV" 
425 "You cannot use PASV on IPv6 connections. Use EPSV instead.\r")'.

I wonder if there is a better URL?

> + (modify-phases %standard-phases
> + (replace 'check
> +   (lambda _
> + (zero? (system* "make" "force-test")))

Does "force-test" mean that the test suite will return success even if
there are some failures? If so, this should explicitly stated in a
comment.



Re: [PATCH] refresh nss-certs

2016-08-31 Thread Leo Famulari
On Tue, Aug 30, 2016 at 01:33:10PM +0200, Vincent Legoll wrote:
> Here it is...
> I test-installed the 2 packages, but nothing more

> From 966dd703fea7754d18fbe609215eff8381435458 Mon Sep 17 00:00:00 2001
> From: Vincent Legoll 
> Date: Wed, 24 Aug 2016 13:03:48 +0200
> Subject: [PATCH] gnu: nss & nss-certs: Update to 3.26
> 
> * gnu/packages/certs.scm (nss-certs): Update to 3.26.
> * gnu/packages/gnuzilla.scm (nss): Update to 3.26.

Thanks, looks good! I'm CC-ing Mark directly since he is usually the one
to update these packages.



Re: [PATCH]: Add bambam

2016-08-31 Thread Eric Bavier
On Wed, 31 Aug 2016 10:03:37 +0300
Alex Kost  wrote:

> Only a couple of small things :-)
> 
> [...]
> > +(define-public bambam
> > +  (package
> > +(name "bambam")
> > +(version "0.5")
> > +(source
> > +  (origin
> > +(method url-fetch)
> > +(uri (string-append "https://github.com/porridge/bambam/archive/;
> > +version ".tar.gz"))
> > +(file-name (string-append name "-" version ".tar.gz"))
> > +(sha256
> > + (base32
> > +  "10w110mjdwbvddzihh9rganvvjr5jfiz8cs9n7w12zndwwcc3ria"
> > +(build-system python-build-system)
> > +(arguments
> > + `(#:python ,python-2
> > +   #:tests? #f ; no tests
> > +   #:phases
> > +   (modify-phases %standard-phases
> > + (delete 'build)
> > + (add-before 'install 'patch-data-dir-location
> > +   (lambda _
> > + (substitute* "bambam.py"
> > +  (("'data'")
> > +   "'../share/bambam/data'"))  
> 
> This is an unusual indentation, I would write:
> 
>  (substitute* "bambam.py"
>(("'data'") "'../share/bambam/data'"))
> 
> 
> > + #t))
> > + (replace 'install
> > +   (lambda* (#:key outputs #:allow-other-keys)
> > + (let* ((out   (assoc-ref outputs "out"))
> > +(bin   (string-append out "/bin"))
> > +(share (string-append out "/share")))
> > +   (mkdir-p bin)
> > +   (copy-file "bambam.py" (string-append bin "/bambam"))
> > +   (install-file "bambam.6" (string-append share "/man/man6"))
> > +   (copy-recursively "data" (string-append share 
> > "/bambam/data")))
> > + #t))
> > + (add-after 'install 'wrap-binary
> > +   (lambda* (#:key outputs #:allow-other-keys)
> > + (let* ((out (assoc-ref outputs "out"))
> > +(bin (string-append out "/bin/bambam")))
> > +   (wrap-program bin
> > + `("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH")
> > + #t)
> > +(inputs
> > + `(("python-pygame" ,python-pygame)))
> > +(home-page "https://github.com/porridge/bambam;)
> > +(synopsis "keyboard mashing and doodling game for babies")  
>   Keyboard
> "guix lint" reported it should begin with an upper-case letter.
> 
> > +(description "Bambam is a simple baby keyboard (and gamepad) masher
> > +application that locks the keyboard and mouse and instead displays bright
> > +colors, pictures, and sounds.")
> > +(license license:gpl3+)))  
> 

Since I accidentaly pushed this patch with another batch, I went ahead
and made these changes.  I also removed the wrap-binary phase, which is
handled by python-build-system.  Pushed in
46a0622481c398bd9337522e93f6f9082d2b9015.

Thanks,
`~Eric



Re: X server crashes during 'guix system reconfigure' on mips64el

2016-08-31 Thread Leo Famulari
On Wed, Aug 31, 2016 at 04:17:29PM +0200, Ludovic Courtès wrote:
> I believe this is fixed by commit
> d4f8884fdb897e648fd7f4262b2142d8c363ac76 (and now we have proper
> tests!).
> 
> Could you or Leo retry the previous scenario (you need to revert the
> revert) and report back?

It works for me on x86_64. Thanks!



Re: [PATCH] gnu: Add praat

2016-08-31 Thread Alex Griffin
On Tue, Aug 30, 2016, at 02:07 PM, Marius Bakke wrote:
> I don't have a Guix system with audio atm so someone else will have to
> review it :)

It works for me on GuixSD OOTB.

Brendan Tildesley wrote:
> +(home-page "http://praat.org;)

The docs point to "http://www.praat.org;, so I think we should include
the www.

> +(synopsis "Doing phonetics by computer")
> +(description
> + "Praat is a program for linguists to analyse, synthesize, and
> +manipulate speech, generate graphs for scientific papers, and more.")

I know it's Praat's tagline, but the synopsis doesn't match the rest of
our packages. Something like "Phonetic analysis program" would be
better. The description could probably be a bit more fleshed out too,
but I think it's also fine if you don't want to bother.

> +(license license:gpl2)))

This should be gpl2+. It looks like praat bundles some third-party
libraries under external/ with various licenses. These should be
unbundled if possible, or else their licenses should be added to praat's
license field.

Thanks for contributing, hope it's not too much trouble cleaning up
these last few details!
-- 
Alex Griffin



Re: [PATCH] gnu: Add sddm.

2016-08-31 Thread David Craven
Hi Marius,

Thanks!

I got the pam issue resolved. hawaii sessions start now (still look
ugly, need to patch some paths so that it finds themes etc.). weston
still has a problem - can't open drm device. Seems to be elogind
related.



Re: screenshot of the web interface to the GNU Guix package manager

2016-08-31 Thread Thompson, David
On Wed, Aug 31, 2016 at 9:56 AM, ng0  wrote:
> Ricardo Wurmus  writes:
>
>> knx...@onionmail.info writes:
>>
>>> On https://git.dthompson.us/guix-web.git/blob/HEAD:/README.md
>>>
>>> there is a dead link to
>>> http://media.dthompson.us/mgoblin_media/media_entries/20/Screenshot_from_2014-08-13_180724.png
>>>
>>> - so no visible screenshot of the web interface to the GNU Guix package
>>> manager here...
>>>
>>>
>>> Does anyone have a screenshot maybe?  Thx!
>>
>> You can see a running instance of Guix web at
>> .
>>
>> It runs a slightly modified version of Dave’s code.
>>
>> ~~ Ricardo
>>
>
> A good number of people have pointed out to me that our /packages page
> crashes their browser or in general is really uncomfortable to load.
> The impression would be better if we provided something which might not
> be 100% done but at least does not crash/hang systems.
> What's in the way to use guix-web instead of the listing we have?
> Perfectionism and/or a lack of time?

Pagination can be achieved without the use of a dynamic web
application.  I wouldn't recommend guix-web for this right now because
it also loads slowly.  Some dynamic thing with a search box would be
cool in the future, but not now.

The Guile source that generates the web pages is available and
hackable, so it would be relatively easy for someone to break this
list up in some sane fashion and send a patch.  Any volunteers?

- Dave



Re: [PATCH] import: cpan: Use tls to query api.metacpan.org.

2016-08-31 Thread Eric Bavier
On Wed, 31 Aug 2016 16:19:13 +0200
l...@gnu.org (Ludovic Courtès) wrote:

> Eric Bavier  skribis:
> 
> > On Tue, 30 Aug 2016 17:16:38 +
> > ng0  wrote:
> >  
> >> Eric Bavier  writes:
> >>   
> >> > On Tue, 30 Aug 2016 12:57:47 +
> >> > ng0  wrote:
> >> >
> >> >> From e5fb3767e652af0a94fb9817c81b23f37d676355 Mon Sep 17 00:00:00 2001
> >> >> From: ng0 
> >> >> Date: Tue, 30 Aug 2016 12:52:51 +
> >> >> Subject: [PATCH] import: cpan: Use tls to query api.metacpan.org.
> >> >> 
> >> >> * guix/import/cpan.scm (module->name module)[json-fetch]: Use tls for 
> >> >> api.metacpan.org.
> >> >> (cpan-fetch-module)[json-fetch]: Likewise.  
> 
> [...]
> 
> > I adjust the patch and pushed it in
> > 7a62263ee50c9e2894ea0e746b89f04e3b6484c3.  
> 
> “make check TESTS=tests/cpan.scm” fails on current master.  Could you
> check if this is related?

Oops.  Fixed in 83ab1a812fc7903abdaabeca2e07bb03f8d25827.

Thanks for catching it.

`~Eric



[PATCH] gnu: rofi: Update to 1.2.0.

2016-08-31 Thread Marius Bakke
Greetings Guix,

I am the maintainer of this package in NixOS and figured I could update
it here as well, since it was non-trivial.

The libx11 dependency is dropped in favour of a new xcb-util-xrm module.
I added the latter to xdisorg since it's not listed on xcb.fd.o proper,
but followed the convention of the other xcb-util-* libraries.

Disclaimer: untested, apart from building with rounds=2.

>From 002e487185df0f6c5ad38c297ee77c9d1150841a Mon Sep 17 00:00:00 2001
From: Marius Bakke 
Date: Wed, 31 Aug 2016 15:37:18 +0100
Subject: [PATCH 1/2] gnu: Add xcb-util-xrm.

* gnu/packages/xdisorg.scm (xcb-util-xrm): New variable.
---
 gnu/packages/xdisorg.scm | 37 +
 1 file changed, 37 insertions(+)

diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index cc83a04..b2cdde8 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -14,6 +14,7 @@
 ;;; Copyright © 2016 Efraim Flashner 
 ;;; Copyright © 2016 Leo Famulari 
 ;;; Copyright © 2016 Alex Kost 
+;;; Copyright © 2016 Marius Bakke 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -49,6 +50,7 @@
   #:use-module (gnu packages gl)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnome)
+  #:use-module (gnu packages m4)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages python)
@@ -1021,3 +1023,38 @@ The taskbar includes transparency and color settings for the font, icons,
 border, and background.  It also supports multihead setups, customized mouse
 actions, a built-in clock, a battery monitor and a system tray.")
 (license license:gpl2)))
+
+(define-public xcb-util-xrm
+  (package
+(name "xcb-util-xrm")
+(version "1.0")
+(source (origin
+  (method url-fetch)
+  (uri (string-append
+"https://github.com/Airblader/xcb-util-xrm/releases/download;
+"/v" version "/xcb-util-xrm-" version ".tar.bz2"))
+  (sha256
+   (base32
+"1h5vxwpd37dqfw9yj1l4zd9c5dj30r3g0szgysr6kd7xrqgaq04l"
+(build-system gnu-build-system)
+(native-inputs
+ `(("pkg-config" ,pkg-config)
+   ("m4" ,m4)
+   ("libx11" ,libx11))) ; for tests
+(inputs
+ `(("libxcb" ,libxcb)
+   ("xcb-util" ,xcb-util)))
+(home-page "https://github.com/Airblader/xcb-util-xrm;)
+(synopsis "XCB utility functions for the X resource manager")
+(description
+ "The XCB util module provides a number of libraries which sit on
+top of libxcb, the core X protocol library, and some of the extension
+libraries.  These experimental libraries provide convenience functions
+and interfaces which make the raw X protocol more usable.  Some of the
+libraries also provide client-side code which is not strictly part of
+the X protocol but which has traditionally been provided by Xlib.
+
+XCB util-xrm module provides the following libraries:
+
+- xrm: utility functions for the X resource manager.")
+(license license:x11)))
-- 
2.9.3

>From 2daec13c728424a3e3b7695b30f873da47c22172 Mon Sep 17 00:00:00 2001
From: Marius Bakke 
Date: Wed, 31 Aug 2016 15:45:06 +0100
Subject: [PATCH 2/2] gnu: rofi: Update to 1.2.0.

* gnu/packages/xdisorg.scm (rofi): Update to 1.2.0.
  [inputs]: Drop libx11 and add xcb-util-xrm.
---
 gnu/packages/xdisorg.scm | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index b2cdde8..b294a79 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -940,7 +940,7 @@ connectivity of the X server running on a particular @code{DISPLAY}.")
 (define-public rofi
   (package
 (name "rofi")
-(version "1.1.0")
+(version "1.2.0")
 (source (origin
   (method url-fetch)
   (uri (string-append "https://github.com/DaveDavenport/rofi/;
@@ -948,17 +948,17 @@ connectivity of the X server running on a particular @code{DISPLAY}.")
   version "/rofi-" version ".tar.xz"))
   (sha256
(base32
-"1l8vl0mh7i0b1ycifqpg6392f5i4qxlv003m126skfk6fnlfq8hn"
+"0xxx0xpxhrhlhi2axq9867zqrhwqavc1qrr833k1xr0pvm5m0aqc"
 (build-system gnu-build-system)
 (inputs
- `(("libx11" ,libx11)
-   ("pango" ,pango)
+ `(("pango" ,pango)
("cairo" ,cairo)
("glib" ,glib)
("startup-notification" ,startup-notification)
("libxkbcommon" ,libxkbcommon)
("libxcb" ,libxcb)
("xcb-util" ,xcb-util)
+   ("xcb-util-xrm" ,xcb-util-xrm)
("xcb-util-wm" ,xcb-util-wm)))
 (native-inputs
  `(("pkg-config" ,pkg-config)))
-- 
2.9.3



Re: screenshot of the web interface to the GNU Guix package manager

2016-08-31 Thread Ricardo Wurmus

ng0  writes:

> Ricardo Wurmus  writes:
>
>> knx...@onionmail.info writes:
>>
>>> On https://git.dthompson.us/guix-web.git/blob/HEAD:/README.md
>>>
>>> there is a dead link to
>>> http://media.dthompson.us/mgoblin_media/media_entries/20/Screenshot_from_2014-08-13_180724.png
>>>
>>> - so no visible screenshot of the web interface to the GNU Guix package
>>> manager here...
>>>
>>>
>>> Does anyone have a screenshot maybe?  Thx!
>>
>> You can see a running instance of Guix web at
>> .
>>
>> It runs a slightly modified version of Dave’s code.
>>
>> ~~ Ricardo
>>
>
> A good number of people have pointed out to me that our /packages page
> crashes their browser or in general is really uncomfortable to load.
> The impression would be better if we provided something which might not
> be 100% done but at least does not crash/hang systems.
> What's in the way to use guix-web instead of the listing we have?
> Perfectionism and/or a lack of time?

I seem to remember that it would have to be hosted elsewhere because all
GNU pages are static and managed in CVS.

~~ Ricardo



Re: X server crashes during 'guix system reconfigure' on mips64el

2016-08-31 Thread Ludovic Courtès
Hi!

l...@gnu.org (Ludovic Courtès) skribis:

> Mark H Weaver  skribis:

[...]

>> When I run 'guix system reconfigure' to update to a system with this
>> commit, it unloads the older %elogind-file-system services, which causes
>> my X server to crash and leave me in text mode with my keyboard in the
>> wrong mode, so I have to hard reset the machine.
>>
>> In addition, the 'guix system reconfigure' gets stuck.  (I can see this
>> because I always run it in a text terminal; I do all my 'root' work
>> there.)
>>
>> I've tried it twice, and transcribed (by hand) the last few lines of the
>> output from 'guix system reconfigure':
>>
>> First time:
>>
>>   making '/gnu/store/f0z88r...-system' the current system...
>>   guix system: unloading service 'file-system-/sys/fs/cgroup/elogind'...
>>   wlp0s14f5u3: deauthenticating from xx:xx:xx:xx:xx:xx by local choice 
>> (Reason: 3=DEAUTH_LEAVING)
>>
>> Second time:
>>
>>   making '/gnu/store/f0z88r...-system' the current system...
>>   guix system: unloading service 'file-system-/run/systemd'...
>>
>> I'm not sure if it's relevant, but I don't have 'elogin-service' on my
>> YeeLoong.  I can't run it there because it depends on 'mozjs' which
>> fails to build on mips64el.
>
> The problem here is that stopping a ‘file-system-xxx’ Shepherd service
> amounts to stopping the ‘user-processes’—i.e., kill all the user
> processes.  This can be seen in the service dependency graph:
>
>   guix system shepherd-graph the-config.scm | dot -Tps > t.ps
>
> So ‘guix system reconfigure’ should detect this case and keep the
> service up and running instead of stopping it.  Namely,
> ‘call-with-service-upgrade-info’ in (guix scripts system) should check
> whether a given Shepherd service has running dependent services.
>
> To be continued…

I believe this is fixed by commit
d4f8884fdb897e648fd7f4262b2142d8c363ac76 (and now we have proper
tests!).

Could you or Leo retry the previous scenario (you need to revert the
revert) and report back?

Thanks!

Ludo’.



Re: [PATCH] import: cpan: Use tls to query api.metacpan.org.

2016-08-31 Thread Ludovic Courtès
Eric Bavier  skribis:

> On Tue, 30 Aug 2016 17:16:38 +
> ng0  wrote:
>
>> Eric Bavier  writes:
>> 
>> > On Tue, 30 Aug 2016 12:57:47 +
>> > ng0  wrote:
>> >  
>> >> From e5fb3767e652af0a94fb9817c81b23f37d676355 Mon Sep 17 00:00:00 2001
>> >> From: ng0 
>> >> Date: Tue, 30 Aug 2016 12:52:51 +
>> >> Subject: [PATCH] import: cpan: Use tls to query api.metacpan.org.
>> >> 
>> >> * guix/import/cpan.scm (module->name module)[json-fetch]: Use tls for 
>> >> api.metacpan.org.
>> >> (cpan-fetch-module)[json-fetch]: Likewise.

[...]

> I adjust the patch and pushed it in
> 7a62263ee50c9e2894ea0e746b89f04e3b6484c3.

“make check TESTS=tests/cpan.scm” fails on current master.  Could you
check if this is related?

TIA!  :-)

Ludo’.



Re: screenshot of the web interface to the GNU Guix package manager

2016-08-31 Thread Vincent Legoll
> A good number of people have pointed out to me that our /packages page
> crashes their browser or in general is really uncomfortable to load.

+1

This made the page useless for me (FF48.0) so any alternative is OK

-- 
Vincent Legoll



Re: screenshot of the web interface to the GNU Guix package manager

2016-08-31 Thread ng0
Ricardo Wurmus  writes:

> knx...@onionmail.info writes:
>
>> On https://git.dthompson.us/guix-web.git/blob/HEAD:/README.md
>>
>> there is a dead link to
>> http://media.dthompson.us/mgoblin_media/media_entries/20/Screenshot_from_2014-08-13_180724.png
>>
>> - so no visible screenshot of the web interface to the GNU Guix package
>> manager here...
>>
>>
>> Does anyone have a screenshot maybe?  Thx!
>
> You can see a running instance of Guix web at
> .
>
> It runs a slightly modified version of Dave’s code.
>
> ~~ Ricardo
>

A good number of people have pointed out to me that our /packages page
crashes their browser or in general is really uncomfortable to load.
The impression would be better if we provided something which might not
be 100% done but at least does not crash/hang systems.
What's in the way to use guix-web instead of the listing we have?
Perfectionism and/or a lack of time?
-- 
ng0
For non-prism friendly talk find me on http://www.psyced.org



Re: [PATCH] gnu: slim: Move to display-managers.scm.

2016-08-31 Thread Marius Bakke
David Craven  writes:

> Are you packaging lightdm? I started packaging lightdm before sddm.
> But then I realized that it doesn't support (and probably never will)
> wayland sessions. Looks to me like another we are ubuntu and we are
> doing our own thing kind of project... ;-)

No immediate plans to package lightdm, but I'm sure it will get in
eventually. It offers some nice features such as light-locker and
multiple sessions, but I could not get either working properly..

Perhaps when I finally make the jump to GuixSD :)

~marius



Re: [PATCH] gnu: slim: Move to display-managers.scm.

2016-08-31 Thread ng0
Marius Bakke  writes:

> Hi,
>
> This change is to make room for SDDM and other display managers such as
> lightdm.
>
> I did not add a copyright line as I consider "git mv" a trivial
> operation.
>
> From a7e59cb154bd11e7ca04f68753982b21bef22b10 Mon Sep 17 00:00:00 2001
> From: Marius Bakke 
> Date: Wed, 31 Aug 2016 14:07:15 +0100
> Subject: [PATCH] gnu: slim: Move to display-managers.scm.
>
> * gnu/packages/display-managers.scm: New file.
> * gnu/packages/slim.scm: Delete file.
> * gnu/local.mk (GNU_SYSTEM_MODULES): Adjust accordingly.
> * gnu/services/xorg.scm: Likewise.
> ---
>  gnu/local.mk| 2 +-
>  gnu/packages/{slim.scm => display-managers.scm} | 2 +-
>  gnu/services/xorg.scm   | 2 +-
>  3 files changed, 3 insertions(+), 3 deletions(-)
>  rename gnu/packages/{slim.scm => display-managers.scm} (98%)
>
> diff --git a/gnu/local.mk b/gnu/local.mk
> index 5ec47fc..bc34e4a 100644
> --- a/gnu/local.mk
> +++ b/gnu/local.mk
> @@ -96,6 +96,7 @@ GNU_SYSTEM_MODULES =\
>%D%/packages/dictionaries.scm  \
>%D%/packages/dillo.scm \
>%D%/packages/disk.scm  \
> +  %D%/packages/display-managers.scm  \
>%D%/packages/djvu.scm  \
>%D%/packages/dns.scm   \
>%D%/packages/docbook.scm   \
> @@ -320,7 +321,6 @@ GNU_SYSTEM_MODULES =  \
>%D%/packages/skarnet.scm   \
>%D%/packages/skribilo.scm  \
>%D%/packages/slang.scm \
> -  %D%/packages/slim.scm  \
>%D%/packages/smalltalk.scm \
>%D%/packages/speech.scm\
>%D%/packages/spice.scm \
> diff --git a/gnu/packages/slim.scm b/gnu/packages/display-managers.scm
> similarity index 98%
> rename from gnu/packages/slim.scm
> rename to gnu/packages/display-managers.scm
> index 2328a1a..579b149 100644
> --- a/gnu/packages/slim.scm
> +++ b/gnu/packages/display-managers.scm
> @@ -18,7 +18,7 @@
>  ;;; You should have received a copy of the GNU General Public License
>  ;;; along with GNU Guix.  If not, see .
>  
> -(define-module (gnu packages slim)
> +(define-module (gnu packages display-managers)
>#:use-module ((guix licenses) #:prefix l:)
>#:use-module (guix packages)
>#:use-module (guix download)
> diff --git a/gnu/services/xorg.scm b/gnu/services/xorg.scm
> index 905c88f..4e311de 100644
> --- a/gnu/services/xorg.scm
> +++ b/gnu/services/xorg.scm
> @@ -26,7 +26,7 @@
>#:use-module (gnu packages guile)
>#:use-module (gnu packages xorg)
>#:use-module (gnu packages gl)
> -  #:use-module (gnu packages slim)
> +  #:use-module (gnu packages display-managers)
>#:use-module (gnu packages gnustep)
>#:use-module (gnu packages admin)
>#:use-module (gnu packages bash)
> -- 
> 2.9.3
>

I did not apply this, but it looks good to me in regards of not breaking
anything:

ng0@shadowwalker ~$ cd src/guix/guix-no-changes/
ng0@shadowwalker ~/src/guix/guix-no-changes$ egrep -nr "gnu packages slim"
gnu/packages/slim.scm:21:(define-module (gnu packages slim)
gnu/services/xorg.scm:29:  #:use-module (gnu packages slim)

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



Re: GHM debriefing

2016-08-31 Thread David Craven
> Also: someone should package gitlab for Guix ;)
> Btw: I had a short view into the local doctors/hospital IT suppliers a
> couple of years ago, and the solutions were 99% Windows based. I like
> GNU/health (http://health.gnu.org/), having this as a package and
> service could be another big selling point for Guix.

The problem there is that guix is free. Doctors don't know about technical
stuff so they hire an IT company. IT companies like windows crap because
it increases their billables without any actual work.



Re: [PATCH] gnu: slim: Move to display-managers.scm.

2016-08-31 Thread David Craven
LGTM.

Are you packaging lightdm? I started packaging lightdm before sddm.
But then I realized that it doesn't support (and probably never will)
wayland sessions. Looks to me like another we are ubuntu and we are
doing our own thing kind of project... ;-)



Re: GHM debriefing

2016-08-31 Thread ng0
Hi,

Ludovic Courtès  writes:

> [ Unknown signature status ]
> Hello!
>
> The GNU Hackers Meeting (GHM) took place last week, with ~50 people
> including 4 Guix hackers (less than at FOSDEM!).  I found myself talking
> 3 times (!) about Guix, hoping the audience would not saturate. ;-)
>
>   https://www.gnu.org/ghm/program.html
>
> Slides online, and hopefully videos will follow:
>
>   https://www.gnu.org/software/guix/help/#talks
>
> The first talk was the usual status update in which I also talked about
> challenges that we face to scale up, how we address them and what
> remains to be done.
>
> On that topic, I had an interesting discussion with Nicolas Petton of
> Emacs about patch tracking.  Nicolas explained that Gitlab (free
> software) doesn’t have some of the technical defects that GitHub has; in
> particular it can rebase instead of merging, thereby helping preserve a
> linear history, and it can be dealt with “mostly” by email.  Perhaps we
> could try running an instance and see what it’s like.

Before you came up with gitlab, I started a thread[0] to see what the
feedback would be like, and some people mentioned gitlab.
Personal experience is not so much, but I prefer it over most systems
I've used now. We use it in a non-public instance for bug-tracking and I
just started using it on gitlab.com (too lazy to setup my own) for
adding an issues/milestones/roadmap feature to the preparation from $now
to live systems shipped with $applications and NixOS/GuixSD and more.

I would very much welcome the move to (a selfhosted) gitlab (instance),
even if it would only be for better patches and bugs tracking.
The current status (email in general) is terrible, and we can only move
upwards.
The features gitlab offers look promising so far.


Also: someone should package gitlab for Guix ;)
Btw: I had a short view into the local doctors/hospital IT suppliers a
couple of years ago, and the solutions were 99% Windows based. I like
GNU/health (http://health.gnu.org/), having this as a package and
service could be another big selling point for Guix.

[0]: https://lists.gnu.org/archive/html/guix-devel/2016-08/msg00854.html
-- 
ng0
For non-prism friendly talk find me on http://www.psyced.org



Re: screenshot of the web interface to the GNU Guix package manager

2016-08-31 Thread Ricardo Wurmus

knx...@onionmail.info writes:

> On https://git.dthompson.us/guix-web.git/blob/HEAD:/README.md
>
> there is a dead link to
> http://media.dthompson.us/mgoblin_media/media_entries/20/Screenshot_from_2014-08-13_180724.png
>
> - so no visible screenshot of the web interface to the GNU Guix package
> manager here...
>
>
> Does anyone have a screenshot maybe?  Thx!

You can see a running instance of Guix web at
.

It runs a slightly modified version of Dave’s code.

~~ Ricardo



[PATCH] gnu: slim: Move to display-managers.scm.

2016-08-31 Thread Marius Bakke
Hi,

This change is to make room for SDDM and other display managers such as
lightdm.

I did not add a copyright line as I consider "git mv" a trivial
operation.

>From a7e59cb154bd11e7ca04f68753982b21bef22b10 Mon Sep 17 00:00:00 2001
From: Marius Bakke 
Date: Wed, 31 Aug 2016 14:07:15 +0100
Subject: [PATCH] gnu: slim: Move to display-managers.scm.

* gnu/packages/display-managers.scm: New file.
* gnu/packages/slim.scm: Delete file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Adjust accordingly.
* gnu/services/xorg.scm: Likewise.
---
 gnu/local.mk| 2 +-
 gnu/packages/{slim.scm => display-managers.scm} | 2 +-
 gnu/services/xorg.scm   | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)
 rename gnu/packages/{slim.scm => display-managers.scm} (98%)

diff --git a/gnu/local.mk b/gnu/local.mk
index 5ec47fc..bc34e4a 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -96,6 +96,7 @@ GNU_SYSTEM_MODULES =\
   %D%/packages/dictionaries.scm			\
   %D%/packages/dillo.scm			\
   %D%/packages/disk.scm\
+  %D%/packages/display-managers.scm		\
   %D%/packages/djvu.scm\
   %D%/packages/dns.scm\
   %D%/packages/docbook.scm			\
@@ -320,7 +321,6 @@ GNU_SYSTEM_MODULES =\
   %D%/packages/skarnet.scm			\
   %D%/packages/skribilo.scm			\
   %D%/packages/slang.scm			\
-  %D%/packages/slim.scm\
   %D%/packages/smalltalk.scm			\
   %D%/packages/speech.scm			\
   %D%/packages/spice.scm			\
diff --git a/gnu/packages/slim.scm b/gnu/packages/display-managers.scm
similarity index 98%
rename from gnu/packages/slim.scm
rename to gnu/packages/display-managers.scm
index 2328a1a..579b149 100644
--- a/gnu/packages/slim.scm
+++ b/gnu/packages/display-managers.scm
@@ -18,7 +18,7 @@
 ;;; You should have received a copy of the GNU General Public License
 ;;; along with GNU Guix.  If not, see .
 
-(define-module (gnu packages slim)
+(define-module (gnu packages display-managers)
   #:use-module ((guix licenses) #:prefix l:)
   #:use-module (guix packages)
   #:use-module (guix download)
diff --git a/gnu/services/xorg.scm b/gnu/services/xorg.scm
index 905c88f..4e311de 100644
--- a/gnu/services/xorg.scm
+++ b/gnu/services/xorg.scm
@@ -26,7 +26,7 @@
   #:use-module (gnu packages guile)
   #:use-module (gnu packages xorg)
   #:use-module (gnu packages gl)
-  #:use-module (gnu packages slim)
+  #:use-module (gnu packages display-managers)
   #:use-module (gnu packages gnustep)
   #:use-module (gnu packages admin)
   #:use-module (gnu packages bash)
-- 
2.9.3



Re: screenshot of the web interface to the GNU Guix package manager

2016-08-31 Thread Thompson, David
On Wed, Aug 31, 2016 at 9:45 AM,   wrote:
> On https://git.dthompson.us/guix-web.git/blob/HEAD:/README.md
>
> there is a dead link to
> http://media.dthompson.us/mgoblin_media/media_entries/20/Screenshot_from_2014-08-13_180724.png

Sorry about that, my MediaGoblin server is down at the moment.

Do note that guix-web was a prototype that I haven't touched in quite
some time.  It doesn't do much beyond allowing you to search the
available packages.

- Dave



screenshot of the web interface to the GNU Guix package manager

2016-08-31 Thread knxrby
On https://git.dthompson.us/guix-web.git/blob/HEAD:/README.md

there is a dead link to
http://media.dthompson.us/mgoblin_media/media_entries/20/Screenshot_from_2014-08-13_180724.png

- so no visible screenshot of the web interface to the GNU Guix package
manager here...


Does anyone have a screenshot maybe?  Thx!




Re: [PATCH] gnu: Add gzstream.

2016-08-31 Thread Marius Bakke
Eric Bavier  writes:

> Thanks for the patch!  Comments below:
>
> On Tue, 30 Aug 2016 19:17:14 +0100
> Marius Bakke  wrote:
>
>> From 5e96b895c1ed77a6bfdcbe5c6dbd68220fd5a8dc Mon Sep 17 00:00:00 2001
>> From: Marius Bakke 
>> Date: Fri, 12 Aug 2016 02:29:51 +0100
>> Subject: [PATCH 1/1] gnu: Add gzstream.
>> 
>> * gnu/packages/compression.scm (gzstream): New variable.
>> ---
>> [...]
>> +(source (origin
>> +  (method url-fetch)
>> +  (uri
>> +   ;; No versioned URL, but last release was in 2003.
>> +   
>> "http://www.cs.unc.edu/Research/compgeom/gzstream/gzstream.tgz;)
>> +  (file-name (string-append name "-" version ".tar.gz"))
>> +  (sha256
>> +   (base32
>> +"00y19pqjsdj5zcrx4p9j56pl73vayfwnb7y2hvp423nx0cwv5b4r"
>
> There's a gzstream.o file in the tarball.  Could you remove it an origin
> snippet?
>
>> [...]
>> +(home-page "http://www.cs.unc.edu/Research/compgeom/gzstream/;)
>> +(synopsis "C++ library that provides the functionality of zlib in a C++ 
>> iostream")
>
> Maybe: "Compressed C++ iostream"
>
>> +(description "gzstream is a small library for providing zlib 
>> functionality in a C++
>> +iostream.  It is basically just a wrapper.")
>
> The second sentence may be left off, IMO.
>
>> +(license license:lgpl2.1)))
> ^
> This should be lgpl2.1+ because of the "or later" in the file headers.
>
> Could you send an updated patch?

Hi Eric,

Thanks for the quick feedback! Correct on all accounts.

Updated patch below.

>From a8aae7f44289c75f67f2bea1046206f79acbdbdb Mon Sep 17 00:00:00 2001
From: Marius Bakke 
Date: Fri, 12 Aug 2016 02:29:51 +0100
Subject: [PATCH] gnu: Add gzstream.

* gnu/packages/compression.scm (gzstream): New variable.
---
 gnu/packages/compression.scm | 39 +++
 1 file changed, 39 insertions(+)

diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm
index c239d16..3f60c5b 100644
--- a/gnu/packages/compression.scm
+++ b/gnu/packages/compression.scm
@@ -12,6 +12,7 @@
 ;;; Copyright © 2016 Danny Milosavljevic 
 ;;; Copyright © 2016 Tobias Geerinckx-Rice 
 ;;; Copyright © 2016 David Craven 
+;;; Copyright © 2016 Marius Bakke 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -895,3 +896,41 @@ compared to the fastest mode of zlib, Snappy is an order of magnitude faster
 for most inputs, but the resulting compressed files are anywhere from 20% to
 100% bigger.")
 (license license:asl2.0)))
+
+(define-public gzstream
+  (package
+(name "gzstream")
+(version "1.5")
+(source (origin
+  (method url-fetch)
+  (uri
+   ;; No versioned URL, but last release was in 2003.
+   "http://www.cs.unc.edu/Research/compgeom/gzstream/gzstream.tgz;)
+  (file-name (string-append name "-" version ".tar.gz"))
+  (sha256
+   (base32
+"00y19pqjsdj5zcrx4p9j56pl73vayfwnb7y2hvp423nx0cwv5b4r"))
+  (modules '((guix build utils)))
+  (snippet
+   ;; Remove pre-compiled object.
+   '(delete-file "gzstream.o"
+(build-system gnu-build-system)
+(arguments
+ `(#:test-target "test"
+   #:phases
+   (modify-phases %standard-phases
+ (delete 'configure)
+ (replace 'install
+   (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+(lib (string-append out "/lib"))
+(include (string-append out "/include")))
+   (install-file "libgzstream.a" lib)
+   (install-file "gzstream.h" include)
+   #t))
+(propagated-inputs `(("zlib" ,zlib)))
+(home-page "http://www.cs.unc.edu/Research/compgeom/gzstream/;)
+(synopsis "Compressed C++ iostream")
+(description "gzstream is a small library for providing zlib
+functionality in a C++ iostream.")
+(license license:lgpl2.1+)))
-- 
2.9.3



Re: Store on separate partition

2016-08-31 Thread Carlos Sánchez de La Lama
>>> I am trying to move the store to a separate partition, but this is
>>> problematic as you need the store at boot time for the system
>>> utilities (and to mount partitions, actually).
>>>
>> I tried to do it recently but failed.  My understanding is that it's
>> impossible, but I may be wrong.
>
> It would be interesting to fix it.  In theory there’s no reason why it
> shouldn’t work (you need to mark the /gnu/store file system as
> ‘needed-for-boot?’.)
>
> If you or Carlos could try it and report details to bug-g...@gnu.org, we
> could start from there.

I got it more-or-less working. What I did is a plain 0.11 install, but
before the "herd start cow-store /mnt" step I had prepared the target
filesystems so I had:

/dev/sda1 mount as /mnt
/dev/sdb1 mounted as /mnt/gnu

To make the store go into /dev/sdb1

My system definition included:

--8<---cut here---start->8---
  (file-systems (cons* (file-system
 (device "my-root")
 (title 'label)
 (mount-point "/")
 (type "ext4"))
   (file-system
 (device "/dev/sdb1")
 (mount-point "/gnu")
 (type "ext4")
 (needed-for-boot? #t))
   %base-file-systems))
--8<---cut here---end--->8---

When rebooting the installed system, I have to edit GRUB command line
(pressing 'e'), which was:

--8<---cut here---start->8---
  search --file --set 
/gnu/store/2qh58nr4sxc5jwv2ng9sqq06niab8sjp-linux-libre-4.7/bzImage
  linux /gnu/store/2qh58nr4sxc5jwv2ng9sqq06niab8sjp-linux-libre-4.7/bzImage 
--root=my-root --system=/gnu/store/4ji3d5v5ci91l69fgi4hdi73kc558whp-system 
--load=/gnu/store/4ji3d5v5ci91l69fgi4hdi73kc558whp-system/boot
  initrd /gnu/store/4ji3d5v5ci91l69fgi4hdi73kc558whp-system/initrd
--8<---cut here---end--->8---

By:

1) removing "/gnu" from search command, so GRUB root (not kernel root)
   is correctly set as (hd1,msdos1), i.e. /dev/sdb1
2) removing "/gnu" from linux command, so the kernel is correctly loaded
   by GRUB (/gnu is not removed from --system or --load, as those
   commands are interpreted by gnu/build/linux-boot.scm after all
   needed-for-boot filesystems have been mounted in their correct mount
   points).
3) changing initrd path. Removing "/gnu" is not enough, as the path in
   grub.cfg is a symlink to the real initrd, pointing into /gnu/store
   which is not available at initrd-loading time. So I placed the
   synlink destination there, removing "/gnu", so:

initrd /store/-base-initrd/initrd

And voilá, I can boot into my newly installed GuixSD with /gnu/store in
a separate partition.

Some other files (modules, background image) fail to be accesses by GRUB
as well with generated grub.cfg, but those are not essential to make the
system boot, in my system at least.

BR

Carlos



Re: [PATCH 3/7] import cran: description->package: Also return package dependencies.

2016-08-31 Thread Ricardo Wurmus

Ludovic Courtès  writes:

> Ricardo Wurmus  skribis:
>
>> Ricardo Wurmus  writes:
>>
>>> Ludovic Courtès  writes:
>>>
 Ricardo Wurmus  skribis:

> * guix/import/cran.scm (description->package): Return package
>   dependencies in addition to generated package expression.

 What would you think of making it return a SRFI-41 stream of packages
 instead?  Or maybe two values: the package asked for, and the stream
 containing its dependencies.  That would hide the package lookup
 machinery.
>>>
>>> That’s a very good idea!  I’ll play around with this and submit a new
>>> patch.
>>
>> I’ve been playing with this for a while and although it looks prettier
>> to a user it has some disadvantages to use streams here.  The first is
>> that it becomes more difficult to avoid duplicate work.  The second is
>> that we can no longer easily generate an order of package expressions
>> from leaf nodes to the root.
>>
>> Consider this case where “plotly” should be imported.  The new inputs
>> look like this:
>>
>>  plotly  : (ggplot2 digest)
>>  ggplot2 : (digest mass)
>>  digest  : ()
>>  mass: ()
>>
>> The generated stream may look like this:
>>
>>   (plotly ggplot2 digest mass digest)
>>
>> This happens because we only know about the next set of inputs upon
>> evaluation of the stream elements.  Of course there are ways to fix
>> this, but they involve extending or wrapping “cran->guix-package” to
>> make sure that we keep track of top-level dependencies as we traverse
>> the list of dependencies recursively.
>>
>> Maybe I’m doing this wrong?
>>
>>
>> I rewrote description->package to essentially do this:
>>
>> (stream-cons the-package-expression
>>  (stream-concat
>>   (let ((unpackaged (unpackaged-dependencies
>>  propagate guix-name)))
>> (stream-map (cran->guix-package name repository)
>> (list->stream unpackaged)
>>
>> I.e. the first element of the stream is the imported package expression;
>> the tail is a concatenation of streams of packages with their
>> dependencies just like this one.  Here’s the stream before
>> concatenation:
>>
>>   (plotly (ggplot2 (digest ()) (mass ()))
>>   (digest ()))
>>
>> To render this in the correct order we’d have to turn this tree inside
>> out.  Maybe this isn’t so well-suited to a representation as a stream
>> after all.  To turn it inside out we have to evaluate the whole tree
>> anyway.
>>
>> What do you think?  Is it worth expressing this as a stream?  If so, do
>> you have any recommendations on how to approach this?
>>
>> Or would it be okay to let “description->package” return two values: a
>> package expression and a list of unpackaged package names, which can
>> then be processed by a separate procedure?  (That’s what I submitted
>> earlier.)
>
> I think you should go ahead with what you proposed if the other option
> sounds like a headache.  Sorry for blocking you for this long!

No problem.  I would really like to use streams, so it’s worth the
wait.  Can’t avoid the headache :)

> In theory it would be possible to do something like:
>
>   (define (description->package repo meta)
> (stream-cons `(package …)
>  (stream-unfold (lambda (state)
>   (description->package
>repo
>(first-dependency state)))
> (lambda (state)
>   (done? state))
> (lambda (state)
>   (next-dependency state))
> (make-state propagate (setq)
>
> … where the state is roughly a pair containing the list of next
> dependencies and the set of already visited dependencies (to avoid
> duplicates).

That’s a good hint.  “stream-unfold” makes my head spin, to be honest.

> But again, this is probably easier said than done, so no problem with
> keeping the initial option.

I’ll read the documentation for “stream-unfold” again and try once more.
If I really cannot make it I’ll go ahead with the initial
implementation and submit a new patch set.

~~ Ricardo



Re: Guix world tour

2016-08-31 Thread Ricardo Wurmus

Ludovic Courtès  writes:

> I had the pleasant surprise to be invited to give a talk about Guix at
> the Scheme Workshop in September in Japan:
>
>   http://scheme2016.snow-fort.org/
>
> While I was at it, I submitted another talk to the Commercial(!) Users
> of Functional Programming conference, which was accepted:
>
>   http://cufp.org/2016/
>
> Both conferences are co-located with the International Conference on
> Functional Programming (ICFP):
>
>   http://conf.researchr.org/home/icfp-2016
>
> This is both exciting and intimidating!

Woo!  Nice!

> PS: If you’re giving a talk, workshop or something around Guix, feel
> free to email this list too.  :-)

I’m giving a talk about Guix at the “German Bioinformatics Core Unit
Workshop 2016” in Berlin on September 12.  It’s a satellite event of the
GCB2016 (German Conference on Bioinformatics).

The title of the talk is

Reproducible and User-Controlled Package Management in HPC with GNU Guix

Here’s the schedule:

http://www.gbcuw.de/program/

~~ Ricardo



Re: [PATCH] gnu: Add mtd-utils.

2016-08-31 Thread Alex Kost
Danny Milosavljevic (2016-08-30 11:39 +0300) wrote:

> On Tue, 30 Aug 2016 11:08:17 +0300
> Alex Kost  wrote:
>
>> It would be good if you write a comment before licenses, like what files
>> have what licenses.  Also is it really 'gpl2'?  If the license says "or
>> any later version", it should be 'gpl2+'.
>
> They are:
>
> ./compr.c: "  * JFFS2 -- Journalling Flash File System, Version 2.  *  * 
> Copyright  ( C )  2004 Ferenc Havasi ,  * 
>University of Szeged, Hungary  *  * For licensing information, see the 
> file 'LICENCE' in this directory  * in the jffs2 directory.  "
> ./compr.h: "  * JFFS2 -- Journalling Flash File System, Version 2.  *  * 
> Copyright  ( C )  2004 Ferenc Havasi ,  * 
>University of Szeged, Hungary  *  * For licensing information, see the 
> file 'LICENCE' in the  * jffs2 directory.  "
> ./compr_rtime.c: '  * JFFS2 -- Journalling Flash File System, Version 2.  *  
> * Copyright  ( C )  2001-2003 Red Hat, Inc.  *  * Created by Arjan van de Ven 
>   *  * For licensing information, see the file \'LICENCE\' 
> in this directory.  *  '
> ./flashcp.c: '  * Copyright  ( c )  2d3D, Inc.  * Written by Abraham vd Merwe 
>   * All rights reserved.  *  * Renamed to flashcp.c to 
> avoid conflicts with fcp from fsh package  *  * Redistribution and use in 
> source and binary forms, with or without  * modification, are permitted 
> provided that the following conditions  * are met:  * 1. Redistributions of 
> source code must retain the above copyright  *\t  notice, this list of 
> conditions and the following disclaimer.  * 2. Redistributions in binary form 
> must reproduce the above copyright  *\t  notice, this list of conditions and 
> the following disclaimer in the  *\t  documentation and/or other materials 
> provided with the distribution.  * 3. Neither the name of the author nor the 
> names of other contributors  *\t  may be used t
>  o endorse or promote products derived from this software  *\t  without 
> specific prior written permission.  *  * THIS SOFTWARE IS PROVIDED BY THE 
> COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"  * AND ANY
>   EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,  * THE 
> IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE  * 
> ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE  * 
> FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL  * 
> DAMAGES  ( INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR  
> * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION )  
> HOWEVER  * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 
> LIABILITY,  * OR TORT  ( INCLUDING NEGLIGENCE OR OTHERWISE )  ARISING IN ANY 
> WAY OUT OF THE USE  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 
> SUCH DAMAGE.  '
> ./ftl_check.c: ' Ported to MTD system.  * Based on:  
> ==
> Utility to create an FTL partition in a memory regionftl_check.c 1.10 
> 1999/10/25 20:01:35The contents of this file are subject to the Mozilla 
> Public   License Version 1.1  ( the "License" ) ; you may not use this file   
> except in compliance with the License. You may obtain a copy of   the License 
> at http://www.mozilla.org/MPL/Software distributed under the License is 
> distributed on an "AS   IS" basis, WITHOUT WARRANTY OF ANY KIND, either 
> express or   implied. See the License for the specific language governing   
> rights and limitations under the License.The initial developer of the 
> original code is David A. Hinds   .  P
>  ortions created by David A. Hinds   are Copyright  ( C )  1999 David A. 
> Hinds.  All Rights Reserved.Alternatively, the contents of this file may 
> be used under the   terms of the GNU Public Licen
>  se version 2  ( the "GPL" ) , in which   case the provisions of the GPL are 
> applicable instead of the   above.  If you wish to allow the use of your 
> version of this file   only under the terms of the GPL and not to allow 
> others to use   your version of this file under the MPL, indicate your 
> decision   by deleting the provisions above and replace them with the notice  
>  and other provisions required by the GPL.  If you do not delete   the 
> provisions above, a recipient may use your version of this   file under 
> either the MPL or the GPL.
> =='
> ./ftl_format.c: ' Ported to MTD system.  * Based on:  
> ==
> Utility to create an FTL partition in a memory regionftl_format.c 1.13 
> 1999/10/25 20:01:35The contents of this file are subject to the Mozilla 
> Public   License Version 1.1  ( the "License" ) ; 

Re: [PATCH] gnu: awesome: Shorten the description.

2016-08-31 Thread Alex Kost
ng0 (2016-08-21 00:02 +0300) wrote:

> awesome has 11 or 12 lines description where the same problem applies
> dwm had.  Please do not try to explain the concepts of twm etc in the
> description, this can be done by visiting (home-page) or other sources.
>
> From 26b9e2e6e4d61928d9067540f7785a2aa595ef33 Mon Sep 17 00:00:00 2001
> From: ng0 
> Date: Sat, 20 Aug 2016 20:56:46 +
> Subject: [PATCH] gnu: awesome: Shorten the description.

I agree, so if the others don't object, I'm going to commit it.

-- 
Alex



Re: [PATCH] gnu: Add emacs-auto-complete

2016-08-31 Thread Alex Kost
ng0 (2016-08-29 15:32 +0300) wrote:

> From 14ad2ea653e3b4a2a0feed98728db4f7b1eea104 Mon Sep 17 00:00:00 2001
> From: ng0 
> Date: Mon, 29 Aug 2016 00:16:52 +
> Subject: [PATCH 4/4] gnu: Add emacs-auto-complete.

Applied as 840224a, thanks!

-- 
Alex



Re: [PATCH] gnu: Add emacs-cyberpunk-theme

2016-08-31 Thread Alex Kost
ng0 (2016-08-29 15:33 +0300) wrote:

> From b340dd80d1e072a1eda40ae195a29b863836c401 Mon Sep 17 00:00:00 2001
> From: ng0 
> Date: Sun, 28 Aug 2016 23:46:57 +
> Subject: [PATCH 3/4] gnu: Add emacs-cyberpunk-theme.

Applied as 9657aba, thanks!

-- 
Alex



Re: [PATCH] gnu: Add emacs-flx.

2016-08-31 Thread Alex Kost
ng0 (2016-08-29 15:34 +0300) wrote:

> From ec5296693f6e8e9287fc32099c8a2fc8038fc204 Mon Sep 17 00:00:00 2001
> From: ng0 
> Date: Sun, 28 Aug 2016 23:25:53 +
> Subject: [PATCH 1/4] gnu: Add emacs-flx.

Applied as 41392b9, thanks!

-- 
Alex



Re: [PATCH]: Add bambam

2016-08-31 Thread Alex Kost
Only a couple of small things :-)

[...]
> +(define-public bambam
> +  (package
> +(name "bambam")
> +(version "0.5")
> +(source
> +  (origin
> +(method url-fetch)
> +(uri (string-append "https://github.com/porridge/bambam/archive/;
> +version ".tar.gz"))
> +(file-name (string-append name "-" version ".tar.gz"))
> +(sha256
> + (base32
> +  "10w110mjdwbvddzihh9rganvvjr5jfiz8cs9n7w12zndwwcc3ria"
> +(build-system python-build-system)
> +(arguments
> + `(#:python ,python-2
> +   #:tests? #f ; no tests
> +   #:phases
> +   (modify-phases %standard-phases
> + (delete 'build)
> + (add-before 'install 'patch-data-dir-location
> +   (lambda _
> + (substitute* "bambam.py"
> +  (("'data'")
> +   "'../share/bambam/data'"))

This is an unusual indentation, I would write:

 (substitute* "bambam.py"
   (("'data'") "'../share/bambam/data'"))


> + #t))
> + (replace 'install
> +   (lambda* (#:key outputs #:allow-other-keys)
> + (let* ((out   (assoc-ref outputs "out"))
> +(bin   (string-append out "/bin"))
> +(share (string-append out "/share")))
> +   (mkdir-p bin)
> +   (copy-file "bambam.py" (string-append bin "/bambam"))
> +   (install-file "bambam.6" (string-append share "/man/man6"))
> +   (copy-recursively "data" (string-append share 
> "/bambam/data")))
> + #t))
> + (add-after 'install 'wrap-binary
> +   (lambda* (#:key outputs #:allow-other-keys)
> + (let* ((out (assoc-ref outputs "out"))
> +(bin (string-append out "/bin/bambam")))
> +   (wrap-program bin
> + `("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH")
> + #t)
> +(inputs
> + `(("python-pygame" ,python-pygame)))
> +(home-page "https://github.com/porridge/bambam;)
> +(synopsis "keyboard mashing and doodling game for babies")
  Keyboard
"guix lint" reported it should begin with an upper-case letter.

> +(description "Bambam is a simple baby keyboard (and gamepad) masher
> +application that locks the keyboard and mouse and instead displays bright
> +colors, pictures, and sounds.")
> +(license license:gpl3+)))

-- 
Alex



Re: [PATCH]: Add bambam

2016-08-31 Thread Alex Kost
Efraim Flashner (2016-08-30 23:43 +0300) wrote:

> Keyboard mashing game that both of my kids love.

Wow, this is really nice game, thanks!

-- 
Alex



Re: [PATCH 3/3] gnu: Add gnuastro

2016-08-31 Thread Alex Kost
John Darrington (2016-08-30 22:21 +0300) wrote:

> * gnu/packages/astronomy.scm (gnuastro): New variable.
> ---
>  gnu/packages/astronomy.scm | 28 +++-
>  1 file changed, 27 insertions(+), 1 deletion(-)
>
>
> diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm
> index 53e86c8..24c6d79 100644
> --- a/gnu/packages/astronomy.scm
> +++ b/gnu/packages/astronomy.scm
> @@ -18,8 +18,10 @@
>  
>  (define-module (gnu packages astronomy)
>#:use-module (guix packages)
> -  #:use-module (guix licenses)
> +  #:use-module ((guix licenses) #:prefix license:)
>#:use-module (guix download)
> +  #:use-module (gnu packages image)
> +  #:use-module (gnu packages maths)
>#:use-module (guix build-system gnu))
>  
>  (define-public cfitsio
> @@ -78,3 +80,27 @@ in FITS files.")
>  keywords and usage that provide for the description of astronomical 
> coordinate
>  systems in a FITS image header.")  
>  (license license:lgpl3+)))
> +
> +(define-public gnuastro
> +  (package
> +(name "gnuastro")
> +(version "0.1")
> +(source
> + (origin
> +   (method url-fetch)
> +  (uri (string-append "mirror://gnu/gnuastro/gnuastro-"
> +  version ".tar.gz"))
 ^^
Please shift this (uri ...) one character to the right.

> +   (sha256
> +(base32
> + "105s007kw8l3jwwhvh8k9lgbpfbf7sqh2wpxmvpv3qdr6nh9lnjg"
> +(inputs
> + `(("cfitsio" ,cfitsio)
> +   ("gsl" ,gsl)
> +   ("libjpeg" ,libjpeg-8)
> +   ("wcslib" ,wcslib)))
> +(build-system gnu-build-system)
> +(home-page "http://www.gnu.org/software/gnuastro;)
> +(synopsis "Astronomical data manipulation programs")
> +(description "The GNU Astronomy Utilities (Gnuastro) is a suite of
> +programs for the manipulation and analysis of astronomical data.")
> +(license license:gpl3+)))

-- 
Alex



Re: [PATCH 1/3] gnu: Add cfitsio

2016-08-31 Thread Alex Kost
John Darrington (2016-08-30 22:21 +0300) wrote:

> * gnu/packages/astronomy.scm: New file.
> * gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
> ---
>  gnu/local.mk   |  1 +
>  gnu/packages/astronomy.scm | 53 
> ++
>  2 files changed, 54 insertions(+)
>  create mode 100644 gnu/packages/astronomy.scm
>
>
> diff --git a/gnu/local.mk b/gnu/local.mk
> index d75ab54..26c4151 100644
> --- a/gnu/local.mk
> +++ b/gnu/local.mk
> @@ -42,6 +42,7 @@ GNU_SYSTEM_MODULES =\
>%D%/packages/apr.scm   \
>%D%/packages/aspell.scm\
>%D%/packages/assembly.scm  \
> +  %D%/packages/astronomy.scm \
>%D%/packages/attr.scm  \
>%D%/packages/audacity.scm  \
>%D%/packages/audio.scm \
> diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm
> new file mode 100644
> index 000..881e549
> --- /dev/null
> +++ b/gnu/packages/astronomy.scm
> @@ -0,0 +1,53 @@
> +;;; GNU Guix --- Functional package management for GNU
> +;;; Copyright © 2016 John Darrington 
> +;;;
> +;;; 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 astronomy)
> +  #:use-module (guix packages)
> +  #:use-module (guix licenses)
> +  #:use-module (guix download)
> +  #:use-module (guix build-system gnu))
> +
> +(define-public cfitsio
> +  (package
> +(name "cfitsio")
> +(version "3390")
> +(source
> + (origin
> +   (method url-fetch)
> +   (uri (string-append
> +"http://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c/; name version
> +".tar.gz")) 
  ^
Please indent the above lines properly and remove the trailing space, I
would write it like this:

  (uri (string-append
"http://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c/;
name version ".tar.gz"))


> +   (sha256
> +(base32 "02gllydm63irwbqqisa3mrskw1fphm5rlplglz3mq9whi3rxilv2"
> +(build-system gnu-build-system)
> +(arguments
> + `(#:tests? #f ; no tests
> +   #:phases
> +   (modify-phases %standard-phases
> + (add-after 'unpack 'replace-slash-bin
> +   (lambda _
> + (substitute* "Makefile.in" (("/bin/") "")))

Please add #t in the end of this phase.

> +(home-page "http://heasarc.gsfc.nasa.gov/fitsio/fitsio.html;)
> +(synopsis "Library for reading and writing FITS files")
> +(description "CFITSIO provides simple high-level routines for reading and
> +writing FITS (Flexible Image Transport System) files that insulate the
> +programmer from the internal complexities of the FITS format. CFITSIO also
> +provides many advanced features for manipulating and filtering the 
> information
> +in FITS files.")
> +(license (license:non-copyleft "file://License.txt"
> +  "See License.txt in the distribution."
 ^
Indentation here

-- 
Alex



Re: [PATCH 2/3] gnu: Add wcslib

2016-08-31 Thread Alex Kost
John Darrington (2016-08-30 22:21 +0300) wrote:

> * gnu/packages/astronomy.scm (wcslib): New variable.
> ---
>  gnu/packages/astronomy.scm | 27 +++
>  1 file changed, 27 insertions(+)
>
>
> diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm
> index 881e549..53e86c8 100644
> --- a/gnu/packages/astronomy.scm
> +++ b/gnu/packages/astronomy.scm
> @@ -51,3 +51,30 @@ provides many advanced features for manipulating and 
> filtering the information
>  in FITS files.")
>  (license (license:non-copyleft "file://License.txt"
>"See License.txt in the distribution."
> +
> +(define-public wcslib
> +  (package
> +(name "wcslib")
> +(version "5.15")
> +(source
> + (origin
> +   (method url-fetch)
> +   (uri (string-append
> + "ftp://ftp.atnf.csiro.au/pub/software/wcslib/; name "-" version 
> ".tar.bz2"))

As for me, this line is too long, I would write:

  (uri (string-append
"ftp://ftp.atnf.csiro.au/pub/software/wcslib/;
name "-" version ".tar.bz2"))

> +   (sha256
> +(base32 "1s2nig327g4bimd9xshlk11ww09a7mrjmsbpdcd8smsmn2kl1glb"
> +(inputs
> + `(("cfitsio" ,cfitsio)))
> +(build-system gnu-build-system)
> +(arguments
> + `(#:phases (modify-phases %standard-phases
> +  (add-before 'configure 'patch-/bin/sh
> +(lambda _
> +  (substitute* "makedefs.in"
> +(("/bin/sh") "sh")))

This phase should end with #t.

> +(home-page "http://www.atnf.csiro.au/people/mcalabre/WCS;)
> +(synopsis "An implementation of the FITS WCS standard")

I think we don't begin synopses with articles ("guix lint" should report
about it).

> +(description "The FITS \"World Coordinate System\" (WCS) standard defines
> +keywords and usage that provide for the description of astronomical 
> coordinate
> +systems in a FITS image header.")  
^^
Please remove trailing spaces

> +(license license:lgpl3+)))

-- 
Alex