Re: (Exposing?) config files and non-start/stop operations

2016-11-21 Thread Chris Marusich
Hi Chris!

Thanks for entertaining my questions.

Christopher Allan Webber  writes:

>> So sure, we can run "foo-db gc" occasionally (though system
>> administrators sometimes have to run these kinds of commands by hand).
>> But what about "foo-db dumpdb"?  That's not something we just run on a
>> cronjob.  You need access to that command.  And in order for the command
>> to do the right thing, it might need access to the config file.

I'm having trouble understanding the motivation here.  Can you clarify
why it's preferable to model the action as a Shepherd action, even
though a mechanism already exists to perform the action (e.g., "foo-db
dumpdb")?

I don't know a lot about Shepherd (yet!), but it seems like you COULD
model the action as a Shepherd action.  The question is: WHY would that
be better than just performing the action via "the usual" mechanism?  If
you can provide a more concrete example which illustrates the problem
for a specific service/daemon, it might help me to understand where
you're coming from.

-- 
Chris


signature.asc
Description: PGP signature


[PATCH] gnu: Add espeak.

2016-11-21 Thread Kei Kebreau

I think the patch works fine, but I'd love to hear comments about its
clarity.

:-)



0001-gnu-Add-espeak.patch
Description: tex/plain


signature.asc
Description: PGP signature


[PATCH 1/8] gnu: Add aspell-dict-he.

2016-11-21 Thread Efraim Flashner
* gnu/packages/aspell.scm (aspell-dict-he): New variable.
---
 gnu/packages/aspell.scm | 8 
 1 file changed, 8 insertions(+)

diff --git a/gnu/packages/aspell.scm b/gnu/packages/aspell.scm
index b702412..21014c0 100644
--- a/gnu/packages/aspell.scm
+++ b/gnu/packages/aspell.scm
@@ -2,6 +2,7 @@
 ;;; Copyright © 2013, 2014, 2015 Ludovic Courtès 
 ;;; Copyright © 2015, 2016 Alex Kost 
 ;;; Copyright ©2016 John Darrington 
+;;; Copyright ©2016 Efraim Flashner 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -155,3 +156,10 @@ dictionaries, including personal ones.")
  #:sha256
  (base32
   "0ffb87yjsh211hllpc4b9khqqrblial4pzi1h9r3v465z1yhn3j4")))
+
+(define-public aspell-dict-he
+  (aspell-dictionary "he" "Hebrew"
+ #:version "1.0-0"
+ #:sha256
+ (base32
+  "13bhbghx5b8g0119g3wxd4n8mlf707y41vlf59irxjj0kynankfn")))
-- 
2.10.2




[PATCH 6/8] gnu: Add qsyncthingtray.

2016-11-21 Thread Efraim Flashner
* gnu/packages/sync.scm (qsyncthingtray): New variable.
---
 gnu/packages/sync.scm | 55 +++
 1 file changed, 55 insertions(+)

diff --git a/gnu/packages/sync.scm b/gnu/packages/sync.scm
index 186914d..058d26a 100644
--- a/gnu/packages/sync.scm
+++ b/gnu/packages/sync.scm
@@ -103,3 +103,58 @@ to and a server to synchronize to.  You can configure more 
computers to
 synchronize to the same server and any change to the files on one computer will
 silently and reliably flow across to every other.")
 (license license:gpl2+)))
