[PATCH 0/2] Add tilda

2015-11-10 Thread Efraim Flashner
Tilda is a dropdown terminal that is fairly low on resources. I started this one
a while ago but didn't realize that it needed an earlier version of vte, but
I've finally figured that out today. I don't think I've gotten the commit
message correct for vte.

Efraim Flashner (2):
  gnu: vte: Provide 0.36.5.
  gnu: Add tilda.

 gnu-system.am  |  1 +
 gnu/packages/gnome.scm | 18 
 gnu/packages/terminals.scm | 70 ++
 3 files changed, 89 insertions(+)
 create mode 100644 gnu/packages/terminals.scm

-- 
2.6.2




[PATCH 1/2] gnu: vte: Provide 0.36.5.

2015-11-10 Thread Efraim Flashner
* gnu/packages/gnome.scm (vte): Add version 0.36.5.
---
 gnu/packages/gnome.scm | 18 ++
 1 file changed, 18 insertions(+)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 387f9ef..b48ce57 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -11,6 +11,7 @@
 ;;; Copyright © 2015 Ricardo Wurmus 
 ;;; Copyright © 2015 Mark H Weaver 
 ;;; Copyright © 2015 David Thompson 
+;;; Copyright © 2015 Efraim Flashner 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -1701,6 +1702,23 @@ gnome-terminal, but can also be used to embed a 
console/terminal in games,
 editors, IDEs, etc.")
 (license license:lgpl2.1+)))
 
+;; provides vte 2.90, required for some terminal emulators
+(define-public vte-0.36
+  (package (inherit vte)
+(name "vte")
+(version "0.36.5")
+(source (origin
+  (method url-fetch)
+  (uri (string-append "mirror://gnome/sources/" name "/"
+  (version-major+minor version) "/"
+  name "-" version ".tar.xz"))
+  (sha256
+   (base32
+"1psfnqsmxx4qzc55qwvb8jai824ix4pqcdqhgxk0g2zh82bcxhn2"
+(propagated-inputs
+ `(("gtk" ,gtk+)
+   ("ncurses" ,ncurses)
+
 ;; stable version for gtk2, required by xfce4-terminal.
 (define-public vte/gtk+-2
   (package (inherit vte)
-- 
2.6.2




[PATCH 2/2] gnu: Add tilda.

2015-11-10 Thread Efraim Flashner
* gnu/packages/terminals.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
---
 gnu-system.am  |  1 +
 gnu/packages/terminals.scm | 70 ++
 2 files changed, 71 insertions(+)
 create mode 100644 gnu/packages/terminals.scm

diff --git a/gnu-system.am b/gnu-system.am
index f3ded69..430c740 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -299,6 +299,7 @@ GNU_SYSTEM_MODULES =\
   gnu/packages/tcl.scm \
   gnu/packages/tcsh.scm\
   gnu/packages/telephony.scm   \
+  gnu/packages/terminals.scm   \
   gnu/packages/texinfo.scm \
   gnu/packages/texlive.scm \
   gnu/packages/textutils.scm   \
diff --git a/gnu/packages/terminals.scm b/gnu/packages/terminals.scm
new file mode 100644
index 000..a45a2be
--- /dev/null
+++ b/gnu/packages/terminals.scm
@@ -0,0 +1,70 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2015 Efraim Flashner 
+;;;
+;;; 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 terminals)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix build utils)
+  #:use-module (guix build-system gnu)
+  #:use-module (guix download)
+  #:use-module (guix packages)
+  #:use-module (gnu packages autotools)
+  #:use-module (gnu packages gettext)
+  #:use-module (gnu packages glib)
+  #:use-module (gnu packages gnome)
+  #:use-module (gnu packages gtk)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages wm)
+  #:use-module (gnu packages zip))
+
+(define-public tilda
+  (package
+(name "tilda")
+(version "1.2.4")
+(source (origin
+  (method url-fetch)
+  (uri (string-append "https://github.com/lanoxx/tilda/archive/";
+  "tilda-" version ".zip"))
+  (sha256
+   (base32
+"06r7q0b1xjclagsnw0ilxhw5az5ddly2f7xc1lcwlrf337x0jrar"
+(build-system gnu-build-system)
+(arguments
+ `(#:phases (modify-phases %standard-phases
+ (add-after 'patch-source-shebangs 'autogen
+  (lambda _   ; tries to run ./configure
+   (substitute* "autogen.sh" (("^.*\\$srcdir/configure.*") ""))
+   (zero? (system* "sh" "autogen.sh")))
+(native-inputs
+ `(("autoconf" ,autoconf)
+   ("automake" ,automake)
+   ("gettext" ,gnu-gettext)
+   ("pkg-config" ,pkg-config)
+   ("unzip" ,unzip)))
+(inputs
+ `(("glib" ,glib "bin")
+   ("gtk+" ,gtk+)
+   ("libconfuse" ,libconfuse)
+   ("vte" ,vte-0.36))) ; try in 1.3 to use vte-0.38 or higher
+(synopsis "Gtk based drop down terminal")
+(description "Tilda is a terminal emulator similar to normal terminals like
+gnome-terminal (GNOME) or Konsole (KDE), with the difference that it drops down
+from the edge of a screen when a certain configurable hotkey is pressed.  This
+is similar to the build-in consoles in games such as Quake or Half-life.  Tilda
+is highly configureable through a graphical wizard.")
+(home-page "https://github.com/lanoxx/tilda";)
+(license license:gpl2+)))
-- 
2.6.2




Re: [PATCH] website: Add support for Haunt.

2015-11-10 Thread Alex Vong
Hi,

Thanks for making this! I think miss this announcement last week.

However, there is a little problem. When I run "haunt build -c guixsd.scm",

I get the following:

alexvong1995@debian:~/guix-artwork/website$ haunt build -c guixsd.scm
Backtrace:
In ice-9/boot-9.scm:
1724: 19 [%start-stack load-stack ...]
1729: 18 [#]
In unknown file:
   ?: 17 [primitive-load "/home/alexvong1995/.guix-profile/bin/haunt"]
In ice-9/eval.scm:
 481: 16 [lp (#) (build)]
 411: 15 [eval # #]
 411: 14 [eval # #]
In ice-9/boot-9.scm:
2401: 13 [save-module-excursion #]
4050: 12 [#]
1724: 11 [%start-stack load-stack ...]
1729: 10 [#]
In unknown file:
   ?: 9 [primitive-load "/home/alexvong1995/guix-artwork/website/guixsd.scm"]
In ice-9/eval.scm:
 505: 8 [#
(use-modules # # # ...)]
In ice-9/psyntax.scm:
1106: 7 [expand-top-sequence ((use-modules (haunt site) (haunt reader)
...)) () ...]
 989: 6 [scan ((use-modules (haunt site) (haunt reader) ...)) () ...]
 279: 5 [scan ((# #) #(syntax-object *unspecified* # #)) () (()) ...]
In ice-9/boot-9.scm:
3597: 4 [process-use-modules (((haunt site)) ((haunt reader)) ((haunt
page)) ...)]
 700: 3 [map # #]
3598: 2 [# ((www))]
2867: 1 [resolve-interface (www) #:select ...]
In unknown file:
   ?: 0 [scm-error misc-error #f "~A ~S" ("no code for module" (www)) #f]

ERROR: In procedure scm-error:
ERROR: no code for module (www)

Is that because I have some wrong set-up?

This is on the tail of the .bashrc:

export GUIX_LOCPATH=$HOME/.guix-profile/lib/locale
export LC_ALL=zh_TW.UTF-8
GUIX_PROFILE="$HOME/.guix-profile" \
source "$HOME/.guix-profile/etc/profile"

This are my installed packages:

Generation 12   11月 10 2015 19:41:30(current)
  glibc-locales 2.22out 
/gnu/store/kiwkawskr79bhvzpm7vcgbj2423jng33-glibc-locales-2.22
  fontconfig2.11.94 out 
/gnu/store/nvv5jb11x8pzbsx0y9rhwvaz7kd7j8pi-fontconfig-2.11.94
  gs-fonts  8.11out 
/gnu/store/d0ifp68l2sjnnjx5ajc1fsc6r6wp3afy-gs-fonts-8.11
  font-dejavu   2.34out 
/gnu/store/ll8n6d8vbkx63c1dg01l2m0r77jfak9b-font-dejavu-2.34
  font-gnu-freefont-ttf 20100919out 
/gnu/store/8cfhaywjkjs6yv3adzlxcwwx776pxryc-font-gnu-freefont-ttf-20100919
  youtube-dl2015.11.01  out 
/gnu/store/l3mxjdiawvjb8x24sidihz9zqj3k5n5m-youtube-dl-2015.11.01
  emacs 24.5out /gnu/store/3ljzggifgiy9jd4bjqd0dy0fq1s0ddks-emacs-24.5
  geiser0.8.1   out 
/gnu/store/y9dxdh394q4acmfa7xxwavzmzbqz6k6s-geiser-0.8.1
  paredit   23  out 
/gnu/store/8vrkvkfj0yas370xd1d65hqgz0ra5cy0-paredit-23
  git   2.5.0   out /gnu/store/cyvr3gk9whniixxhc1jgmjncx9981vb7-git-2.5.0
  magit 2.3.0   out /gnu/store/ip6c3hs3h26qzjjfspykgc4injhj73mq-magit-2.3.0
  icecat38.3.0-gnu1 out 
/gnu/store/1rsr5a1gl50a1lvp6cg7102g6mjl68i0-icecat-38.3.0-gnu1
  coreutils 8.24out 
/gnu/store/q6b4jg9nhsxb6kvn87nzr2w6f2vi1gx3-coreutils-8.24
  glibc 2.22out /gnu/store/n96gwg9fwmxmz1bhy219v3vvmsjsk7gz-glibc-2.22
  binutils  2.25.1  out 
/gnu/store/lq595bjrgav37b05bmmafigwargasy8k-binutils-2.25.1
  gcc   5.2.0   out /gnu/store/0wq6hcbfjh5clyz6pjcqxjkl60rmijjf-gcc-5.2.0
  make  4.1 out /gnu/store/6l2c46faxwdim1mniw80lnyd827dpg8z-make-4.1
  autoconf  2.69out 
/gnu/store/w29nf3k2yclf7b33i8iibblj67687my2-autoconf-2.69
  automake  1.15out 
/gnu/store/n164057v3j5lhihj10apqjkbsm0scl3p-automake-1.15
  autogen   5.18.6  out 
/gnu/store/3gsqxw3gw862k1m1zmf2wb9p9fc30k7k-autogen-5.18.6
  perl  5.16.1  out /gnu/store/czs63sm4l0s4a56ab38dqvkx19yzylbq-perl-5.16.1
  python3.4.3   out 
/gnu/store/y5x6c38fzrbfl80jxrgjd6py2k88x12a-python-3.4.3
  guile 2.0.11  out /gnu/store/5i87jzm90nw8j692y7z1j2qfx16h6ni3-guile-2.0.11
  haunt 0.1 out /gnu/store/k0cg8shqs12dh9j3a47b6hkvcrk998zg-haunt-0.1

I also try to install guile-www from tarball, but it doesn't help. I
think this make sense since haunt cannot load module from my
/usr/share/guile/site. Does anyone know how to fix it?

Thanks,
Alex

On 04/11/2015, Mathieu Lirzin  wrote:
> Hello Guix,
>
> Thanks to Alex Vong's impulse, I have implemented a first step in the
> use of Dave Thompson's site generator Haunt (http://haunt.dthompson.us/)
> for the GuixSD website.
>
> I will need more details on the deployment of the website on gnu.org to
> hopefully get rid of the parameter objects tweaking.
>
> --
> Mathieu Lirzin
>
>



Update mafft to 7.245.

2015-11-10 Thread Ben Woodcroft
Also had to fix the inputs. Hard not to notice these things in the 
environment container - worked well thanks.
>From a540e28db46d7914e66f448ad49850f4365902cb Mon Sep 17 00:00:00 2001
From: Ben Woodcroft 
Date: Tue, 10 Nov 2015 22:10:39 +1000
Subject: [PATCH] gnu: mafft: Update to 7.245.

* gnu/packages/bioinformatics.scm (mafft): Update to 7.245.
Fix inputs.
---
 gnu/packages/bioinformatics.scm | 12 
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index f13e405..011ce78 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -40,6 +40,7 @@
   #:use-module (gnu packages compression)
   #:use-module (gnu packages cpio)
   #:use-module (gnu packages file)
+  #:use-module (gnu packages gawk)
   #:use-module (gnu packages java)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages machine-learning)
@@ -1688,7 +1689,7 @@ sequencing tag position and orientation.")
 (define-public mafft
   (package
 (name "mafft")
-(version "7.221")
+(version "7.245")
 (source (origin
   (method url-fetch)
   (uri (string-append
@@ -1697,7 +1698,7 @@ sequencing tag position and orientation.")
   (file-name (string-append name "-" version ".tgz"))
   (sha256
(base32
-"0xi7klbsgi049vsrk6jiwh9wfj3b770gz3c8c7zwij448v0dr73d"
+"0m1l7gdrmfxjw54d3a0g18w6rwqrra9w9zvxix7dcddw6d1qyir2"
 (build-system gnu-build-system)
 (arguments
  `(#:tests? #f ; no automated tests, though there are tests in the read me
@@ -1731,8 +1732,11 @@ sequencing tag position and orientation.")
 \\$\\(DESTDIR\\)\\$\\(LIBDIR\\)") "#"))
 #t))
  (delete 'configure
-(inputs
- `(("perl" ,perl)))
+(propagated-inputs
+ `(("perl" ,perl)
+   ("gawk" ,gawk)
+   ("coreutils" ,coreutils)
+   ("grep" ,grep)))
 (home-page "http://mafft.cbrc.jp/alignment/software/";)
 (synopsis "Multiple sequence alignment program")
 (description
-- 
2.4.3



[PATCH 2/5] gnu: Add evolution-data-server.

2015-11-10 Thread 宋文武
* gnu/packages/gnome.scm (evolution-data-server): New variable.
---
 gnu/packages/gnome.scm | 64 ++
 1 file changed, 64 insertions(+)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 70b9285..9e018d6 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -39,6 +39,7 @@
   #:use-module (gnu packages avahi)
   #:use-module (gnu packages base)
   #:use-module (gnu packages bison)
+  #:use-module (gnu packages calendar)
   #:use-module (gnu packages cups)
   #:use-module (gnu packages curl)
   #:use-module (gnu packages databases)
@@ -52,6 +53,7 @@
   #:use-module (gnu packages gnuzilla)
   #:use-module (gnu packages gstreamer)
   #:use-module (gnu packages gtk)
+  #:use-module (gnu packages gperf)
   #:use-module (gnu packages guile)
   #:use-module (gnu packages pdf)
   #:use-module (gnu packages polkit)
@@ -3939,3 +3941,65 @@ libraries in GNOME can access the user's online 
accounts.  It has providers for
 Google, ownCloud, Facebook, Flickr, Windows Live, Pocket, Foursquare, Microsoft
 Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.")
 (license license:lgpl2.0+)))
+
+(define-public evolution-data-server
+  (package
+(name "evolution-data-server")
+(version "3.18.2")
+(source (origin
+  (method url-fetch)
+  (uri (string-append "mirror://gnome/sources/" name "/"
+  (version-major+minor version) "/"
+  name "-" version ".tar.xz"))
+  (sha256
+   (base32
+"16yfd2a00xqxikyf6pi2awfd0qfq4hwdhfar88axrb4mycfgqhjr"
+(build-system gnu-build-system)
+(arguments
+ '(;; XXX: fails with:
+   ;;   /Fixture/Calendar0: cleaning up pid 
+   ;;   t status: 139)
+   #:tests? #f
+   #:configure-flags
+   (let ((nss  (assoc-ref %build-inputs "nss"))
+ (nspr (assoc-ref %build-inputs "nspr")))
+ (list "--disable-uoa"; disable Ubuntu Online Accounts support
+   "--disable-google" ; disable Google Contacts support
+ (string-append "--with-nspr-includes=" nspr "/include/nspr")
+ (string-append "--with-nss-includes=" nss "/include/nss")
+ (string-append "--with-nss-libs=" nss "/lib/nss")))
+   #:phases
+   (modify-phases %standard-phases
+ (add-before
+  'check 'pre-check
+  (lambda _
+(substitute* "tests/test-server-utils/e-test-server-utils.c"
+  (("/bin/rm") (which "rm")))
+#t)
+(native-inputs
+ `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
+   ("gobject-introspection" ,gobject-introspection)
+   ("gperf" ,gperf)
+   ("intltool" ,intltool)
+   ("pkg-config" ,pkg-config)
+   ("python" ,python)))
+(propagated-inputs
+ ;; These are all in the Requires field of .pc files.
+ `(("gtk+" ,gtk+)
+   ("libical" ,libical)
+   ("libsecret" ,libsecret)
+   ("libsoup" ,libsoup)
+   ("nss" ,nss)
+   ("sqlite" ,sqlite)))
+(inputs
+ `(("bdb" ,bdb)
+   ("gcr" ,gcr)
+   ("gnome-online-accounts" ,gnome-online-accounts)
+   ("libgweather" ,libgweather)))
+(synopsis "Libraries and services for storing addressbooks and calendars")
+(home-page "https://wiki.gnome.org/Apps/Evolution";)
+(description
+ "This package provides a unified backend for programs that work with
+contacts, tasks, and calendar information.  It was originally developed for
+Evolution (hence the name), but is now used by other packages as well.")
+(license license:lgpl2.0)))
-- 
2.5.0





[PATCH 1/5] gnu: Add gnome-online-accounts.

2015-11-10 Thread 宋文武
* gnu/packages/gnome.scm (gnome-online-accounts): New variable.
---
 gnu/packages/gnome.scm | 38 ++
 1 file changed, 38 insertions(+)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 6779cfb..70b9285 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -3901,3 +3901,41 @@ desktop via OpenGL.  Mutter combines a sophisticated 
display engine using the
 Clutter toolkit with solid window-management logic inherited from the Metacity
 window manager.")
 (license license:gpl2+)))
+
+(define-public gnome-online-accounts
+  (package
+(name "gnome-online-accounts")
+(version "3.18.1")
+(source (origin
+  (method url-fetch)
+  (uri (string-append "mirror://gnome/sources/" name "/"
+  (version-major+minor version) "/"
+  name "-" version ".tar.xz"))
+  (sha256
+   (base32
+"1hn2fvkr1f4qh4gix03avnvk7pklvv5272ns8ws56v4kcq4nppkc"
+(build-system glib-or-gtk-build-system)
+(native-inputs
+ `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
+   ("gobject-introspection" ,gobject-introspection)
+   ("intltool" ,intltool)
+   ("pkg-config" ,pkg-config)
+   ("xsltproc" ,libxslt)))
+(propagated-inputs
+ `(("glib" ,glib)   ; required by goa-1.0.pc
+   ("gtk+" ,gtk+))) ; required by goa-backend-1.0.pc
+(inputs
+ `(("docbook-xsl" ,docbook-xsl)
+   ("json-glib" ,json-glib)
+   ("libsecret" ,libsecret)
+   ("rest" ,rest)
+   ("telepathy-glib" ,telepathy-glib)
+   ("webkitgtk" ,webkitgtk)))
+(synopsis "Single sign-on framework for GNOME")
+(home-page "https://wiki.gnome.org/Projects/GnomeOnlineAccounts";)
+(description
+ "GNOME Online Accounts provides interfaces so that applications and
+libraries in GNOME can access the user's online accounts.  It has providers for
+Google, ownCloud, Facebook, Flickr, Windows Live, Pocket, Foursquare, Microsoft
+Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.")
+(license license:lgpl2.0+)))
-- 
2.5.0





[PATCH 4/5] gnu: Add gdm.

2015-11-10 Thread 宋文武
* gnu/packages/gnome.scm (gdm): New variable.
---
 gnu/packages/gnome.scm | 60 ++
 1 file changed, 60 insertions(+)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 9f7b01f..5863be1 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -40,6 +40,7 @@
   #:use-module (gnu packages base)
   #:use-module (gnu packages bison)
   #:use-module (gnu packages calendar)
+  #:use-module (gnu packages check)
   #:use-module (gnu packages cups)
   #:use-module (gnu packages curl)
   #:use-module (gnu packages databases)
@@ -4069,3 +4070,62 @@ Evolution (hence the name), but is now used by other 
packages as well.")
  "Caribou is an input assistive technology intended for switch and pointer
 users.")
 (license license:lgpl2.1)))
+
+(define-public gdm
+  (package
+(name "gdm")
+(version "3.18.0")
+(source (origin
+  (method url-fetch)
+  (uri (string-append "mirror://gnome/sources/" name "/"
+  (version-major+minor version) "/"
+  name "-" version ".tar.xz"))
+  (sha256
+   (base32
+"0ivaniic5cxfz417bvdpsp7xz1hg6mfb7shrsb72qgm746lygyy9"
+(build-system gnu-build-system)
+(arguments
+ '(#:configure-flags
+   '("--without-plymouth")
+   #:phases
+   (modify-phases %standard-phases
+ (add-before
+  'configure 'pre-configure
+  (lambda _
+;; We don't have .
+(substitute* '("common/gdm-log.c"
+   "daemon/gdm-server.c"
+   "daemon/gdm-session-worker.c"
+   "daemon/gdm-session-worker-job.c")
+  (("#include ") ""))
+;; Use elogind for sd-login.
+(substitute* '("common/gdm-common.c"
+   "daemon/gdm-manager.c"
+   "libgdm/gdm-user-switching.c")
+  (("#include ")
+   "#include "))
+;; Avoid checking SYSTEMD using pkg-config.
+(setenv "SYSTEMD_CFLAGS" " ")
+(setenv "SYSTEMD_LIBS" "-lelogind")
+#t)
+(native-inputs
+ `(("dconf" ,dconf)
+   ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
+   ("gobject-introspection" ,gobject-introspection)
+   ("intltool" ,intltool)
+   ("itstool" ,itstool)
+   ("pkg-config" ,pkg-config)
+   ("xmllint" ,libxml2)))
+(inputs
+ `(("accountsservice" ,accountsservice)
+   ("check" ,check) ; for testing
+   ("elogind" ,elogind)
+   ("gtk+" ,gtk+)
+   ("libcanberra" ,libcanberra)
+   ("linux-pam" ,linux-pam)))
+(synopsis "Display manager for GNOME")
+(home-page "http://wiki.gnome.org/Projects/GDM/";)
+(description
+ "GNOME Display Manager is a system service that is responsible for
+providing graphical log-ins and managing local and remote displays.")
+(license license:gpl2+)))
-- 
2.5.0





[PATCH 5/5] gnu: Add gnome-shell.

2015-11-10 Thread 宋文武
* gnu/packages/gnome.scm (gnome-shell): New variable.
---
 gnu/packages/gnome.scm | 60 ++
 1 file changed, 60 insertions(+)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 5863be1..4382f81 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -4129,3 +4129,63 @@ users.")
  "GNOME Display Manager is a system service that is responsible for
 providing graphical log-ins and managing local and remote displays.")
 (license license:gpl2+)))
+
+(define-public gnome-shell
+  (package
+(name "gnome-shell")
+(version "3.18.1")
+(source (origin
+  (method url-fetch)
+  (uri (string-append "mirror://gnome/sources/" name "/"
+  (version-major+minor version) "/"
+  name "-" version ".tar.xz"))
+  (sha256
+   (base32
+"0i9qpxr83xvaj0mj9jmib4icpa73cmjqmib99ywjb6p2ncam588l"
+(build-system glib-or-gtk-build-system)
+(arguments
+ '(#:phases
+   (modify-phases %standard-phases
+ (add-after
+  'install 'wrap-programs
+  (lambda* (#:key outputs #:allow-other-keys)
+(let ((out  (assoc-ref outputs "out"))
+  (gi-typelib-path  (getenv "GI_TYPELIB_PATH")))
+  (wrap-program (string-append out "/bin/gnome-shell")
+`("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)
+(native-inputs
+ `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
+   ("gobject-introspection" ,gobject-introspection)
+   ("intltool" ,intltool)
+   ("pkg-config" ,pkg-config)
+   ("python" ,python)
+   ("xsltproc" ,libxslt)))
+(inputs
+ `(("accountsservice" ,accountsservice)
+   ("caribou" ,caribou)
+   ("docbook-xsl" ,docbook-xsl)
+   ("evolution-data-server" ,evolution-data-server)
+   ("gcr" ,gcr)
+   ("gdm" ,gdm)
+   ("gjs" ,gjs)
+   ("gnome-desktop" ,gnome-desktop)
+   ("gnome-settings-daemon" ,gnome-settings-daemon)
+   ("gst-plugins-base" ,gst-plugins-base)
+   ("libcanberra" ,libcanberra)
+   ("libcroco" ,libcroco)
+   ("libgweather" ,libgweather)
+   ("libsoup" ,libsoup)
+   ("mesa-headers" ,mesa-headers)
+   ("mutter" ,mutter)
+   ("polkit" ,polkit)
+   ("pulseaudio" ,pulseaudio)
+   ("startup-notification" ,startup-notification)
+   ("telepathy-glib" ,telepathy-glib)
+   ;; XXX: required by libgjs.la.
+   ("readline" ,readline)))
+(synopsis "Desktop shell for GNOME")
+(home-page "https://wiki.gnome.org/Projects/GnomeShell";)
+(description
+ "GNOME Shell provides core user interface functions for the GNOME desktop,
+like switching to windows and launching applications.")
+(license license:gpl2+)))
-- 
2.5.0





[PATCH 3/5] gnu: Add caribou.

2015-11-10 Thread 宋文武
* gnu/packages/gnome.scm (caribou): New variable.
---
 gnu/packages/gnome.scm | 66 ++
 1 file changed, 66 insertions(+)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 9e018d6..9f7b01f 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -4003,3 +4003,69 @@ Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.")
 contacts, tasks, and calendar information.  It was originally developed for
 Evolution (hence the name), but is now used by other packages as well.")
 (license license:lgpl2.0)))
+
+(define-public caribou
+  (package
+(name "caribou")
+(version "0.4.19")
+(source (origin
+  (method url-fetch)
+  (uri (string-append "mirror://gnome/sources/" name "/"
+  (version-major+minor version) "/"
+  name "-" version ".tar.xz"))
+  (sha256
+   (base32
+"0i2s2xy9ami3wslam15cajhggpcsj4c70qm7qddcz52z9k0x02rg"
+(build-system glib-or-gtk-build-system)
+(arguments
+ '(#:phases
+   (modify-phases %standard-phases
+ (add-before
+  'build 'pre-build
+  (lambda* (#:key outputs #:allow-other-keys)
+(let ((out (assoc-ref outputs "out")))
+  ;; Use absolute shared library path in Caribou-1.0.typelib.
+  (substitute* "libcaribou/Makefile"
+(("--shared-library=libcaribou.so")
+ (string-append "--shared-library="
+out "/lib/libcaribou.so")))
+  #t)))
+ (add-after
+  'install 'wrap-programs
+  (lambda* (#:key outputs #:allow-other-keys)
+(let* ((out (assoc-ref outputs "out"))
+   (python-path (getenv "PYTHONPATH"))
+   (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
+  (for-each
+   (lambda (prog)
+ (wrap-program prog
+   `("PYTHONPATH"  ":" prefix (,python-path))
+   `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path
+   (list (string-append out "/bin/caribou-preferences")
+ (string-append out "/libexec/antler-keyboard"
+#t)
+(native-inputs
+ `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
+   ("gobject-introspection" ,gobject-introspection)
+   ("intltool" ,intltool)
+   ("pkg-config" ,pkg-config)
+   ("python" ,python-2) ; incompatible with Python 3 (print syntax)
+   ("vala" ,vala)
+   ("xsltproc" ,libxslt)))
+(propagated-inputs
+ ;; caribou-1.0.pc refers to all these.
+ `(("libgee" ,libgee)
+   ("libxklavier" ,libxklavier)
+   ("libxtst" ,libxtst)
+   ("gtk+" ,gtk+)))
+(inputs
+ `(("clutter" ,clutter)
+   ("dconf" ,dconf)
+   ("gtk+-2" ,gtk+-2)
+   ("python-pygobject" ,python2-pygobject)))
+(synopsis "Text entry and UI navigation application")
+(home-page "https://wiki.gnome.org/Projects/Caribou";)
+(description
+ "Caribou is an input assistive technology intended for switch and pointer
+users.")
+(license license:lgpl2.1)))
-- 
2.5.0





Re: Update mafft to 7.245.

2015-11-10 Thread Ricardo Wurmus

Ben Woodcroft  writes:

> Also had to fix the inputs.

In this case, please also mention these input changes in the commit
message.

>   (delete 'configure
> -(inputs
> - `(("perl" ,perl)))
> +(propagated-inputs
> + `(("perl" ,perl)
> +   ("gawk" ,gawk)
> +   ("coreutils" ,coreutils)
> +   ("grep" ,grep)))

Is it really necessary to propagate these inputs?  Or could mafft just
reference them by their full path?  It’s very inelegant to propagate
packages.

In the case of coreutils I’m not sure if this is needed at all.  Instead
of propagating these inputs I’d suggest adding a phase that patches the
sources with ‘(substitute* ...)’ such that any call to awk, grep, perl,
or the coreutils is prefixed with the full store path.

Then you don’t need to propagate inputs and users won’t run into
conflicts.

~~ Ricardo



Re: [PATCH 5/5] gnu: Add gnome-shell.

2015-11-10 Thread 宋文武
WIP, gdm and gnome-shell won't start.

I haven't look much about gdm.

gnome-shell still missing some runtime depends (as typelib) like
network-manager, etc.

I post those patches to ML to track the process, let's package GNOME :-)




Re: Update mafft to 7.245.

2015-11-10 Thread Efraim Flashner
On Tue, 10 Nov 2015 22:18:10 +1000
Ben Woodcroft  wrote:

> Also had to fix the inputs. Hard not to notice these things in the 
> environment container - worked well thanks.

Do they need to be propagated inputs? Did you try them as native-inputs?
Often that's enough to take care of it.

Also, instead of:
Fix inputs.
the commit message is more along the lines of:
  [inputs]: Move inputs to propagated-inputs and add missing dependencies.
but I normally have to check against older commit messages to see what others
are doing and I try to copy that.

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


pgp_R_bHOsd22.pgp
Description: OpenPGP digital signature


Re: [PATCH 5/5] gnu: Add gnome-shell.

2015-11-10 Thread Thompson, David
On Tue, Nov 10, 2015 at 8:10 AM, 宋文武  wrote:
> WIP, gdm and gnome-shell won't start.
>
> I haven't look much about gdm.
>
> gnome-shell still missing some runtime depends (as typelib) like
> network-manager, etc.
>
> I post those patches to ML to track the process, let's package GNOME :-)

Wow!!!  Awesome progress!

- Dave



[PATCH] gnu: Add inklingreader

2015-11-10 Thread Roel Janssen
>From 7cd292fdb46637858e4eaedd3570b607b5087720 Mon Sep 17 00:00:00 2001
From: Roel Janssen 
Date: Tue, 10 Nov 2015 15:01:33 +0100
Subject: [PATCH] gnu: Add inklingreader

* gnu-system.am: Add the package to GNU_SYSTEM_MODULES.
* gnu/packages/inklingreader.scm: The package description.
---
 gnu-system.am  |  1 +
 gnu/packages/inklingreader.scm | 65 ++
 2 files changed, 66 insertions(+)
 create mode 100644 gnu/packages/inklingreader.scm

diff --git a/gnu-system.am b/gnu-system.am
index f3ded69..f8b3d42 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -158,6 +158,7 @@ GNU_SYSTEM_MODULES =\
   gnu/packages/image.scm			\
   gnu/packages/imagemagick.scm			\
   gnu/packages/indent.scm			\
+  gnu/packages/inklingreader.scm		\
   gnu/packages/inkscape.scm			\
   gnu/packages/irssi.scm			\
   gnu/packages/iso-codes.scm			\
diff --git a/gnu/packages/inklingreader.scm b/gnu/packages/inklingreader.scm
new file mode 100644
index 000..a3aa471
--- /dev/null
+++ b/gnu/packages/inklingreader.scm
@@ -0,0 +1,65 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2015 Roel Janssen 
+;;;
+;;; 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 inklingreader)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix build-system gnu)
+  #:use-module (gnu packages)
+  #:use-module (gnu packages autotools)
+  #:use-module (gnu packages glib)
+  #:use-module (gnu packages gnome)
+  #:use-module (gnu packages gtk)
+  #:use-module (gnu packages libusb)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages texinfo))
+
+(define-public inklingreader
+  (package
+(name "inklingreader")
+(version "0.8")
+(source (origin
+  (method url-fetch)
+  (uri (string-append
+"ftp://alpha.gnu.org/gnu/inklingreader/inklingreader-";
+version ".tar.gz"))
+  (sha256
+   (base32
+"0ikg95mgwfqh0bq4dzvkfmdiycacqvv27g91hl6adwk5y3gzl96g"
+(build-system gnu-build-system)
+(arguments `(#:configure-flags '("--enable-silent-rules")))
+(inputs
+ `(("glib" ,glib)
+   ("cairo" ,cairo)
+   ("librsvg" ,librsvg)
+   ("gtk+" ,gtk+)
+   ("libusb" ,libusb)
+
+   ;; Needed to build the package.
+   ("texinfo" ,texinfo)))
+(native-inputs
+ `(("pkg-config" ,pkg-config)))
+
+(home-page "http://savannah.gnu.org/projects/inklingreader/";)
+(synopsis "Wacom Inkling sketch format conversion and manipulation")
+(description
+ "GNU InklingReader is a free software package to support the Wacom Inkling
+device, including data conversion to various free formats, basic editing
+features, and an Inkscape plugin.")
+(license license:gpl3+)))
-- 
2.5.0

Dear list,

I've written a package description for my GNU package: InklingReader.
This is my first patch, so if I should've done something differently,
please let me know. 

Thanks,
Roel Janssen


Re: [PATCH] gnu: Add inklingreader

2015-11-10 Thread Ricardo Wurmus
Hi Roel,

thanks for the patch!

I wonder if the inklingreader could be added to an existing module.
Maybe ‘graphics.scm’?

> From 7cd292fdb46637858e4eaedd3570b607b5087720 Mon Sep 17 00:00:00 2001
> From: Roel Janssen 
> Date: Tue, 10 Nov 2015 15:01:33 +0100
> Subject: [PATCH] gnu: Add inklingreader

Nitpick: end the summary line with a period ‘.’.

> * gnu-system.am: Add the package to GNU_SYSTEM_MODULES.
> * gnu/packages/inklingreader.scm: The package description.

Normally, we write it like this:

> * gnu/packages/inklingreader.scm: New file.
> * gnu-system.am (GNU_SYSTEM_MODULES): Add it.

If adding to an existing module it would be something like this:

> * gnu/packages/graphics.scm (inklingreader): New variable.

[...]

> +(define-public inklingreader
> +  (package
> +(name "inklingreader")
> +(version "0.8")
> +(source (origin
> +  (method url-fetch)
> +  (uri (string-append
> +"ftp://alpha.gnu.org/gnu/inklingreader/inklingreader-";
> +version ".tar.gz"))

You should be able to use “mirror://gnu/” here.  I don’t know the exact
URL, though (and I haven’t tried yet).

> +  (sha256
> +   (base32
> +"0ikg95mgwfqh0bq4dzvkfmdiycacqvv27g91hl6adwk5y3gzl96g"
> +(build-system gnu-build-system)
> +(arguments `(#:configure-flags '("--enable-silent-rules")))

What does this do?  (I’m just curious.)

> +(inputs
> + `(("glib" ,glib)
> +   ("cairo" ,cairo)
> +   ("librsvg" ,librsvg)
> +   ("gtk+" ,gtk+)
> +   ("libusb" ,libusb)
> +
> +   ;; Needed to build the package.
> +   ("texinfo" ,texinfo)))

Inputs that are only needed at build time should be added to
‘native-inputs’ instead.

> +(native-inputs
> + `(("pkg-config" ,pkg-config)))
> +

Please do not put an empty line here.

> +(home-page "http://savannah.gnu.org/projects/inklingreader/";)
> +(synopsis "Wacom Inkling sketch format conversion and manipulation")
> +(description
> + "GNU InklingReader is a free software package to support the Wacom 
> Inkling
> +device, including data conversion to various free formats, basic editing
> +features, and an Inkscape plugin.")

Since all software in Guix is free software you should not mention this
here again.

I wonder about the Inkscape plugin: does it work out of the box with our
inkscape package?

> +(license license:gpl3+)))

A very nice first contribution!  Thank you again.
(I’ll let others comment on this.)

~~ Ricardo



Re: [PATCH] website: Add support for Haunt.

2015-11-10 Thread Mathieu Lirzin
Hi,

Alex Vong  writes:

> However, there is a little problem. When I run "haunt build -c guixsd.scm",
>
[...]
> In unknown file:
>?: 0 [scm-error misc-error #f "~A ~S" ("no code for module" (www)) #f]
>
> ERROR: In procedure scm-error:
> ERROR: no code for module (www)
[...]
> This are my installed packages:
>
[...]
>   autogen 5.18.6  out 
> /gnu/store/3gsqxw3gw862k1m1zmf2wb9p9fc30k7k-autogen-5.18.6
>   perl5.16.1  out 
> /gnu/store/czs63sm4l0s4a56ab38dqvkx19yzylbq-perl-5.16.1
>   python  3.4.3   out 
> /gnu/store/y5x6c38fzrbfl80jxrgjd6py2k88x12a-python-3.4.3
>   guile   2.0.11  out 
> /gnu/store/5i87jzm90nw8j692y7z1j2qfx16h6ni3-guile-2.0.11
>   haunt   0.1 out 
> /gnu/store/k0cg8shqs12dh9j3a47b6hkvcrk998zg-haunt-0.1
>
> I also try to install guile-www from tarball, but it doesn't help. I
> think this make sense since haunt cannot load module from my
> /usr/share/guile/site. Does anyone know how to fix it?

The (www) module is the module for the website which is defined in
'website/www.scm' so it not related to guile-www.

What is going on is that the current working directory is not in Guile
load path.  In the git version of Haunt, this is added automatically but
in the latest 0.1 release which is the version provided by Guix, this
feature doesn't exist. See:

  
https://git.dthompson.us/haunt.git/commit/288913eff2fc308354a373c39463e48bb879ea91

Since I have only used the git version, I didn't check that.  If you
want to install the latest version from Guix, There is a development
package definition "guix.scm" in the git repository of Haunt.

Thanks for reporting the issue,

--
Mathieu Lirzin



Re: [PATCH 2/5] gnu: Add evolution-data-server.

2015-11-10 Thread Alex Kost
宋文武 (2015-11-10 15:51 +0300) wrote:

[...]
> +(define-public evolution-data-server
> +  (package
> +(name "evolution-data-server")
> +(version "3.18.2")
> +(source (origin
> +  (method url-fetch)
> +  (uri (string-append "mirror://gnome/sources/" name "/"
> +  (version-major+minor version) "/"
> +  name "-" version ".tar.xz"))
> +  (sha256
> +   (base32
> +"16yfd2a00xqxikyf6pi2awfd0qfq4hwdhfar88axrb4mycfgqhjr"
> +(build-system gnu-build-system)
> +(arguments
> + '(;; XXX: fails with:
> +   ;;   /Fixture/Calendar0: cleaning up pid 
> +   ;;   t status: 139)
> +   #:tests? #f
> +   #:configure-flags
> +   (let ((nss  (assoc-ref %build-inputs "nss"))
> + (nspr (assoc-ref %build-inputs "nspr")))
> + (list "--disable-uoa"; disable Ubuntu Online Accounts support
> +   "--disable-google" ; disable Google Contacts support
> + (string-append "--with-nspr-includes=" nspr "/include/nspr")
> + (string-append "--with-nss-includes=" nss "/include/nss")
> + (string-append "--with-nss-libs=" nss "/lib/nss")))
^^
Please indent (string-append ...) clauses inside list properly.

> +   #:phases
> +   (modify-phases %standard-phases
> + (add-before
> +  'check 'pre-check
> +  (lambda _
> +(substitute* "tests/test-server-utils/e-test-server-utils.c"

I would make it:

 (add-before 'check 'pre-check
   (lambda _
 (substitute* "tests/test-server-utils/e-test-server-utils.c"

but it probably doesn't matter.

> +  (("/bin/rm") (which "rm")))
> +#t)
> +(native-inputs
> + `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
> +   ("gobject-introspection" ,gobject-introspection)
> +   ("gperf" ,gperf)
> +   ("intltool" ,intltool)
> +   ("pkg-config" ,pkg-config)
> +   ("python" ,python)))
> +(propagated-inputs
> + ;; These are all in the Requires field of .pc files.
> + `(("gtk+" ,gtk+)
> +   ("libical" ,libical)
> +   ("libsecret" ,libsecret)
> +   ("libsoup" ,libsoup)
> +   ("nss" ,nss)
> +   ("sqlite" ,sqlite)))
> +(inputs
> + `(("bdb" ,bdb)
> +   ("gcr" ,gcr)
> +   ("gnome-online-accounts" ,gnome-online-accounts)
> +   ("libgweather" ,libgweather)))
> +(synopsis "Libraries and services for storing addressbooks and 
> calendars")

I think it's better to use "address books".

-- 
Alex



[PATCH] Towards r-devtools.

2015-11-10 Thread Ricardo Wurmus
Hi Guix,

attached is a first batch of dependent packages for r-devtools.  The
second batch still needs cleaning up; in particular that’s because
r-git2r bundles the sources of libgit2, which I think should really have
its own package.

This set of patches is quite harmless.  Some notes:

* I did not place r-httr in web.scm because it depends on stuff from
  web.scm as well as statistics.scm, resulting in circular module
  dependencies.  To avoid this I put r-httr with the other R packages in
  statistics.scm.

* Similar reasons apply to why I didn’t place r-xml2 in xml.scm.

And now ... the patches!

~~ Ricardo

>From db404c103cf63cac5ef3382e337372e4af3fcb48 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus 
Date: Tue, 10 Nov 2015 15:55:51 +0100
Subject: [PATCH 1/7] gnu: Add r-curl.

* gnu/packages/web.scm (r-curl): New variable.
---
 gnu/packages/web.scm | 25 +
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 4d526fc..2ecda35 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -2977,3 +2977,28 @@ directory.")
 various contexts including the R console, R Markdown documents, and Shiny web
 applications.")
 (license l:expat)))
+
+(define-public r-curl
+  (package
+(name "r-curl")
+(version "0.9.3")
+(source (origin
+  (method url-fetch)
+  (uri (cran-uri "curl" version))
+  (sha256
+   (base32
+"02p9s1jlk8dcbvn71ivn4xnrqh9dwqyhgn4s1fzcfmnmfxhl5gld"
+(build-system r-build-system)
+(inputs
+ `(("libcurl" ,curl)))
+(home-page "https://github.com/jeroenooms/curl";)
+(synopsis "HTTP client for R")
+(description
+ "The @code{curl()} and @code{curl_download()} functions provide highly
+configurable drop-in replacements for base @code{url()} and
+@code{download.file()} with better performance, support for encryption, gzip
+compression, authentication, and other @code{libcurl} goodies.  The core of
+the package implements a framework for performing fully customized requests
+where data can be processed either in memory, on disk, or streaming via the
+callback or connection interfaces.")
+(license l:expat)))
-- 
2.1.0

>From 6bb0ed5c5f0dabd654618f377a8903a804580baa Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus 
Date: Tue, 10 Nov 2015 16:10:09 +0100
Subject: [PATCH 2/7] gnu: Add r-xml2.

* gnu/packages/statistics.scm (r-xml2): New variable.
---
 gnu/packages/statistics.scm | 25 +
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index 0c0464c..cbcb05c 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -41,6 +41,7 @@
   #:use-module (gnu packages texlive)
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages base)
+  #:use-module (gnu packages xml)
   #:use-module (gnu packages xorg)
   #:use-module (gnu packages zip)
   #:use-module (srfi srfi-1))
@@ -1053,3 +1054,27 @@ inference for statistical models.")
   (native-inputs
`(("python2-setuptools" ,python2-setuptools)
  ,@(package-native-inputs stats))
+
+(define-public r-xml2
+  (package
+(name "r-xml2")
+(version "0.1.2")
+(source
+ (origin
+   (method url-fetch)
+   (uri (cran-uri "xml2" version))
+   (sha256
+(base32
+ "0jjilz36h7vbdbkpvjnja1vgjf6d1imql3z4glqn2m2b74w5qm4c"
+(build-system r-build-system)
+(inputs
+ `(("libxml2" ,libxml2)))
+(propagated-inputs
+ `(("r-rcpp" ,r-rcpp)
+   ("r-bh" ,r-bh)))
+(home-page "https://github.com/hadley/xml2";)
+(synopsis "Parse XML with R")
+(description
+ "This package provides a simple, consistent interface to working with XML
+files in R.  It is built on top of the libxml2 C library.")
+(license license:gpl2+)))
-- 
2.1.0

>From 31040b8e361b3bf928b1f4ee6cfc91c55046a474 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus 
Date: Tue, 10 Nov 2015 16:17:34 +0100
Subject: [PATCH 3/7] gnu: Add r-rversions.

* gnu/packages/statistics.scm (r-rversions): New variable.
---
 gnu/packages/statistics.scm | 23 +++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index cbcb05c..a0ae5c1 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -41,6 +41,7 @@
   #:use-module (gnu packages texlive)
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages base)
+  #:use-module (gnu packages web)
   #:use-module (gnu packages xml)
   #:use-module (gnu packages xorg)
   #:use-module (gnu packages zip)
@@ -1078,3 +1079,25 @@ inference for statistical models.")
  "This package provides a simple, consistent interface to working with XML
 files in R.  It is built on top of the libxml2 C library.")
 (license license:gpl2+)))
+
+(define-public r-rversions
+  (package
+(name "r-rversions")
+(version "1.0.2")

Re: [PATCH] gnu: Add inklingreader

2015-11-10 Thread Mathieu Lirzin
Hi Roel,

Roel Janssen  writes:

>>From 7cd292fdb46637858e4eaedd3570b607b5087720 Mon Sep 17 00:00:00 2001
> From: Roel Janssen 
> Date: Tue, 10 Nov 2015 15:01:33 +0100
> Subject: [PATCH] gnu: Add inklingreader
>
> * gnu-system.am: Add the package to GNU_SYSTEM_MODULES.
> * gnu/packages/inklingreader.scm: The package description.

Guix has somekind of "template" commit log when adding packages, you
will find multiple examples with

  git log --grep="(GNU_SYSTEM_MODULES): Add it"

When applying it to your package you will obtain this.

--8<---cut here---start->8---
gnu: Add inklingreader.

* gnu/packages/inklingreader.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
--8<---cut here---end--->8---

> ---
>  gnu-system.am  |  1 +
>  gnu/packages/inklingreader.scm | 65 
> ++
>  2 files changed, 66 insertions(+)
>  create mode 100644 gnu/packages/inklingreader.scm
[...]
> +++ b/gnu/packages/inklingreader.scm
> @@ -0,0 +1,65 @@
> +;;; GNU Guix --- Functional package management for GNU
> +;;; Copyright © 2015 Roel Janssen 
> +;;;
> +;;; 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 inklingreader)
> +  #:use-module ((guix licenses) #:prefix license:)
> +  #:use-module (guix packages)
> +  #:use-module (guix download)
> +  #:use-module (guix build-system gnu)
> +  #:use-module (gnu packages)
> +  #:use-module (gnu packages autotools)
> +  #:use-module (gnu packages glib)
> +  #:use-module (gnu packages gnome)
> +  #:use-module (gnu packages gtk)
> +  #:use-module (gnu packages libusb)
> +  #:use-module (gnu packages pkg-config)
> +  #:use-module (gnu packages texinfo))
> +
> +(define-public inklingreader
> +  (package
> +(name "inklingreader")
> +(version "0.8")
> +(source (origin
> +  (method url-fetch)
> +  (uri (string-append
> +"ftp://alpha.gnu.org/gnu/inklingreader/inklingreader-";
> +version ".tar.gz"))
> +  (sha256
> +   (base32
> +"0ikg95mgwfqh0bq4dzvkfmdiycacqvv27g91hl6adwk5y3gzl96g"
> +(build-system gnu-build-system)
> +(arguments `(#:configure-flags '("--enable-silent-rules")))

this is automatically done, so this flag is not needed.

> +(inputs
> + `(("glib" ,glib)
> +   ("cairo" ,cairo)
> +   ("librsvg" ,librsvg)
> +   ("gtk+" ,gtk+)
> +   ("libusb" ,libusb)
> +
> +   ;; Needed to build the package.
> +   ("texinfo" ,texinfo)))

Actually the documentation is not built so I don't think this is needed.
If you want to easily provide the documentation to Guix you will need to
add the Automake variable "info_TEXINFOS" in you Makefile.am file in the
next release, see:

  https://www.gnu.org/software/automake/manual/automake.html#Texinfo

> +(native-inputs
> + `(("pkg-config" ,pkg-config)))
> +
> +(home-page "http://savannah.gnu.org/projects/inklingreader/";)

I think It would be better to provide

  https://www.gnu.org/software/inklingreader/

> +(synopsis "Wacom Inkling sketch format conversion and manipulation")
> +(description
> + "GNU InklingReader is a free software package to support the Wacom 
> Inkling
> +device, including data conversion to various free formats, basic editing
> +features, and an Inkscape plugin.")
> +(license license:gpl3+)))

Can you send an updated patch?

Thank you very much for your first package!

--
Mathieu Lirzin



Re: [PATCH] gnu: Add inklingreader

2015-11-10 Thread Mathieu Lirzin
Hi,

Ricardo Wurmus  writes:

>> +(home-page "http://savannah.gnu.org/projects/inklingreader/";)
>> +(synopsis "Wacom Inkling sketch format conversion and manipulation")
>> +(description
>> + "GNU InklingReader is a free software package to support the Wacom 
>> Inkling
>> +device, including data conversion to various free formats, basic editing
>> +features, and an Inkscape plugin.")
>
> Since all software in Guix is free software you should not mention this
> here again.

In fact the description is in gnumaint:

  
http://cvs.savannah.gnu.org/viewvc/womb/gnumaint/pkgblurbs.txt?revision=1.61&view=markup

If it gets fixed in Guix it will need to be fixed there too, or ‘guix
lint’ will continue to report a suggested description.

--
Mathieu Lirzin



Re: [PATCH 5/5] gnu: Add gnome-shell.

2015-11-10 Thread Daniel Pimentel

I wait for it :)

Thanks!

--
Daniel Pimentel (d4n1 3:)



Re: [PATCH] gnu: Add inklingreader

2015-11-10 Thread Roel Janssen
>>> +(home-page "http://savannah.gnu.org/projects/inklingreader/";)
>>> +(synopsis "Wacom Inkling sketch format conversion and manipulation")
>>> +(description
>>> + "GNU InklingReader is a free software package to support the Wacom 
>>> Inkling
>>> +device, including data conversion to various free formats, basic editing
>>> +features, and an Inkscape plugin.")
>>
>> Since all software in Guix is free software you should not mention this
>> here again.
>
> In fact the description is in gnumaint:
>
>   
> http://cvs.savannah.gnu.org/viewvc/womb/gnumaint/pkgblurbs.txt?revision=1.61&view=markup
>
> If it gets fixed in Guix it will need to be fixed there too, or ‘guix
> lint’ will continue to report a suggested description.

I don't know how to fix it in gnumaint.. I can update the package
description on the Guix file of course.



Re: [PATCH] gnu: Add inklingreader

2015-11-10 Thread Roel Janssen
Hello Ricardo,

Thanks for your response.

> I wonder if the inklingreader could be added to an existing module.
> Maybe ‘graphics.scm’?

Well, InklingReader is a program with a GUI. Looking at 'graphics.scm'
seems to contain only libraries. The same seems to be true for
'image.scm'.

I'm fine with putting it in 'graphics.scm', but I don't think it belongs
there. (Correct me if I'm wrong, I'm new to Guix ;)

>> From 7cd292fdb46637858e4eaedd3570b607b5087720 Mon Sep 17 00:00:00 2001
>> From: Roel Janssen 
>> Date: Tue, 10 Nov 2015 15:01:33 +0100
>> Subject: [PATCH] gnu: Add inklingreader
>
> Nitpick: end the summary line with a period ‘.’.

Sorry about that. Fixed in the second version.

>> * gnu-system.am: Add the package to GNU_SYSTEM_MODULES.
>> * gnu/packages/inklingreader.scm: The package description.
>
> Normally, we write it like this:
>
>> * gnu/packages/inklingreader.scm: New file.
>> * gnu-system.am (GNU_SYSTEM_MODULES): Add it.
>
> If adding to an existing module it would be something like this:
>
>> * gnu/packages/graphics.scm (inklingreader): New variable.
>
> [...]

Sorry about that. This should be better in the second version.

>> +(define-public inklingreader
>> +  (package
>> +(name "inklingreader")
>> +(version "0.8")
>> +(source (origin
>> +  (method url-fetch)
>> +  (uri (string-append
>> +"ftp://alpha.gnu.org/gnu/inklingreader/inklingreader-";
>> +version ".tar.gz"))
>
> You should be able to use “mirror://gnu/” here.  I don’t know the exact
> URL, though (and I haven’t tried yet).

I think this doesn't work for 'alpha.gnu.org' (at least 'guix lint'
crashes when using 'mirror://'). Other packages (like artanis) use
'ftp://alpha.gnu.org/...' as well.

If I am mistaking, please let me know what the URI should be.

>> +  (sha256
>> +   (base32
>> +"0ikg95mgwfqh0bq4dzvkfmdiycacqvv27g91hl6adwk5y3gzl96g"
>> +(build-system gnu-build-system)
>> +(arguments `(#:configure-flags '("--enable-silent-rules")))
>
> What does this do?  (I’m just curious.)

It makes the compile command output shorter. Instead of displaying the
entire command ('gcc ...') it only displays the target name being
compiled.

I realise this may not be desired, so I removed it from the second
version. 

>> +(inputs
>> + `(("glib" ,glib)
>> +   ("cairo" ,cairo)
>> +   ("librsvg" ,librsvg)
>> +   ("gtk+" ,gtk+)
>> +   ("libusb" ,libusb)
>> +
>> +   ;; Needed to build the package.
>> +   ("texinfo" ,texinfo)))
>
> Inputs that are only needed at build time should be added to
> ‘native-inputs’ instead.

Thanks. I removed texinfo completely because the build process doesn't
build the documentation anyway. The inputs specified now are all runtime
dependencies.

>> +(native-inputs
>> + `(("pkg-config" ,pkg-config)))
>> +
>
> Please do not put an empty line here.

Fixed in the second version.

>> +(home-page "http://savannah.gnu.org/projects/inklingreader/";)
>> +(synopsis "Wacom Inkling sketch format conversion and manipulation")
>> +(description
>> + "GNU InklingReader is a free software package to support the Wacom 
>> Inkling
>> +device, including data conversion to various free formats, basic editing
>> +features, and an Inkscape plugin.")
>
> Since all software in Guix is free software you should not mention this
> here again.

Fixed in the second version.

> I wonder about the Inkscape plugin: does it work out of the box with our
> inkscape package?

It's separated from the program. To enable the Inkscape extension, one
has to copy files from the repository to
'~/.config/inkscape/extensions/' so that Inkscape can find it.

The files are not included in the release. Should I remove the mention
of the Inkscape plugin from the description?

Thanks for your time,
Roel Janssen



Re: [PATCH] gnu: Add inklingreader

2015-11-10 Thread Roel Janssen
>From 1cda4dd832a4c654cca7eff150217305ba60573e Mon Sep 17 00:00:00 2001
From: Roel Janssen 
Date: Tue, 10 Nov 2015 19:38:42 +0100
Subject: [PATCH] gnu: Add inklingreader.

* gnu/packages/inklingreader.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
---
 gnu-system.am  |  1 +
 gnu/packages/inklingreader.scm | 59 ++
 2 files changed, 60 insertions(+)
 create mode 100644 gnu/packages/inklingreader.scm

diff --git a/gnu-system.am b/gnu-system.am
index f3ded69..f8b3d42 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -158,6 +158,7 @@ GNU_SYSTEM_MODULES =\
   gnu/packages/image.scm			\
   gnu/packages/imagemagick.scm			\
   gnu/packages/indent.scm			\
+  gnu/packages/inklingreader.scm		\
   gnu/packages/inkscape.scm			\
   gnu/packages/irssi.scm			\
   gnu/packages/iso-codes.scm			\
diff --git a/gnu/packages/inklingreader.scm b/gnu/packages/inklingreader.scm
new file mode 100644
index 000..5c1d2f6
--- /dev/null
+++ b/gnu/packages/inklingreader.scm
@@ -0,0 +1,59 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2015 Roel Janssen 
+;;;
+;;; 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 inklingreader)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix build-system gnu)
+  #:use-module (gnu packages)
+  #:use-module (gnu packages autotools)
+  #:use-module (gnu packages glib)
+  #:use-module (gnu packages gnome)
+  #:use-module (gnu packages gtk)
+  #:use-module (gnu packages libusb)
+  #:use-module (gnu packages pkg-config))
+
+(define-public inklingreader
+  (package
+(name "inklingreader")
+(version "0.8")
+(source (origin
+  (method url-fetch)
+  (uri (string-append
+"ftp://alpha.gnu.org/gnu/inklingreader/inklingreader-";
+version ".tar.gz"))
+  (sha256
+   (base32
+"0ikg95mgwfqh0bq4dzvkfmdiycacqvv27g91hl6adwk5y3gzl96g"
+(build-system gnu-build-system)
+(inputs
+ `(("glib" ,glib)
+   ("cairo" ,cairo)
+   ("librsvg" ,librsvg)
+   ("gtk+" ,gtk+)
+   ("libusb" ,libusb)))
+(native-inputs
+ `(("pkg-config" ,pkg-config)))
+(home-page "https://www.gnu.org/software/inklingreader/";)
+(synopsis "Wacom Inkling sketch format conversion and manipulation.")
+(description
+ "GNU InklingReader is a package to support the Wacom Inkling device,
+including data conversion to various free formats, basic editing features,
+and an Inkscape plugin.")
+(license license:gpl3+)))
-- 
2.5.0

Hi Mathieu,

Thanks for your reply.

Mathieu Lirzin writes:

>>>From 7cd292fdb46637858e4eaedd3570b607b5087720 Mon Sep 17 00:00:00 2001
>> From: Roel Janssen 
>> Date: Tue, 10 Nov 2015 15:01:33 +0100
>> Subject: [PATCH] gnu: Add inklingreader
>>
>> * gnu-system.am: Add the package to GNU_SYSTEM_MODULES.
>> * gnu/packages/inklingreader.scm: The package description.
>
> Guix has somekind of "template" commit log when adding packages, you
> will find multiple examples with
>
>   git log --grep="(GNU_SYSTEM_MODULES): Add it"
>
> When applying it to your package you will obtain this.
>
> --8<---cut here---start->8---
> gnu: Add inklingreader.
>
> * gnu/packages/inklingreader.scm: New file.
> * gnu-system.am (GNU_SYSTEM_MODULES): Add it.
> --8<---cut here---end--->8---

Fixed.

>> ---
>>  gnu-system.am  |  1 +
>>  gnu/packages/inklingreader.scm | 65 
>> ++
>>  2 files changed, 66 insertions(+)
>>  create mode 100644 gnu/packages/inklingreader.scm
> [...]
>> +++ b/gnu/packages/inklingreader.scm
>> @@ -0,0 +1,65 @@
>> [...]
>> +(arguments `(#:configure-flags '("--enable-silent-rules")))
>
> this is automatically done, so this flag is not needed.

Fixed.

>> +(inputs
>> + `(("glib" ,glib)
>> +   ("cairo" ,cairo)
>> +   ("librsvg" ,librsvg)
>> +   ("gtk+" ,gtk+)
>> +   ("libusb" ,libusb)
>> +
>> +   ;; Needed to build the package.
>> +   ("texinfo" ,texinfo)))
>
> Actually the documentation is not built so I don't think this is needed.
> If you want to easily provide the do

Re: [PATCH] gnu: Add inklingreader

2015-11-10 Thread Mathieu Lirzin
Roel Janssen  writes:

 +(home-page "http://savannah.gnu.org/projects/inklingreader/";)
 +(synopsis "Wacom Inkling sketch format conversion and manipulation")
 +(description
 + "GNU InklingReader is a free software package to support the Wacom 
 Inkling
 +device, including data conversion to various free formats, basic editing
 +features, and an Inkscape plugin.")
>>>
>>> Since all software in Guix is free software you should not mention this
>>> here again.
>>
>> In fact the description is in gnumaint:
>>
>>   
>> http://cvs.savannah.gnu.org/viewvc/womb/gnumaint/pkgblurbs.txt?revision=1.61&view=markup
>>
>> If it gets fixed in Guix it will need to be fixed there too, or ‘guix
>> lint’ will continue to report a suggested description.
>
> I don't know how to fix it in gnumaint.. I can update the package
> description on the Guix file of course.

this message was meant to Ricardo, sorry if it has confused you.  To
answer your question, in fact editing gnumaint requires commit access
that most of Guix contributors don't have.  We need to ask to Ludovic
for that. ;)

--
Mathieu Lirzin



Re: Update mafft to 7.245.

2015-11-10 Thread Ben Woodcroft

Two reviews in record time, nice.

On 10/11/15 23:12, Efraim Flashner wrote:

On Tue, 10 Nov 2015 22:18:10 +1000
Ben Woodcroft  wrote:


Also had to fix the inputs. Hard not to notice these things in the
environment container - worked well thanks.

Do they need to be propagated inputs? Did you try them as native-inputs?
Often that's enough to take care of it.
The main program 'mafft' is actually a reasonably long shell script, 
which itself calls awk, grep, perl, etc. collectively many times (>100 I 
would guess). I think it is intended to be run where these programs are 
available. I could do as Ricardo suggests and run substitute* but this 
seems a bit error-prone and not very future-proof to me, especially when 
the shell script is difficult to exhaustively test. WDYT?


Note that mafft is probably not going to remain as a leaf because a 
number of bioinformatic tools not yet packaged rely on it.

Also, instead of:
Fix inputs.
the commit message is more along the lines of:
   [inputs]: Move inputs to propagated-inputs and add missing dependencies.
but I normally have to check against older commit messages to see what others
are doing and I try to copy that.
Hopefully the attached is a better attempt? I also added another small 
improvement, not distributing the manpage of a program that is excluded 
from distribution.


Thanks.


>From e05c50d2b40bf3290ec247223b3504429e9ad44e Mon Sep 17 00:00:00 2001
From: Ben Woodcroft 
Date: Wed, 11 Nov 2015 08:04:55 +1000
Subject: [PATCH] gnu: mafft: Update to 7.245.

* gnu/packages/bioinformatics.scm (mafft): Update to 7.245.
[arguments]: Don't include mafft-homologs manpage.
[inputs]: Move inputs to propagated-inputs and add missing dependencies.
---
 gnu/packages/bioinformatics.scm | 15 +++
 1 file changed, 11 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index f13e405..9ee669e 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -40,6 +40,7 @@
   #:use-module (gnu packages compression)
   #:use-module (gnu packages cpio)
   #:use-module (gnu packages file)
+  #:use-module (gnu packages gawk)
   #:use-module (gnu packages java)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages machine-learning)
@@ -1688,7 +1689,7 @@ sequencing tag position and orientation.")
 (define-public mafft
   (package
 (name "mafft")
-(version "7.221")
+(version "7.245")
 (source (origin
   (method url-fetch)
   (uri (string-append
@@ -1697,7 +1698,7 @@ sequencing tag position and orientation.")
   (file-name (string-append name "-" version ".tgz"))
   (sha256
(base32
-"0xi7klbsgi049vsrk6jiwh9wfj3b770gz3c8c7zwij448v0dr73d"
+"0m1l7gdrmfxjw54d3a0g18w6rwqrra9w9zvxix7dcddw6d1qyir2"
 (build-system gnu-build-system)
 (arguments
  `(#:tests? #f ; no automated tests, though there are tests in the read me
@@ -1718,6 +1719,9 @@ sequencing tag position and orientation.")
   ;; remove mafft-homologs.rb from SCRIPTS
   (("^SCRIPTS = mafft mafft-homologs.rb")
"SCRIPTS = mafft")
+  ;; remove mafft-homologs from MANPAGES
+  (("^MANPAGES = mafft.1 mafft-homologs.1")
+   "MANPAGES = mafft.1")
   ;; remove mafft-distance from PROGS
   (("^PROGS = dvtditr dndfast7 dndblast sextet5 mafft-distance")
"PROGS = dvtditr dndfast7 dndblast sextet5")
@@ -1731,8 +1735,11 @@ sequencing tag position and orientation.")
 \\$\\(DESTDIR\\)\\$\\(LIBDIR\\)") "#"))
 #t))
  (delete 'configure
-(inputs
- `(("perl" ,perl)))
+(propagated-inputs
+ `(("perl" ,perl)
+   ("gawk" ,gawk)
+   ("coreutils" ,coreutils)
+   ("grep" ,grep)))
 (home-page "http://mafft.cbrc.jp/alignment/software/";)
 (synopsis "Multiple sequence alignment program")
 (description
-- 
2.4.3



Re: [PATCH 07/21] gnu: Add ghc-patience.

2015-11-10 Thread Ludovic Courtès
Paul van der Walt  skribis:

> * gnu/packages/haskell.scm (ghc-patience): New variable.

LGTM



Re: [PATCH 06/21] gnu: Add ghc-newtype.

2015-11-10 Thread Ludovic Courtès
Paul van der Walt  skribis:

> * gnu/packages/haskell.scm (ghc-newtype): New variable.

LGTM



Re: [PATCH 03/21] gnu: Add ghc-monads-tf.

2015-11-10 Thread Ludovic Courtès
Paul van der Walt  skribis:

> * gnu/packages/haskell.scm (ghc-monads-tf): New variable.

OK



Re: [PATCH 01/21] gnu: ghc-regex-posix: Propagate inputs.

2015-11-10 Thread Ludovic Courtès
Paul van der Walt  skribis:

> * gnu/packages/haskell.scm (ghc-regex-posix): Move ghc-regex-base to
>   propagated inputs.

[...]

> * gnu/packages/haskell.scm (ghc-regex-compat): Move ghc-regex-base and
>   ghc-regex-posix to propagated inputs.

In general we justify propagation in a comment.  However, for GHC
packages, it would rather be the opposite: why would one not propagate
an input?  Am I right?

If yes, OK for both patches as-is.

Ludo’.



Re: [PATCH 05/21] gnu: Add ghc-tasty-th.

2015-11-10 Thread Ludovic Courtès
Paul van der Walt  skribis:

> * gnu/packages/haskell.scm (ghc-tasty-th): New variable.

[...]

> +(propagated-inputs
> + `(("ghc-language-haskell-extract" ,ghc-language-haskell-extract)))
> +(inputs
> + `(("ghc-tasty" ,ghc-tasty)))

Not propagated?  Could you explain why in a comment?

OK with this change.

Ludo’.



Re: [PATCH 10/21] gnu: Add ghc-lifted-async.

2015-11-10 Thread Ludovic Courtès
Paul van der Walt  skribis:

> * gnu/packages/haskell.scm (ghc-lifted-async): New variable.

[...]

> +(inputs
> + `(("ghc-async" ,ghc-async)
> +   ("ghc-lifted-base" ,ghc-lifted-base)
> +   ("ghc-transformers-base" ,ghc-transformers-base)
> +   ("ghc-monad-control" ,ghc-monad-control)
> +   ("ghc-mtl" ,ghc-mtl)
> +   ("ghc-hunit" ,ghc-hunit)
> +   ("ghc-tasty" ,ghc-tasty)
> +   ("ghc-tasty-hunit" ,ghc-tasty-hunit)
> +   ("ghc-tasty-th" ,ghc-tasty-th)))
> +(propagated-inputs
> + `(("ghc-constraints" ,ghc-constraints)))

Could you add a comment saying why those above are not propagated?
Maybe they’re just used for tests?

OK with this change.



Re: [PATCH 04/21] gnu: Add ghc-language-haskell-extract.

2015-11-10 Thread Ludovic Courtès
Paul van der Walt  skribis:

> * gnu/packages/haskell.scm (ghc-language-haskell-extract): New variable.

LGTM



Re: [PATCH 09/21] gnu: Add ghc-language-c.

2015-11-10 Thread Ludovic Courtès
Paul van der Walt  skribis:

> * gnu/packages/haskell.scm (ghc-language-c): New variable.

LGTM



Re: [PATCH 08/21] gnu: Add ghc-constraints.

2015-11-10 Thread Ludovic Courtès
Paul van der Walt  skribis:

> * gnu/packages/haskell.scm (ghc-constraints): New variable.

LGTM



Re: [PATCH 11/21] gnu: Add ghc-options.

2015-11-10 Thread Ludovic Courtès
Paul van der Walt  skribis:

> * gnu/packages/haskell.scm (ghc-options): New variable.

LGTM



Re: [PATCH 19/21] gnu: Add ghc-alsa-core.

2015-11-10 Thread Ludovic Courtès
Paul van der Walt  skribis:

> * gnu/packages/haskell.scm (ghc-alsa-core): New variable.

LGTM.  Please make sure that the package closes over the absolute
libalsa file name.

Ludo’.



Re: [PATCH 12/21] gnu: Add ghc-chell.

2015-11-10 Thread Ludovic Courtès
Paul van der Walt  skribis:

> * gnu/packages/haskell.scm (ghc-chell): New variable.

LGTM



Re: [PATCH 17/21] gnu: Add ghc-shelly.

2015-11-10 Thread Ludovic Courtès
Paul van der Walt  skribis:

> * gnu/packages/haskell.scm (ghc-shelly): New variable.

[...]

> +(inputs
> + `(("ghc-mtl" ,ghc-mtl)
> +   ("ghc-unix-compat" ,ghc-unix-compat)

Why not propagated again?  :-)

Ludo’.



Re: [PATCH 14/21] gnu: Add ghc-system-filepath.

2015-11-10 Thread Ludovic Courtès
Paul van der Walt  skribis:

> * gnu/packages/haskell.scm (ghc-system-filepath): New variable.

[...]

> +(inputs
> + `(("ghc-text" ,ghc-text)
> +   ("ghc-chell" ,ghc-chell)
> +   ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)
> +   ("ghc-quickcheck" ,ghc-quickcheck)))

Please add a comment on why it’s not propagated.

OK with this change.



Re: [PATCH 20/21] gnu: Add ghc-alsa-mixer.

2015-11-10 Thread Ludovic Courtès
Paul van der Walt  skribis:

> * gnu/packages/haskell.scm (ghc-alsa-mixer): New variable.

[...]

> +(inputs
> + `(("ghc-alsa-core" ,ghc-alsa-core)))

Propagated?

Thanks for all the work!

Ludo'.



Re: [PATCH 13/21] gnu: Add ghc-chell-quickcheck.

2015-11-10 Thread Ludovic Courtès
Paul van der Walt  skribis:

> * gnu/packages/haskell.scm (ghc-chell-quickcheck): New variable.

[...]

> +(inputs
> + `(("ghc-chell" ,ghc-chell)
> +   ("ghc-quickcheck" ,ghc-quickcheck)
> +   ("ghc-random" ,ghc-random)))

Propagation?

OK with a comment.



Re: [PATCH 16/21] gnu: Add ghc-enclosed-exceptions.

2015-11-10 Thread Ludovic Courtès
Paul van der Walt  skribis:

> * gnu/packages/haskell.scm (ghc-enclosed-exceptions): New variable.

LGTM



Re: [PATCH 15/21] gnu: Add ghc-system-fileio.

2015-11-10 Thread Ludovic Courtès
Paul van der Walt  skribis:

> * gnu/packages/haskell.scm (ghc-system-fileio): New variable.

[...]

> +(inputs
> + `(("ghc-system-filepath" ,ghc-system-filepath)
> +   ("ghc-text" ,ghc-text)
> +   ("ghc-chell" ,ghc-chell)
> +   ("ghc-temporary" ,ghc-temporary)))

Propagated?



Re: [PATCH 21/21] gnu: Add xmobar.

2015-11-10 Thread Ludovic Courtès
Paul van der Walt  skribis:

> * gnu/packages/wm.scm (xmobar): New variable.

LGTM



Re: [PATCH] build: pull: Compile .scm files in one process.

2015-11-10 Thread Ludovic Courtès
taylanbayi...@gmail.com (Taylan Ulrich "Bayırlı/Kammer") skribis:

> compiling 
> '/gnu/store/dbkpm8rqjz096w0bchmnlj8gw15q2riy-guix-latest/guix/scripts/environment.scm'...
> Backtrace:
> In ice-9/boot-9.scm:
> 2401: 19 [save-module-excursion # ice-9/boot-9.scm:3066:17 ()>]
> 3085: 18 [#]
> In unknown file:
>?: 17 [primitive-load-path "gnu/packages/cross-base" ...]
> In ice-9/eval.scm:
>  505: 16 [# (define-module # 
> # ...)]
> In ice-9/psyntax.scm:
> 1106: 15 [expand-top-sequence ((define-module # # # ...)) () ((top)) ...]
>  989: 14 [scan ((define-module (gnu packages cross-base) #:use-module ...)) 
> () ...]
>  279: 13 [scan ((#(syntax-object let # ...) (#) (# #) ...)) () ...]
> In ice-9/eval.scm:
>  411: 12 [eval # ()]
> In ice-9/boot-9.scm:
> 2951: 11 [define-module* (gnu packages cross-base) #:filename ...]
> 2926: 10 [resolve-imports ((#) (#) (#) (#) ...)]
> 2864: 9 [resolve-interface (gnu packages commencement) #:select ...]
> 2789: 8 [# autoload version #:key ensure)> # ...]
> 3065: 7 [try-module-autoload (gnu packages commencement) #f]
> 2401: 6 [save-module-excursion # ice-9/boot-9.scm:3066:17 ()>]
> 3085: 5 [#]
> In unknown file:
>?: 4 [primitive-load-path "gnu/packages/commencement" ...]
> In ice-9/eval.scm:
>  432: 3 Exception thrown while printing backtrace:
> ERROR: In procedure package-location: Wrong type argument: Error while 
> printing exception.

(gnu scripts environment) imports (gnu packages bash), so we end up
loading a big bunch of (gnu packages …) modules.

The problem is that (gnu packages commencement) refers to (gnu packages
bash) from its top-level.  But here, we are loading (gnu packages bash)
first, which somehow entails loading (gnu packages cross-base), which
loads (gnu packages commencement), which sees a (gnu packages bash)
module containing zero bindings.

What’s unclear to me though is why (gnu packages cross-base) gets loaded
in the first place.

Could you investigate in that direction?

Thanks in advance,
Ludo’.



Re: [PATCH 1/2] gnu: Add qtkeychain.

2015-11-10 Thread Ludovic Courtès
Efraim Flashner  skribis:

> On Thu, 05 Nov 2015 22:28:42 +0100
> l...@gnu.org (Ludovic Courtès) wrote:
>
>> Efraim Flashner  skribis:
>> 
>> > * gnu/packages/qt.scm (qtkeychain): New variable.  
>> 
>> [...]
>> 
>> > +   (modify-phases
>> > + %standard-phases  
>> 
>> ‘%standard-phases’ goes on the previous line.
>> 
>> > + (add-before
>> > +  'configure 'set-qt-trans-dir
>> > +   (lambda _
>> > + (substitute* "CMakeLists.txt"
>> > +  (("\\$\\{qt_translations_dir\\}")
>> > +
>> > "${CMAKE_INSTALL_PREFIX}/share/qtkeychain/translations")))  
>> 
>> Is Qt able to find translations installed there?  Is some environment
>> variable needed to tell it where to look for them?
>
> I don't really know.

Could you check by running it with a non-English locale listed that
appears in the ‘translations’ directory?

Maybe run the application in ‘strace’ to see whether/where it looks for
its translation files.

> Without this it tries to install them to
> /gnu/store/...qt5/translations, so I tried to make a directory that
> would make sense. In this patch I've changed it to just /translations,
> but I still didn't see it in .guix-profile/share/{de,ro}/LC_MESSAGES/,
> so I don't really know what to do with it.

Qt has its own mechanism for translation of UI messages.  The
LC_MESSAGES thing is used by the ‘gettext’ function, part of libc.

Applications using ‘gettext’ tell libc the location of their
translations using ‘bindtextdomain’.

Qt must have a way to know where translations are; maybe it has a
function similar to ‘bindtextdomain’, in which case things will just
work regardless of where translations are installed.

TIA,
Ludo’.



Re: [PATCH 2/2] gnu: Add owncloud-client.

2015-11-10 Thread Ludovic Courtès
Efraim Flashner  skribis:

> From 56d9cb2f5132838cbaefb9a5488fb2cdd9b126e2 Mon Sep 17 00:00:00 2001
> From: Efraim Flashner 
> Date: Mon, 2 Nov 2015 19:31:31 +0200
> Subject: [PATCH 2/2] gnu: Add owncloud-client.
>
> * gnu/packages/owncloud.scm (owncloud-client): New variable.
> * gnu-system.am [GNU_SYSTEM_MODULES]: Add it.

Should be parentheses instead of square brackets here (see ‘git log’.)

Otherwise LGTM, thanks!

Ludo’.



Re: [PATCH 18/21] gnu: Add c2hs.

2015-11-10 Thread Ludovic Courtès
Paul van der Walt  skribis:

> * gnu/packages/haskell.scm (c2hs): New variable.

[...]

> +(inputs
> + `(("ghc-language-c" ,ghc-language-c)
> +   ("ghc-dlist" ,ghc-dlist)
> +   ("ghc-shelly" ,ghc-shelly)
> +   ("ghc-text" ,ghc-text)))

Should be propagated?



Re: [PATCH 3/5] gnu: Build lua-5.2 with a dynamic library

2015-11-10 Thread Leo Famulari
Forgot to send this one to the list...
To: Ludovic Courtès 
Subject: Re: [PATCH 3/5] gnu: Build lua-5.2 with a dynamic library
Date: Mon, 09 Nov 2015 18:46:39 -0500

> This is not optimal though because:
> 
>   1. We’re still providing liblua.a, but that archives actually contains
>  PIC code.
> 
>   2. The ‘lua’ and ‘luac’ executables are not linked against liblua.so.

Agreed. I will look into it.



Re: [PATCH 2/5] gnu: Build lua-5.2 with dynamic library support.

2015-11-10 Thread Leo Famulari
Forgot to send this to the list...

On Sun, Nov 8, 2015, at 16:08, Ludovic Courtès wrote:
> Leo Famulari  skribis:
> 
> > * gnu/packages/lua.scm (lua-5.2)[arguments]: Rewrite make-flags so that
> >   Lua is built with platform-specific instructions for shared library
> >   loading (dlopen).
> 
> Please move the explanations as a comment in the code.

Okay.
 
> > #:phases (alist-replace
> >   'build
> > - (lambda _ (zero? (system* "make" "CFLAGS=-fPIC" "linux")))
> > + (lambda _ (zero? (system* "make"
> > +   "PLAT=linux"
> > +   "MYCFLAGS=-fPIC"
> > +   "MYLDFLAGS=-fPIC")))
> 
> How can I test whether this works as expected?  I tried this, but I’m
> unsure whether it’s supposed to load OpenSSL’s libssl.so directly or
> not:

There is a Lua library named luasec that provides SSL. Luasec only
supports lua-5.1 except in an alpha release (luasec-0.6). [1]

I am able to load luasec by telling Lua where to look. I have lua-5.1
and luasec in my profile:

$ LUA_PATH=~/.guix-profile/share/lua/5.1/\?.lua
LUA_CPATH=~/.guix-profile/lib/lua/5.1/\?.so lua -lssl
Lua 5.1.5  Copyright (C) 1994-2012 Lua.org, PUC-Rio
> 
^ That is the Lua prompt, indicating that the Lua interpreter has
successfully imported the SSL libraries. The '?' character is replaced
by the component that Lua is currently searching for. So, if you invoke
`lua -ssl`,  the "?.so" in LUA_CPATH is replaced by ssl.so.

> Apologies in advance if I’m just asking stupid questions!

Not at all, everything I know about Lua I have learned trying to get
Prosody packaged for Guix. I am about 1 week ahead of you in terms of
Lua knowledge ;)

> Besides, it would be nice to get rid of these hard-coded /usr/local in a
> subsequent patch.

This is related to my next step and I need some advice.

We need to set LUA_PATH and LUA_CPATH properly in order for programs to
load external Lua libraries. I have been installing Lua libraries into
${out}/lib/lua/${LUA_VERSION} and ${out}/share/lua/${LUA_VERSION}, so
that they end up at, for example, ~/.guix-profile/lib/lua/5.1/ssl.so [2]

Nixpkgs makes it all work by setting the paths in wrappers around
programs that need to find Lua libraries. I don't fully understand how
they generate the paths but I get the idea. Some examples:
https://github.com/NixOS/nixpkgs/blob/master/pkgs/servers/xmpp/prosody/default.nix
https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/video/quvi/tool.nix

What do you think?

Leo 

[1] I have some of these packages defined in a WIP branch:
https://github.com/lfam/guix/commits/contrib-lua

[2]
bourne shell variable syntax (don't have paredit in my email client)



Re: [PATCH] Add microscheme.

2015-11-10 Thread Ricardo Wurmus

Ludovic Courtès  writes:

>> From 1900f3015162cc777ee79883a0cae2a21216d99c Mon Sep 17 00:00:00 2001
>> From: Ricardo Wurmus 
>> Date: Fri, 6 Nov 2015 22:37:40 +0100
>> Subject: [PATCH 2/2] gnu: Add microscheme.
>>
>> * gnu/packages/avr.scm (microscheme): New variable.
>
> [...]
>
>> +(home-page "http://microscheme.org/";)
>> +(synopsis "Scheme subset for Atmel microcontrollers")
>
> “Small Scheme implementation targeting microcontrollers”?  (“Scheme
> subset” is vague; “Scheme” alone is already quite vague.  ;-))
>
> I would tend to put it in scheme.scm.  Also, it apparently builds on all
> the CPUs that we use, so I’m not sure if it’s worth mentioning Atmel
> here?

I placed it in ‘scheme.scm’ before, but then noticed that we have an
AVR-specific module and moved it there.  It’s not a general purpose
implementation of Scheme.

Microscheme invokes avr-gcc and needs avrdude to upload the binary to
the target.  While it can be used on any of the CPUs for which we offer
support, its purpose is to generate binary code for a subset of the
Atmel AVRs: Atmega168/328, Atmega2560, Atmega32u4.

You can run programmes written in microscheme on something that’s not a
microcontroller by loading up ‘emulator.scm’ first, but that’s just
intended as a development tool.

I don’t mind changing the synopsis, though, as the description is pretty
clear on what targets are supported.

~~ Ricardo




Re: [PATCH] website: Add support for Haunt.

2015-11-10 Thread Alex Vong
Hi,

On 11/11/2015, Mathieu Lirzin  wrote:
> Hi,
>
> Alex Vong  writes:
>
>> However, there is a little problem. When I run "haunt build -c
>> guixsd.scm",
>>
> [...]
>> In unknown file:
>>?: 0 [scm-error misc-error #f "~A ~S" ("no code for module" (www)) #f]
>>
>> ERROR: In procedure scm-error:
>> ERROR: no code for module (www)
> [...]
>> This are my installed packages:
>>
> [...]
>>
>> autogen  5.18.6  out 
>> /gnu/store/3gsqxw3gw862k1m1zmf2wb9p9fc30k7k-autogen-5.18.6
>>   perl   5.16.1  out 
>> /gnu/store/czs63sm4l0s4a56ab38dqvkx19yzylbq-perl-5.16.1
>>
>> python   3.4.3   out 
>> /gnu/store/y5x6c38fzrbfl80jxrgjd6py2k88x12a-python-3.4.3
>>
>> guile2.0.11  out 
>> /gnu/store/5i87jzm90nw8j692y7z1j2qfx16h6ni3-guile-2.0.11
>>   haunt  0.1 out 
>> /gnu/store/k0cg8shqs12dh9j3a47b6hkvcrk998zg-haunt-0.1
>>
>> I also try to install guile-www from tarball, but it doesn't help. I
>> think this make sense since haunt cannot load module from my
>> /usr/share/guile/site. Does anyone know how to fix it?
>
> The (www) module is the module for the website which is defined in
> 'website/www.scm' so it not related to guile-www.
>
> What is going on is that the current working directory is not in Guile
> load path.  In the git version of Haunt, this is added automatically but
> in the latest 0.1 release which is the version provided by Guix, this
> feature doesn't exist. See:
>
>
> https://git.dthompson.us/haunt.git/commit/288913eff2fc308354a373c39463e48bb879ea91
>
> Since I have only used the git version, I didn't check that.  If you
> want to install the latest version from Guix, There is a development
> package definition "guix.scm" in the git repository of Haunt.
>
> Thanks for reporting the issue,
>
> --
> Mathieu Lirzin
>

I have followed your instruction but there is still a problem. After I
run `guix build -f guix.scm`, I try to run:

alexvong1995@debian:~$
/gnu/store/n8r3jj2jhs5xvpcf2d4crqk706089sxa-haunt-0.1/bin/haunt --help
Backtrace:
In ice-9/boot-9.scm:
 157: 17 [catch #t # ...]
In unknown file:
   ?: 16 [apply-smob/1 #]
In ice-9/boot-9.scm:
  63: 15 [call-with-prompt prompt0 ...]
In ice-9/eval.scm:
 432: 14 [eval # #]
In ice-9/boot-9.scm:
2401: 13 [save-module-excursion #]
4050: 12 [#]
1724: 11 [%start-stack load-stack ...]
1729: 10 [#]
In unknown file:
   ?: 9 [primitive-load
"/gnu/store/n8r3jj2jhs5xvpcf2d4crqk706089sxa-haunt-0.1/bin/haunt"]
In ice-9/eval.scm:
 505: 8 [# (use-modules #)]
In ice-9/psyntax.scm:
1106: 7 [expand-top-sequence ((use-modules (haunt ui))) () ...]
 989: 6 [scan ((use-modules (haunt ui))) () ...]
 279: 5 [scan ((# #) #(syntax-object *unspecified* # #)) () (()) ...]
In ice-9/boot-9.scm:
3597: 4 [process-use-modules (((haunt ui)))]
 702: 3 [map # ((#))]
3598: 2 [#
((haunt ui))]
2867: 1 [resolve-interface (haunt ui) #:select ...]
In unknown file:
   ?: 0 [scm-error misc-error #f "~A ~S" ("no code for module" (haunt ui)) #f]

ERROR: In procedure scm-error:
ERROR: no code for module (haunt ui)

Thanks for your help!

Cheers,
Alex