+
+(define-public qsyncthingtray
+  (package
+(name "qsyncthingtray")
+(version "0.5.5rc2")
+(source
+  (origin
+(method url-fetch)
+(uri (string-append
+   "https://github.com/sieren/QSyncthingTray/archive/;
+   version ".tar.gz"))
+(file-name (string-append name "-" version ".tar.gz"))
+(sha256
+ (base32
+  "0wygq9sfayyhd3ff31yfs5lfl3vnk79i9mnj6m4pgi9zlvdipi80"
+(build-system cmake-build-system)
+(arguments
+ `(#:configure-flags '("-DQST_BUILD_WEBKIT=1")
+   #:phases
+   (modify-phases %standard-phases
+ ;; The program is meant to be run from the git repo or source tarball.
+ (replace 'install
+   (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+(bin (string-append out "/bin")))
+   (install-file "QSyncthingTray" bin)
+   (install-file (string-append
+   "../QSyncthingTray-"
+   ,(package-version qsyncthingtray)
+   "/resources/images/Icon1024.png")
+ (string-append
+   out "/share/pixmaps/QSyncthingTray.png"))
+   #t
+   #:tests? #f)) ; no test target
+(inputs
+ `(("qtbase" ,qtbase)
+   ("qtwebkit" ,qtwebkit)))
+(home-page "https://github.com/sieren/QSyncthingTray;)
+(synopsis "Traybar Application for Syncthing")
+(description
+ "A traybar application for syncthing.
+@enumerate
+@item Shows number of connections at a glance.
+@item Traffic statistics about incoming, outgoing and total throughput.
+@item Launches Syncthing and Syncthing-iNotifier if specified.
+@item Quickly pause Syncthing with one click.
+@item Last Synced Files - Quickly see the recently synchronised files and open
+their folder.
+@item Quick Access to all shared folders.
+@item Presents Syncthing UI in a separate view instead of using the browser.
+@item Supports authenticated HTTPS connections.
+@item Uses System Notifications about current connection status.
+@item Toggle for monochrome icon.
+@end enumerate\n")
+(license license:lgpl3+)))
-- 
2.10.2




[PATCH 2/8] gnu: Add wgetpaste.

2016-11-21 Thread Efraim Flashner
* gnu/packages/wget.scm (wgetpaste): New variable.
---
 gnu/packages/wget.scm | 34 ++
 1 file changed, 34 insertions(+)

diff --git a/gnu/packages/wget.scm b/gnu/packages/wget.scm
index 80da332..72aab86 100644
--- a/gnu/packages/wget.scm
+++ b/gnu/packages/wget.scm
@@ -1,6 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2012 Nikita Karetnikov 
 ;;; Copyright © 2014, 2015 Ludovic Courtès 
+;;; Copyright © 2016 Efraim Flashner 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -60,3 +61,36 @@ HTTPS and FTP protocols.  It can resume interrupted 
downloads, use file name
 wild cards, supports proxies and cookies, and it can convert absolute links
 in downloaded documents to relative links.")
 (license gpl3+))) ; some files are under GPLv2+
+
+(define-public wgetpaste
+  (package
+(name "wgetpaste")
+(version "2.28")
+(source
+  (origin
+(method url-fetch)
+(uri (string-append "http://wgetpaste.zlin.dk/wgetpaste-;
+version ".tar.bz2"))
+(sha256
+ (base32
+  "1hh9svyypqcvdg5mjxyyfzpdzhylhf7s7xq5dzglnm4injx3i3ak"
+(build-system gnu-build-system)
+(arguments
+ '(#:phases
+   (modify-phases %standard-phases
+ (delete 'configure)
+ (delete 'build)
+ (replace 'install
+   (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+(bin (string-append out "/bin"))
+(zsh (string-append out "/share/zsh/site-functions")))
+   (install-file "wgetpaste" bin)
+   (install-file "_wgetpaste" zsh)
+   #:tests? #f)) ; no test target
+(home-page "http://wgetpaste.zlin.dk/;)
+(synopsis "Script that automates pasting to a number of pastebin services")
+(description
+ "@code{wgetpaste} is an extremely simple command-line interface to various
+online pastebin services.")
+(license public-domain)))
-- 
2.10.2




[PATCH 8/8] gnu: Add econnman.

2016-11-21 Thread Efraim Flashner
* gnu/packages/connman.scm (econnman): New variable.
---
 gnu/packages/connman.scm | 36 
 1 file changed, 36 insertions(+)

diff --git a/gnu/packages/connman.scm b/gnu/packages/connman.scm
index 7af20c9..2ccd81c 100644
--- a/gnu/packages/connman.scm
+++ b/gnu/packages/connman.scm
@@ -24,6 +24,7 @@
   #:use-module (guix utils)
   #:use-module (gnu packages)
   #:use-module (gnu packages admin)
+  #:use-module (gnu packages enlightenment)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages pkg-config)
@@ -90,3 +91,38 @@ cases.  Connman implements DNS resolving and caching, DHCP 
clients for both
 IPv4 and IPv6, link-local IPv4 address handling and tethering (IP connection
 sharing) to clients via USB, ethernet, WiFi, cellular and Bluetooth.")
 (license gpl2)))
+
+(define-public econnman
+  (package
+(name "econnman")
+(version "1.1")
+(source
+  (origin
+(method url-fetch)
+(uri (string-append "https://download.enlightenment.org/rel/apps/;
+"econnman/econnman-" version ".tar.gz"))
+(sha256
+ (base32
+  "057pwwavlvrrq26bncqnfrf449zzaim0zq717xv86av4n940gwv0"
+(build-system gnu-build-system)
+(arguments
+ `(#:configure-flags '("--localstatedir=/var")
+   #:phases
+   (modify-phases %standard-phases
+ (add-after 'install 'wrap-binary
+   (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+(bin (string-append out "/bin/econnman-bin")))
+   (wrap-program bin
+ `("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH"
+   #t))
+(native-inputs `(("pkg-config" ,pkg-config)))
+(inputs
+ `(("efl" ,efl)
+   ("python-2" ,python-2)
+   ("python2-efl" ,python2-efl)))
+(home-page "https://www.enlightenment.org;)
+(synopsis "Connman User Interface written using the EFL")
+(description
+ "An EFL user interface for the @code{connman} connection manager.")
+(license lgpl3)))
-- 
2.10.2




[PATCH 7/8] gnu: Add lekha.

2016-11-21 Thread Efraim Flashner
* gnu/packages/enlightenment.scm (lekha): New variable.
---
 gnu/packages/enlightenment.scm | 31 +++
 1 file changed, 31 insertions(+)

diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm
index 25b8caf..13827af 100644
--- a/gnu/packages/enlightenment.scm
+++ b/gnu/packages/enlightenment.scm
@@ -31,6 +31,7 @@
   #:use-module (gnu packages compression)
   #:use-module (gnu packages curl)
   #:use-module (gnu packages fontutils)
+  #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages fribidi)
   #:use-module (gnu packages game-development)
   #:use-module (gnu packages gettext)
@@ -298,3 +299,33 @@ that tries to lower the barrier to getting involved in 
Enlightenment development
 and in creating applications based on the Enlightenment Foundation Library 
suite.")
 (license (list license:public-domain ; data/extra/skeleton
license:gpl2  ; edi
+
+(define-public lekha
+  (package
+(name "lekha")
+(version "0.2.1")
+(source (origin
+  (method url-fetch)
+  (uri (pypi-uri "Lekha" version))
+  (sha256
+   (base32
+"0zr6i74ik58pbzrd7r9l7sawqbdv0r2c1a9927qkqzwga27x8j15"
+(build-system python-build-system)
+(arguments
+ `(#:tests? #f ; no test target
+   #:python ,python-2
+   #:phases
+   (modify-phases %standard-phases
+ (add-after 'unpack 'fix-data-location
+   (lambda _ (substitute* "setup.py"
+   (("'/usr/")"'"))
+ #t)
+(inputs
+ `(("python2-efl" ,python2-efl)
+   ("python2-pypdf2" ,python2-pypdf2)
+   ("python2-pyxdg" ,python2-pyxdg)))
+(synopsis "Simple PDF viewer")
+(description
+ "Simple PDF viewer based on the Enlightenment Foundation Libraries.")
+(home-page "https://github.com/kaihu/lekha;)
+(license license:gpl3+)))
-- 
2.10.2




[PATCH 3/8] gnu: Add rkflashtool.

2016-11-21 Thread Efraim Flashner
* gnu/packages/flashing-tools.scm (rkflashtool): New variable.
---
 gnu/packages/flashing-tools.scm | 36 
 1 file changed, 36 insertions(+)

diff --git a/gnu/packages/flashing-tools.scm b/gnu/packages/flashing-tools.scm
index a55ed96..f25c25f 100644
--- a/gnu/packages/flashing-tools.scm
+++ b/gnu/packages/flashing-tools.scm
@@ -3,6 +3,7 @@
 ;;; Copyright © 2014 Manolis Fragkiskos Ragkousis 
 ;;; Copyright © 2016 Hartmut Goebel 
 ;;; Copyright © 2016 Ludovic Courtès 
+;;; Copyright © 2016 Efraim Flashner 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -22,6 +23,7 @@
 (define-module (gnu packages flashing-tools)
   #:use-module (guix licenses)
   #:use-module (guix download)
+  #:use-module (guix git-download)
   #:use-module (guix packages)
   #:use-module (gnu packages)
   #:use-module (guix build-system gnu)
@@ -211,3 +213,37 @@ You need to add the udev rules to make the Teensy update 
available for
 non-root users.")
   (home-page "https://www.pjrc.com/teensy/loader_cli.html;)
   (license gpl3
+
+(define-public rkflashtool
+  (let ((commit "094bd6410cb016e487e2ccb1050c59eeac2e6dd1")
+(revision "1"))
+(package
+  (name "rkflashtool")
+  (version (string-append "0.0.0-" revision "." (string-take commit 7)))
+  (source
+(origin
+  (method git-fetch)
+  (uri (git-reference
+(url "https://github.com/linux-rockchip/rkflashtool.git;)
+(commit commit)))
+  (file-name (string-append name "-" version "-checkout"))
+  (sha256
+   (base32
+"1zkd8zxir3rfg3sy9r20bcnxclnplryn583gqpcr3iad0k3xbah7"
+  (build-system gnu-build-system)
+  (arguments
+   '(#:phases
+ (modify-phases %standard-phases
+   (delete 'configure)) ; no configure
+ #:make-flags (list (string-append "PREFIX=" %output))
+ #:tests? #f)) ; no tests
+  (native-inputs
+   `(("pkg-config" ,pkg-config)))
+  (inputs
+   `(("libusb" ,libusb)))
+  (home-page "https://github.com/linux-rockchip/rkflashtool;)
+  (synopsis "Tools for flashing Rockchip devices")
+  (description "Allows flashing of Rockchip based embedded linux devices.
+The list of currently supported devices is: RK2818, RK2918, RK2928, RK3026,
+RK3036, RK3066, RK312X, RK3168, RK3188, RK3288, RK3368.")
+  (license bsd-2
-- 
2.10.2




[PATCH 0/8] Random collection of patches

2016-11-21 Thread Efraim Flashner
Here's a batch of patches that mostly come from my GUIX_PACKAGE_PATH that I've 
been sitting on for a bit.

Efraim Flashner (8):
  gnu: Add aspell-dict-he.
  gnu: Add wgetpaste.
  gnu: Add rkflashtool.
  gnu: Add viewnior.
  gnu: Rename owncloud.scm to sync.scm.
  gnu: Add qsyncthingtray.
  gnu: Add lekha.
  gnu: Add econnman.

 gnu/local.mk|  3 +-
 gnu/packages/aspell.scm |  8 
 gnu/packages/connman.scm| 36 +++
 gnu/packages/enlightenment.scm  | 31 +
 gnu/packages/flashing-tools.scm | 36 +++
 gnu/packages/{owncloud.scm => sync.scm} | 57 +++-
 gnu/packages/viewnior.scm   | 78 +
 gnu/packages/wget.scm   | 34 ++
 8 files changed, 281 insertions(+), 2 deletions(-)
 rename gnu/packages/{owncloud.scm => sync.scm} (66%)
 create mode 100644 gnu/packages/viewnior.scm

-- 
2.10.2




[PATCH 4/8] gnu: Add viewnior.

2016-11-21 Thread Efraim Flashner
* gnu/packages/viewnior.scm (viewnior): New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
---
 gnu/local.mk  |  1 +
 gnu/packages/viewnior.scm | 78 +++
 2 files changed, 79 insertions(+)
 create mode 100644 gnu/packages/viewnior.scm

diff --git a/gnu/local.mk b/gnu/local.mk
index 430d05f..43a3991 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -372,6 +372,7 @@ GNU_SYSTEM_MODULES =\
   %D%/packages/valgrind.scm\
   %D%/packages/version-control.scm \
   %D%/packages/video.scm   \
+  %D%/packages/viewnior.scm\
   %D%/packages/vim.scm \
   %D%/packages/vpn.scm \
   %D%/packages/vtk.scm \
diff --git a/gnu/packages/viewnior.scm b/gnu/packages/viewnior.scm
new file mode 100644
index 000..526d51a
--- /dev/null
+++ b/gnu/packages/viewnior.scm
@@ -0,0 +1,78 @@
+;;; Copyright © 2016 Efraim Flashner 
+;;;
+;;; 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 viewnior)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix download)
+  #:use-module (guix packages)
+  #:use-module (guix build-system gnu)
+  #:use-module (gnu packages autotools)
+  #:use-module (gnu packages base)
+  #:use-module (gnu packages geeqie)
+  #:use-module (gnu packages glib)
+  #:use-module (gnu packages gnome)
+  #:use-module (gnu packages gtk)
+  #:use-module (gnu packages pkg-config))
+
+(define-public viewnior
+  (package
+(name "viewnior")
+(version "1.6")
+(source
+  (origin
+(method url-fetch)
+(uri (string-append "https://github.com/xsisqox/Viewnior/archive/;
+name "-" version ".tar.gz"))
+(sha256
+ (base32
+  "18309qjgwak3kn228z3p3nx7yxasqgzx69v3rgc23hf161nky0c9"
+(build-system gnu-build-system)
+(arguments
+ '(#:phases
+   (modify-phases %standard-phases
+ (add-after 'unpack 'autogen
+   (lambda _
+ (zero? (system* "sh" "autogen.sh")))
+(native-inputs
+ `(("automake" ,automake)
+   ("autoconf" ,autoconf)
+   ("intltool" ,intltool)
+   ("glib" ,glib "bin") ; glib-genmarshal
+   ("gnome-common" ,gnome-common)
+   ("libtool" ,libtool)
+   ("pkg-config" ,pkg-config)
+   ("shared-mime-info" ,shared-mime-info)
+   ("which" ,which)))
+(inputs
+ `(("exiv2" ,exiv2)
+   ("gdk-pixbuf" ,gdk-pixbuf)
+   ("gtk+-2" ,gtk+-2)))
+(home-page "http://siyanpanayotov.com/project/viewnior/;)
+(synopsis "Simple, fast and elegant image viewer")
+(description "Viewnior is an image viewer program.  Created to be simple,
+fast and elegant.  Its minimalistic interface provides more screenspace for
+your images.  Among its features are:
+@enumerate
+@item Fullscreen & Slideshow
+@item Rotate, flip, crop, save, delete images
+@item Animation support
+@item Browse only selected images
+@item Navigation window
+@item Set image as wallpaper (Gnome 2, Gnome 3, XFCE, LXDE, FluxBox, Nitrogen)
+@item Simple interface
+@item EXIF and IPTC metadata
+@item Configurable mouse actions
+@end enumerate\n")
+(license license:gpl3+)))
-- 
2.10.2




[PATCH 5/8] gnu: Rename owncloud.scm to sync.scm.

2016-11-21 Thread Efraim Flashner
* gnu/packages/owncloud.scm: Rename to ...
* gnu/packages/sync.scm: ... this.
* gnu/local.mk (GNU_SYSTEM_MODULES): Register it.
---
 gnu/local.mk| 2 +-
 gnu/packages/{owncloud.scm => sync.scm} | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
 rename gnu/packages/{owncloud.scm => sync.scm} (99%)

diff --git a/gnu/local.mk b/gnu/local.mk
index 43a3991..29afdd5 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -284,7 +284,6 @@ GNU_SYSTEM_MODULES =\
   %D%/packages/openstack.scm   \
   %D%/packages/orpheus.scm \
   %D%/packages/ots.scm \
-  %D%/packages/owncloud.scm\
   %D%/packages/package-management.scm  \
   %D%/packages/parallel.scm\
   %D%/packages/password-utils.scm  \
@@ -349,6 +348,7 @@ GNU_SYSTEM_MODULES =\
   %D%/packages/suckless.scm\
   %D%/packages/swig.scm\
   %D%/packages/sxiv.scm\
+  %D%/packages/sync.scm\
   %D%/packages/synergy.scm \
   %D%/packages/syndication.scm \
   %D%/packages/task-management.scm \
diff --git a/gnu/packages/owncloud.scm b/gnu/packages/sync.scm
similarity index 99%
rename from gnu/packages/owncloud.scm
rename to gnu/packages/sync.scm
index 6b40bd3..186914d 100644
--- a/gnu/packages/owncloud.scm
+++ b/gnu/packages/sync.scm
@@ -16,7 +16,7 @@
 ;;; You should have received a copy of the GNU General Public License
 ;;; along with GNU Guix.  If not, see .
 
-(define-module (gnu packages owncloud)
+(define-module (gnu packages sync)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix build-system cmake)
   #:use-module (guix download)
-- 
2.10.2




Re: Unused libgc-7.2 package?

2016-11-21 Thread Efraim Flashner
On Mon, Nov 21, 2016 at 02:26:50PM -0500, Leo Famulari wrote:
> Do we need the libgc-7.2 package anymore? AFAICT, nothing is using it,
> but it's possible I missed something.
> 

You can add texinfo@4 to that list

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


signature.asc
Description: PGP signature


Re: [PATCH] gnu: Remove redundancy where mkdir-p is followed by install-file .

2016-11-21 Thread Leo Famulari
On Mon, Nov 21, 2016 at 08:06:21PM +0100, Petter wrote:
> Subject: [PATCH] gnu: Remove redundancy where mkdir-p  is followed by  
>  install-file  .
> 
> * gnu/packages/bioinformatics.scm (bwa)[arguments]: Remove redundant mkdir-p.
> (eigensoft)[arguments]: Likewise.
> (snap-aligner)[arguments]: Likewise.
> (pardre)[arguments]: Likewise.
> (piranha)[arguments]: Likewise.
> * gnu/packages/maths.scm (hypre)[arguments]: Likewise.
> * gnu/packages/mp3.scm (mpc123)[arguments]: Likewise.
> * gnu/packages/music.scm (tuxguitar)[arguments]: Likewise.
> * gnu/packages/pdf.scm (impressive)[arguments]: Likewise.
> * gnu/packages/qemu.scm (qemu)[arguments]: Likewise.

Thanks! Pushed as daf72603ebcd7e78222d16273d4cda4e71a156de

> Subject: [PATCH] gnu: Remove redundancy where mkdir-p  is followed by  
>  install-file  .
> 
> * gnu/packages/tls.scm (openssl)[arguments]: Remove redundant (mkdir-p).

I mentioned the package name in the commit title (this is our normal
practice), shortened the title, and pushed as
6e388b08399b322121d9113ab7367366ad14eba0. Thanks!



Unused libgc-7.2 package?

2016-11-21 Thread Leo Famulari
Do we need the libgc-7.2 package anymore? AFAICT, nothing is using it,
but it's possible I missed something.



Re: [PATCH] gnu: Remove redundancy where mkdir-p is followed by install-file .

2016-11-21 Thread Petter

Hi,

Leo: Aha, yes you are right. I copy+pasted, and didn't realize those 
[source]

bits referred to fields in a recipe... Now I do, thanks! :)

Sure, I bring to you, two patches this time. One for master, and one for
core-updates. Not sure how to name the patch files properly, so I just 
put

branch name at the end.

Ludo: I like nitpicking ;)

I checked the packages with `guix refresh -l`, output below:

No dependents other than itself: eigensoft-6.1.2-1.b14d1e202
No dependents other than itself: snap-aligner-1.0beta.18
No dependents other than itself: pardre-1.1.5
No dependents other than itself: piranha-1.2.1-1.0466d364b
No dependents other than itself: hypre-2.11.0
No dependents other than itself: mpc123-0.2.4
No dependents other than itself: tuxguitar-1.3.2
No dependents other than itself: impressive-0.11.1

$ guix refresh -l bwa@0.7.12
  A single dependent package: bamm-1.7.3

$ guix refresh -l qemu@2.7.0
  Building the following 2 packages would ensure 5 dependent packages 
are

  rebuilt: virt-manager-1.4.0 python-libvirt-2.0.0



Let me know if there are any more issues.


Best,
Petter

On 2016-11-20 18:05, Leo Famulari wrote:

On Sun, Nov 20, 2016 at 04:28:29PM +0100, Petter wrote:

From 595d438789c7c9a293ae7fac500ace7422073624 Mon Sep 17 00:00:00 2001
From: Petter 
Date: Sun, 20 Nov 2016 13:39:13 +0100
Subject: [PATCH] gnu: Remove redundancy where mkdir-p  is 
followed by

 install-file  .

* gnu/packages/bioinformatics.scm (bwa)[source]: Remove redundant 
mkdir-p.

* gnu/packages/bioinformatics.scm (eigensoft)[source]: Likewise.
* gnu/packages/bioinformatics.scm (snap-aligner)[source]: Likewise.
* gnu/packages/bioinformatics.scm (pardre)[source]: Likewise.
* gnu/packages/bioinformatics.scm (piranha)[source]: Likewise.
* gnu/packages/maths.scm (hypre)[source]: Likewise.
* gnu/packages/mp3.scm (mpc123)[source]: Likewise.
* gnu/packages/music.scm (tuxguitar)[source]: Likewise.
* gnu/packages/pdf.scm (impressive)[source]: Likewise.
* gnu/packages/qemu.scm (qemu)[source]: Likewise.
* gnu/packages/tls.scm (openssl)[source]: Likewise.


Thanks! A few requests...

First, I think that most, if not all, of these changes are not in the
[source] field of the changed package definitions. I bet that they are
all in the [arguments] field. Can you send a revised patch with an
updated commit message?

Second, we can't change the OpenSSL package on the master branch,
because many things depend on it:

$ guix refresh -l openssl@1.0.2
Building the following 1090 packages would ensure 2981 dependent
packages are rebuilt
[...]

We do non-security related changes to that sort of "core" package on 
the

core-updates branch, which is merged into master every couple months.
Otherwise, we'd be rebuilding everything constantly, and users would be
unhappy.

So, will you submit a separate patch for the OpenSSL change? Make sure
it applies cleanly to the core-updates branch. You don't need to try
building this; it will take forever, as you noticed.From f0b2abe1fcbfcd16f2e6a6165f985dd9dd7dcff2 Mon Sep 17 00:00:00 2001
From: Petter 
Date: Mon, 21 Nov 2016 19:18:55 +0100
Subject: [PATCH] gnu: Remove redundancy where mkdir-p  is followed by  
 install-file  .

* gnu/packages/bioinformatics.scm (bwa)[arguments]: Remove redundant mkdir-p.
(eigensoft)[arguments]: Likewise.
(snap-aligner)[arguments]: Likewise.
(pardre)[arguments]: Likewise.
(piranha)[arguments]: Likewise.
* gnu/packages/maths.scm (hypre)[arguments]: Likewise.
* gnu/packages/mp3.scm (mpc123)[arguments]: Likewise.
* gnu/packages/music.scm (tuxguitar)[arguments]: Likewise.
* gnu/packages/pdf.scm (impressive)[arguments]: Likewise.
* gnu/packages/qemu.scm (qemu)[arguments]: Likewise.
---
 gnu/packages/bioinformatics.scm | 7 ---
 gnu/packages/maths.scm  | 1 -
 gnu/packages/mp3.scm| 1 -
 gnu/packages/music.scm  | 1 -
 gnu/packages/pdf.scm| 1 -
 gnu/packages/qemu.scm   | 1 -
 6 files changed, 12 deletions(-)

diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 64c7bba..97d3e48 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -1261,9 +1261,6 @@ splice junctions between exons.")
   (assoc-ref outputs "out") "/share/doc/bwa"))
 (man (string-append
   (assoc-ref outputs "out") "/share/man/man1")))
-(mkdir-p bin)
-(mkdir-p doc)
-(mkdir-p man)
 (install-file "bwa" bin)
 (install-file "README.md" doc)
 (install-file "bwa.1" man)))
@@ -2155,7 +2152,6 @@ of nucleic acid binding proteins.")
  (lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
   (bin  (string-append out "/bin")))
- (mkdir-p bin)
  (for-each (lambda (file)
  (install-file file bin))

Re: FOSDEM 2016 was awesome! Let's do FOSDEM 2017

2016-11-21 Thread Efraim Flashner
On Sun, Nov 20, 2016 at 11:35:26AM -0500, Leo Famulari wrote:
> Hi Guix!
> 
> I'll be at FOSDEM :)
> 
> Does anyone have advice about lodging, beyond what FOSDEM mentions in
> this link?
> 
> https://fosdem.org/2017/practical/accommodation/
> 

I'm going to be searching on airbnb for a place that's about 'walking
distance' (<5k) and nearish to a train or bus station that goes to the
airport. I look for a kitchenette, and since its winter, a heater.

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


signature.asc
Description: PGP signature


Re: Chez scheme

2016-11-21 Thread Leo Famulari
On Sun, Nov 20, 2016 at 09:15:39PM +0200, Efraim Flashner wrote:
> I dug a bit more into Chez sheme and the failing armhf build, and it
> almost looks like it could be hacked into cross compiling for itself.
> Then I looked a bit closer here
> (https://github.com/cisco/ChezScheme/blob/master/c/Mf-arm32le#L17) and
> it turns out that it targets the Raspberry Pi and not ARMv7. I don't
> have any armhf hardware capable of running guix to see if it can be made
> to work. Anyone want to take a stab at it? Or any votes for marking it
> unsupported?

I vote you mark it unsupported if nobody has said they'll try it in the
next day or two.


signature.asc
Description: PGP signature


Re: Libtiff 4.0.7 update

2016-11-21 Thread Leo Famulari
On Mon, Nov 21, 2016 at 06:21:47PM +0100, Marius Bakke wrote:
> Sweet. Perhaps it should be grafted on master first, then merge it and
> ungraft on core-updates? Either approach will cause conflicts if there
> are further updates to libtiff before next core-updates merge, so not
> sure which is better.

I'm sure there will be patches for 4.0.7. I'll handle master ->
core-updates merge conflicts when I commit those patches to master.

> Another approach could be to have special "ungraft" branches for each of
> these widely used high-severity libraries, that are continously merged
> once Hydra has built it all.
> 
> Not sure how many days it takes to build ~1600 packages for all
> supported archs, probably better to merge "ungrafts" to staging.

It would be nice to remove the grafts soon, but it's over the 1200
rebuild limit for staging:

http://lists.gnu.org/archive/html/guix-devel/2016-10/msg00933.html

But, I'll put it on staging if there is a consensus. I guess that
staging will end up requiring more than 1200 rebuilds anyways, since
there could be multiple changes with that much impact, but affecting
different parts of the package graph.


signature.asc
Description: PGP signature


Re: [PATCH 1/7] gnu: Add KDE frameworkintegration.

2016-11-21 Thread Marius Bakke
Marius Bakke  writes:

> I wonder if we should seek a statement from KDE allowing the use of
> GPL3+ for our packages.
>
> Meanwhile, the way I read it, this package should be '(gpl2 gpl3 lpgl2.0
> lgpl2.0+). I would change the comment to something like:
>
> ;; This is distributed under either gpl2 or gpl3, but some files are
> ;; covered by other licenses.

Oops, I read the copyright file wrong, I thought the top section was
GPL, but it is in fact LGPL. So the license field should be

'(lgpl2.0 lgpl3.0 lgpl2.0+)

And the comment would be along the lines of "This package is
distributed under either LGPL2 or LGPL3, but some files are explicitly
LGPL2+.".

It would be nice to clarify this with KDE.


signature.asc
Description: PGP signature


Re: [Patch v2] daemon: Set ownership of kept build directories to the calling user.

2016-11-21 Thread Hartmut Goebel
Am 21.11.2016 um 15:13 schrieb Ludovic Courtès:
> Could we instead pass them via the ‘LocalStore’ constructor,

I started implementing this, but adding clientUid/Gid as a attribute
(property) of 'LocalStore' feels wrong. The LocalStore is about the
store: files being there, querying and such. Even "build" is a bit of a
misfit IMO.

Okay, probably you mean, passing to the ‘LocalStore’ constructor and
then forward them to the goals. Which means changing
`makeDerevationGoal', which is used quite some time. From there you
would need to pass it onto the 'DerivationGoal' constructor. These are
quite some changes for the rare case of building, and only if the build
failed and only if the user passed --keep-failed.

I have the impression, that 'Settings' have been introduced exactly to
save passing around such information. "keep-failed" is passed to
'deleteTmpDir()' exactly this way (via Settings). Which means if passing
clientUid/Gid via constructors,  we would have two different ways of
passing information used in the same small function - which would be
inconsistent.

Thus said, I'm in strong favour of using Settings.

-- 
Regards
Hartmut Goebel

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





Re: [PATCH 1/7] gnu: Add KDE frameworkintegration.

2016-11-21 Thread Marius Bakke
Hartmut Goebel  writes:

> Am 21.11.2016 um 18:25 schrieb Marius Bakke:
>>> > +(license (list license:gpl2+ license:lgpl2.0 license:lgpl2.0+
>> Please clarify. Is it all of them, or either? Or is it mostly gpl2+, but
>> some files are covered by the other two?
>
> Thansk for reviewing that quick.
>
> The list of licenses is taken from Debian, which has a detailed lists of
> all the licenses used in each package. And KDE often has a *fast* number
> of different licenses in one package.

Thanks. Here is the Debian copyright file for this package:

http://metadata.ftp-master.debian.org/changelogs/main/f/frameworkintegration/frameworkintegration_5.28.0-1_copyright

Reading that, it seems this package is mostly gpl2 *OR* gpl3, and that
KDE invokes section 14 [0] of the GPL to decide whether later versions
are allowed.

[0] https://www.gnu.org/licenses/gpl-3.0.html#section14

I wonder if we should seek a statement from KDE allowing the use of
GPL3+ for our packages.

Meanwhile, the way I read it, this package should be '(gpl2 gpl3 lpgl2.0
lgpl2.0+). I would change the comment to something like:

;; This is distributed under either gpl2 or gpl3, but some files are
;; covered by other licenses.


signature.asc
Description: PGP signature


Re: [PATCH] gnu: Add ruby-safe-yaml

2016-11-21 Thread Marius Bakke
Frederick Muriithi  writes:

> gnu/packages/ruby.scm (ruby-safe-yaml): Add new variable
>
> Tests deactivated due to missing rake task. Submitted a patch to
> upstream maintainer, so hopefully future versions will run tests
> successfully

Cool! If there are tests, and a patch exists for enabling them as a rake
task, I think we should include it, with a link to the upstream issue.

Could you send an updated patch that enables the tests? And thanks! :)

>
> -- 
> Frederick M. Muriithi
> From 271945b9de385fe7ddcc74bf2555f40096c4099a Mon Sep 17 00:00:00 2001
> From: Muriithi Frederick Muriuki 
> Date: Mon, 21 Nov 2016 19:24:19 +0300
> Subject: [PATCH] gnu: Add ruby-safe-yaml
>
> * gnu/packages/ruby.scm (ruby-safe-yaml): New variable.
> ---
>  gnu/packages/ruby.scm | 28 
>  1 file changed, 28 insertions(+)
>
> diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
> index d8c36be..e939190 100644
> --- a/gnu/packages/ruby.scm
> +++ b/gnu/packages/ruby.scm
> @@ -4247,3 +4247,31 @@ of the more insecure basic authentication scheme.")
>  them more powerful")
> (home-page "https://github.com/intridea/hashie;)
> (license license:expat)))
> +
> +(define-public ruby-safe-yaml
> +  (package
> +(name "ruby-safe-yaml")
> +(version "1.0.4")
> +(source
> + (origin
> +   (method url-fetch)
> +   (uri (rubygems-uri "safe_yaml" version))
> +   (sha256
> +(base32
> + "1hly915584hyi9q9vgd968x2nsi5yag9jyf5kq60lwzi5scr7094"
> +(build-system ruby-build-system)
> +(arguments
> + ;; Missing rake task 'test'
> + ;; Submitted patch to upstream maintainer
> + `(#:tests? #f))
> +(native-inputs
> + `(("ruby-rspec" ,ruby-rspec)
> +   ("ruby-hashie" ,ruby-hashie)))
> +(synopsis "Parse YAML safely")
> +(description "The SafeYAML gem provides an alternative
> +implementation of YAML.load suitable for accepting user input
> +in Ruby applications.  Unlike Ruby's built-in implementation of
> +YAML.load, SafeYAML's version will not expose apps to arbitrary
> +code execution exploits")
> +(home-page "https://github.com/dtao/safe_yaml;)
> +(license license:expat)))
> -- 
> 2.1.4


signature.asc
Description: PGP signature


Re: [PATCH] gnu: Add ruby-hashie

2016-11-21 Thread Marius Bakke
Frederick Muriithi  writes:

> Added new variable ruby-hashie
>
> Tests deactivated, since the gem seems to not have the Gemfile
> present, leading to failure.
> Checking out the repository manually and running rake in it, runs all
> tests successfully.
>
> If this is not acceptable, please let me know, and any pointers to
> correct the issues would be appreciated.

I've come across similar problems in some python packages, where the
pypi release does not have tests enabled. In those cases I think it's
acceptable to package the git snapshots, assuming they are properly
tagged with version. Could you try that? Thanks!

>
> -- 
> Frederick M. Muriithi
> From aaefbb774a2c0aac4d80ca686bd4b3fbc55ccb1d Mon Sep 17 00:00:00 2001
> From: Muriithi Frederick Muriuki 
> Date: Mon, 21 Nov 2016 18:12:18 +0300
> Subject: [PATCH] gnu: Add ruby-hashie.
>
> * gnu/packages/ruby.scm (ruby-hashie): New variable.
> ---
>  gnu/packages/ruby.scm | 26 ++
>  1 file changed, 26 insertions(+)
>
> diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
> index 1abea02..d8c36be 100644
> --- a/gnu/packages/ruby.scm
> +++ b/gnu/packages/ruby.scm
> @@ -4221,3 +4221,29 @@ RFC 2617.  This enables the use of the digest 
> authentication scheme instead
>  of the more insecure basic authentication scheme.")
>  (home-page "http://github.com/drbrain/net-http-digest_auth;)
>  (license license:expat)))
> +
> +(define-public ruby-hashie
> +   (package
> +   (name "ruby-hashie")
> +   (version "3.4.6")
> +   (source
> + (origin
> +   (method url-fetch)
> +   (uri (rubygems-uri "hashie" version))
> +   (sha256
> + (base32
> +   "1ny9z0lr8hszx2y2cb07sd6iwvhs9lphl1sqr2vs7bjf7mx8pbcj"
> +   (build-system ruby-build-system)
> +   (arguments
> +;; Gemfile present in repo, but missing in gem causing test failure 
> during build
> +`(#:tests? #f))
> +   (native-inputs
> +`(("bundler" ,bundler)
> +  ("ruby-rspec-core" ,ruby-rspec-core)))
> +   (synopsis
> + "Hashie is a collection of classes and mixins that make hashes more 
> powerful")
> +   (description
> +"Hashie is a growing collection of tools that extend Hashes and make
> +them more powerful")
> +   (home-page "https://github.com/intridea/hashie;)
> +   (license license:expat)))
> -- 
> 2.1.4


signature.asc
Description: PGP signature


Re: [PATCH 1/7] gnu: Add KDE frameworkintegration.

2016-11-21 Thread Hartmut Goebel
Am 21.11.2016 um 18:25 schrieb Marius Bakke:
>> > +(license (list license:gpl2+ license:lgpl2.0 license:lgpl2.0+
> Please clarify. Is it all of them, or either? Or is it mostly gpl2+, but
> some files are covered by the other two?

Thansk for reviewing that quick.

The list of licenses is taken from Debian, which has a detailed lists of
all the licenses used in each package. And KDE often has a *fast* number
of different licenses in one package.

-- 
Regards
Hartmut Goebel

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




signature.asc
Description: OpenPGP digital signature


Re: [PATCH 7/7] gnu: Add kross.

2016-11-21 Thread Marius Bakke
Hartmut Goebel  writes:

> * gnu/packages/kde-frameworks.scm (kross): New variable.
> ---
>  gnu/packages/kde-frameworks.scm | 43 
> +
>  1 file changed, 43 insertions(+)
>
> diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
> index c86d82c..88824e2 100644
> --- a/gnu/packages/kde-frameworks.scm
> +++ b/gnu/packages/kde-frameworks.scm
> @@ -3101,3 +3101,46 @@ This framework is a porting aid.  It is not 
> recommended for new projects, and
>  existing projects that use it are advised to port away from it, and use plain
>  KParts instead.")
>  (license license:expat)))
> +
> +(define-public kross
> +  (package
> +(name "kross")
> +(version "5.27.0")
> +(source
> + (origin
> +   (method url-fetch)
> +   (uri (string-append
> + "mirror://kde/stable/frameworks/"
> + (version-major+minor version) "/portingAids/"
> + name "-" version ".tar.xz"))
> +   (sha256
> +(base32 "13karf890afk3dplxgsjx48vjz1ka12pgsi8qw369xbff5nqy2vj"
> +(build-system cmake-build-system)
> +(native-inputs
> + `(("extra-cmake-modules" ,extra-cmake-modules)
> +   ("kdoctools" ,kdoctools)))
> +(inputs
> + `(("kcompletion" ,kcompletion)
> +   ("kcoreaddons" ,kcoreaddons)
> +   ("ki18n" ,ki18n)
> +   ("kiconthemes" ,kiconthemes)
> +   ("kparts" ,kparts)
> +   ("kwidgetsaddons" ,kwidgetsaddons)
> +   ("kxmlgui" ,kxmlgui)
> +   ("qtbase" ,qtbase)
> +   ("qtscript" ,qtscript)
> +   ("qttools" ,qttools)))
> +(home-page "https://community.kde.org/Frameworks;)
> +(synopsis "KDE Frameworks 5 solution for application scripting")
> +(description "Kross is a scripting bridge for the KDE Development 
> Platform
> +used to embed scripting functionality into an application.  It supports
> +QtScript as a scripting interpreter backend.
> +
> +Kross provides an abstract API to provide scripting functionality in a
> +interpreter-independent way.  The application that uses Kross should not need
> +to know anything about the scripting language being used.  The core of Kross
> +provides the framework to deal transparently with interpreter-backends and
> +offers abstract functionality to deal with scripts.")
> +;; a variety of licenses
> +(license (list license:lgpl2.0 license:lgpl2.0+ license:lgpl2.1+
> +   license:gpl3

Are you sure it's GPL3, and not GPL3+? If the file headers says GPL3
only it's fine, otherwise I think we default to GPL+.

Otherwise LGTM, assuming you've checked whether qttools is referenced :)

Great to see good KDE support in Guix!


signature.asc
Description: PGP signature


Re: [PATCH] Update emacs-org to 20161118

2016-11-21 Thread Nicolas Goaziou
Hello,

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

> Nicolas Goaziou  skribis:
>
>> Here is a patch updating Org to its latest revision.
>
> Speaking of which ;-), any idea why ox-bibtex.el is still in “contrib”?
> I was surprised to see it’s not installed as part of Org.

AFAICT, "ox-bibtex.el" is really a hack. I don't think it is meant to be
a core part of Org.

Org is still looking for a proper citation environment. There is some
work in progress in that area. See, e.g.,
. Unfortunately,
it moves slowly.


Regards,

-- 
Nicolas Goaziou0x80A93738



Re: [PATCH 5/7] gnu: Add kjsembed.

2016-11-21 Thread Marius Bakke
Hartmut Goebel  writes:

> * gnu/packages/kde-frameworks.scm (kjsembed): New variable.
> ---
>  gnu/packages/kde-frameworks.scm | 29 +
>  1 file changed, 29 insertions(+)
>
> diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
> index 928b7ec..109d3f2 100644
> --- a/gnu/packages/kde-frameworks.scm
> +++ b/gnu/packages/kde-frameworks.scm
> @@ -3026,3 +3026,32 @@ support.")
>  (license (list license:lgpl2.0+ license:lgpl2.1+
> license:bsd-2 license:bsd-3
> license:non-copyleft
> +
> +(define-public kjsembed
> +  (package
> +(name "kjsembed")
> +(version "5.27.0")
> +(source
> + (origin
> +   (method url-fetch)
> +   (uri (string-append
> + "mirror://kde/stable/frameworks/"
> + (version-major+minor version) "/portingAids/"
> + name "-" version ".tar.xz"))
> +   (sha256
> +(base32 "1j42v2l41mwn0ms29b94py21dh7kiipkgdnigpbn89v7nkhwlq2b"
> +(build-system cmake-build-system)
> +(native-inputs
> + `(("extra-cmake-modules" ,extra-cmake-modules)
> +   ("kdoctools" ,kdoctools)))
> +(inputs
> + `(("ki18n" ,ki18n)
> +   ("kjs" ,kjs)
> +   ("qtbase" ,qtbase)
> +   ("qtsvg" ,qtsvg)
> +   ("qttools" ,qttools)))

Is qttools referenced in the output? Usually it's only used for building
and should be a native-input; you can check whether it's referenced with
`guix gc -R /gnu/store/...kjsembed-5.27.0`.

The rest LGTM.

> +(home-page "https://community.kde.org/Frameworks;)
> +(synopsis "KDE Frameworks 5 embedded Javascript engine for Qt")
> +(description "KJSEmbed provides a method of binding Javascript objects to
> +QObjects, so you can script your applications.")
> +(license license:lgpl2.0+)))
> -- 
> 2.7.4


signature.asc
Description: PGP signature


Re: [PATCH 6/7] gnu: Add kmediaplayer.

2016-11-21 Thread Marius Bakke
Hartmut Goebel  writes:

> * gnu/packages/kde-frameworks.scm (kmediaplayer): New variable.
> ---
>  gnu/packages/kde-frameworks.scm | 46 
> +
>  1 file changed, 46 insertions(+)

Same question about qttools, otherwise LGTM.

>
> diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
> index 109d3f2..c86d82c 100644
> --- a/gnu/packages/kde-frameworks.scm
> +++ b/gnu/packages/kde-frameworks.scm
> @@ -3055,3 +3055,49 @@ support.")
>  (description "KJSEmbed provides a method of binding Javascript objects to
>  QObjects, so you can script your applications.")
>  (license license:lgpl2.0+)))
> +
> +(define-public kmediaplayer
> +  (package
> +(name "kmediaplayer")
> +(version "5.27.0")
> +(source
> + (origin
> +   (method url-fetch)
> +   (uri (string-append
> + "mirror://kde/stable/frameworks/"
> + (version-major+minor version) "/portingAids/"
> + name "-" version ".tar.xz"))
> +   (sha256
> +(base32 "003jvd2lzp70ywhnkpzgalzqkjpy3d9flkl144z2hfdwm011d58x"
> +(build-system cmake-build-system)
> +(native-inputs
> + `(("extra-cmake-modules" ,extra-cmake-modules)
> +   ("kdoctools" ,kdoctools)))
> +(inputs
> + `(("kcompletion" ,kcompletion)
> +   ("kcoreaddons" ,kcoreaddons)
> +   ("ki18n" ,ki18n)
> +   ("kiconthemes" ,kiconthemes)
> +   ("kio" ,kio)
> +   ("kparts" ,kparts)
> +   ("kwidgetsaddons" ,kwidgetsaddons)
> +   ("kxmlgui" ,kxmlgui)
> +   ("qtbase" ,qtbase)
> +   ("qttools" ,qttools)))
> +(arguments
> + `(#:phases
> +   (modify-phases %standard-phases
> + (add-before 'check 'check-setup
> +   (lambda _
> + (setenv "CTEST_OUTPUT_ON_FAILURE" "1") ; Enable debug output
> + (setenv "QT_QPA_PLATFORM" "offscreen")
> + #t)
> +(home-page "https://community.kde.org/Frameworks;)
> +(synopsis "KDE Frameworks 5 plugin interface for media player features")
> +(description "KMediaPlayer builds on the KParts framework to provide a
> +common interface for KParts that can play media files.
> +
> +This framework is a porting aid.  It is not recommended for new projects, and
> +existing projects that use it are advised to port away from it, and use plain
> +KParts instead.")
> +(license license:expat)))
> -- 
> 2.7.4


signature.asc
Description: PGP signature


[PATCH] gnu: Add ruby-safe-yaml

2016-11-21 Thread Frederick Muriithi
gnu/packages/ruby.scm (ruby-safe-yaml): Add new variable

Tests deactivated due to missing rake task. Submitted a patch to
upstream maintainer, so hopefully future versions will run tests
successfully

-- 
Frederick M. Muriithi
From 271945b9de385fe7ddcc74bf2555f40096c4099a Mon Sep 17 00:00:00 2001
From: Muriithi Frederick Muriuki 
Date: Mon, 21 Nov 2016 19:24:19 +0300
Subject: [PATCH] gnu: Add ruby-safe-yaml

* gnu/packages/ruby.scm (ruby-safe-yaml): New variable.
---
 gnu/packages/ruby.scm | 28 
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index d8c36be..e939190 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -4247,3 +4247,31 @@ of the more insecure basic authentication scheme.")
 them more powerful")
(home-page "https://github.com/intridea/hashie;)
(license license:expat)))
+
+(define-public ruby-safe-yaml
+  (package
+(name "ruby-safe-yaml")
+(version "1.0.4")
+(source
+ (origin
+   (method url-fetch)
+   (uri (rubygems-uri "safe_yaml" version))
+   (sha256
+(base32
+ "1hly915584hyi9q9vgd968x2nsi5yag9jyf5kq60lwzi5scr7094"
+(build-system ruby-build-system)
+(arguments
+ ;; Missing rake task 'test'
+ ;; Submitted patch to upstream maintainer
+ `(#:tests? #f))
+(native-inputs
+ `(("ruby-rspec" ,ruby-rspec)
+   ("ruby-hashie" ,ruby-hashie)))
+(synopsis "Parse YAML safely")
+(description "The SafeYAML gem provides an alternative
+implementation of YAML.load suitable for accepting user input
+in Ruby applications.  Unlike Ruby's built-in implementation of
+YAML.load, SafeYAML's version will not expose apps to arbitrary
+code execution exploits")
+(home-page "https://github.com/dtao/safe_yaml;)
+(license license:expat)))
-- 
2.1.4



[Patch v2 1/2] doc: Symlink daemon start-up files.

2016-11-21 Thread Hartmut Goebel
This patch ensures that always the current profile's daemon will be used.

The .service file contains the path to the guix-daemon within the store. Thus
when copying the file, it will point to the very version of guix-daemon used
at the time of copying – even after system upgrade or when this version has
been garbage collected from the store.

* doc/guix.texi (Binary Installation): Change example code for installing
  the systemd and Upstart files to use symbolic links instead of copying
  the files.
---
 doc/guix.texi | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index 3a88dd4..4a921f2 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -453,7 +453,7 @@ If your host distro uses the systemd init system, this can 
be achieved
 with these commands:
 
 @example
-# cp ~root/.guix-profile/lib/systemd/system/guix-daemon.service \
+# ln -s ~root/.guix-profile/lib/systemd/system/guix-daemon.service \
 /etc/systemd/system/
 # systemctl start guix-daemon && systemctl enable guix-daemon
 @end example
@@ -461,7 +461,7 @@ with these commands:
 If your host distro uses the Upstart init system:
 
 @example
-# cp ~root/.guix-profile/lib/upstart/system/guix-daemon.conf /etc/init/
+# ln -s ~root/.guix-profile/lib/upstart/system/guix-daemon.conf /etc/init/
 # start guix-daemon
 @end example
 
-- 
2.7.4




Re: [PATCH 4/7] gnu: Add kjs.

2016-11-21 Thread Marius Bakke
Hartmut Goebel  writes:

> * gnu/packages/kde-frameworks.scm (kjs): New variable.
> ---
>  gnu/packages/kde-frameworks.scm | 32 
>  1 file changed, 32 insertions(+)
>
> diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
> index 07c6716..928b7ec 100644
> --- a/gnu/packages/kde-frameworks.scm
> +++ b/gnu/packages/kde-frameworks.scm
> @@ -43,6 +43,7 @@
>#:use-module (gnu packages gnupg)
>#:use-module (gnu packages image)
>#:use-module (gnu packages linux)
> +  #:use-module (gnu packages pcre)
>#:use-module (gnu packages perl)
>#:use-module (gnu packages pkg-config)
>#:use-module (gnu packages polkit)
> @@ -2994,3 +2995,34 @@ technology and using KJS for JavaScript support.")
>  ;; a variety of licenses
>  (license (list license:gpl2 license:lgpl2.0 license:lgpl2.1+ 
> license:gpl3+
> license:expat license:bsd-2 license:bsd-3
> +
> +(define-public kjs
> +  (package
> +(name "kjs")
> +(version "5.27.0")
> +(source
> + (origin
> +   (method url-fetch)
> +   (uri (string-append
> + "mirror://kde/stable/frameworks/"
> + (version-major+minor version) "/portingAids/"
> + name "-" version ".tar.xz"))
> +   (sha256
> +(base32 "18x4az3v4pbg77sxhmrdrfwrc9d9fw7l40m6p18k1khxn86hsp9j"
> +(build-system cmake-build-system)
> +(native-inputs
> + `(("extra-cmake-modules" ,extra-cmake-modules)
> +   ("kdoctools" ,kdoctools)
> +   ("perl" ,perl)))
> +(inputs
> + `(("pcre" ,pcre)
> +   ("qtbase" ,qtbase)))
> +(home-page "https://community.kde.org/Frameworks;)
> +(synopsis "KDE Frameworks 5 support for Javascript scripting in Qt
> +applications")
> +(description "Add-on library to Qt which adds JavaScript scripting
> +support.")
> +;; a variety of licenses
> +(license (list license:lgpl2.0+ license:lgpl2.1+
> +   license:bsd-2 license:bsd-3
> +   license:non-copyleft

What is non-copyleft here? Note that "non-copyleft" is a procedure and
can take a file:// style URI (or http etc) to the component in question,
along with an optional comment.

Otherwise LGTM.


signature.asc
Description: PGP signature


Re: [PATCH 3/7] gnu: Add khtml.

2016-11-21 Thread Marius Bakke
Hartmut Goebel  writes:

> * gnu/packages/kde-frameworks.scm (khtml): New variable.
> ---
>  gnu/packages/kde-frameworks.scm | 57 
> +
>  1 file changed, 57 insertions(+)

LGTM!

>
> diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
> index a537aa4..07c6716 100644
> --- a/gnu/packages/kde-frameworks.scm
> +++ b/gnu/packages/kde-frameworks.scm
> @@ -41,6 +41,7 @@
>#:use-module (gnu packages glib)
>#:use-module (gnu packages gnome)
>#:use-module (gnu packages gnupg)
> +  #:use-module (gnu packages image)
>#:use-module (gnu packages linux)
>#:use-module (gnu packages perl)
>#:use-module (gnu packages pkg-config)
> @@ -2937,3 +2938,59 @@ http://community.kde.org/Frameworks/Porting_Notes 
> should help with this.")
>  (license (list license:gpl2 license:gpl2+ license:lgpl2.0 
> license:lgpl2.0+
> license:lgpl2.1+ license:expat license:bsd-2 license:bsd-3
> license:public-domain
> +
> +(define-public khtml
> +  (package
> +(name "khtml")
> +(version "5.27.0")
> +(source
> + (origin
> +   (method url-fetch)
> +   (uri (string-append
> + "mirror://kde/stable/frameworks/"
> + (version-major+minor version) "/portingAids/"
> + name "-" version ".tar.xz"))
> +   (sha256
> +(base32 "05ssmgk2gr5v1x1lsvyyspvnlknmkxivgx1g210i9ayl08v8v3c0"
> +(build-system cmake-build-system)
> +(native-inputs
> + `(("extra-cmake-modules" ,extra-cmake-modules)
> +   ("perl", perl)))
> +(inputs
> + `(("giflib" ,giflib)
> +   ("karchive" ,karchive)
> +   ("kcodecs" ,kcodecs)
> +   ("kglobalaccel" ,kglobalaccel)
> +   ("ki18n" ,ki18n)
> +   ("kiconthemes" ,kiconthemes)
> +   ("kio" ,kio)
> +   ("kja" ,kjs)
> +   ("knotifications" ,knotifications)
> +   ("kparts" ,kparts)
> +   ("ktextwidgets" ,ktextwidgets)
> +   ("kwallet", kwallet)
> +   ("kwidgetsaddons" ,kwidgetsaddons)
> +   ("kwindowsystem" ,kwindowsystem)
> +   ("kxmlgui" ,kxmlgui)
> +   ("libjpeg", libjpeg)
> +   ("libpng", libpng)
> +   ("openssl", openssl)
> +   ("phonon", phonon)
> +   ("qtbase" ,qtbase)
> +   ("qtx11extras" ,qtx11extras)
> +   ("sonnet" ,sonnet)))
> +(arguments
> + `(#:phases
> +   (modify-phases %standard-phases
> + (add-before 'check 'check-setup
> +   (lambda _
> + (setenv "CTEST_OUTPUT_ON_FAILURE" "1") ; Enable debug output
> + (setenv "QT_QPA_PLATFORM" "offscreen")
> + #t)
> +(home-page "https://community.kde.org/Frameworks;)
> +(synopsis "KDE Frameworks 5 HTML widget and component")
> +(description "KHTML is a web rendering engine, based on the KParts
> +technology and using KJS for JavaScript support.")
> +;; a variety of licenses
> +(license (list license:gpl2 license:lgpl2.0 license:lgpl2.1+ 
> license:gpl3+
> +   license:expat license:bsd-2 license:bsd-3
> -- 
> 2.7.4


signature.asc
Description: PGP signature


Re: [PATCH 2/7] gnu: Add kdelibs4support.

2016-11-21 Thread Marius Bakke
Hartmut Goebel  writes:

> * gnu/packages/kde-frameworks.scm (kdelibs4support): New variable.
> ---
>  gnu/packages/kde-frameworks.scm | 88 
> +
>  1 file changed, 88 insertions(+)
>
> diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
> index 0e6b8fb..a537aa4 100644
> --- a/gnu/packages/kde-frameworks.scm
> +++ b/gnu/packages/kde-frameworks.scm
> @@ -47,6 +47,7 @@
>#:use-module (gnu packages polkit)
>#:use-module (gnu packages python)
>#:use-module (gnu packages qt)
> +  #:use-module (gnu packages tls)
>#:use-module (gnu packages version-control)
>#:use-module (gnu packages web)
>#:use-module (gnu packages xml)
> @@ -2849,3 +2850,90 @@ better integration of Qt applications when running on 
> a KDE Plasma
>  workspace.")
>  ;; triple licensed
>  (license (list license:gpl2+ license:lgpl2.0 license:lgpl2.0+
> +
> +;; Porting Aids
> +;;
> +;; Porting Aids frameworks provide code and utilities to ease the transition
> +;; from kdelibs 4 to KDE Frameworks 5. Code should aim to port away from this
> +;; framework, new projects should avoid using these libraries.
> +
> +(define-public kdelibs4support
> +  (package
> +(name "kdelibs4support")
> +(version "5.27.0")
> +(source
> + (origin
> +   (method url-fetch)
> +   (uri (string-append
> + "mirror://kde/stable/frameworks/"
> + (version-major+minor version) "/portingAids/"
> + name "-" version ".tar.xz"))
> +   (sha256
> +(base32 "17b8d5b9w27251k4r5xc17115nc3k1agv7j7gkmdiybjyilj1n91"
> +(build-system cmake-build-system)
> +(native-inputs
> + `(("dbus" ,dbus)
> +   ("docbook-xml" ,docbook-xml-4.4) ;; optional, but not found!

Do you mean it's not found even when present? Perhaps just comment it
out, with a "TODO" or "XXX" explaining what this would add, but the
build system needs some changes to pick it up correctly.

> +   ("extra-cmake-modules" ,extra-cmake-modules)
> +   ("perl", perl)
> +   ("perl-uri" ,perl-uri)
> +   ("pkg-config" ,pkg-config))) ; to find headers of network manager

I think most packagers knows what pkg-config is for, so the explanation
seems unnecessary. Are you sure it's only used for network-manager? I
feel bad for complaining about *too many* comments however :)

> +(inputs
> + `(("kcompletion" ,kcompletion)
> +   ("kconfig" ,kconfig)
> +   ("kconfigwidgets" ,kconfigwidgets)
> +   ("kcrash" ,kcrash)
> +   ("kdbusaddons" ,kdbusaddons)
> +   ("kded" ,kded)
> +   ("kdesignerplugin" ,kdesignerplugin)
> +   ("kdoctools" ,kdoctools)
> +   ("kglobalaccel" ,kglobalaccel)
> +   ("kguiaddons" ,kguiaddons)
> +   ("ki18n" ,ki18n)
> +   ("kiconthemes" ,kiconthemes)
> +   ("kio" ,kio)
> +   ("knotifications" ,knotifications)
> +   ("kparts" ,kparts)
> +   ("kservice" ,kservice)
> +   ("ktextwidgets" ,ktextwidgets)
> +   ("kunitconversion", kunitconversion)
> +   ("kwidgetsaddons" ,kwidgetsaddons)
> +   ("kwindowsystem" ,kwindowsystem)
> +   ("kxmlgui" ,kxmlgui)
> +   ("libsm", libsm)
> +   ("networkmanager-qt", networkmanager-qt)
> +   ("openssl", openssl)
> +   ("qtbase" ,qtbase)
> +   ("qtsvg" ,qtsvg)
> +   ("qttools" ,qttools)
> +   ("qtx11extras" ,qtx11extras)))
> +(arguments
> + `(#:tests? #f ; FIXME: 6/39 tests fail.
> +   #:phases
> +   (modify-phases %standard-phases
> + (add-after 'unpack 'cmake-find-docbook
> +   (lambda* (#:key inputs #:allow-other-keys)
> + (substitute* "cmake/FindDocBookXML4.cmake"
> +   (("^.*xml/docbook/schema/dtd.*$")
> +"xml/dtd/docbook\n"))
> + #t))

Is this related to the docbook-xml comment in native-inputs? Does this
make it work? I would prefer to have the comment here in that case. E.g.
"This is necessary to find schemas from docbook-xml" or similar.

> + (add-before 'check 'check-setup
> +   (lambda _
> + (setenv "HOME" (getcwd))
> + (setenv "CTEST_OUTPUT_ON_FAILURE" "1") ; Enable debug output
> + (setenv "QT_QPA_PLATFORM" "offscreen")

Is this variable common in the various KDE build phases? If it's
explained somewhere else, it's probably not necessary to add the same
comment (as I requested in the previous patch) to all of them.

Otherwise LGTM!

> + #t)
> +(home-page "https://community.kde.org/Frameworks;)
> +(synopsis "KDE Frameworks 5 porting aid from KDELibs4")
> +(description "This framework provides code and utilities to ease the
> +transition from kdelibs 4 to KDE Frameworks 5.  This includes CMake macros 
> and
> +C++ classes whose functionality has been replaced by code in CMake, Qt and
> +other frameworks.
> +
> +Code should aim to port away from this framework eventually.  The API
> 

Re: [Patch v2] daemon: Set ownership of kept build directories to the calling user.

2016-11-21 Thread Hartmut Goebel
Am 21.11.2016 um 15:13 schrieb Ludovic Courtès:
> Could we instead pass them via the ‘LocalStore’ constructor, with their
> default values taken from ‘getuid’ and ‘getgid’ (rather than 0)?  WDYT?

Regarding the default values: I'm using zero as "not set" marker here.
The files will already have owner and group from ‘getuid’ and ‘getgid’,
so there is no need to change them. Or did I miss something?

-- 
Regards
Hartmut Goebel

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




[Patch v2 2/2] Add system start-up files for "guix publish".

2016-11-21 Thread Hartmut Goebel
* .gitignore: add etc/guix-publish.conf and /etc/guix-publish.service.
* etc/guix-publish.conf.in: New file.
* etc/guix-publish.service.in: New file.
* nix/local.mk (etc/guix-%.service, etc/guix-%.conf): Generalized former
  build-rules for by using patterns.
  (nodist_systemdservice_DATA): Add etc/guix-publish.service, update
  comment.
  (nodist_upstartjob_DATA): Add etc/guix-publish.conf, update comment.
* doc/guix.texi (Invoking guix publish): Add description for enabling
  "guix publish" on host distros using the new files.
---
 .gitignore  |  2 ++
 doc/guix.texi   | 21 +
 etc/guix-publish.conf.in| 12 
 etc/guix-publish.service.in | 19 +++
 nix/local.mk| 16 
 5 files changed, 62 insertions(+), 8 deletions(-)
 create mode 100644 etc/guix-publish.conf.in
 create mode 100644 etc/guix-publish.service.in

diff --git a/.gitignore b/.gitignore
index 329d489..b64f5ef 100644
--- a/.gitignore
+++ b/.gitignore
@@ -50,6 +50,8 @@
 /emacs/guix-helper.scm
 /etc/guix-daemon.conf
 /etc/guix-daemon.service
+/etc/guix-publish.conf
+/etc/guix-publish.service
 /guix-daemon
 /guix-register
 /guix/config.scm
diff --git a/doc/guix.texi b/doc/guix.texi
index 4a921f2..e751cd6 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -6055,6 +6055,27 @@ add a call to @code{guix-publish-service} in the 
@code{services} field
 of the @code{operating-system} declaration (@pxref{guix-publish-service,
 @code{guix-publish-service}}).
 
+If you are running Guix on top of host distro, this can be achieved with
+the following commands.
+
+@itemize
+@item
+If your host distro uses the systemd init system:
+
+@example
+# ln -s ~root/.guix-profile/lib/systemd/system/guix-publish.service \
+/etc/systemd/system/
+# systemctl start guix-publish && systemctl enable guix-publish
+@end example
+
+@item
+If your host distro uses the Upstart init system:
+
+@example
+# ln -s ~root/.guix-profile/lib/upstart/system/guix-publish.conf /etc/init/
+# start guix-publish
+@end example
+@end itemize
 
 @node Invoking guix challenge
 @section Invoking @command{guix challenge}
diff --git a/etc/guix-publish.conf.in b/etc/guix-publish.conf.in
new file mode 100644
index 000..498fa29
--- /dev/null
+++ b/etc/guix-publish.conf.in
@@ -0,0 +1,12 @@
+# This is a "job" for the Upstart init system to launch 'guix-daemon'.
+# Drop it in /etc/init to have 'guix-daemon' automatically started.
+
+description "Publish the GNU Guix store"
+
+start on runlevel [2345]
+
+stop on runlevel [016]
+
+task
+
+exec @bindir@/guix publish --user=nobody --port=8181
diff --git a/etc/guix-publish.service.in b/etc/guix-publish.service.in
new file mode 100644
index 000..fc4e3c2
--- /dev/null
+++ b/etc/guix-publish.service.in
@@ -0,0 +1,19 @@
+# This is a "service unit file" for the systemd init system to launch
+# 'guix publish'.  Drop it in /etc/systemd/system or similar to have
+# 'guix publish' automatically started.
+
+[Unit]
+Description=Publish the GNU Guix store
+
+[Service]
+ExecStart=@bindir@/guix publish --user=nobody --port=8181
+Environment=GUIX_LOCPATH=/root/.guix-profile/lib/locale
+RemainAfterExit=yes
+StandardOutput=syslog
+StandardError=syslog
+
+# See .
+TasksMax=1024
+
+[Install]
+WantedBy=multi-user.target
diff --git a/nix/local.mk b/nix/local.mk
index 86ef769..79667ed 100644
--- a/nix/local.mk
+++ b/nix/local.mk
@@ -183,26 +183,26 @@ endif BUILD_DAEMON_OFFLOAD
 nodist_libexec_SCRIPTS =   \
   %D%/scripts/guix-authenticate
 
-# The '.service' file for systemd.
+# The '.service' files for systemd.
 systemdservicedir = $(libdir)/systemd/system
-nodist_systemdservice_DATA = etc/guix-daemon.service
+nodist_systemdservice_DATA = etc/guix-daemon.service etc/guix-publish.service
 
-etc/guix-daemon.service: etc/guix-daemon.service.in\
+etc/guix-%.service: etc/guix-%.service.in  \
 $(top_builddir)/config.status
$(AM_V_GEN)$(MKDIR_P) "`dirname $@`";   \
$(SED) -e 's|@''bindir''@|$(bindir)|' < \
-  "$(srcdir)/etc/guix-daemon.service.in" > "$@.tmp";   \
+  "$(srcdir)/$<" > "$@.tmp";   \
mv "$@.tmp" "$@"
 
-# The '.conf' job for Upstart.
+# The '.conf' jobs for Upstart.
 upstartjobdir = $(libdir)/upstart/system
-nodist_upstartjob_DATA = etc/guix-daemon.conf
+nodist_upstartjob_DATA = etc/guix-daemon.conf etc/guix-publish.conf
 
-etc/guix-daemon.conf: etc/guix-daemon.conf.in  \
+etc/guix-%.conf: etc/guix-%.conf.in\
 $(top_builddir)/config.status
$(AM_V_GEN)$(MKDIR_P) "`dirname $@`";   \
$(SED) -e 's|@''bindir''@|$(bindir)|' < \
-  "$(srcdir)/etc/guix-daemon.conf.in" > "$@.tmp";  \
+  "$(srcdir)/$<" > "$@.tmp";   

[Patch v2 0/2] Symlink daemon start-up files and guix publish

2016-11-21 Thread Hartmut Goebel
Update:
patch 1: Unchanged
patch 2: Text in docum moved to "Invoking guix publish" as suggested by Ludo

 Any better idea than using bullet-points here?


* doc: Symlink daemon start-up files.

  This patch ensures that always the current profile's daemon will be used.
  
  This solve a minor issue I experienced when updating guix 0.10 to 0.11: The
  guix-daemon 0.10 was still used since the `guix-daemon.service` file, which
  was copied, contains the path to the 0.10 daemon. So I'm now using a
  sym-link always pointing to the current profile's .service file and thus
  using the current profile's guix-daemon.

* Add system start-up files for "guix publish".

  This eases setting up a "guix publish" service, just for convenience for
  those who want it.  Primary this is meant for use in the local network.
  Hopefully this will encourage people to provide more public stores - which
  at least could be used for "guix challenge".

*** BLURB HERE ***

Hartmut Goebel (2):
  doc: Symlink daemon start-up files.
  Add system start-up files for "guix publish".

 .gitignore  |  2 ++
 doc/guix.texi   | 25 +++--
 etc/guix-publish.conf.in| 12 
 etc/guix-publish.service.in | 19 +++
 nix/local.mk| 16 
 5 files changed, 64 insertions(+), 10 deletions(-)
 create mode 100644 etc/guix-publish.conf.in
 create mode 100644 etc/guix-publish.service.in

-- 
2.7.4




Re: [PATCH 1/7] gnu: Add KDE frameworkintegration.

2016-11-21 Thread Marius Bakke
Hartmut Goebel  writes:

> * gnu/packages/kde-frameworks.scm (frameworkintegration): New variable.
> ---
>  gnu/packages/kde-frameworks.scm | 51 
> +
>  1 file changed, 51 insertions(+)
>
> diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
> index 9df37ac..0e6b8fb 100644
> --- a/gnu/packages/kde-frameworks.scm
> +++ b/gnu/packages/kde-frameworks.scm
> @@ -2798,3 +2798,54 @@ setUrl, setUserAgent and call.")
>  script engines.")
>  ;; dual licensed
>  (license (list license:gpl2+ license:lgpl2.1+
> +
> +;; Tier 4
> +;;
> +;; Tier 4 frameworks can be mostly ignored by application programmers; this
> +;; tier consists of plugins acting behind the scenes to provide additional
> +;; functionality or platform integration to existing frameworks (including
> +;; Qt).
> +
> +(define-public frameworkintegration
> +  (package
> +(name "frameworkintegration")
> +(version "5.27.0")
> +(source (origin
> +  (method url-fetch)
> +  (uri (string-append
> +"mirror://kde/stable/frameworks/"
> +(version-major+minor version) "/"
> +name "-" version ".tar.xz"))
> +  (sha256
> +   (base32
> +"0zpv7wj2006f039wr1gp5bc4md8yq9ig5g3v5mx46sdjip5423p1"
> +(build-system cmake-build-system)
> +(native-inputs
> + `(("extra-cmake-modules" ,extra-cmake-modules)
> +   ("pkg-config" ,pkg-config)))
> +(inputs
> + `(("kconfig" ,kconfig)
> +   ("kconfigwidgets" ,kconfigwidgets)
> +   ("kcoreaddons" ,kcoreaddons)
> +   ("kiconthemes" ,kiconthemes)
> +   ("kitemviews" ,kitemviews)
> +   ("knotificantions" ,knotifications)
> +   ("kwidgetsaddons" ,kwidgetsaddons)
> +   ("qtbase" ,qtbase)
> +   ("qtx11extras" ,qtx11extras)))
> +(arguments
> + `(#:phases
> +   (modify-phases %standard-phases
> + (add-before 'check 'check-setup
> +   (lambda _
> + (setenv "HOME" (getcwd))
> + (setenv "CTEST_OUTPUT_ON_FAILURE" "1") ; Enable debug output
> + (setenv "QT_QPA_PLATFORM" "offscreen")

Could you add a comment explaining what this variable does?

> + #t)
> +(home-page "https://community.kde.org/Frameworks;)
> +(synopsis "KDE Frameworks 5 workspace and cross-framework integration 
> plugins")
> +(description "Framework Integration is a set of plugins responsible for
> +better integration of Qt applications when running on a KDE Plasma
> +workspace.")
> +;; triple licensed
> +(license (list license:gpl2+ license:lgpl2.0 license:lgpl2.0+

Please clarify. Is it all of them, or either? Or is it mostly gpl2+, but
some files are covered by the other two?

Otherwise LGTM!


signature.asc
Description: PGP signature


Re: Libtiff 4.0.7 update

2016-11-21 Thread Marius Bakke
Leo Famulari  writes:

> This updates libtiff to the latest upstream version, 4.0.7. I went
> through the tarball and confirmed that all the patches were contained in
> it but, please, double-check :)
>
> Also, libtiff has new source and home-page URLs. Read all about it:
>
> http://www.asmail.be/msg0054885794.html
>
> It will require ~1600 rebuilds.

Sweet. Perhaps it should be grafted on master first, then merge it and
ungraft on core-updates? Either approach will cause conflicts if there
are further updates to libtiff before next core-updates merge, so not
sure which is better.

Another approach could be to have special "ungraft" branches for each of
these widely used high-severity libraries, that are continously merged
once Hydra has built it all.

Not sure how many days it takes to build ~1600 packages for all
supported archs, probably better to merge "ungrafts" to staging.

Just throwing some ideas out. LGTM anyway!


signature.asc
Description: PGP signature


Re: [PATCH 2/2] Add system start-up files for "guix publish".

2016-11-21 Thread Hartmut Goebel
Am 21.11.2016 um 09:52 schrieb Ludovic Courtès:
> I think this should rather go to “Invoking guix publish”, to avoid
> making “Binary Installation” too intimidating (and because users do not
> initially care about running ‘guix publish’).  WDYT?
>
> Also, I think it would be enough to add a cross-reference to “Invoking
> guix archive” where we mention that a key needs to be generated.

Invoking guix publish is the perfect place: There already is a paragraph about 
enabling the service on GuixSD and also a reference to guix archive.

Thanks for pointing there.

-- 
Regards
Hartmut Goebel

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




Re: [PATCH] gnu: packages: Use gettext-minimal.

2016-11-21 Thread Alex Kost
Leo Famulari (2016-11-18 15:02 -0500) wrote:

> On Fri, Nov 18, 2016 at 08:47:01PM +0300, Alex Kost wrote:
[...]
>> From 7549a8cefa60af45a154081b0ccb9beaf0160c5d Mon Sep 17 00:00:00 2001
>> From: Alex Kost 
>> Date: Fri, 18 Nov 2016 20:26:08 +0300
>> Subject: [PATCH] gnu: packages: Use gettext-minimal.
>> 
>> * gnu/packages/crypto.scm (tomb): Use 'gettext-minimal' instead of
>> 'gnu-gettext'.
>> * gnu/packages/emacs.scm (m17n-db): Likewise.
>> * gnu/packages/ftp.scm (weex): Likewise.
>> * gnu/packages/games.scm (chromium-bsu): Likewise.
>> * gnu/packages/image.scm (steghide): Likewise.
>> * gnu/packages/linux.scm (radeontop): Likewise.
>> * gnu/packages/mpd.scm (sonata): Likewise.
>> * gnu/packages/networking.scm (whois): Likewise.
>> * gnu/packages/package-management.scm (guix-0.11.0): Likewise.
>> * gnu/packages/psyc.scm (psyclpc): Likewise.
>> * gnu/packages/syndication.scm (newsbeuter): Likewise.
>> * gnu/packages/vim.scm (vim-full): Likewise.
>
> LGTM. Thanks for taking care of this!

Committed, thanks!

-- 
Alex



Re: (Exposing?) config files and non-start/stop operations

2016-11-21 Thread Christopher Allan Webber
Christopher Allan Webber writes:

> Chris Marusich writes:
>
  - Initializing a data store.  For example, in dirvish I need to run
a command to initialize a "vault" where I will be storing my data.
  - Manually invoking a garbage collection utility.
  - Manually invoking an integrity check utility.
  - Possibly some side effect involving querying the network.
  - Running schema migrations.

 All sorts of things!  Most of them (all?) involve state or side effects,
 but plenty of our most important services will be "state overlords" of
 some type.
>>
>> Why do those activities need to be represented as actions in Shepherd?
>> If we're running a daemon or service that already exposes a mechanism
>> for manually running tasks like these, then can't we just use "the usual
>> mechanism" for doing it?  For example, if we're running a daemon that
>> already provides a script to perform garbage collection, can't we just
>> invoke that script?  It isn't clear to me why we would need to model
>> domain-specific actions like that in Shepherd, although I can see why it
>> might be convenient.  Am I missing something?
>
> So sure, we can run "foo-db gc" occasionally (though system
> administrators sometimes have to run these kinds of commands by hand).
> But what about "foo-db dumpdb"?  That's not something we just run on a
> cronjob.  You need access to that command.  And in order for the command
> to do the right thing, it might need access to the config file.
>
> There are some other things where we can try to initialize or run
> migrations automatically, but that stuff can be very dangerous to just
> do implicitly.  Now note, I *do* think we want to handle some of this
> stuff behind the scenes as much as possible so that users don't have to
> think about it.  But have you ever done a *really big* database schema
> migration?
>
> We run into two challenges:
>  - Now we're trying to "idempotently manage state", which it turns out
>is very hard (and the source of many bugs in devops tooling)
>  - Some commands either need to be run manually occasionally, or are
>never automatically run (see the dumpdb example).
>
> Does this make sense?
>  - Chris

FWIW, I do agree that in most cases, we can put these in the background
and automate them so that users don't need to see them.  Possibly that's
true for the key things I want to do for dirvish. :)  So we can and
should when we can!

Where we can't (a dropdb type command, or something like "borg mount")
I do think it would be nice to expose Shepherd actions.

 - Chris



Libtiff 4.0.7 update

2016-11-21 Thread Leo Famulari
This updates libtiff to the latest upstream version, 4.0.7. I went
through the tarball and confirmed that all the patches were contained in
it but, please, double-check :)

Also, libtiff has new source and home-page URLs. Read all about it:

http://www.asmail.be/msg0054885794.html

It will require ~1600 rebuilds.
From 755367331d73c36c91b493a440d533a96e12a5bc Mon Sep 17 00:00:00 2001
From: Leo Famulari 
Date: Mon, 21 Nov 2016 11:39:49 -0500
Subject: [PATCH] gnu: libtiff: Update to 4.0.7.

* gnu/packages/image.scm (libtiff): Update to 4.0.7.
[source]: Remove obsolete patches and update URL.
[home-page]: Update URL.
* gnu/packages/patches/libtiff-CVE-2015-8665+CVE-2015-8683.patch,
gnu/packages/patches/libtiff-CVE-2016-3623.patch,
gnu/packages/patches/libtiff-CVE-2016-3945.patch,
gnu/packages/patches/libtiff-CVE-2016-3990.patch,
gnu/packages/patches/libtiff-CVE-2016-3991.patch,
gnu/packages/patches/libtiff-CVE-2016-5314.patch,
gnu/packages/patches/libtiff-CVE-2016-5321.patch,
gnu/packages/patches/libtiff-CVE-2016-5323.patch,
gnu/packages/patches/libtiff-CVE-2016-5652.patch,
gnu/packages/patches/libtiff-CVE-2016-9273.patch,
gnu/packages/patches/libtiff-CVE-2016-9297.patch,
gnu/packages/patches/libtiff-CVE-2016-9448.patch,
gnu/packages/patches/libtiff-oob-accesses-in-decode.patch,
gnu/packages/patches/libtiff-oob-write-in-nextdecode.patch,
gnu/packages/patches/libtiff-uint32-overflow.patch: Delete files.
* gnu/local.mk (dist_patch_DATA): Remove them.
---
 gnu/local.mk   |  15 --
 gnu/packages/image.scm |  47 +-
 .../libtiff-CVE-2015-8665+CVE-2015-8683.patch  | 107 -
 gnu/packages/patches/libtiff-CVE-2016-3623.patch   |  30 
 gnu/packages/patches/libtiff-CVE-2016-3945.patch   |  94 ---
 gnu/packages/patches/libtiff-CVE-2016-3990.patch   |  31 
 gnu/packages/patches/libtiff-CVE-2016-3991.patch   | 123 ---
 gnu/packages/patches/libtiff-CVE-2016-5314.patch   |  45 --
 gnu/packages/patches/libtiff-CVE-2016-5321.patch   |  25 ---
 gnu/packages/patches/libtiff-CVE-2016-5323.patch   |  88 ---
 gnu/packages/patches/libtiff-CVE-2016-5652.patch   |  47 --
 gnu/packages/patches/libtiff-CVE-2016-9273.patch   |  41 -
 gnu/packages/patches/libtiff-CVE-2016-9297.patch   |  52 ---
 gnu/packages/patches/libtiff-CVE-2016-9448.patch   |  34 
 .../patches/libtiff-oob-accesses-in-decode.patch   | 171 -
 .../patches/libtiff-oob-write-in-nextdecode.patch  |  49 --
 gnu/packages/patches/libtiff-uint32-overflow.patch | 102 
 17 files changed, 7 insertions(+), 1094 deletions(-)
 delete mode 100644 
gnu/packages/patches/libtiff-CVE-2015-8665+CVE-2015-8683.patch
 delete mode 100644 gnu/packages/patches/libtiff-CVE-2016-3623.patch
 delete mode 100644 gnu/packages/patches/libtiff-CVE-2016-3945.patch
 delete mode 100644 gnu/packages/patches/libtiff-CVE-2016-3990.patch
 delete mode 100644 gnu/packages/patches/libtiff-CVE-2016-3991.patch
 delete mode 100644 gnu/packages/patches/libtiff-CVE-2016-5314.patch
 delete mode 100644 gnu/packages/patches/libtiff-CVE-2016-5321.patch
 delete mode 100644 gnu/packages/patches/libtiff-CVE-2016-5323.patch
 delete mode 100644 gnu/packages/patches/libtiff-CVE-2016-5652.patch
 delete mode 100644 gnu/packages/patches/libtiff-CVE-2016-9273.patch
 delete mode 100644 gnu/packages/patches/libtiff-CVE-2016-9297.patch
 delete mode 100644 gnu/packages/patches/libtiff-CVE-2016-9448.patch
 delete mode 100644 gnu/packages/patches/libtiff-oob-accesses-in-decode.patch
 delete mode 100644 gnu/packages/patches/libtiff-oob-write-in-nextdecode.patch
 delete mode 100644 gnu/packages/patches/libtiff-uint32-overflow.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 430d05f..82e939b 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -664,21 +664,6 @@ dist_patch_DATA =  
\
   %D%/packages/patches/libssh-0.6.5-CVE-2016-0739.patch\
   %D%/packages/patches/libtar-CVE-2013-4420.patch \
   %D%/packages/patches/libtheora-config-guess.patch\
-  %D%/packages/patches/libtiff-CVE-2015-8665+CVE-2015-8683.patch \
-  %D%/packages/patches/libtiff-CVE-2016-3623.patch \
-  %D%/packages/patches/libtiff-CVE-2016-3945.patch \
-  %D%/packages/patches/libtiff-CVE-2016-3990.patch \
-  %D%/packages/patches/libtiff-CVE-2016-3991.patch \
-  %D%/packages/patches/libtiff-CVE-2016-5314.patch \
-  %D%/packages/patches/libtiff-CVE-2016-5321.patch \
-  %D%/packages/patches/libtiff-CVE-2016-5323.patch \
-  %D%/packages/patches/libtiff-CVE-2016-5652.patch \
-  %D%/packages/patches/libtiff-CVE-2016-9273.patch \
-  %D%/packages/patches/libtiff-CVE-2016-9297.patch \
-  %D%/packages/patches/libtiff-CVE-2016-9448.patch \
-  %D%/packages/patches/libtiff-oob-accesses-in-decode.patch  

Re: [PATCH 1/2] doc: Symlink daemon start-up files.

2016-11-21 Thread Hartmut Goebel
Am 18.11.2016 um 21:31 schrieb Leo Famulari:
> Does systemd allow symlinked unit files (aka service definitions)? I
> read this old discussion that says "No" [0] but it could have changed by
> now [1].

Yes it does.

-- 
Regards
Hartmut Goebel

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




Re: (Exposing?) config files and non-start/stop operations

2016-11-21 Thread Christopher Allan Webber
Chris Marusich writes:

>>>  - Initializing a data store.  For example, in dirvish I need to run
>>>a command to initialize a "vault" where I will be storing my data.
>>>  - Manually invoking a garbage collection utility.
>>>  - Manually invoking an integrity check utility.
>>>  - Possibly some side effect involving querying the network.
>>>  - Running schema migrations.
>>>
>>> All sorts of things!  Most of them (all?) involve state or side effects,
>>> but plenty of our most important services will be "state overlords" of
>>> some type.
>
> Why do those activities need to be represented as actions in Shepherd?
> If we're running a daemon or service that already exposes a mechanism
> for manually running tasks like these, then can't we just use "the usual
> mechanism" for doing it?  For example, if we're running a daemon that
> already provides a script to perform garbage collection, can't we just
> invoke that script?  It isn't clear to me why we would need to model
> domain-specific actions like that in Shepherd, although I can see why it
> might be convenient.  Am I missing something?

So sure, we can run "foo-db gc" occasionally (though system
administrators sometimes have to run these kinds of commands by hand).
But what about "foo-db dumpdb"?  That's not something we just run on a
cronjob.  You need access to that command.  And in order for the command
to do the right thing, it might need access to the config file.

There are some other things where we can try to initialize or run
migrations automatically, but that stuff can be very dangerous to just
do implicitly.  Now note, I *do* think we want to handle some of this
stuff behind the scenes as much as possible so that users don't have to
think about it.  But have you ever done a *really big* database schema
migration?

We run into two challenges:
 - Now we're trying to "idempotently manage state", which it turns out
   is very hard (and the source of many bugs in devops tooling)
 - Some commands either need to be run manually occasionally, or are
   never automatically run (see the dumpdb example).

Does this make sense?
 - Chris

 



Re: (Exposing?) config files and non-start/stop operations

2016-11-21 Thread Christopher Allan Webber
Ludovic Courtès writes:

> Hello!
>
> Christopher Allan Webber  skribis:
>
>> Christopher Allan Webber writes:
>>
>>> Hello,
>>>
>>> I'm writing a service for dirvish, and I realized that if I'm following
>>> current guix service routes, I might not be able to run all the
>>> operations I need to.  It seems that the current route for Guix is to
>>> have your service write out a config that more or less becomes part of
>>> the environment for starting / stopping a daemon via Shepherd.  But what
>>> if that's not all you need to do?
>>>
>>> Aside from just "running as a daemon", plenty of (especially
>>> applications which manage state) will need to have other commands that
>>> are unlikely to be run from shepherd.  For example:
>>>
>>>  - Initializing a data store.  For example, in dirvish I need to run
>>>a command to initialize a "vault" where I will be storing my data.
>>>  - Manually invoking a garbage collection utility.
>>>  - Manually invoking an integrity check utility.
>>>  - Possibly some side effect involving querying the network.
>>>  - Running schema migrations.
>>>
>>> All sorts of things!  Most of them (all?) involve state or side effects,
>>> but plenty of our most important services will be "state overlords" of
>>> some type.
>>>
>>> So it seems to me that one of two things will be needed... either:
>>>
>>>  - Expose the configuration file directly, possibly by putting in
>>>`${profile}/etc/foo'
>>>  - Expose "wrapped" utilities.  For example, instead of invoking
>>>"dirvish" directly, I might invoke a wrapped dirvish.
>>
>> Talking about this with Ricardo Wurmus on irc, the idea of launching
>> such a utility from shepherd itself came to mind.
>>
>> So imagine you want to run a tool like this:
>>
>>   foo-db --config=/path/to/foodb-config.cfg gc --aggressive
>>
>> It looks like shepherd has an "action" slot/method:
>>
>>   
>> https://www.gnu.org/software/shepherd/manual/html_node/Slots-of-services.html#Slots-of-services
>>   
>> https://www.gnu.org/software/shepherd/manual/html_node/Service-Convenience.html#Service-Convenience
>>
>> So I wonder if we could add additional actions, and do something like
>> this:
>>
>>   herd gc foo-db --aggressive
>>
>> Or, even more lazy (but maybe not as good?):
>>
>>   herd run-cmd foo-db gc --aggressive
>>
>> Anyway, either of these examples would call the appropriate command but
>> implicitly pass in the --config parameter appropriately.
>>
>> It looks like (gnu services shepherd) doesn't expose the "actions" slot,
>> but couldn't we do that?
>>
>> This seems like the right route.  What do others think?
>
> We could do that (and custom actions would probably be useful in other
> contexts), but like the other Chris ;-), I’m not sure whether this is
> necessary.
>
> So it seems to be that the state-management commands (initialization
> commands, DB schema migration commands, etc.) could be run either:
>
>   1. By an “activation snippet”, by extending ‘activation-service-type’
>  like many services do.
>
>   2. By an auxiliary Shepherd service, say ‘dirvish-init’, that the main
>  service, say ‘dirvish’, would depend on.
> 
> How does that sound?

That's probably fine in most cases; if you read my reply to the other
Chris Marusich you'll see that there are still some cases where you
might need to run commands manually... eg a "dumpdb" type command.
Maybe that could be handled by #2, but it seeems like in a dumpdb type
command you might need to be able to pass in arguments.  It seems like
Shepherd actions are the right case for such a thing?

 - Chris






Re: [PATCH] gnu: shared-mime-info: Update to 1.7

2016-11-21 Thread Hartmut Goebel
Am 21.11.2016 um 15:02 schrieb Ludovic Courtès:
>
>> * gnu/packages/gnome.scm (shared-mime-info): Update to 1.7.
> OK for ‘staging’!

Pushed to staging as 856f30b0009dbb65446de7d62f0497e31eedd88c


-- 
Regards
Hartmut Goebel

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




Re: [PATCH] website: Enhance instructions on how to test the website locally.

2016-11-21 Thread Luis Felipe López Acevedo

On 2016-11-21 09:04, l...@gnu.org wrote:

sirgazil  skribis:


* website/README: Indicate usage of GUIX_WEB_SITE_LOCAL.


LGTM, please push!

Ludo’.


Done.

--
Luis Felipe López Acevedo
http://sirgazil.bitbucket.org/



[PATCH 5/7] gnu: Add kjsembed.

2016-11-21 Thread Hartmut Goebel
* gnu/packages/kde-frameworks.scm (kjsembed): New variable.
---
 gnu/packages/kde-frameworks.scm | 29 +
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
index 928b7ec..109d3f2 100644
--- a/gnu/packages/kde-frameworks.scm
+++ b/gnu/packages/kde-frameworks.scm
@@ -3026,3 +3026,32 @@ support.")
 (license (list license:lgpl2.0+ license:lgpl2.1+
license:bsd-2 license:bsd-3
license:non-copyleft
+
+(define-public kjsembed
+  (package
+(name "kjsembed")
+(version "5.27.0")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ "mirror://kde/stable/frameworks/"
+ (version-major+minor version) "/portingAids/"
+ name "-" version ".tar.xz"))
+   (sha256
+(base32 "1j42v2l41mwn0ms29b94py21dh7kiipkgdnigpbn89v7nkhwlq2b"
+(build-system cmake-build-system)
+(native-inputs
+ `(("extra-cmake-modules" ,extra-cmake-modules)
+   ("kdoctools" ,kdoctools)))
+(inputs
+ `(("ki18n" ,ki18n)
+   ("kjs" ,kjs)
+   ("qtbase" ,qtbase)
+   ("qtsvg" ,qtsvg)
+   ("qttools" ,qttools)))
+(home-page "https://community.kde.org/Frameworks;)
+(synopsis "KDE Frameworks 5 embedded Javascript engine for Qt")
+(description "KJSEmbed provides a method of binding Javascript objects to
+QObjects, so you can script your applications.")
+(license license:lgpl2.0+)))
-- 
2.7.4




[PATCH 1/7] gnu: Add KDE frameworkintegration.

2016-11-21 Thread Hartmut Goebel
* gnu/packages/kde-frameworks.scm (frameworkintegration): New variable.
---
 gnu/packages/kde-frameworks.scm | 51 +
 1 file changed, 51 insertions(+)

diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
index 9df37ac..0e6b8fb 100644
--- a/gnu/packages/kde-frameworks.scm
+++ b/gnu/packages/kde-frameworks.scm
@@ -2798,3 +2798,54 @@ setUrl, setUserAgent and call.")
 script engines.")
 ;; dual licensed
 (license (list license:gpl2+ license:lgpl2.1+
+
+;; Tier 4
+;;
+;; Tier 4 frameworks can be mostly ignored by application programmers; this
+;; tier consists of plugins acting behind the scenes to provide additional
+;; functionality or platform integration to existing frameworks (including
+;; Qt).
+
+(define-public frameworkintegration
+  (package
+(name "frameworkintegration")
+(version "5.27.0")
+(source (origin
+  (method url-fetch)
+  (uri (string-append
+"mirror://kde/stable/frameworks/"
+(version-major+minor version) "/"
+name "-" version ".tar.xz"))
+  (sha256
+   (base32
+"0zpv7wj2006f039wr1gp5bc4md8yq9ig5g3v5mx46sdjip5423p1"
+(build-system cmake-build-system)
+(native-inputs
+ `(("extra-cmake-modules" ,extra-cmake-modules)
+   ("pkg-config" ,pkg-config)))
+(inputs
+ `(("kconfig" ,kconfig)
+   ("kconfigwidgets" ,kconfigwidgets)
+   ("kcoreaddons" ,kcoreaddons)
+   ("kiconthemes" ,kiconthemes)
+   ("kitemviews" ,kitemviews)
+   ("knotificantions" ,knotifications)
+   ("kwidgetsaddons" ,kwidgetsaddons)
+   ("qtbase" ,qtbase)
+   ("qtx11extras" ,qtx11extras)))
+(arguments
+ `(#:phases
+   (modify-phases %standard-phases
+ (add-before 'check 'check-setup
+   (lambda _
+ (setenv "HOME" (getcwd))
+ (setenv "CTEST_OUTPUT_ON_FAILURE" "1") ; Enable debug output
+ (setenv "QT_QPA_PLATFORM" "offscreen")
+ #t)
+(home-page "https://community.kde.org/Frameworks;)
+(synopsis "KDE Frameworks 5 workspace and cross-framework integration 
plugins")
+(description "Framework Integration is a set of plugins responsible for
+better integration of Qt applications when running on a KDE Plasma
+workspace.")
+;; triple licensed
+(license (list license:gpl2+ license:lgpl2.0 license:lgpl2.0+
-- 
2.7.4




[PATCH 2/7] gnu: Add kdelibs4support.

2016-11-21 Thread Hartmut Goebel
* gnu/packages/kde-frameworks.scm (kdelibs4support): New variable.
---
 gnu/packages/kde-frameworks.scm | 88 +
 1 file changed, 88 insertions(+)

diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
index 0e6b8fb..a537aa4 100644
--- a/gnu/packages/kde-frameworks.scm
+++ b/gnu/packages/kde-frameworks.scm
@@ -47,6 +47,7 @@
   #:use-module (gnu packages polkit)
   #:use-module (gnu packages python)
   #:use-module (gnu packages qt)
+  #:use-module (gnu packages tls)
   #:use-module (gnu packages version-control)
   #:use-module (gnu packages web)
   #:use-module (gnu packages xml)
@@ -2849,3 +2850,90 @@ better integration of Qt applications when running on a 
KDE Plasma
 workspace.")
 ;; triple licensed
 (license (list license:gpl2+ license:lgpl2.0 license:lgpl2.0+
+
+;; Porting Aids
+;;
+;; Porting Aids frameworks provide code and utilities to ease the transition
+;; from kdelibs 4 to KDE Frameworks 5. Code should aim to port away from this
+;; framework, new projects should avoid using these libraries.
+
+(define-public kdelibs4support
+  (package
+(name "kdelibs4support")
+(version "5.27.0")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ "mirror://kde/stable/frameworks/"
+ (version-major+minor version) "/portingAids/"
+ name "-" version ".tar.xz"))
+   (sha256
+(base32 "17b8d5b9w27251k4r5xc17115nc3k1agv7j7gkmdiybjyilj1n91"
+(build-system cmake-build-system)
+(native-inputs
+ `(("dbus" ,dbus)
+   ("docbook-xml" ,docbook-xml-4.4) ;; optional, but not found!
+   ("extra-cmake-modules" ,extra-cmake-modules)
+   ("perl", perl)
+   ("perl-uri" ,perl-uri)
+   ("pkg-config" ,pkg-config))) ; to find headers of network manager
+(inputs
+ `(("kcompletion" ,kcompletion)
+   ("kconfig" ,kconfig)
+   ("kconfigwidgets" ,kconfigwidgets)
+   ("kcrash" ,kcrash)
+   ("kdbusaddons" ,kdbusaddons)
+   ("kded" ,kded)
+   ("kdesignerplugin" ,kdesignerplugin)
+   ("kdoctools" ,kdoctools)
+   ("kglobalaccel" ,kglobalaccel)
+   ("kguiaddons" ,kguiaddons)
+   ("ki18n" ,ki18n)
+   ("kiconthemes" ,kiconthemes)
+   ("kio" ,kio)
+   ("knotifications" ,knotifications)
+   ("kparts" ,kparts)
+   ("kservice" ,kservice)
+   ("ktextwidgets" ,ktextwidgets)
+   ("kunitconversion", kunitconversion)
+   ("kwidgetsaddons" ,kwidgetsaddons)
+   ("kwindowsystem" ,kwindowsystem)
+   ("kxmlgui" ,kxmlgui)
+   ("libsm", libsm)
+   ("networkmanager-qt", networkmanager-qt)
+   ("openssl", openssl)
+   ("qtbase" ,qtbase)
+   ("qtsvg" ,qtsvg)
+   ("qttools" ,qttools)
+   ("qtx11extras" ,qtx11extras)))
+(arguments
+ `(#:tests? #f ; FIXME: 6/39 tests fail.
+   #:phases
+   (modify-phases %standard-phases
+ (add-after 'unpack 'cmake-find-docbook
+   (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "cmake/FindDocBookXML4.cmake"
+   (("^.*xml/docbook/schema/dtd.*$")
+"xml/dtd/docbook\n"))
+ #t))
+ (add-before 'check 'check-setup
+   (lambda _
+ (setenv "HOME" (getcwd))
+ (setenv "CTEST_OUTPUT_ON_FAILURE" "1") ; Enable debug output
+ (setenv "QT_QPA_PLATFORM" "offscreen")
+ #t)
+(home-page "https://community.kde.org/Frameworks;)
+(synopsis "KDE Frameworks 5 porting aid from KDELibs4")
+(description "This framework provides code and utilities to ease the
+transition from kdelibs 4 to KDE Frameworks 5.  This includes CMake macros and
+C++ classes whose functionality has been replaced by code in CMake, Qt and
+other frameworks.
+
+Code should aim to port away from this framework eventually.  The API
+documentation of the classes in this framework and the notes at
+http://community.kde.org/Frameworks/Porting_Notes should help with this.")
+;; a variety of licenses
+(license (list license:gpl2 license:gpl2+ license:lgpl2.0 license:lgpl2.0+
+   license:lgpl2.1+ license:expat license:bsd-2 license:bsd-3
+   license:public-domain
-- 
2.7.4




Re: [PATCH] gnu: ruby: Replace with 2.3.2 [fixes CVE-2015-3900].

2016-11-21 Thread Leo Famulari
On Sun, Nov 20, 2016 at 05:00:58PM +1000, Ben Woodcroft wrote:
> I can't see any evidence to the contrary. I also ran a compatibility checker
> and it seemed to work out (while 2.3.2 vs 2.2.6 did not, as a negative
> control).
> https://lvc.github.io/abi-compliance-checker/
> 
> I'm not quite finished packaging it yet up to standard just yet, but I
> pushed what I have here, in case it is useful in the meantime.
> https://github.com/wwood/guix_mine/blob/master/ben/packages/local.scm
> 
> I pushed the graft to master and updated it directly on staging.

Thanks!



Re: [PATCH] gnu: Remove redundancy where mkdir-p is followed by install-file .

2016-11-21 Thread Leo Famulari
On Sun, Nov 20, 2016 at 04:28:29PM +0100, Petter wrote:
> From 595d438789c7c9a293ae7fac500ace7422073624 Mon Sep 17 00:00:00 2001
> From: Petter 
> Date: Sun, 20 Nov 2016 13:39:13 +0100
> Subject: [PATCH] gnu: Remove redundancy where mkdir-p  is followed by
>  install-file  .
> 
> * gnu/packages/bioinformatics.scm (bwa)[source]: Remove redundant mkdir-p.
> * gnu/packages/bioinformatics.scm (eigensoft)[source]: Likewise.
> * gnu/packages/bioinformatics.scm (snap-aligner)[source]: Likewise.
> * gnu/packages/bioinformatics.scm (pardre)[source]: Likewise.
> * gnu/packages/bioinformatics.scm (piranha)[source]: Likewise.
> * gnu/packages/maths.scm (hypre)[source]: Likewise.
> * gnu/packages/mp3.scm (mpc123)[source]: Likewise.
> * gnu/packages/music.scm (tuxguitar)[source]: Likewise.
> * gnu/packages/pdf.scm (impressive)[source]: Likewise.
> * gnu/packages/qemu.scm (qemu)[source]: Likewise.
> * gnu/packages/tls.scm (openssl)[source]: Likewise.

Thanks! A few requests...

First, I think that most, if not all, of these changes are not in the
[source] field of the changed package definitions. I bet that they are
all in the [arguments] field. Can you send a revised patch with an
updated commit message?

Second, we can't change the OpenSSL package on the master branch,
because many things depend on it:

$ guix refresh -l openssl@1.0.2
Building the following 1090 packages would ensure 2981 dependent packages are 
rebuilt
[...]

We do non-security related changes to that sort of "core" package on the
core-updates branch, which is merged into master every couple months.
Otherwise, we'd be rebuilding everything constantly, and users would be
unhappy.

So, will you submit a separate patch for the OpenSSL change? Make sure
it applies cleanly to the core-updates branch. You don't need to try
building this; it will take forever, as you noticed.



Re: [PATCH] Add php

2016-11-21 Thread Leo Famulari
On Sun, Nov 20, 2016 at 06:02:59PM +0100, Marius Bakke wrote:
> Sorry for the delay, PHP is in master now!

Wow, thanks to everyone who worked on this!


signature.asc
Description: PGP signature


[PATCH 6/7] gnu: Add kmediaplayer.

2016-11-21 Thread Hartmut Goebel
* gnu/packages/kde-frameworks.scm (kmediaplayer): New variable.
---
 gnu/packages/kde-frameworks.scm | 46 +
 1 file changed, 46 insertions(+)

diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
index 109d3f2..c86d82c 100644
--- a/gnu/packages/kde-frameworks.scm
+++ b/gnu/packages/kde-frameworks.scm
@@ -3055,3 +3055,49 @@ support.")
 (description "KJSEmbed provides a method of binding Javascript objects to
 QObjects, so you can script your applications.")
 (license license:lgpl2.0+)))
+
+(define-public kmediaplayer
+  (package
+(name "kmediaplayer")
+(version "5.27.0")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ "mirror://kde/stable/frameworks/"
+ (version-major+minor version) "/portingAids/"
+ name "-" version ".tar.xz"))
+   (sha256
+(base32 "003jvd2lzp70ywhnkpzgalzqkjpy3d9flkl144z2hfdwm011d58x"
+(build-system cmake-build-system)
+(native-inputs
+ `(("extra-cmake-modules" ,extra-cmake-modules)
+   ("kdoctools" ,kdoctools)))
+(inputs
+ `(("kcompletion" ,kcompletion)
+   ("kcoreaddons" ,kcoreaddons)
+   ("ki18n" ,ki18n)
+   ("kiconthemes" ,kiconthemes)
+   ("kio" ,kio)
+   ("kparts" ,kparts)
+   ("kwidgetsaddons" ,kwidgetsaddons)
+   ("kxmlgui" ,kxmlgui)
+   ("qtbase" ,qtbase)
+   ("qttools" ,qttools)))
+(arguments
+ `(#:phases
+   (modify-phases %standard-phases
+ (add-before 'check 'check-setup
+   (lambda _
+ (setenv "CTEST_OUTPUT_ON_FAILURE" "1") ; Enable debug output
+ (setenv "QT_QPA_PLATFORM" "offscreen")
+ #t)
+(home-page "https://community.kde.org/Frameworks;)
+(synopsis "KDE Frameworks 5 plugin interface for media player features")
+(description "KMediaPlayer builds on the KParts framework to provide a
+common interface for KParts that can play media files.
+
+This framework is a porting aid.  It is not recommended for new projects, and
+existing projects that use it are advised to port away from it, and use plain
+KParts instead.")
+(license license:expat)))
-- 
2.7.4




[PATCH 7/7] gnu: Add kross.

2016-11-21 Thread Hartmut Goebel
* gnu/packages/kde-frameworks.scm (kross): New variable.
---
 gnu/packages/kde-frameworks.scm | 43 +
 1 file changed, 43 insertions(+)

diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
index c86d82c..88824e2 100644
--- a/gnu/packages/kde-frameworks.scm
+++ b/gnu/packages/kde-frameworks.scm
@@ -3101,3 +3101,46 @@ This framework is a porting aid.  It is not recommended 
for new projects, and
 existing projects that use it are advised to port away from it, and use plain
 KParts instead.")
 (license license:expat)))
+
+(define-public kross
+  (package
+(name "kross")
+(version "5.27.0")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ "mirror://kde/stable/frameworks/"
+ (version-major+minor version) "/portingAids/"
+ name "-" version ".tar.xz"))
+   (sha256
+(base32 "13karf890afk3dplxgsjx48vjz1ka12pgsi8qw369xbff5nqy2vj"
+(build-system cmake-build-system)
+(native-inputs
+ `(("extra-cmake-modules" ,extra-cmake-modules)
+   ("kdoctools" ,kdoctools)))
+(inputs
+ `(("kcompletion" ,kcompletion)
+   ("kcoreaddons" ,kcoreaddons)
+   ("ki18n" ,ki18n)
+   ("kiconthemes" ,kiconthemes)
+   ("kparts" ,kparts)
+   ("kwidgetsaddons" ,kwidgetsaddons)
+   ("kxmlgui" ,kxmlgui)
+   ("qtbase" ,qtbase)
+   ("qtscript" ,qtscript)
+   ("qttools" ,qttools)))
+(home-page "https://community.kde.org/Frameworks;)
+(synopsis "KDE Frameworks 5 solution for application scripting")
+(description "Kross is a scripting bridge for the KDE Development Platform
+used to embed scripting functionality into an application.  It supports
+QtScript as a scripting interpreter backend.
+
+Kross provides an abstract API to provide scripting functionality in a
+interpreter-independent way.  The application that uses Kross should not need
+to know anything about the scripting language being used.  The core of Kross
+provides the framework to deal transparently with interpreter-backends and
+offers abstract functionality to deal with scripts.")
+;; a variety of licenses
+(license (list license:lgpl2.0 license:lgpl2.0+ license:lgpl2.1+
+   license:gpl3
-- 
2.7.4




[PATCH 3/7] gnu: Add khtml.

2016-11-21 Thread Hartmut Goebel
* gnu/packages/kde-frameworks.scm (khtml): New variable.
---
 gnu/packages/kde-frameworks.scm | 57 +
 1 file changed, 57 insertions(+)

diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
index a537aa4..07c6716 100644
--- a/gnu/packages/kde-frameworks.scm
+++ b/gnu/packages/kde-frameworks.scm
@@ -41,6 +41,7 @@
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnome)
   #:use-module (gnu packages gnupg)
+  #:use-module (gnu packages image)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
@@ -2937,3 +2938,59 @@ http://community.kde.org/Frameworks/Porting_Notes should 
help with this.")
 (license (list license:gpl2 license:gpl2+ license:lgpl2.0 license:lgpl2.0+
license:lgpl2.1+ license:expat license:bsd-2 license:bsd-3
license:public-domain
+
+(define-public khtml
+  (package
+(name "khtml")
+(version "5.27.0")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ "mirror://kde/stable/frameworks/"
+ (version-major+minor version) "/portingAids/"
+ name "-" version ".tar.xz"))
+   (sha256
+(base32 "05ssmgk2gr5v1x1lsvyyspvnlknmkxivgx1g210i9ayl08v8v3c0"
+(build-system cmake-build-system)
+(native-inputs
+ `(("extra-cmake-modules" ,extra-cmake-modules)
+   ("perl", perl)))
+(inputs
+ `(("giflib" ,giflib)
+   ("karchive" ,karchive)
+   ("kcodecs" ,kcodecs)
+   ("kglobalaccel" ,kglobalaccel)
+   ("ki18n" ,ki18n)
+   ("kiconthemes" ,kiconthemes)
+   ("kio" ,kio)
+   ("kja" ,kjs)
+   ("knotifications" ,knotifications)
+   ("kparts" ,kparts)
+   ("ktextwidgets" ,ktextwidgets)
+   ("kwallet", kwallet)
+   ("kwidgetsaddons" ,kwidgetsaddons)
+   ("kwindowsystem" ,kwindowsystem)
+   ("kxmlgui" ,kxmlgui)
+   ("libjpeg", libjpeg)
+   ("libpng", libpng)
+   ("openssl", openssl)
+   ("phonon", phonon)
+   ("qtbase" ,qtbase)
+   ("qtx11extras" ,qtx11extras)
+   ("sonnet" ,sonnet)))
+(arguments
+ `(#:phases
+   (modify-phases %standard-phases
+ (add-before 'check 'check-setup
+   (lambda _
+ (setenv "CTEST_OUTPUT_ON_FAILURE" "1") ; Enable debug output
+ (setenv "QT_QPA_PLATFORM" "offscreen")
+ #t)
+(home-page "https://community.kde.org/Frameworks;)
+(synopsis "KDE Frameworks 5 HTML widget and component")
+(description "KHTML is a web rendering engine, based on the KParts
+technology and using KJS for JavaScript support.")
+;; a variety of licenses
+(license (list license:gpl2 license:lgpl2.0 license:lgpl2.1+ license:gpl3+
+   license:expat license:bsd-2 license:bsd-3
-- 
2.7.4




[PATCH 0/7] KDE Framework: Tier 4 and porting aids

2016-11-21 Thread Hartmut Goebel
This patch series complets the KDE Frameworks 5: Tier 4 and porting aids.

See https://api.kde.org/frameworks/ for a list of all framework components.

Hartmut Goebel (7):
  gnu: Add KDE frameworkintegration.
  gnu: Add kdelibs4support.
  gnu: Add khtml.
  gnu: Add kjs.
  gnu: Add kjsembed.
  gnu: Add kmediaplayer.
  gnu: Add kross.

 gnu/packages/kde-frameworks.scm | 346 
 1 file changed, 346 insertions(+)

-- 
2.7.4




[PATCH 4/7] gnu: Add kjs.

2016-11-21 Thread Hartmut Goebel
* gnu/packages/kde-frameworks.scm (kjs): New variable.
---
 gnu/packages/kde-frameworks.scm | 32 
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
index 07c6716..928b7ec 100644
--- a/gnu/packages/kde-frameworks.scm
+++ b/gnu/packages/kde-frameworks.scm
@@ -43,6 +43,7 @@
   #:use-module (gnu packages gnupg)
   #:use-module (gnu packages image)
   #:use-module (gnu packages linux)
+  #:use-module (gnu packages pcre)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages polkit)
@@ -2994,3 +2995,34 @@ technology and using KJS for JavaScript support.")
 ;; a variety of licenses
 (license (list license:gpl2 license:lgpl2.0 license:lgpl2.1+ license:gpl3+
license:expat license:bsd-2 license:bsd-3
+
+(define-public kjs
+  (package
+(name "kjs")
+(version "5.27.0")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ "mirror://kde/stable/frameworks/"
+ (version-major+minor version) "/portingAids/"
+ name "-" version ".tar.xz"))
+   (sha256
+(base32 "18x4az3v4pbg77sxhmrdrfwrc9d9fw7l40m6p18k1khxn86hsp9j"
+(build-system cmake-build-system)
+(native-inputs
+ `(("extra-cmake-modules" ,extra-cmake-modules)
+   ("kdoctools" ,kdoctools)
+   ("perl" ,perl)))
+(inputs
+ `(("pcre" ,pcre)
+   ("qtbase" ,qtbase)))
+(home-page "https://community.kde.org/Frameworks;)
+(synopsis "KDE Frameworks 5 support for Javascript scripting in Qt
+applications")
+(description "Add-on library to Qt which adds JavaScript scripting
+support.")
+;; a variety of licenses
+(license (list license:lgpl2.0+ license:lgpl2.1+
+   license:bsd-2 license:bsd-3
+   license:non-copyleft
-- 
2.7.4




Re: [PATCH 1/1] gnu: swig: Update to 3.0.10.

2016-11-21 Thread Leo Famulari
On Mon, Nov 21, 2016 at 03:02:06PM +0100, Ludovic Courtès wrote:
> Leo Famulari  skribis:
> 
> > * gnu/packages/swig.scm (swig): Update to 3.0.10.
> 
> OK for ‘staging’ is there are no major incompatibilities.

The changelog looked okay to me, so I pushed as 6305b81fedd.



Re: FOSDEM 2016 was awesome! Let's do FOSDEM 2017

2016-11-21 Thread Leo Famulari
Hi Guix!

I'll be at FOSDEM :)

Does anyone have advice about lodging, beyond what FOSDEM mentions in
this link?

https://fosdem.org/2017/practical/accommodation/

On Tue, Jul 26, 2016 at 04:19:28AM +0200, Pjotr Prins wrote:
> FOSDEM 2017 call for proposals has started:
> 
>   https://fosdem.org/2017/news/2016-07-20-call-for-participation/
> 
> We need help with writing the proposal (we can build on last years
> this time), we need help on selecting talks and we need help creating
> the schedule. Finally, if we get a slot, we need help to organise the
> day.
> 
> Who wants to be part of this exciting day? 
> 
> Pj.
> 
> On Tue, Feb 02, 2016 at 11:35:45AM -0800, Christopher Allan Webber wrote:
> > Alex Sassmannshausen writes:
> > 
> > > Hello,
> > >
> > > Ludovic Courtès writes:
> > >
> > >> Hi there!
> > >>
> > >> I just came back from FOSDEM where we had an awesome Guile devroom with
> > >> nice people and great talks!
> > >
> > > I really want to echo Ludo's sentiments.  I had a great time in our dev
> > > room and it was really nice to put faces to the names I see popping up
> > > in IRC and on the mailing list. I really hope we'll be able to do this
> > > again next year!
> > 
> > An extra echo from me.
> > 
> > >> The room of 80 seats was full pretty much all the time, and I think we
> > >> were all excited to see so many people stop by the devroom.  Many shared
> > >> the impression that we were at an important moment of Guile’s history.
> > >> The transition with the Lua track that followed was also insightful and
> > >> a pleasant experience.
> > 
> > I was optimistic about this being a big moment in Guile's history, but
> > after this FOSDEM, my enthusiasm and excitement has doubled, maybe
> > tripled!  I can't wait to see what's happening in the year ahead!
> > 
> > >> I would like to send a big Thank You to Pjotr Prins who took the
> > >> initiative and organized all this masterfully, from applying for the
> > >> devroom, to contacting potential speakers (dozens and dozens of
> > >> messages!), to getting up early on Saturday to make sure everything
> > >> would be fine in the devroom…  Pjotr, you did an awesome job!
> > >>
> > >> Thanks to Paul van der Walt who also woke up early to help out with
> > >> video in the devroom, and obviously, thanks to all the speakers and
> > >> attendees!
> > >
> > > +1 for sure.  Thank you very much for the commitment in time and energy!
> > >
> > > Alex
> > 
> > Yes, thank you! :)
> 
> -- 
> 



Re: [PATCH 1/1] gnu: gnupg: Update to 2.1.16.

2016-11-21 Thread Leo Famulari
On Sun, Nov 20, 2016 at 12:31:30AM +0100, Mathieu Lirzin wrote:
> Hi,
> 
> Leo Famulari  writes:
> 
> > On Sun, Nov 20, 2016 at 12:41:31AM +0200, Efraim Flashner wrote:
> >> Looks like they forgot to bootstrap it then.
> >
> > Because I altered two Makefile.am files in the 'patch-paths' phase, I
> > had to re-do the bootstrap in order for the Makefiles to be regenerated.
> >
> > I'm not an expert on Autotools. Does anyone know if there is a better
> > way?
> 
> I have not tried but unless some weird issue, I think you can safely
> replace "/bin/pwd" directly in the generated Makefile(s) instead of the
> Makefile.am sources.
> 
> This should fix the Autotools dependency and the warning.

I read a bit more and learned about $GNUPGHOME. `/bin/pwd/` is only
invoked if that variable is unset, so I set it in the test suite, and
it works for me.

And the problem with $HOME not existing, worked around by the set-home
phase, was apparently fixed in:

https://git.gnupg.org/cgi-bin/gitweb.cgi?p=gnupg.git;a=commitdiff;h=38d369de13acb95208a0ed8d1cf82ac19173688f;hp=fde9fa81d3d3b25a929b532cc1960d9d9f454a0c

Which I learned about here:

https://anonscm.debian.org/git/pkg-gnupg/gnupg2.git/commit/?id=bbcd4f60e834c79454d1eaf4adf052f8ff545f99

Pushed as 764c5662211793d381b6c4a85f6a1ef4ad353c3f



[PATCH] gnu: Add ruby-hashie

2016-11-21 Thread Frederick Muriithi
Added new variable ruby-hashie

Tests deactivated, since the gem seems to not have the Gemfile
present, leading to failure.
Checking out the repository manually and running rake in it, runs all
tests successfully.

If this is not acceptable, please let me know, and any pointers to
correct the issues would be appreciated.

-- 
Frederick M. Muriithi
From aaefbb774a2c0aac4d80ca686bd4b3fbc55ccb1d Mon Sep 17 00:00:00 2001
From: Muriithi Frederick Muriuki 
Date: Mon, 21 Nov 2016 18:12:18 +0300
Subject: [PATCH] gnu: Add ruby-hashie.

* gnu/packages/ruby.scm (ruby-hashie): New variable.
---
 gnu/packages/ruby.scm | 26 ++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 1abea02..d8c36be 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -4221,3 +4221,29 @@ RFC 2617.  This enables the use of the digest authentication scheme instead
 of the more insecure basic authentication scheme.")
 (home-page "http://github.com/drbrain/net-http-digest_auth;)
 (license license:expat)))
+
+(define-public ruby-hashie
+   (package
+   (name "ruby-hashie")
+   (version "3.4.6")
+   (source
+ (origin
+   (method url-fetch)
+   (uri (rubygems-uri "hashie" version))
+   (sha256
+ (base32
+   "1ny9z0lr8hszx2y2cb07sd6iwvhs9lphl1sqr2vs7bjf7mx8pbcj"
+   (build-system ruby-build-system)
+   (arguments
+;; Gemfile present in repo, but missing in gem causing test failure during build
+`(#:tests? #f))
+   (native-inputs
+`(("bundler" ,bundler)
+  ("ruby-rspec-core" ,ruby-rspec-core)))
+   (synopsis
+ "Hashie is a collection of classes and mixins that make hashes more powerful")
+   (description
+"Hashie is a growing collection of tools that extend Hashes and make
+them more powerful")
+   (home-page "https://github.com/intridea/hashie;)
+   (license license:expat)))
-- 
2.1.4



Re: Website development questions

2016-11-21 Thread Luis Felipe López Acevedo

On 2016-11-21 09:01, l...@gnu.org wrote:

¡Hola!

Luis Felipe López Acevedo  skribis:


On 2016-11-20 15:17, Luis Felipe López Acevedo wrote:

On 2016-11-15 04:57, l...@gnu.org wrote:

Hello!

Luis Felipe López Acevedo  skribis:


I cloned the website to try a fix for bug #22115, and wanted to ask
first what process do you follow to try out the whole website
locally?
When I build and serve the website with Haunt, I face the following
problems:

1. Pages don't load static files because they are looking for the
"static" directory in "/software/guix/static". Do I need to set 
some

variable first?


To test locally, you need to do:

  $ GUIX_WEB_SITE_LOCAL=yes haunt build
  $ haunt serve

There should be no broken links, except for links to the manual or
other
parts of gnu.org.

I suppose this should go to README…

2. The Packages and Packages Issues pages, which are defined in 
(www

packages) are commented out. How do you deal with those in
development?


That’s on purpose, so that people don’t need to have Guix installed 
to

hack on the web site.

We build these pages separately using the ‘export-web-page’ 
procedure.


Ludo, I'm not sure how to do this part. Do I just import (www) and
(www packages) in a REPL, and call `export-web-page` for each page
(packages index and issues)? You don't have to modify `www.scm` at 
all

(uncomment elements in the %web-pages list, for example)?

Also, trying just that, when I try importing (www packages), (guix 
ui)

is not found in my system:

scheme@(guile-user)> (use-modules (www packages))
;;; compiling
/home/anonimo/Documentos/guix-artwork/website/www/packages.scm
;;; WARNING: compilation of
/home/anonimo/Documentos/guix-artwork/website/www/packages.scm 
failed:

;;; ERROR: no code for module (guix ui)
While compiling expression:
ERROR: no code for module (guix ui)

I'm using Guile 2.0.13 installed from Guix binary on Debian 8, and
guix is version 20161113.19. Where are Guix modules?

Thanks,


In the meantime, I cloned guix repo, and added the source directory to
Guile's load path. The error above is gone, but now I get this one:

scheme@(guile-user)> (use-modules (www) (www packages))
;;; note: auto-compilation is enabled, set GUILE_AUTO_COMPILE=0
;;;   or pass the --no-auto-compile argument to disable.
;;; compiling
/home/anonimo/Documentos/guix-artwork/website/www/packages.scm
;;; compiling /home/anonimo/Documentos/guix/guix/ui.scm
;;; compiling /home/anonimo/Documentos/guix/guix/utils.scm
;;; WARNING: compilation of
/home/anonimo/Documentos/guix/guix/utils.scm failed:
;;; ERROR: no code for module (guix config)
;;; WARNING: compilation of
/home/anonimo/Documentos/guix/guix/ui.scm failed:
;;; ERROR: no code for module (guix config)
;;; compiling /home/anonimo/Documentos/guix/guix/store.scm
;;; WARNING: compilation of
/home/anonimo/Documentos/guix/guix/store.scm failed:
;;; ERROR: no code for module (guix config)
;;; WARNING: compilation of
/home/anonimo/Documentos/guix-artwork/website/www/packages.scm failed:
;;; ERROR: no code for module (guix config)
While compiling expression:
ERROR: no binding `guix-warning-port' in module (guix ui)

And still curious about how to import guix modules without using a
checkout :)


This part requires a Guix installation; a mere checkout won’t do, it 
has

to be configured (the (guix config) module is created by ./configure).
I think it doesn’t require a running daemon though, so you could do 
away

by simply making a checkout and running ./configure in there.


Yeah, I just figured that one out :P

However, I have another problem:

scheme@(guile-user)> (export-web-page packages-page 
"site/packages/index.html")
gnu/packages/databases.scm:87:21: In procedure #at gnu/packages/databases.scm:80:12 ()>:
gnu/packages/databases.scm:87:21: Throw to key `srfi-34' with args 
`(#not found"] d5b3220>)'.


Entering a new prompt.  Type `,bt' for a backtrace or `,q' to 
continue.


I'm clueless about that,


P. S.: Maybe we should find a way to test these kinds of pages with 
dummy objects?



--
Luis Felipe López Acevedo
http://sirgazil.bitbucket.org/



Re: [PATCH] Update emacs-org to 20161118

2016-11-21 Thread Ludovic Courtès
Hi Nicolas,

Nicolas Goaziou  skribis:

> Here is a patch updating Org to its latest revision.

Speaking of which ;-), any idea why ox-bibtex.el is still in “contrib”?
I was surprised to see it’s not installed as part of Org.

Ludo’.



Re: [PATCH] gnu: Remove redundancy where mkdir-p is followed by install-file .

2016-11-21 Thread Ludovic Courtès
Hi Petter,

Sounds like a good idea.

Petter  skribis:

> From 595d438789c7c9a293ae7fac500ace7422073624 Mon Sep 17 00:00:00 2001
> From: Petter 
> Date: Sun, 20 Nov 2016 13:39:13 +0100
> Subject: [PATCH] gnu: Remove redundancy where mkdir-p  is followed by
>  install-file  .
>
> * gnu/packages/bioinformatics.scm (bwa)[source]: Remove redundant mkdir-p.
> * gnu/packages/bioinformatics.scm (eigensoft)[source]: Likewise.
> * gnu/packages/bioinformatics.scm (snap-aligner)[source]: Likewise.
> * gnu/packages/bioinformatics.scm (pardre)[source]: Likewise.
> * gnu/packages/bioinformatics.scm (piranha)[source]: Likewise.

Nitpick: no need to repeat the file name for each entry here.

> * gnu/packages/maths.scm (hypre)[source]: Likewise.
> * gnu/packages/mp3.scm (mpc123)[source]: Likewise.
> * gnu/packages/music.scm (tuxguitar)[source]: Likewise.
> * gnu/packages/pdf.scm (impressive)[source]: Likewise.
> * gnu/packages/qemu.scm (qemu)[source]: Likewise.
> * gnu/packages/tls.scm (openssl)[source]: Likewise.

The only question here before we can apply is how much gets rebuilt as a
consequence of this change.

Changing openssl would rebuild too much for instance, so that would go
to the ‘core-updates’ branch.

The rest looks OK for master, but could you check with ‘guix refresh -l’
and submit separate patches accordingly?  See

on how to choose a branch.

Thank you!

Ludo’.



Re: (Exposing?) config files and non-start/stop operations

2016-11-21 Thread Ludovic Courtès
Hello!

Christopher Allan Webber  skribis:

> Christopher Allan Webber writes:
>
>> Hello,
>>
>> I'm writing a service for dirvish, and I realized that if I'm following
>> current guix service routes, I might not be able to run all the
>> operations I need to.  It seems that the current route for Guix is to
>> have your service write out a config that more or less becomes part of
>> the environment for starting / stopping a daemon via Shepherd.  But what
>> if that's not all you need to do?
>>
>> Aside from just "running as a daemon", plenty of (especially
>> applications which manage state) will need to have other commands that
>> are unlikely to be run from shepherd.  For example:
>>
>>  - Initializing a data store.  For example, in dirvish I need to run
>>a command to initialize a "vault" where I will be storing my data.
>>  - Manually invoking a garbage collection utility.
>>  - Manually invoking an integrity check utility.
>>  - Possibly some side effect involving querying the network.
>>  - Running schema migrations.
>>
>> All sorts of things!  Most of them (all?) involve state or side effects,
>> but plenty of our most important services will be "state overlords" of
>> some type.
>>
>> So it seems to me that one of two things will be needed... either:
>>
>>  - Expose the configuration file directly, possibly by putting in
>>`${profile}/etc/foo'
>>  - Expose "wrapped" utilities.  For example, instead of invoking
>>"dirvish" directly, I might invoke a wrapped dirvish.
>
> Talking about this with Ricardo Wurmus on irc, the idea of launching
> such a utility from shepherd itself came to mind.
>
> So imagine you want to run a tool like this:
>
>   foo-db --config=/path/to/foodb-config.cfg gc --aggressive
>
> It looks like shepherd has an "action" slot/method:
>
>   
> https://www.gnu.org/software/shepherd/manual/html_node/Slots-of-services.html#Slots-of-services
>   
> https://www.gnu.org/software/shepherd/manual/html_node/Service-Convenience.html#Service-Convenience
>
> So I wonder if we could add additional actions, and do something like
> this:
>
>   herd gc foo-db --aggressive
>
> Or, even more lazy (but maybe not as good?):
>
>   herd run-cmd foo-db gc --aggressive
>
> Anyway, either of these examples would call the appropriate command but
> implicitly pass in the --config parameter appropriately.
>
> It looks like (gnu services shepherd) doesn't expose the "actions" slot,
> but couldn't we do that?
>
> This seems like the right route.  What do others think?

We could do that (and custom actions would probably be useful in other
contexts), but like the other Chris ;-), I’m not sure whether this is
necessary.

So it seems to be that the state-management commands (initialization
commands, DB schema migration commands, etc.) could be run either:

  1. By an “activation snippet”, by extending ‘activation-service-type’
 like many services do.

  2. By an auxiliary Shepherd service, say ‘dirvish-init’, that the main
 service, say ‘dirvish’, would depend on.

How does that sound?

HTH,
Ludo’.



Re: [Patch v2] daemon: Set ownership of kept build directories to the calling user.

2016-11-21 Thread Hartmut Goebel
Am 21.11.2016 um 15:13 schrieb Ludovic Courtès:
> I don’t like the idea of passing those via the big ‘Settings’
> singleton.

Well, the Settings are already used to pass options like --keep-going to
the build process. So the "Singleton" is mutable per-process anyway.
This is why I've put these here, too.

But if you prefer passing them around, I'll try to implement this.

-- 
Regards
Hartmut Goebel

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




Re: Guix on clusters and in HPC

2016-11-21 Thread Ludovic Courtès
Hi Ben,

Ben Woodcroft  skribis:

> I hope the proposal is/was working out.

Making progress; it’s due for the end of the year.  Until then you’re
welcome to make suggestions.  :-)

> On 03/11/16 23:44, Ludovic Courtès wrote:
>> Hi!
>>
>> Ben Woodcroft  skribis:
>>
>>> I'm a little late here, but please do all of the things on that list :)
>> :-)
>>
>>> With this suggestion:
>>>
>>>  + for 
>>> [[https://lists.gnu.org/archive/html/guix-devel/2016-10/msg5.html][CPU-specific
>>>  optimizations]]
>>>  + somehow support -mtune=native (and even profile-guided
>>>optimizations?)
>>>
>>> I'm not sure if you already thought of this, but an important use case is 
>>> that of pipelines, where we may want to optimise not just the package being 
>>> built, but instead one (or more) of its dependencies. So your suggestion of 
>>> this syntax:
>>>
>>>guix package --tune=haswell -i diamond
>>>
>>> requires some extensions, maybe something like this, where bamm can be used 
>>> as a pipeline that uses bwa and samtools:
>>>
>>>guix package -i bamm --tune=haswell bwa samtools
>>>
>>> and to optimise the C in bamm itself too:
>>>
>>>guix package -i bamm --tune=haswell bwa samtools bamm
>> So you’re saying that --tune should apply recursively, right?
> Sort of. The difficulty with applying it fully recursively is that it
> might greatly increase the maintenance burden of using --tune for
> little performance improvement, since all inputs would have to be
> tuned, not just those that substantively affect performance. This is
> all conjecture though, I'm not sure how many packages will fail to
> build when tuned.

Good question.  It’s also unclear whether tuning should be attempted
recursively on all packages (it wouldn’t make sense to rebuild glibc or
GCC, for instance), or if packages should somehow declare that they are
candidates.

Thanks,
Ludo’.



Re: [Patch v2] daemon: Set ownership of kept build directories to the calling user.

2016-11-21 Thread Ludovic Courtès
Hartmut Goebel  skribis:

> Fixes .
>
> * nix/libstore/globals.hh (Settings) Add clientUid and clientGid.
> * nix/nix-daemon/nix-daemon.cc (pdaemonLoop] Store UID and GID of the
>   caller in settings.
> * nix/libstore/build.cc (_chown): New function.
>   (DerivationGoal::deleteTmpDir): Use it, change ownership of build
>   directory if it is kept.

[...]

> +static void _chown(const Path & path, uid_t uid, gid_t gid)
> +{
> +checkInterrupt();
> +
> +printMsg(lvlVomit, format("%1%") % path);
> +
> +if (chown(path.c_str(), uid, gid) == -1) {

I think this should use ‘lchown’.

> --- a/nix/libstore/globals.hh
> +++ b/nix/libstore/globals.hh
> @@ -70,6 +70,12 @@ struct Settings {
> subgoal of the same goal) fails. */
>  bool keepGoing;
>  
> +/* User and groud id of the client issuing the buld request.  Used to set
> +   the owner and group of the keept temporary directories of failed
> +   builds. */
> +uid_t clientUid;
> +gid_t clientGid;

I don’t like the idea of passing those via the big ‘Settings’
singleton.

Could we instead pass them via the ‘LocalStore’ constructor, with their
default values taken from ‘getuid’ and ‘getgid’ (rather than 0)?  WDYT?

Thank you!

Ludo’.



Re: [PATCH] website: Enhance instructions on how to test the website locally.

2016-11-21 Thread Ludovic Courtès
sirgazil  skribis:

> * website/README: Indicate usage of GUIX_WEB_SITE_LOCAL.

LGTM, please push!

Ludo’.



Re: [PATCH] gnu: shared-mime-info: Update to 1.7

2016-11-21 Thread Ludovic Courtès
Hartmut Goebel  skribis:

> * gnu/packages/gnome.scm (shared-mime-info): Update to 1.7.

OK for ‘staging’!

Ludo’.



Re: [PATCH 1/1] gnu: swig: Update to 3.0.10.

2016-11-21 Thread Ludovic Courtès
Leo Famulari  skribis:

> * gnu/packages/swig.scm (swig): Update to 3.0.10.

OK for ‘staging’ is there are no major incompatibilities.

Thanks!

Ludo’.



Re: Website development questions

2016-11-21 Thread Ludovic Courtès
¡Hola!

Luis Felipe López Acevedo  skribis:

> On 2016-11-20 15:17, Luis Felipe López Acevedo wrote:
>> On 2016-11-15 04:57, l...@gnu.org wrote:
>>> Hello!
>>>
>>> Luis Felipe López Acevedo  skribis:
>>>
 I cloned the website to try a fix for bug #22115, and wanted to ask
 first what process do you follow to try out the whole website
 locally?
 When I build and serve the website with Haunt, I face the following
 problems:

 1. Pages don't load static files because they are looking for the
 "static" directory in "/software/guix/static". Do I need to set some
 variable first?
>>>
>>> To test locally, you need to do:
>>>
>>>   $ GUIX_WEB_SITE_LOCAL=yes haunt build
>>>   $ haunt serve
>>>
>>> There should be no broken links, except for links to the manual or
>>> other
>>> parts of gnu.org.
>>>
>>> I suppose this should go to README…
>>>
 2. The Packages and Packages Issues pages, which are defined in (www
 packages) are commented out. How do you deal with those in
 development?
>>>
>>> That’s on purpose, so that people don’t need to have Guix installed to
>>> hack on the web site.
>>>
>>> We build these pages separately using the ‘export-web-page’ procedure.
>>
>> Ludo, I'm not sure how to do this part. Do I just import (www) and
>> (www packages) in a REPL, and call `export-web-page` for each page
>> (packages index and issues)? You don't have to modify `www.scm` at all
>> (uncomment elements in the %web-pages list, for example)?
>>
>> Also, trying just that, when I try importing (www packages), (guix ui)
>> is not found in my system:
>>
>> scheme@(guile-user)> (use-modules (www packages))
>> ;;; compiling
>> /home/anonimo/Documentos/guix-artwork/website/www/packages.scm
>> ;;; WARNING: compilation of
>> /home/anonimo/Documentos/guix-artwork/website/www/packages.scm failed:
>> ;;; ERROR: no code for module (guix ui)
>> While compiling expression:
>> ERROR: no code for module (guix ui)
>>
>> I'm using Guile 2.0.13 installed from Guix binary on Debian 8, and
>> guix is version 20161113.19. Where are Guix modules?
>>
>> Thanks,
>
> In the meantime, I cloned guix repo, and added the source directory to
> Guile's load path. The error above is gone, but now I get this one:
>
> scheme@(guile-user)> (use-modules (www) (www packages))
> ;;; note: auto-compilation is enabled, set GUILE_AUTO_COMPILE=0
> ;;;   or pass the --no-auto-compile argument to disable.
> ;;; compiling
> /home/anonimo/Documentos/guix-artwork/website/www/packages.scm
> ;;; compiling /home/anonimo/Documentos/guix/guix/ui.scm
> ;;; compiling /home/anonimo/Documentos/guix/guix/utils.scm
> ;;; WARNING: compilation of
> /home/anonimo/Documentos/guix/guix/utils.scm failed:
> ;;; ERROR: no code for module (guix config)
> ;;; WARNING: compilation of
> /home/anonimo/Documentos/guix/guix/ui.scm failed:
> ;;; ERROR: no code for module (guix config)
> ;;; compiling /home/anonimo/Documentos/guix/guix/store.scm
> ;;; WARNING: compilation of
> /home/anonimo/Documentos/guix/guix/store.scm failed:
> ;;; ERROR: no code for module (guix config)
> ;;; WARNING: compilation of
> /home/anonimo/Documentos/guix-artwork/website/www/packages.scm failed:
> ;;; ERROR: no code for module (guix config)
> While compiling expression:
> ERROR: no binding `guix-warning-port' in module (guix ui)
>
> And still curious about how to import guix modules without using a
> checkout :)

This part requires a Guix installation; a mere checkout won’t do, it has
to be configured (the (guix config) module is created by ./configure).
I think it doesn’t require a running daemon though, so you could do away
by simply making a checkout and running ./configure in there.

HTH!

Ludo’.



Re: [PATCH] gnu: Add emacs-emms-mode-line-cycle.

2016-11-21 Thread Ricardo Wurmus

Ludovic Courtès  writes:

> Ricardo Wurmus  skribis:
>
>> * gnu/packages/emacs.scm (emacs-emms-mode-line-cycle): New variable.
>
> LGTM!
>
> (Looks pretty cool!)

Thanks.  Pushed as 2316078a4e64da0d6eee309e54f4b61c5b6cf30c.

-- 
Ricardo




Re: [PATCH] gnu: Add openfwwf-firmware.

2016-11-21 Thread Ludovic Courtès
Eric Bavier  skribis:

> On Fri, 18 Nov 2016 16:04:30 -0500
> Leo Famulari  wrote:
>
>> On Wed, Nov 16, 2016 at 09:29:18PM -0600, Eric Bavier wrote:
>> > Hello Guix,
>> > 
>> > We've had at least one person on IRC confirm that this firmware package
>> > worked for them, allowing them to use their wireless hardware.
>> > 
>> > Would it be appropriate to add this to %base-firmware?  The output is
>> > rather small.  
>> 
>> How small?
>
> 36K

I think it makes sense to add it to ‘%bash-firmware’.

Maybe we can also mention it in guix.texi, next to where we talk about
Atheros-based WiFi devices.

Thank you Eric!

Ludo’.



Re: [PATCH] gnu: Add kerberos service.

2016-11-21 Thread Ludovic Courtès
Hi!

John Darrington  skribis:

> On Fri, Nov 18, 2016 at 11:51:16PM +0100, Ludovic Court??s wrote:
>  Hello!
>  
>  John Darrington  skribis:
>  
>  > * gnu/services/kerberos.scm (krb5-realm, krb5-configuration,
>  > krb5-service-type): New variables.
>  
>  Could you add documentation in guix.texi, along with an example of how
>  to use it?
>
> I can make an attempt to do that.   Kerberos however is a complicated thing
> with a large number of options - not all of which I pretend to understand.
> I think it is better to have something undocumented rather than documented
> wrong.   - and I can give an example of how *I* use it - but that should
> not be regarded as a canonical example of how everyone should use it.

Maybe just give a rough overview in a couple of sentences, then an
example that makes sense to you, and then cross-references to the
upstream manual or documentation.

BTW, is this config file honored by any Kerberos implementation, or just
mit-krb5?

>  I very strongly encourage you to write a system test for this as well.
>  Essentially, it???s just about writing down in a file a test that 
> you???ve
>  already run anyway.  I???m happy to help if needed.  The main ideas are
>  described in
>  .
>  
> You are right.  Tests for things like this are needed.  But we have a chicken
> and egg situation.  We can't really write a test for the client without a 
> server.
> And we can't write a test for the server without a client. ... something has
> to come first.   Of course I could, wait until I have absolutely everything
> done before I commit, but then I a) run the risk of losing everything, if  I
> have a disk crash; and b) rule out all possibility of getting any contribution
> from others.

No you’re right, we can’t delay the contribution endlessly, so we have
to be flexible.  What I want to avoid is simply having big chunks of
code that we don’t really how to use and can’t tell if it works.

>  > +(define-record-type* 
>  > +  krb5-realm  make-krb5-realm
>  > +  krb5-realm?
>  > +  (namekrb5-realm-name)
>  > +
>  > +  (admin-serverkrb5-realm-admin-server)
>  > +  (kdc krb5-realm-kdc)
>  > +  (auth-to-local   krb5-realm-auth-to-local (default '()))
>  > +  (auth-to-local-names krb5-realm-auth-to-local-names (default '()))
>  > +  (http-anchorskrb5-realm-http-anchors (default '()))
>  > +  (default-domain  krb5-realm-default-domain (default #f))
>  > +  (kpasswd-server  krb5-realm-kpasswd-server (default #f))
>  > +  (master-kdc  krb5-realm-master-kdc (default #f))
>  > +  (v4-instance-convert krb5-realm-v4-instance-convert (default '()))
>  > +  (v4-realmkrb5-realm-v4-realm (default #f)))
>  
>  I find it helpful to add a one- or two-line comment above stating what
>  this is, and margin comments next to the fields to give an idea of what
>  their type is.
>  
>  Could you try something along these lines?
>
> Again most of the info would be copied from the manpage krb5.conf(5).  I can 
> do that if you think it would be useful.

Just one or two lines, whatever makes sense.

>  > +(define (krb5-etc-service config)
>  > +  (list `("krb5.conf" ,(krb5-configuration-file config
>  > +
>  > +
>  > +(define krb5-service-type
>  > +  (service-type (name 'krb5)
>  > +(extensions
>  > + (list (service-extension etc-service-type
>  > +  krb5-etc-service)
>  
>  So this service doesn???t do anything by itself.  Perhaps it should also
>  create a Shepherd service for the Kerberos daemon, or something like
>  that?
>
> Kerberos is three headed dog.  There is the client, the "key distribution 
> center",
> the admin server, the ticket granting server, and the application server.
> Ooops! that's 5 heads.
>
> But this service is sufficient to get a client machine up and running and 
> ready to
> make requests and receive services from an external KDC and application 
> server.
>
> As you say, once we have a KDC and some simple kerberos enabled service in 
> Guix, then
> we can write some end to end tests.  It would be really great if someone can 
> help with
> those things.  In the meantime, this is a start.

Heh, OK.

So client libraries of Kerberos implementations read that file?  IOW, is
it useful on its own already?

If the answer is “yes”, then it’s obviously OK to commit, and if it’s
client functionality, we cannot write tests yet, so that’s fine.

Thank you,
Ludo’.



Re: [PATCH 2/2] Add system start-up files for "guix publish".

2016-11-21 Thread Ludovic Courtès
Hartmut Goebel  skribis:

> * .gitignore: add etc/guix-publish.conf and /etc/guix-publish.service.
> * etc/guix-publish.conf.in: New file.
> * etc/guix-publish.service.in: New file.
> * nix/local.mk (etc/guix-%.service, etc/guix-%.conf): Generalized former
>   build-rules for by using patterns.
>   (nodist_systemdservice_DATA): Add etc/guix-publish.service, update
>   comment.
>   (nodist_upstartjob_DATA): Add etc/guix-publish.conf, update comment.
> * doc/guix.texi (Binary Installation): Add step for setting up "guix
>   publish" to start at system start using the new files.

Good idea!

> --- a/doc/guix.texi
> +++ b/doc/guix.texi
> @@ -504,6 +504,40 @@ To use substitutes from @code{hydra.gnu.org} or one of 
> its mirrors
>  @example
>  # guix archive --authorize < ~root/.guix-profile/share/guix/hydra.gnu.org.pub
>  @end example
> +
> +@item
> +(Optional) You may want to publish the content of your store for other
> +systems in your network. For this run
> +@example
> +# guix archive --generate-key
> +# useradd -U -d /var/empty -s `which nologin`\
> +   -c "Guix publish user" --system\
> +   guixpublish
> +@end example
> +
> +Set @command{guix publish} to automatically start on boot.
> +
> +If your host distro uses the systemd init system, this can be achieved
> +with these commands:
> +
> +@example
> +# ln -s ~root/.guix-profile/lib/systemd/system/guix-publish.service \
> +/etc/systemd/system/
> +# systemctl start guix-publish && systemctl enable guix-publish
> +@end example
> +
> +If your host distro uses the Upstart init system:
> +
> +@example
> +# ln -s ~root/.guix-profile/lib/upstart/system/guix-publish.conf /etc/init/
> +# start guix-publish
> +@end example
> +
> +Otherwise, you can still start @command{guix publish} manually with:
> +
> +@example
> +# ~root/.guix-profile/bin/guix publish --user=guixpublish
> +@end example
>  @end enumerate

I think this should rather go to “Invoking guix publish”, to avoid
making “Binary Installation” too intimidating (and because users do not
initially care about running ‘guix publish’).  WDYT?

Also, I think it would be enough to add a cross-reference to “Invoking
guix archive” where we mention that a key needs to be generated.

Last, I think we should simply recommend user ‘nobody’, which we can
expect to be already present.  It does the job and will make the
instructions shorter.

WDYT?

The rest LGTM, thanks!

Ludo’.



Re: [PATCH] Add php

2016-11-21 Thread Ludovic Courtès
Marius Bakke  skribis:

> Marius Bakke  writes:
>
 > Failures in tests caused by external gd are not too serious to
 > require us to switch to the bundled one I think. We may not even
 > need to patch our libgd with php specific patches, since the
 > failures are only slight deviation from the spec on corner cases.
 > If you prefer that we apply these patches too, then we could, and I
 > would still try to keep that up to date.
 
 OK. Let's use external gd for now barring any serious issues.
 
 >
 > What I am more worried about are the iconv crashes. That may be due
 > to lacking locales though.
 
 You could try commenting them out and adding "glibc-locales" to
 native-inputs. Not sure if they will get picked up by that however.
 
 A better test may be to try out that particular functionality using
 the installed version of php. If that works, we can be reasonably
 sure that dropping the tests is fine.
 
 Attached is the final product, after adding a "gd-for-php" variable
 with the two upstream patches, as well as sqlite-3.15.1 (separate
 patch).
 
 I'll push this tomorrow if there are no further comments. Thanks for
 your perseverance :)
>>> Just one question: why defining gd-for-php with define, and not
>>> define-public?
>>
>> It's to prevent it from showing up when people are searching for 'gd',
>> and also to prevent it from being included by other files.
>>
>> It's only a temporary measure until the next version is released, so I
>> saw no reason to export it.
>>
>> I'm on my way out, but will commit this tomorrow most likely :-)
>
> Sorry for the delay, PHP is in master now!

Cool, thank you all!

Ludo’.



Re: [PATCH] gnu: Add emacs-emms-mode-line-cycle.

2016-11-21 Thread Ludovic Courtès
Ricardo Wurmus  skribis:

> * gnu/packages/emacs.scm (emacs-emms-mode-line-cycle): New variable.

LGTM!

(Looks pretty cool!)

Ludo’.