[PATCH] gnu: add msmtp

2014-12-06 Thread Tomáš Čech
* gnu/packages/msmtp.scm: New file.
---
 gnu/packages/msmtp.scm | 46 ++
 1 file changed, 46 insertions(+)
 create mode 100644 gnu/packages/msmtp.scm

diff --git a/gnu/packages/msmtp.scm b/gnu/packages/msmtp.scm
new file mode 100644
index 000..0cf01d4
--- /dev/null
+++ b/gnu/packages/msmtp.scm
@@ -0,0 +1,46 @@
+(define-module (gnu packages msmtp)
+  #:use-module (gnu packages)
+  #:use-module (gnu packages compression)
+  #:use-module (gnu packages libidn)
+  #:use-module (gnu packages gnutls)
+  #:use-module (gnu packages gsasl)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix build-system gnu)
+  #:use-module ((guix licenses) #:prefix license:)
+  )
+
+(define-public msmtp
+  (package
+   (name "msmtp")
+   (version "1.4.32")
+   (source
+(origin
+ (method url-fetch)
+ (uri (string-append 
"http://downloads.sourceforge.net/project/msmtp/msmtp/";
+version "/msmtp-" version ".tar.bz2"))
+ (sha256 (base32
+ "122z38pv4q03w3mbnhrhg4w85a51258sfdg2ips0b6cgwz3wbw1b"
+   (build-system gnu-build-system)
+   (inputs
+`(("libidn" ,libidn)
+  ("gnutls" ,gnutls)
+  ("zlib" ,zlib)
+  ("gsasl" ,gsasl)))
+   (native-inputs
+`(("pkg-config" ,pkg-config)))
+   (home-page "http://msmtp.sourceforge.net/";)
+   (arguments
+`(#:configure-flags (list "--with-libgsasl"
+ "--with-libidn"
+ "--with-ssl=gnutls")))
+   (synopsis
+"SMTP client")
+   (description
+"msmtp is an SMTP client.  In the default mode, it transmits a mail to
+an SMTP server (for example at a free mail provider) which takes care of 
further
+delivery.  To use this program with your mail user agent (MUA), create
+a configuration file with your mail account(s) and tell your MUA to call
+msmtp instead of /usr/sbin/sendmail.")
+   (license license:gpl3+)))
-- 
2.1.2




Re: [PATCH] gnu: add msmtp

2014-12-07 Thread Tomáš Čech
Thanks for kind review. Indentation issues weren't visible in emacs so I guess I
need to tune the configuration a bit. Now it looks in patch correctly.

changes since last attempt:
- instead of new module add into (gnu packages mail)
- fix overall indentation
- improve synopsis
- reduce description



[PATCH] gnu: add msmtp

2014-12-07 Thread Tomáš Čech
* gnu/packages/mail.scm (msmtp): New variable.
---
 gnu/packages/mail.scm | 35 +++
 1 file changed, 35 insertions(+)

diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 752cb51..6051dab 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -36,9 +36,11 @@
   #:use-module (gnu packages gnome)
   #:use-module (gnu packages gnupg)
   #:use-module (gnu packages gnutls)
+  #:use-module (gnu packages gsasl)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages guile)
   #:use-module (gnu packages libcanberra)
+  #:use-module (gnu packages libidn)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages m4)
   #:use-module (gnu packages databases)
@@ -493,4 +495,37 @@ which can add many functionalities to the base client.")
 (home-page "http://www.claws-mail.org/";)
 (license gpl3+))) ; most files are actually public domain or x11
 
+(define-public msmtp
+  (package
+(name "msmtp")
+(version "1.4.32")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ "http://downloads.sourceforge.net/project/msmtp/msmtp/"; version
+ "/msmtp-" version ".tar.bz2"))
+   (sha256 (base32
+"122z38pv4q03w3mbnhrhg4w85a51258sfdg2ips0b6cgwz3wbw1b"
+(build-system gnu-build-system)
+(inputs
+ `(("libidn" ,libidn)
+   ("gnutls" ,gnutls)
+   ("zlib" ,zlib)
+   ("gsasl" ,gsasl)))
+(native-inputs
+ `(("pkg-config" ,pkg-config)))
+(home-page "http://msmtp.sourceforge.net/";)
+(arguments
+ `(#:configure-flags (list "--with-libgsasl"
+   "--with-libidn"
+   "--with-ssl=gnutls")))
+(synopsis
+ "Simple and easy to use SMTP client with decent sendmail compatibility")
+(description
+ "msmtp is an SMTP client.  In the default mode, it transmits a mail to
+an SMTP server (for example at a free mail provider) which takes care of 
further
+delivery.")
+(license gpl3+)))
+
 ;;; mail.scm ends here
-- 
2.0.4




[PATCH] gnu: Add slock.

2014-12-07 Thread Tomáš Čech
* gnu/packages/dwm.scm (slock): New variable.
---
 gnu/packages/dwm.scm | 28 
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/dwm.scm b/gnu/packages/dwm.scm
index 88758f2..2db2010 100644
--- a/gnu/packages/dwm.scm
+++ b/gnu/packages/dwm.scm
@@ -112,3 +112,31 @@ state.")
  "A dynamic menu for X, originally designed for dwm.  It manages large
 numbers of user-defined menu items efficiently.")
 (license x11)))
+
+(define-public slock
+  (package
+(name "slock")
+(version "1.1")
+(source (origin
+  (method url-fetch)
+  (uri (string-append "http://dl.suckless.org/tools/slock-";
+  version ".tar.gz"))
+  (sha256
+   (base32
+"1r70s3npmp0nyrfdsxz8cw1i1z8n9phqdlw02wjphv341h3yajp0"
+(build-system gnu-build-system)
+(arguments
+ '(#:tests? #f
+   #:make-flags (list "CC=gcc"
+  (string-append "PREFIX=" %output))
+   #:phases
+   (alist-delete 'configure %standard-phases)))
+(inputs
+ `(("libx11" ,libx11)
+   ("libxext" ,libxext)
+   ("libxinerama" ,libxinerama)))
+(home-page "http://tools.suckless.org/slock/";)
+(synopsis "Simple X session lock")
+(description
+ "Simple X session lock with trivial feedback on password entry.")
+(license x11)))
-- 
2.0.4




[PATCH] gnu: Add slock.

2014-12-08 Thread Tomáš Čech
* gnu/packages/dwm.scm (slock): New variable.
---
 gnu/packages/dwm.scm | 27 +++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/dwm.scm b/gnu/packages/dwm.scm
index 88758f2..1a02aa3 100644
--- a/gnu/packages/dwm.scm
+++ b/gnu/packages/dwm.scm
@@ -112,3 +112,30 @@ state.")
  "A dynamic menu for X, originally designed for dwm.  It manages large
 numbers of user-defined menu items efficiently.")
 (license x11)))
+
+(define-public slock
+  (package
+(name "slock")
+(version "1.1")
+(source (origin
+  (method url-fetch)
+  (uri (string-append "http://dl.suckless.org/tools/slock-";
+  version ".tar.gz"))
+  (sha256
+   (base32
+"1r70s3npmp0nyrfdsxz8cw1i1z8n9phqdlw02wjphv341h3yajp0"
+(build-system gnu-build-system)
+(arguments
+ '(#:tests? #f ; no tests
+   #:make-flags (list "CC=gcc"
+  (string-append "PREFIX=" %output))
+   #:phases (alist-delete 'configure %standard-phases)))
+(inputs
+ `(("libx11" ,libx11)
+   ("libxext" ,libxext)
+   ("libxinerama" ,libxinerama)))
+(home-page "http://tools.suckless.org/slock/";)
+(synopsis "Simple X session lock")
+(description
+ "Simple X session lock with trivial feedback on password entry.")
+(license x11)))
-- 
2.0.4




[PATCH] gnu: Add bullet.

2014-12-11 Thread Tomáš Čech
* gnu/packages/game-development.scm: New file
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
---
 gnu-system.am |  1 +
 gnu/packages/game-development.scm | 44 +++
 2 files changed, 45 insertions(+)
 create mode 100644 gnu/packages/game-development.scm

diff --git a/gnu-system.am b/gnu-system.am
index e923340..481a9a7 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -95,6 +95,7 @@ GNU_SYSTEM_MODULES =  \
   gnu/packages/freeipmi.scm\
   gnu/packages/ftp.scm \
   gnu/packages/fribidi.scm \
+  gnu/packages/game-development.scm\
   gnu/packages/games.scm   \
   gnu/packages/gawk.scm\
   gnu/packages/gcal.scm\
diff --git a/gnu/packages/game-development.scm 
b/gnu/packages/game-development.scm
new file mode 100644
index 000..d2b
--- /dev/null
+++ b/gnu/packages/game-development.scm
@@ -0,0 +1,44 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2014 Tomáš Čech 
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages game-development)
+  #:use-module (guix licenses)
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix build-system cmake)
+  #:use-module (gnu packages)
+  )
+
+(define-public bullet
+  (package
+(name "bullet")
+(version "2.82")
+(source (origin
+  (method url-fetch)
+  (uri (string-append "https://bullet.googlecode.com/files/bullet-";
+  version
+  "-r2704.tgz"))
+  (sha256
+   (base32 
"1lnfksxa9b1slyfcxys313ymsllvbsnxh9np06azkbgpfvmwkr37"
+(build-system cmake-build-system)
+(arguments '(#:tests? #f)) ; no 'test' target
+(home-page "http://bulletphysics.org/";)
+(synopsis "Physics engine library")
+(description
+ "Bullet is a physics engine library usable for collision detection. It is 
used in some video games and movies.")
+(license zlib)))
-- 
2.0.4




[PATCH v2] gnu: Add bullet.

2014-12-11 Thread Tomáš Čech
* gnu/packages/game-development.scm: New file
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
---
 gnu-system.am |  1 +
 gnu/packages/game-development.scm | 42 +++
 2 files changed, 43 insertions(+)
 create mode 100644 gnu/packages/game-development.scm

diff --git a/gnu-system.am b/gnu-system.am
index e923340..481a9a7 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -95,6 +95,7 @@ GNU_SYSTEM_MODULES =  \
   gnu/packages/freeipmi.scm\
   gnu/packages/ftp.scm \
   gnu/packages/fribidi.scm \
+  gnu/packages/game-development.scm\
   gnu/packages/games.scm   \
   gnu/packages/gawk.scm\
   gnu/packages/gcal.scm\
diff --git a/gnu/packages/game-development.scm 
b/gnu/packages/game-development.scm
new file mode 100644
index 000..d66cd61
--- /dev/null
+++ b/gnu/packages/game-development.scm
@@ -0,0 +1,42 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2014 Tomáš Čech 
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages game-development)
+  #:use-module (guix licenses)
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix build-system cmake)
+  #:use-module (gnu packages))
+
+(define-public bullet
+  (package
+(name "bullet")
+(version "2.82")
+(source (origin
+  (method url-fetch)
+  (uri (string-append "https://bullet.googlecode.com/files/bullet-";
+  version "-r2704.tgz"))
+  (sha256
+   (base32 
"1lnfksxa9b1slyfcxys313ymsllvbsnxh9np06azkbgpfvmwkr37"
+(build-system cmake-build-system)
+(arguments '(#:tests? #f)) ; no 'test' target
+(home-page "http://bulletphysics.org/";)
+(synopsis "3D physics engine library")
+(description
+ "Bullet is a physics engine library usable for collision detection. It is 
used in some video games and movies.")
+(license zlib)))
-- 
2.0.4




[PATCH v3] gnu: Add bullet.

2014-12-11 Thread Tomáš Čech
* gnu/packages/game-development.scm: New file
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
---
 gnu-system.am |  1 +
 gnu/packages/game-development.scm | 43 +++
 2 files changed, 44 insertions(+)
 create mode 100644 gnu/packages/game-development.scm

diff --git a/gnu-system.am b/gnu-system.am
index e923340..481a9a7 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -95,6 +95,7 @@ GNU_SYSTEM_MODULES =  \
   gnu/packages/freeipmi.scm\
   gnu/packages/ftp.scm \
   gnu/packages/fribidi.scm \
+  gnu/packages/game-development.scm\
   gnu/packages/games.scm   \
   gnu/packages/gawk.scm\
   gnu/packages/gcal.scm\
diff --git a/gnu/packages/game-development.scm 
b/gnu/packages/game-development.scm
new file mode 100644
index 000..72e73dd
--- /dev/null
+++ b/gnu/packages/game-development.scm
@@ -0,0 +1,43 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2014 Tomáš Čech 
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages game-development)
+  #:use-module (guix licenses)
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix build-system cmake)
+  #:use-module (gnu packages))
+
+(define-public bullet
+  (package
+(name "bullet")
+(version "2.82")
+(source (origin
+  (method url-fetch)
+  (uri (string-append "https://bullet.googlecode.com/files/bullet-";
+  version "-r2704.tgz"))
+  (sha256
+   (base32 
"1lnfksxa9b1slyfcxys313ymsllvbsnxh9np06azkbgpfvmwkr37"
+(build-system cmake-build-system)
+(arguments '(#:tests? #f)) ; no 'test' target
+(home-page "http://bulletphysics.org/";)
+(synopsis "3D physics engine library")
+(description
+ "Bullet is a physics engine library usable for collision detection.  It 
+is used in some video games and movies.")
+(license zlib)))
-- 
2.0.4




Re: [PATCH v3] gnu: Add bullet.

2014-12-13 Thread Tomáš Čech
OK, even though I disagree with version to be used, I adjusted it according
Mark's comment.

In the meantime I also added patch for building with -fPIC parameter which is
required for EFL.

Thanks in advance for your review.

Best regards,

Tomas Cech



[PATCH v4] gnu: Add bullet.

2014-12-13 Thread Tomáš Čech
* gnu/packages/game-development.scm: New file
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
* gnu/packages/patches/bullet-add-fPIC-into-flags.patch: New file
* gnu-system.am (dist_patch_DATA): Add it.
---
 gnu-system.am  |  2 +
 gnu/packages/game-development.scm  | 44 ++
 .../patches/bullet-add-fPIC-into-flags.patch   | 13 +++
 3 files changed, 59 insertions(+)
 create mode 100644 gnu/packages/game-development.scm
 create mode 100644 gnu/packages/patches/bullet-add-fPIC-into-flags.patch

diff --git a/gnu-system.am b/gnu-system.am
index e828c01..d4c806e 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -96,6 +96,7 @@ GNU_SYSTEM_MODULES =  \
   gnu/packages/freeipmi.scm\
   gnu/packages/ftp.scm \
   gnu/packages/fribidi.scm \
+  gnu/packages/game-development.scm\
   gnu/packages/games.scm   \
   gnu/packages/gawk.scm\
   gnu/packages/gcal.scm\
@@ -334,6 +335,7 @@ dist_patch_DATA =   
\
   gnu/packages/patches/bigloo-gc-shebangs.patch\
   gnu/packages/patches/binutils-ld-new-dtags.patch \
   gnu/packages/patches/binutils-loongson-workaround.patch  \
+  gnu/packages/patches/bullet-add-fPIC-into-flags.patch\
   gnu/packages/patches/cdparanoia-fpic.patch   \
   gnu/packages/patches/clucene-pkgconfig.patch \
   gnu/packages/patches/cmake-fix-tests.patch   \
diff --git a/gnu/packages/game-development.scm 
b/gnu/packages/game-development.scm
new file mode 100644
index 000..96a87e1
--- /dev/null
+++ b/gnu/packages/game-development.scm
@@ -0,0 +1,44 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2014 Tomáš Čech 
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages game-development)
+  #:use-module (guix licenses)
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix build-system cmake)
+  #:use-module (gnu packages))
+
+(define-public bullet
+  (package
+(name "bullet")
+(version "2.82-r2704")
+(source (origin
+  (method url-fetch)
+  (uri (string-append "https://bullet.googlecode.com/files/bullet-";
+  version ".tgz"))
+  (sha256
+   (base32 "1lnfksxa9b1slyfcxys313ymsllvbsnxh9np06azkbgpfvmwkr37"))
+  (patches (list (search-patch 
"bullet-add-fPIC-into-flags.patch")
+(build-system cmake-build-system)
+(arguments '(#:tests? #f)) ; no 'test' target
+(home-page "http://bulletphysics.org/";)
+(synopsis "3D physics engine library")
+(description
+ "Bullet is a physics engine library usable for collision detection.  It 
+is used in some video games and movies.")
+(license zlib)))
diff --git a/gnu/packages/patches/bullet-add-fPIC-into-flags.patch 
b/gnu/packages/patches/bullet-add-fPIC-into-flags.patch
new file mode 100644
index 000..6e27660
--- /dev/null
+++ b/gnu/packages/patches/bullet-add-fPIC-into-flags.patch
@@ -0,0 +1,13 @@
+diff -up bullet-2.82-r2704/CMakeLists.txt.orig bullet-2.82-r2704/CMakeLists.txt
+--- bullet-2.82-r2704/CMakeLists.txt.orig  2014-12-13 00:09:49.648710180 
+0100
 bullet-2.82-r2704/CMakeLists.txt   2014-12-13 00:10:44.205708986 +0100
+@@ -17,6 +17,9 @@ IF (NOT CMAKE_BUILD_TYPE)
+  SET(CMAKE_BUILD_TYPE "Release")
+ ENDIF (NOT CMAKE_BUILD_TYPE) 
+ 
++SET(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS} -fPIC")
++SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC")
++
+ SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -D_DEBUG")
+ #MESSAGE("CMAKE_CXX_FLAGS_DEBUG="+${CMAKE_CXX_FLAGS_DEBUG})
+ 
-- 
2.0.4




[PATCH v5] gnu: Add bullet.

2014-12-15 Thread Tomáš Čech
* gnu/packages/game-development.scm: New file
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
---
 gnu-system.am |  1 +
 gnu/packages/game-development.scm | 47 +++
 2 files changed, 48 insertions(+)
 create mode 100644 gnu/packages/game-development.scm

diff --git a/gnu-system.am b/gnu-system.am
index e828c01..36913e1 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -96,6 +96,7 @@ GNU_SYSTEM_MODULES =  \
   gnu/packages/freeipmi.scm\
   gnu/packages/ftp.scm \
   gnu/packages/fribidi.scm \
+  gnu/packages/game-development.scm\
   gnu/packages/games.scm   \
   gnu/packages/gawk.scm\
   gnu/packages/gcal.scm\
diff --git a/gnu/packages/game-development.scm 
b/gnu/packages/game-development.scm
new file mode 100644
index 000..460a351
--- /dev/null
+++ b/gnu/packages/game-development.scm
@@ -0,0 +1,47 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2014 Tomáš Čech 
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages game-development)
+  #:use-module (guix licenses)
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix build-system cmake)
+  #:use-module (gnu packages))
+
+(define-public bullet
+  (package
+(name "bullet")
+(version "2.82-r2704")
+(source (origin
+  (method url-fetch)
+  (uri (string-append "https://bullet.googlecode.com/files/bullet-";
+  version ".tgz"))
+  (sha256
+   (base32 
"1lnfksxa9b1slyfcxys313ymsllvbsnxh9np06azkbgpfvmwkr37"
+(build-system cmake-build-system)
+(arguments '(#:tests? #f ; no 'test' target
+ #:configure-flags (list
+(string-append
+ "-DCMAKE_CXX_FLAGS=-fPIC "
+ (or (getenv "CXXFLAGS") "")
+(home-page "http://bulletphysics.org/";)
+(synopsis "3D physics engine library")
+(description
+ "Bullet is a physics engine library usable for collision detection.  It 
+is used in some video games and movies.")
+(license zlib)))
-- 
2.0.4




[PATCH] gnu: tmux: Update to 1.9a.

2014-12-15 Thread Tomáš Čech
* gnu/packages/tmux.scm (tmux): Update to 1.9a
---
 gnu/packages/tmux.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/tmux.scm b/gnu/packages/tmux.scm
index 636b56e..9cb35bb 100644
--- a/gnu/packages/tmux.scm
+++ b/gnu/packages/tmux.scm
@@ -28,7 +28,7 @@
 (define-public tmux
   (package
 (name "tmux")
-(version "1.7")
+(version "1.9a")
 (source (origin
  (method url-fetch)
  (uri (string-append
@@ -36,7 +36,7 @@
 version "/tmux-" version ".tar.gz"))
  (sha256
   (base32
-   "0ywy1x2g905hmhkdz418ik42lcvnhnwr8fv63rcqczfg27d6nd38"
+   "1x9k4wfd4l5jg6fh7xkr3yyilizha6ka8m5b1nr0kw8wj0mv5qy5"
 (build-system gnu-build-system)
 (inputs
  `(("libevent" ,libevent)
-- 
2.0.4




[PATCH] gnu: luajit: Add -fPIC into CFLAGS.

2014-12-15 Thread Tomáš Čech
* gnu/packages/lua.scm (luajit): Add -fPIC into CFLAGS and pass it to make.
---
 gnu/packages/lua.scm | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/lua.scm b/gnu/packages/lua.scm
index eda69f9..0b6c4e4 100644
--- a/gnu/packages/lua.scm
+++ b/gnu/packages/lua.scm
@@ -92,7 +92,8 @@ for configuration, scripting, and rapid prototyping.")
 (arguments
  '(#:tests? #f  ;luajit is distributed without tests
#:phases (alist-delete 'configure %standard-phases)
-   #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs 
"out")
+   #:make-flags (list (string-append "CFLAGS=-fPIC " (or (getenv "CFLAGS") 
""))
+  (string-append "PREFIX=" (assoc-ref %outputs 
"out")
 (home-page "http://www.luajit.org/";)
 (synopsis "Just in time compiler for Lua programming language version 5.1")
 (description
-- 
2.0.4




[PATCH] gnu: luajit: don't require ldconfig

2015-02-01 Thread Tomáš Čech
* gnu/packages/lua.scm (luajit)[arguments]: Add "LDCONFIG=true" to make
  command line

Install phase of luajit contains:

ldconfig /gnu/store/…-luajit-2.0.3/lib && \
ln -sf libluajit-5.1.so.2.0.3 /gnu/store/…-luajit-2.0.3/lib/libluajit-5.1.so && 
\
ln -sf libluajit-5.1.so.2.0.3 /gnu/store/…-luajit-2.0.3/lib/libluajit-5.1.so || 
:

When ldconfig is missing, symlinks are not created but whole expression
returns no error. This cause linker not to find proper library when building
package against luajit and libluajit-5.1.a is used instead. With
'LDCONFIG=true' it ommits the problem.
---
 gnu/packages/lua.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/lua.scm b/gnu/packages/lua.scm
index eda69f9..54f6a44 100644
--- a/gnu/packages/lua.scm
+++ b/gnu/packages/lua.scm
@@ -92,7 +92,7 @@ for configuration, scripting, and rapid prototyping.")
 (arguments
  '(#:tests? #f  ;luajit is distributed without tests
#:phases (alist-delete 'configure %standard-phases)
-   #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs 
"out")
+   #:make-flags (list "LDCONFIG=true" (string-append "PREFIX=" (assoc-ref 
%outputs "out")
 (home-page "http://www.luajit.org/";)
 (synopsis "Just in time compiler for Lua programming language version 5.1")
 (description
-- 
2.0.5




[PATCH] gnu: luajit: install symlinks for libluajit library

2015-02-02 Thread Tomáš Čech
* gnu/packages/lua.scm (luajit): don't require ldconfig - add "LDCONFIG=true"
  to make command line, add luajit-2.0.3-symlink.patch so both symlinks are 
created
* gnu/packages/patches/luajit-2.0.3-symlink.patch: New file
* gnu-system.am (dist_patch_DATA): Adjust accordingly.

Install phase of luajit contained:

ldconfig /gnu/store/…-luajit-2.0.3/lib && \
ln -sf libluajit-5.1.so.2.0.3 /gnu/store/…-luajit-2.0.3/lib/libluajit-5.1.so && 
\
ln -sf libluajit-5.1.so.2.0.3 /gnu/store/…-luajit-2.0.3/lib/libluajit-5.1.so || 
:

1) When ldconfig is missing, symlinks are not created but whole expression
   returns no error. This cause linker not to find proper library when
   building package against luajit and libluajit-5.1.a is used instead. With
   'LDCONFIG=true' it ommits the problem.

2) same symlink is created twice, luajit-2.0.3-symlink.patch fixes that.
---
 gnu-system.am   |  1 +
 gnu/packages/lua.scm|  7 +--
 gnu/packages/patches/luajit-2.0.3-symlink.patch | 12 
 3 files changed, 18 insertions(+), 2 deletions(-)
 create mode 100644 gnu/packages/patches/luajit-2.0.3-symlink.patch

diff --git a/gnu-system.am b/gnu-system.am
index 706ad57..45f03fe 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -421,6 +421,7 @@ dist_patch_DATA =   
\
   gnu/packages/patches/libssh-CVE-2014-0017.patch  \
   gnu/packages/patches/lm-sensors-hwmon-attrs.patch\
   gnu/packages/patches/lua51-liblua-so.patch\
+  gnu/packages/patches/luajit-2.0.3-symlink.patch   \
   gnu/packages/patches/luit-posix.patch\
   gnu/packages/patches/m4-gets-undeclared.patch\
   gnu/packages/patches/make-impure-dirs.patch  \
diff --git a/gnu/packages/lua.scm b/gnu/packages/lua.scm
index eda69f9..8379419 100644
--- a/gnu/packages/lua.scm
+++ b/gnu/packages/lua.scm
@@ -87,12 +87,15 @@ for configuration, scripting, and rapid prototyping.")
   (uri (string-append "http://luajit.org/download/LuaJIT-";
   version ".tar.gz"))
   (sha256
-   (base32 
"0ydxpqkmsn2c341j4r2v6r5r0ig3kbwv3i9jran3iv81s6r6rgjm"
+   (base32 "0ydxpqkmsn2c341j4r2v6r5r0ig3kbwv3i9jran3iv81s6r6rgjm"))
+  (patches (list (search-patch "luajit-2.0.3-symlink.patch")
 (build-system gnu-build-system)
 (arguments
  '(#:tests? #f  ;luajit is distributed without tests
#:phases (alist-delete 'configure %standard-phases)
-   #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs 
"out")
+   ; poorly formulated expression doesn't create symlinks for dynamic 
library on ldconfig failure
+   ; ldconfig is useless anyway so success always with `true'
+   #:make-flags (list "LDCONFIG=true" (string-append "PREFIX=" (assoc-ref 
%outputs "out")
 (home-page "http://www.luajit.org/";)
 (synopsis "Just in time compiler for Lua programming language version 5.1")
 (description
diff --git a/gnu/packages/patches/luajit-2.0.3-symlink.patch 
b/gnu/packages/patches/luajit-2.0.3-symlink.patch
new file mode 100644
index 000..c6b4eec
--- /dev/null
+++ b/gnu/packages/patches/luajit-2.0.3-symlink.patch
@@ -0,0 +1,12 @@
+diff -up LuaJIT-2.0.3/Makefile.orig LuaJIT-2.0.3/Makefile
+--- LuaJIT-2.0.3/Makefile.orig 2014-03-12 13:10:00.0 +0100
 LuaJIT-2.0.3/Makefile  2015-02-02 23:52:30.774723789 +0100
+@@ -56,7 +56,7 @@ INSTALL_PCNAME= luajit.pc
+ INSTALL_STATIC= $(INSTALL_LIB)/$(INSTALL_ANAME)
+ INSTALL_DYN= $(INSTALL_LIB)/$(INSTALL_SONAME)
+ INSTALL_SHORT1= $(INSTALL_LIB)/$(INSTALL_SOSHORT)
+-INSTALL_SHORT2= $(INSTALL_LIB)/$(INSTALL_SOSHORT)
++INSTALL_SHORT2= $(INSTALL_LIB)/$(INSTALL_SOSHORT).$(MAJVER)
+ INSTALL_T= $(INSTALL_BIN)/$(INSTALL_TNAME)
+ INSTALL_TSYM= $(INSTALL_BIN)/$(INSTALL_TSYMNAME)
+ INSTALL_PC= $(INSTALL_PKGCONFIG)/$(INSTALL_PCNAME)
-- 
2.0.5




Re: ignore trailing slash for `guix gc -d' /gnu/store/...something/

2015-02-25 Thread Tomáš Čech

Sorry for late response.

On Tue, Feb 03, 2015 at 09:57:04PM +0100, Ludovic Courtès wrote:

sleep_wal...@suse.cz skribis:


Package: guix
Version: 0.8.1

When I invoke `guix gc -d /path', success of the command depends whether /path 
ends with slash or not:

$ guix gc -d /gnu/store/mgqk0kv5jckrd7l5cwj68fp7cz2l4qqj-luajit-2.0.3/
guix gc: error: build failed: path 
`/gnu/store/mgqk0kv5jckrd7l5cwj68fp7cz2l4qqj-luajit-2.0.3/' is not in the Nix 
store

$ guix gc -d /gnu/store/mgqk0kv5jckrd7l5cwj68fp7cz2l4qqj-luajit-2.0.3
finding garbage collector roots...
cannot read potential root `/var/guix/manifests'
deleting `/gnu/store/73b760g2nr9syhznydgly8r7vl2k9z11-profile'
deleting `/gnu/store/mgqk0kv5jckrd7l5cwj68fp7cz2l4qqj-luajit-2.0.3'
deleting `/gnu/store/trash'
deleting unused links...
note: currently hard linking saves 247.60 MiB


* with the misleading error message it is usability bug
* it should be safe always try to remove slash from the end
* other commands may be affected too and the behaviour should be consistent for 
all commands


What behavior do you think would be appropriate when running, say:

 guix gc -d /gnu/store/mgqk0kv5jckrd7l5cwj68fp7cz2l4qqj-luajit-2.0.3/bin/lua

Should it be equivalent to:

 guix gc -d /gnu/store/mgqk0kv5jckrd7l5cwj68fp7cz2l4qqj-luajit-2.0.3

I would think so, but I’d like to have feedback.


I think so as well.



Thanks,
Ludo’.

PS: Make sure to use bug-g...@gnu.org for bug reports.


Sorry about that, I'm still getting used to GNU's bugtracker...


pgphpjutAAtZP.pgp
Description: PGP signature


[PATCH 4/5] gnu: Add emotion-generic-players

2015-02-25 Thread Tomáš Čech
* gnu/packages/efl.scm (emotion-generic-players): New variable.
---
 gnu/packages/efl.scm | 22 ++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/efl.scm b/gnu/packages/efl.scm
index 3d5ed74..d69cb5c 100644
--- a/gnu/packages/efl.scm
+++ b/gnu/packages/efl.scm
@@ -41,6 +41,7 @@
   #:use-module (gnu packages photo)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages valgrind)
+  #:use-module (gnu packages video)
   #:use-module (gnu packages xorg))
 
 (define-public efl
@@ -161,3 +162,24 @@
 (description
  "Set of generic loaders allowing to open pictures, documents and media 
files into Evas (EFL canvas library)")
 (license license:gpl2+)))
+
+(define-public emotion-generic-players
+  (package
+(name "emotion-generic-players")
+(version "1.13.0")
+(source (origin
+  (method url-fetch)
+  (uri (string-append 
"http://download.enlightenment.org/rel/libs/emotion_generic_players/emotion_generic_players-";
 version ".tar.gz"))
+  (sha256
+   (base32 
"0gin3cjhfj75v0gjsvv7harbj4fs4r7r1sfi74ncxzna71nrd8r3"
+(build-system gnu-build-system)
+(native-inputs
+ `(("pkg-config" ,pkg-config)))
+(inputs
+ `(("efl" ,efl)
+   ("vlc" ,vlc)))
+(home-page "http://www.enlightenment.org";)
+(synopsis "Plugins for integrating media players in EFL based 
applications")
+(description
+ "Set of generic media players allowing to open video files through 
emotion. Useful only for emotion library based applications.")
+(license license:bsd-2)))
-- 
2.0.5




[PATCH 2/5] gnu: Add elementary.

2015-02-25 Thread Tomáš Čech
* gnu/packages/efl (elementary): New variable.
---
 gnu/packages/efl.scm | 20 
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/efl.scm b/gnu/packages/efl.scm
index 5d15832..687137e 100644
--- a/gnu/packages/efl.scm
+++ b/gnu/packages/efl.scm
@@ -113,3 +113,23 @@
 (description
  "EFL is toolkit used mainly for Enlightenment, but is used for more 
applications because it is resource friendly and energy efficient.")
 (license (list license:bsd-2 license:lgpl2.1 license:zlib ; different 
parts under different licenses
+
+(define-public elementary
+  (package
+(name "elementary")
+(version "1.13.0")
+(source (origin
+  (method url-fetch)
+  (uri (string-append 
"http://download.enlightenment.org/rel/libs/elementary/elementary-"; version 
".tar.gz"))
+  (sha256
+   (base32 
"133p4yaynmy37yhk2gxwlc8a2n2wy7cbh4rd7nsnl5929wqb9waj"
+(build-system gnu-build-system)
+(native-inputs
+ `(("pkg-config" ,pkg-config)))
+(inputs
+ `(("efl" ,efl)))
+(home-page "http://www.enlightenment.org";)
+(synopsis "Widget library of Enlightenment world")
+(description
+ "Widget library/toolkit for EFL based applications.")
+(license license:lgpl2.1)))
-- 
2.0.5




Re: [PATCH 4/5] gnu: Add emotion-generic-players

2015-02-26 Thread Tomáš Čech

On Thu, Feb 26, 2015 at 08:47:20PM +0800, 宋文武 wrote:

Tomáš Čech  writes:


Hello,

thanks for review.

On Thu, Feb 26, 2015 at 11:23:27AM +0100, Andreas Enge wrote:

Hello,

just a quick comment on the descriptions. It would be good to write full
sentences, for instance:

On Thu, Feb 26, 2015 at 01:31:12AM +0100, Tomáš Čech wrote:

+ "Set of generic media players allowing to open video files through emotion. 
Useful only for emotion library based applications.")


"Emotion Generic Players provides/consists of/is a set of generic ...
It is useful only for ...".


I agree that sentences may be better, I only suck at it. I'll try
to improvide it  or I can accept any recommendations in the meantime.


I think it would also be good to expand a bit where possible, and to introduce
the word "enlightenment" in each of these packages (by replacing "EFL" with
"Enlightenment Foundation Libraries",


I do agree that use of "Enlightenment Foundation Libraries" instead of
"EFL" could make it more enjoyable to read, but we could expand also
Gimp toolkit, Tool Command Language, ...

Those who would need such these packages will know and it won't help
to others anyway.

Synopsis of efl package will show you "Enlightenment Foundation Libraries".


for instance, or adding a sentence like
"It is part of the Enlightenment desktop environment").


Enlightenment is using the same libraries (they were developed for
Enlightenment) but the libraries are much more generic. It's like
relationship between Qt and KDE, only with reversed history order.


Maybe call the file enlightenment.scm?


I believe efl.scm is more accurate as the packages there would be EFL
based but not necessarily Enlightenment related.

Sorry, I didn't notice this line. (for my comment about terminology).

Yes, this make sense.  But I think it's more clear to make packages
from enlightenment.org go into enlightenment.scm, while packages not
from enlightenment.org but based on EFL into seperated files.


I'm afraid it is still quite optimistic POV, there is not that big
number of EFL based applications worth of packaging.

http://edevel.tumblr.com/post/98156942204

But it seems that the filename is really important to you all so I'll
change the name.

S_W


pgp1t2eMtIvk1.pgp
Description: PGP signature


[PATCH 1/5] gnu: Add efl.

2015-02-28 Thread Tomáš Čech
* gnu/packages/enlightenment.scm: New file
* gnu/packages/enlightenment.scm (efl): New variable.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
---
 gnu-system.am  |   1 +
 gnu/packages/enlightenment.scm | 140 +
 2 files changed, 141 insertions(+)
 create mode 100644 gnu/packages/enlightenment.scm

diff --git a/gnu-system.am b/gnu-system.am
index e42e89a..21847cc 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -90,6 +90,7 @@ GNU_SYSTEM_MODULES =  \
   gnu/packages/elf.scm \
   gnu/packages/emacs.scm   \
   gnu/packages/enchant.scm \
+  gnu/packages/enligtenment.scm\
   gnu/packages/feh.scm  \
   gnu/packages/file.scm\
   gnu/packages/firmware.scm\
diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm
new file mode 100644
index 000..6ea0dd5
--- /dev/null
+++ b/gnu/packages/enlightenment.scm
@@ -0,0 +1,140 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2015 Tomáš Čech 
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages efl)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix build-system gnu)
+  #:use-module (gnu packages)
+  #:use-module (gnu packages bash)
+  #:use-module (gnu packages compression)
+  #:use-module (gnu packages curl)
+  #:use-module (gnu packages fontutils)
+  #:use-module (gnu packages fribidi)
+  #:use-module (gnu packages game-development)
+  #:use-module (gnu packages gl)
+  #:use-module (gnu packages glib)
+  #:use-module (gnu packages gnome)
+  #:use-module (gnu packages gstreamer)
+  #:use-module (gnu packages image)
+  #:use-module (gnu packages linux)
+  #:use-module (gnu packages lua)
+  #:use-module (gnu packages openssl)
+  #:use-module (gnu packages pulseaudio)
+  #:use-module (gnu packages photo)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages valgrind)
+  #:use-module (gnu packages xorg))
+
+(define-public efl
+  (package
+(name "efl")
+(version "1.13.0")
+(source (origin
+  (method url-fetch)
+  (uri (string-append
+"http://download.enlightenment.org/rel/libs/efl/efl-";
+version ".tar.gz"))
+  (sha256
+   (base32 
"0mwkxsfi5masiy6qfmdqy1j15cfz7nz8g8jq2bf3w501rpa9gxvz"
+(build-system gnu-build-system)
+(native-inputs
+ `(("pkg-config" ,pkg-config)))
+(inputs
+ `(("alsa-lib" ,alsa-lib)
+   ("compositeproto" ,compositeproto)
+   ("curl" ,curl)
+   ("giflib" ,giflib)
+   ("gstreamer" ,gstreamer)
+   ("gst-plugins-base" ,gst-plugins-base)
+   ("harfbuzz" ,harfbuzz)
+   ("libexif" ,libexif)
+   ("libjpeg" ,libjpeg)
+   ("librsvg" ,librsvg)
+   ("libtiff" ,libtiff)
+   ("libx11" ,libx11)
+   ("libxcomposite" ,libxcomposite)
+   ("libxcursor" ,libxcursor)
+   ("libxdmcp" ,libxdmcp)
+   ("libxext" ,libxext)
+   ("libxi" ,libxi)
+   ("libxkbfile" ,libxkbfile)
+   ("libxinerama" ,libxinerama)
+   ("libxp" ,libxp)
+   ("libxrandr" ,libxrandr)
+   ("libxscrnsaver" ,libxscrnsaver)
+   ("libxtst" ,libxtst)
+   ("mesa" ,mesa)
+   ("printproto" ,printproto)
+   ("scrnsaverproto" ,scrnsaverproto)
+   ("valgrind" ,valgrind)
+   ("xextproto" ,xextproto)
+   ("xinput" ,xinput)
+   ("xpr" ,xpr)
+   ("xproto" ,xproto)))
+(propagated-inputs
+ ; all these inputs are in package config files in section
+ ; Require.private
+ `(("bullet" ,bullet) ; ephysics.pc
+   ("dbus" ,dbus) ; eldbus.pc
+   ("eudev" ,eudev) ; eeze.pc
+   ("fontconfig" ,fontconfig)

[PATCH 4/5] gnu: Add emotion-generic-players

2015-02-28 Thread Tomáš Čech
* gnu/packages/enlightenment.scm (emotion-generic-players): New variable.
---
 gnu/packages/enlightenment.scm | 27 +++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm
index 9e471bd..ebfd0d7 100644
--- a/gnu/packages/enlightenment.scm
+++ b/gnu/packages/enlightenment.scm
@@ -42,6 +42,7 @@
   #:use-module (gnu packages photo)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages valgrind)
+  #:use-module (gnu packages video)
   #:use-module (gnu packages xorg))
 
 (define-public efl
@@ -195,3 +196,29 @@ friendly, energy efficient and good looking.  It consists 
of:
 and applications allowing to natively open pictures, documents and media
 files in Evas (EFL canvas library).")
 (license license:gpl2+)))
+
+(define-public emotion-generic-players
+  (package
+(name "emotion-generic-players")
+(version "1.13.0")
+(source (origin
+  (method url-fetch)
+  (uri
+   (string-append
+
"http://download.enlightenment.org/rel/libs/emotion_generic_players/emotion_generic_players-";
+version ".tar.gz"))
+  (sha256
+   (base32 
"0gin3cjhfj75v0gjsvv7harbj4fs4r7r1sfi74ncxzna71nrd8r3"
+(build-system gnu-build-system)
+(native-inputs
+ `(("pkg-config" ,pkg-config)))
+(inputs
+ `(("efl" ,efl)
+   ("vlc" ,vlc)))
+(home-page "http://www.enlightenment.org";)
+(synopsis "Plugins for integrating media players in EFL based 
applications")
+(description
+ "Emotion-generic-players is collection of interfaces to outside libraries
+and applications allowing to natively play video files through Emotion.
+The only supported now is VLC.")
+(license license:bsd-2)))
-- 
2.0.5




[PATCH 5/5] gnu: Add terminology.

2015-02-28 Thread Tomáš Čech
* gnu/packages/enlightenment.scm (terminology): New variable.
---
 gnu/packages/enlightenment.scm | 35 +++
 1 file changed, 35 insertions(+)

diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm
index ebfd0d7..73dd369 100644
--- a/gnu/packages/enlightenment.scm
+++ b/gnu/packages/enlightenment.scm
@@ -222,3 +222,38 @@ files in Evas (EFL canvas library).")
 and applications allowing to natively play video files through Emotion.
 The only supported now is VLC.")
 (license license:bsd-2)))
+
+(define-public terminology
+  (package
+(name "terminology")
+(version "0.8.0")
+(source (origin
+  (method url-fetch)
+  (uri
+   (string-append
+
"http://download.enlightenment.org/rel/apps/terminology/terminology-";
+version ".tar.gz"))
+  (sha256
+   (base32 
"0a767ixackzmhb2awrhjy7q6vsivsd54wc434i617xiw095x843s"
+(build-system gnu-build-system)
+(native-inputs
+ `(("pkg-config" ,pkg-config)))
+(inputs
+ `(("efl" ,efl)
+   ("elementary" ,elementary)))
+(home-page "http://www.enlightenment.org";)
+(synopsis "Powerful terminal emulator based on EFL")
+(description
+ "Terminology is fast but advanced and feature rich terminal emulator.
+Some of it's features:
+ - support for X and framebuffer (when properly built)
+ - multiple tabs
+ - UTF-8 support
+ - themable - you can change background, cursor, visual bell style,
+   selection, etc.
+ - integrated popup viewer for images, videos, etc.
+ - tycat, tyls, typop tools for non-text contents
+ - history miniview
+ - URL and local path detection
+ - pop-up with gravatar on e-mail addresses")
+(license license:bsd-2)))
-- 
2.0.5




[PATCH 3/5] gnu: Add evas-generic-loaders

2015-02-28 Thread Tomáš Čech
* gnu/packages/enlightenment.scm (evas-generic-loaders): New variable.
---
 gnu/packages/enlightenment.scm | 32 
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm
index 0d7aa79..9e471bd 100644
--- a/gnu/packages/enlightenment.scm
+++ b/gnu/packages/enlightenment.scm
@@ -28,6 +28,7 @@
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages fribidi)
   #:use-module (gnu packages game-development)
+  #:use-module (gnu packages ghostscript)
   #:use-module (gnu packages gl)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnome)
@@ -36,6 +37,7 @@
   #:use-module (gnu packages linux)
   #:use-module (gnu packages lua)
   #:use-module (gnu packages openssl)
+  #:use-module (gnu packages pdf)
   #:use-module (gnu packages pulseaudio)
   #:use-module (gnu packages photo)
   #:use-module (gnu packages pkg-config)
@@ -163,3 +165,33 @@ friendly, energy efficient and good looking.  It consists 
of:
  Libraries.  It is build upon Edje and Evas libraries and uses full 
capabilities
  of EFL.")
 (license license:lgpl2.1)))
+
+(define-public evas-generic-loaders
+  (package
+(name "evas-generic-loaders")
+(version "1.13.0")
+(source (origin
+  (method url-fetch)
+  (uri
+   (string-append
+
"http://download.enlightenment.org/rel/libs/evas_generic_loaders/evas_generic_loaders-";
+version ".tar.gz"))
+  (sha256
+   (base32 
"16yzjk58bxsd0rlnpzrr8as9fxjjiq01swzhpadsgkmq33abgg63"
+(build-system gnu-build-system)
+(native-inputs
+ `(("pkg-config" ,pkg-config)))
+(inputs
+ `(("gstreamer" ,gstreamer)
+   ("gst-plugins-base" ,gst-plugins-base)
+   ("efl" ,efl)
+   ("librsvg" ,librsvg)
+   ("libspectre" ,libspectre)
+   ("poppler" ,poppler)))
+(home-page "http://www.enlightenment.org";)
+(synopsis "Plugins for integration of various file types into Evas")
+(description
+ "Evas-generic-loaders is collection of interfaces to outside libraries
+and applications allowing to natively open pictures, documents and media
+files in Evas (EFL canvas library).")
+(license license:gpl2+)))
-- 
2.0.5




EFL, elementary, loaders, players and terminology - round 2

2015-02-28 Thread Tomáš Čech
Hi,

thank you for your kind review and your comments.

Changes since previous round:

- efl.scm renamed to enlightenment.scm
- descriptions are descriptive and consist of sentences with
  punctuation
- too long lines were shortened
- lonely parens made friends on previous line
- removed unnecessary input bash
- verified that Makefile.in.in substitution is really needed
- added information about reasons for propagated-inputs and improved
  the list a bit

Thanks in advance for another review round.

S_W



[PATCH 2/5] gnu: Add elementary.

2015-02-28 Thread Tomáš Čech
* gnu/packages/enlightenment.scm (elementary): New variable.
---
 gnu/packages/enlightenment.scm | 25 +
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm
index 6ea0dd5..0d7aa79 100644
--- a/gnu/packages/enlightenment.scm
+++ b/gnu/packages/enlightenment.scm
@@ -138,3 +138,28 @@ friendly, energy efficient and good looking.  It consists 
of:
  * Emotion - multimedia integration
  * Ethumb - image thumbnail support")
 (license (list license:bsd-2 license:lgpl2.1 license:zlib ; different 
parts under different licenses
+
+(define-public elementary
+  (package
+(name "elementary")
+(version "1.13.0")
+(source (origin
+  (method url-fetch)
+  (uri
+   (string-append
+
"http://download.enlightenment.org/rel/libs/elementary/elementary-";
+version ".tar.gz"))
+  (sha256
+   (base32 
"133p4yaynmy37yhk2gxwlc8a2n2wy7cbh4rd7nsnl5929wqb9waj"
+(build-system gnu-build-system)
+(native-inputs
+ `(("pkg-config" ,pkg-config)))
+(inputs
+ `(("efl" ,efl)))
+(home-page "http://www.enlightenment.org";)
+(synopsis "Widget library of Enlightenment world")
+(description
+ "Elementary is widget library/toolkit, part of Enlightenment Foundation
+ Libraries.  It is build upon Edje and Evas libraries and uses full 
capabilities
+ of EFL.")
+(license license:lgpl2.1)))
-- 
2.0.5




[PATCH] gnu: grub: Add patch to fix new version of freetype

2015-03-05 Thread Tomáš Čech
* gnu/packages/patches/grub-freetype.patch: New file.
* gnu-system.am (dist_patch_DATA): Add the patch.
* gnu/packages/grub.scm (grub): Apply new patch.
---
 gnu-system.am|  1 +
 gnu/packages/grub.scm|  3 ++-
 gnu/packages/patches/grub-freetype.patch | 24 
 3 files changed, 27 insertions(+), 1 deletion(-)
 create mode 100644 gnu/packages/patches/grub-freetype.patch

diff --git a/gnu-system.am b/gnu-system.am
index 0497fe1..a9679fd 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -414,6 +414,7 @@ dist_patch_DATA =   
\
   gnu/packages/patches/gobject-introspection-cc.patch  \
   gnu/packages/patches/gobject-introspection-girepository.patch\
   gnu/packages/patches/grub-gets-undeclared.patch  \
+  gnu/packages/patches/grub-freetype.patch \
   gnu/packages/patches/gstreamer-0.10-bison3.patch \
   gnu/packages/patches/gstreamer-0.10-silly-test.patch \
   gnu/packages/patches/guile-1.8-cpp-4.5.patch \
diff --git a/gnu/packages/grub.scm b/gnu/packages/grub.scm
index 5504f38..b1da394 100644
--- a/gnu/packages/grub.scm
+++ b/gnu/packages/grub.scm
@@ -79,7 +79,8 @@
  (sha256
   (base32
"0n64hpmsccvicagvr0c6v0kgp2yw0kgnd3jvsyd26cnwgs7c6kkq"))
- (patches (list (search-patch "grub-gets-undeclared.patch")
+ (patches (list (search-patch "grub-gets-undeclared.patch")
+(search-patch "grub-freetype.patch")
 (build-system gnu-build-system)
 (arguments
  '(#:configure-flags '("--disable-werror")
diff --git a/gnu/packages/patches/grub-freetype.patch 
b/gnu/packages/patches/grub-freetype.patch
new file mode 100644
index 000..286830c
--- /dev/null
+++ b/gnu/packages/patches/grub-freetype.patch
@@ -0,0 +1,24 @@
+commit fd0df6d098b1e6a4f60275c48a3ec88d15ba1fbb
+Author: Colin Watson 
+Date:   Fri Nov 29 12:19:36 2013 +
+
+Fix build with FreeType 2.5.1
+
+* util/grub-gen-asciih.c: Include FT_SYNTHESIS_H rather than
+, fixing build with FreeType 2.5.1.
+* util/grub-gen-widthspec.c: Likewise.
+* util/grub-mkfont.c: Likewise.
+
+diff --git a/util/grub-mkfont.c b/util/grub-mkfont.c
+index 0d8eb78..242dd01 100644
+--- a/util/grub-mkfont.c
 b/util/grub-mkfont.c
+@@ -43,7 +43,7 @@
+ #include FT_FREETYPE_H
+ #include FT_TRUETYPE_TAGS_H
+ #include FT_TRUETYPE_TABLES_H
+-#include 
++#include FT_SYNTHESIS_H
+ 
+ #undef __FTERRORS_H__
+ #define FT_ERROR_START_LIST   const char *ft_errmsgs[] = { 
-- 
2.0.5




[PATCH] gnu: valgrind: Fix build against glibc 2.21

2015-03-06 Thread Tomáš Čech
* gnu/packages/patches/valgrind-glibc_version.patch: New file.
* gnu-system.am (dist_patch_DATA): Add the patch.
* gnu/packages/valgrind.scm (valgrind): Apply the patch.
---
 gnu-system.am |  1 +
 gnu/packages/patches/valgrind-glibc_version.patch | 26 +++
 gnu/packages/valgrind.scm |  3 ++-
 3 files changed, 29 insertions(+), 1 deletion(-)
 create mode 100644 gnu/packages/patches/valgrind-glibc_version.patch

diff --git a/gnu-system.am b/gnu-system.am
index a10dd33..91b8014 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -528,6 +528,7 @@ dist_patch_DATA =   
\
   gnu/packages/patches/unzip-CVE-2014-8140.patch   \
   gnu/packages/patches/unzip-CVE-2014-8141.patch   \
   gnu/packages/patches/util-linux-tests.patch  \
+  gnu/packages/patches/valgrind-glibc_version.patch\
   gnu/packages/patches/vpnc-script.patch   \
   gnu/packages/patches/vtk-mesa-10.patch   \
   gnu/packages/patches/w3m-fix-compile.patch   \
diff --git a/gnu/packages/patches/valgrind-glibc_version.patch 
b/gnu/packages/patches/valgrind-glibc_version.patch
new file mode 100644
index 000..70f809c
--- /dev/null
+++ b/gnu/packages/patches/valgrind-glibc_version.patch
@@ -0,0 +1,26 @@
+Submitted By: Pierre Labastie 
+Date: 2015-02-22
+Initial Package Version: 3.10.1
+Upstream Status: Unknown
+Origin: Self
+Description: Allows Valgrind to build with glibc-2.21
+diff -Naur valgrind-3.10.1.old/configure valgrind-3.10.1.new/configure
+--- valgrind-3.10.1.old/configure  2014-11-25 20:42:25.0 +0100
 valgrind-3.10.1.new/configure  2015-02-22 10:46:06.607826488 +0100
+@@ -6842,6 +6842,16 @@
+   DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
+   DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}"
+   ;;
++ 2.21)
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: 2.21 family" >&5
++$as_echo "2.21 family" >&6; }
++
++$as_echo "#define GLIBC_2_21 1" >>confdefs.h
++
++  DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}"
++  DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
++  DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}"
++  ;;
+  darwin)
+   { $as_echo "$as_me:${as_lineno-$LINENO}: result: Darwin" >&5
+ $as_echo "Darwin" >&6; }
diff --git a/gnu/packages/valgrind.scm b/gnu/packages/valgrind.scm
index f051c68..84ec55a 100644
--- a/gnu/packages/valgrind.scm
+++ b/gnu/packages/valgrind.scm
@@ -36,7 +36,8 @@
  version ".tar.bz2"))
  (sha256
   (base32
-   "15xrzhfnwwn7n1sfbkwvdbvs6zk0zx718n6zd5i1nrnvdp13s9gs"
+   "15xrzhfnwwn7n1sfbkwvdbvs6zk0zx718n6zd5i1nrnvdp13s9gs"))
+ (patches (list (search-patch "valgrind-glibc_version.patch")
 (build-system gnu-build-system)
 (arguments
  '(#:phases (alist-cons-after
-- 
2.0.5




[PATCH] gnu: Add enlightenment.

2015-03-09 Thread Tomáš Čech
* gnu/packages/enlightenment.scm (enlightenment): New variable.
---
 gnu/packages/enlightenment.scm | 36 
 1 file changed, 36 insertions(+)

diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm
index 499ea24..c0131f2 100644
--- a/gnu/packages/enlightenment.scm
+++ b/gnu/packages/enlightenment.scm
@@ -28,6 +28,7 @@
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages fribidi)
   #:use-module (gnu packages game-development)
+  #:use-module (gnu packages gettext)
   #:use-module (gnu packages ghostscript)
   #:use-module (gnu packages gl)
   #:use-module (gnu packages glib)
@@ -234,3 +235,38 @@ based on Enlightenment Foundation Libraries.  It supports 
multiple tabs, UTF-8,
 URL and local path detection, themes, popup based content viewer for non-text
 contents and more.")
 (license license:bsd-2)))
+
+(define-public enlightenment
+  (package
+(name "enlightenment")
+(version "0.19.4")
+(source (origin
+  (method url-fetch)
+  (uri
+   (string-append
+
"http://download.enlightenment.org/rel/apps/enlightenment/enlightenment-";
+version ".tar.gz"))
+  (sha256
+   (base32 
"01pg3ng4m3vmwzzivlssdmvhf72bsvcmm3xwf45849cibllaib8v"
+(build-system gnu-build-system)
+(native-inputs
+ `(("pkg-config" ,pkg-config)))
+(inputs
+ `(("alsa-lib" ,alsa-lib)
+   ("dbus" ,dbus)
+   ("freetype" ,freetype)
+   ("gettext" ,gnu-gettext)
+   ("libxcb" ,libxcb)
+   ("libxext" ,libxext)
+   ("linux-pam" ,linux-pam)
+   ("xcb-util-keysyms" ,xcb-util-keysyms)))
+(propagated-inputs
+ `(("efl" ,efl)
+   ("elementary" ,elementary)))
+(home-page "http://www.enlightenment.org";)
+(synopsis "Lightweight desktop environment")
+(description
+ "Resource friendly desktop environment with integrated file manager, wide
+range of configuration options, plugin system allowing to unload unused
+functionality, with support for touchscreen and suitable for embedded 
systems.")
+(license license:bsd-2)))
-- 
2.0.5




Re: none

2015-03-10 Thread Tomáš Čech


On Fri, Dec 05, 2014 at 09:35:42AM +0100, Tomas Cech wrote:

At Fri, 05 Dec 2014 00:04:23 +0100,
Ludovic Courtès wrote:


Tomas Cech  skribis:

> I tried to install Guix as alternative OS to my Gentoo and openSUSE
> installations to give a try. I tried unsupported scenario -
> installation on LVM volume and separate /boot partition until I was
> told it is unsupported. Separate boot wasn't hard as I had to just
> copy generated files so they are loaded.

OK, but there’s still an open bug on that topic.  :-)
http://bugs.gnu.org/19220


Good, I'll give a try again.


> 1] if you set device to partition (and not to disk) in your 
grub-configuration like this:
>
>  (bootloader (grub-configuration
>(device "/dev/sda4")))

Why would you want to use a partition and not a disk?  I didn’t know
this was even possible.


Because this way I can separate Grub managed by Guix and Grub from my
Gentoo. As I'm playing with that on my notebook I need for work, this
way can reduce risks.

I'm not sure how Guix installer can manipulate with grub.cfg and I'd
like to always have some working system...



> `guix system init' will fail on grub installation. By default Grub
> tries to fit in the beginning of partition and fails if it can't fit
> in. I asked about this behaviour on Grub mailing list and it seems
> that there are two options:
>
>   a] add `--force' to command line and use block list for keeping information 
about position of Grub's core.img
>   b] use filesystem which allows embedding - BtrFS or ZFS
>
> I verified both options (a] and then b] with BtrFS) and it no longer fails.
>
> But,
> ad a] - I don't feel safe passing `--force' to grub-install every
> time. So if installation fails on this point and you'd like to use
> your FS anyway, you can pass `--no-grub' to `guix system init' and
> then rung grub-install manually.
>
> ad b] - I don't feel safe using still experimental BtrFS.

OK.  I think the conclusion for Guix is to leave the defaults unchanged.
Perhaps we could add a ‘force?’ field to the ‘grub-configuration’ data
type to allow those who know what they doing to get the effect of
‘--force’.  WDYT?


After giving some more thoughts and after more experience with the process I
do agree that exposing `--force' parameter into grub-configuration is good idea.

I'm filing bug for that.


pgpbNR50OEdHE.pgp
Description: PGP signature


[PATCH] gnu: Add isync.

2015-03-11 Thread Tomáš Čech
* gnu/packages/mail.scm (isync): New variable.
---
 gnu/packages/mail.scm | 25 +
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 4aa74fe..18836c1 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -29,6 +29,7 @@
   #:use-module (gnu packages backup)
   #:use-module (gnu packages curl)
   #:use-module (gnu packages cyrus-sasl)
+  #:use-module (gnu packages databases)
   #:use-module (gnu packages dejagnu)
   #:use-module (gnu packages emacs)
   #:use-module (gnu packages enchant)
@@ -626,4 +627,28 @@ deal of flexibility in the way mail can be routed, and 
there are extensive
 facilities for checking incoming mail.")
 (license gpl2+)))
 
+(define-public isync
+  (package
+(name "isync")
+(version "1.1.2")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ "http://downloads.sourceforge.net/project/isync/isync/";
+ version "/isync-" version ".tar.gz"))
+   (sha256 (base32
+"1960ah3fmp75cakd06lcx50n5q0yvfsadjh3lffhyvjvj7ava9d2"
+(build-system gnu-build-system)
+(inputs
+ `(("bdb" ,bdb)
+   ("openssl" ,openssl)))
+(home-page "http://isync.sourceforge.net/";)
+(synopsis
+ "Mailbox synchronization program")
+(description
+ "isync/mbsync is command line tool for two way synchronization of
+mailboxes.  Currently Maildir and IMAP are supported types.")
+(license gpl2)))
+
 ;;; mail.scm ends here
-- 
2.2.1




Re: [PATCH] A little typo in gnu/system.scm

2015-03-11 Thread Tomáš Čech

On Wed, Mar 11, 2015 at 01:41:58AM +0300, Axel wrote:

Name 'operating-system-packages' declared twice in export list in the
gnu/system.scm. I think it is a typo. Isn't it?


Yes, it seems so. Good catch :)





[PATCH] gnu: Add tig.

2015-03-11 Thread Tomáš Čech
* gnu/packages/version-control.scm (tig): New variable.
---
 gnu/packages/version-control.scm | 26 ++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index 7434ed9..cb26280 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -46,6 +46,7 @@
   #:use-module (gnu packages linux)
 ;;   #:use-module (gnu packages gnutls)
   #:use-module (gnu packages nano)
+  #:use-module (gnu packages ncurses)
   #:use-module (gnu packages openssl)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
@@ -778,3 +779,28 @@ changes back into the master source of the program, with 
as little disruption
 as possible.  Resolution of contention for source files, a major headache for
 any project with more than one developer, is one of Aegis's major functions.")
 (license gpl3+)))
+
+(define-public tig
+  (package
+(name "tig")
+(version "2.1")
+(source (origin
+  (method url-fetch)
+  (uri (string-append
+"http://jonas.nitro.dk/tig/releases/tig-";
+version ".tar.gz"))
+  (sha256
+   (base32
+"1c1w6w39a1dwx4whrg0ga1mhrlz095hz875z7ajn6xgmhkv8fqih"
+(build-system gnu-build-system)
+(inputs
+ `(("ncurses" ,ncurses)))
+(arguments
+ `(#:phases
+   (alist-delete 'check %standard-phases)))
+(home-page "http://jonas.nitro.dk/tig/";)
+(synopsis "ncurses-based text-mode for GIT")
+(description
+ "Tig is ncurses TUI for GIT, primary intended as history browser but can
+stage chunks for commit or colorize any GIT output.")
+(license gpl2)))
-- 
2.2.1




[PATCH] gnu: Add taskwarrior.

2015-03-11 Thread Tomáš Čech
* gnu/packages/task.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add new file here.
---
 gnu-system.am |  1 +
 gnu/packages/task.scm | 64 +++
 2 files changed, 65 insertions(+)
 create mode 100644 gnu/packages/task.scm

diff --git a/gnu-system.am b/gnu-system.am
index 2175605..f4c92dd 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -273,6 +273,7 @@ GNU_SYSTEM_MODULES =\
   gnu/packages/swig.scm\
   gnu/packages/sxiv.scm\
   gnu/packages/synergy.scm \
+  gnu/packages/task.scm\
   gnu/packages/tbb.scm \
   gnu/packages/tcl.scm \
   gnu/packages/tcsh.scm\
diff --git a/gnu/packages/task.scm b/gnu/packages/task.scm
new file mode 100644
index 000..7fa1628
--- /dev/null
+++ b/gnu/packages/task.scm
@@ -0,0 +1,64 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2015 Tomáš Čech 
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages mail)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix packages)
+  #:use-module (gnu packages gnutls)
+  #:use-module (gnu packages lua)
+  #:use-module (guix download)
+  #:use-module (guix build-system cmake)
+  )
+
+(define-public taskwarrior
+  (package
+(name "taskwarrior")
+(version "2.4.1")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ "http://taskwarrior.org/download/task-"; version ".tar.gz"))
+   (sha256 (base32
+"1qn2jwskrkqg3lszkcd37h06j4a1spfkr8z9yq17p59r8v34h3nr"
+(build-system cmake-build-system)
+(inputs
+ `(("util-linux" ,util-linux)
+   ("gnutls" ,gnutls)
+   ("lua" ,lua)
+   ("coreutils" ,coreutils)
+   ))
+;;(native-inputs
+;; `(("pkg-config" ,pkg-config)))
+(arguments
+ `(#:phases
+   (alist-cons-before
+'patch-source-shebangs 'remove-broken-symlinks
+(lambda _
+  (delete-file "src/cal")
+  (delete-file "src/calendar")
+  (delete-file "src/tw"))
+(alist-delete 'check %standard-phases
+(home-page "http://taskwarrior.org";)
+(synopsis
+ "Simple and easy to use SMTP client with decent sendmail compatibility")
+(description
+ "msmtp is an SMTP client.  In the default mode, it transmits a mail to
+an SMTP server (for example at a free mail provider) which takes care of 
further
+delivery.")
+(license license:expat)))
-- 
2.2.1




[PATCH v2] gnu: Add tig.

2015-03-12 Thread Tomáš Čech
* gnu/packages/version-control.scm (tig): New variable.
---
 gnu/packages/version-control.scm | 26 ++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index 7434ed9..081d84d 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -46,6 +46,7 @@
   #:use-module (gnu packages linux)
 ;;   #:use-module (gnu packages gnutls)
   #:use-module (gnu packages nano)
+  #:use-module (gnu packages ncurses)
   #:use-module (gnu packages openssl)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
@@ -778,3 +779,28 @@ changes back into the master source of the program, with 
as little disruption
 as possible.  Resolution of contention for source files, a major headache for
 any project with more than one developer, is one of Aegis's major functions.")
 (license gpl3+)))
+
+(define-public tig
+  (package
+(name "tig")
+(version "2.1")
+(source (origin
+  (method url-fetch)
+  (uri (string-append
+"http://jonas.nitro.dk/tig/releases/tig-";
+version ".tar.gz"))
+  (sha256
+   (base32
+"1c1w6w39a1dwx4whrg0ga1mhrlz095hz875z7ajn6xgmhkv8fqih"
+(build-system gnu-build-system)
+(inputs
+ `(("ncurses" ,ncurses)))
+(arguments
+ `(#:tests? #f)) ; no tests implemented
+(home-page "http://jonas.nitro.dk/tig/";)
+(synopsis "Ncurses-based text user interface for Git")
+(description
+ "Tig is an ncurses text user interface for Git, primarily intended as
+a history browser.  It can also stage hunks for commit, or colorize the
+output of the 'git' command.")
+(license gpl2+)))
-- 
2.2.1




[PATCH] gnu: openconnect: Update to 7.05.

2015-03-12 Thread Tomáš Čech
* gnu/packages/vpn.scm (openconnect): Update to 7.05, replace openssl with
  gnutls.
---
 gnu/packages/vpn.scm | 7 ---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/vpn.scm b/gnu/packages/vpn.scm
index 9ff8b638..5883f99 100644
--- a/gnu/packages/vpn.scm
+++ b/gnu/packages/vpn.scm
@@ -27,6 +27,7 @@
   #:use-module (gnu packages compression)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages gnupg)
+  #:use-module (gnu packages gnutls)
   #:use-module (gnu packages openssl)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
@@ -95,17 +96,17 @@ Only \"Universal TUN/TAP device driver support\" is needed 
in the kernel.")
 (define-public openconnect
   (package
(name "openconnect")
-   (version "4.99")
+   (version "7.05")
(source (origin
 (method url-fetch)
 (uri (string-append "ftp://ftp.infradead.org/pub/openconnect/";
 "openconnect-" version ".tar.gz"))
 (sha256 (base32
- "1rd8pap455wzkx19i0sy3cqap524b6fwcjvqynxp6lhm01di4bd6"
+ "1i102yr8yp2ny587n6pd966443h1pqxyw5q0n5afq575046jj98g"
(build-system gnu-build-system)
(inputs
 `(("libxml2" ,libxml2)
-  ("openssl" ,openssl)
+  ("gnutls" ,gnutls)
   ("vpnc" ,vpnc)
   ("zlib" ,zlib)))
(native-inputs
-- 
2.2.1




update of openconnect

2015-03-12 Thread Tomáš Čech
It seems that openssl version is from openconnect POV broken and as they
recommended to switch to gnutls I did the change.

Is anyone against this change?

S_W



[PATCH v2] gnu: Add taskwarrior.

2015-03-12 Thread Tomáš Čech
* gnu/packages/task.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add new file here.
---
 gnu-system.am |  1 +
 gnu/packages/task.scm | 68 +++
 2 files changed, 69 insertions(+)
 create mode 100644 gnu/packages/task.scm

diff --git a/gnu-system.am b/gnu-system.am
index 2175605..f4c92dd 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -273,6 +273,7 @@ GNU_SYSTEM_MODULES =\
   gnu/packages/swig.scm\
   gnu/packages/sxiv.scm\
   gnu/packages/synergy.scm \
+  gnu/packages/task.scm\
   gnu/packages/tbb.scm \
   gnu/packages/tcl.scm \
   gnu/packages/tcsh.scm\
diff --git a/gnu/packages/task.scm b/gnu/packages/task.scm
new file mode 100644
index 000..d643146
--- /dev/null
+++ b/gnu/packages/task.scm
@@ -0,0 +1,68 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2015 Tomáš Čech 
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages task)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix packages)
+  #:use-module (gnu packages base)
+  #:use-module (gnu packages gnutls)
+  #:use-module (gnu packages linux)
+  #:use-module (gnu packages lua)
+  #:use-module (guix download)
+  #:use-module (guix build-system cmake)
+  )
+
+(define-public taskwarrior
+  (package
+(name "taskwarrior")
+(version "2.4.1")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ "http://taskwarrior.org/download/task-"; version ".tar.gz"))
+   (sha256 (base32
+"1qn2jwskrkqg3lszkcd37h06j4a1spfkr8z9yq17p59r8v34h3nr"
+(build-system cmake-build-system)
+(inputs
+ `(("util-linux" ,util-linux)
+   ("gnutls" ,gnutls)
+   ("lua" ,lua)
+   ("coreutils" ,coreutils)))
+(arguments
+ `(#:tests? #f ; skip tests
+   #:phases
+   (alist-cons-before
+'patch-source-shebangs 'remove-broken-symlinks
+(lambda _
+  ;; these files are broken symlinks - lets just delete them
+  (delete-file "src/cal")
+  (delete-file "src/calendar")
+  (delete-file "src/tw"))
+%standard-phases))
+(home-page "http://taskwarrior.org";)
+(synopsis
+ "Command line task manager")
+(description
+ "Taskwarrior is mature command line task manager following Getting Things
+Done time management method.  It supports network synchronization, filtering
+and quering data, exposing task data in multiple formats to other tools which
+allowed to create healthy ecosystem of tools using taskwarrior.")
+;; Taskwarrior is licensed under MIT license, which is identical to
+;; Expat License
+(license license:expat)))
-- 
2.2.1




taskwarrior

2015-03-12 Thread Tomáš Čech
I prepared taskwarrior package in new file gnu/packages/task.scm since I
couldn't find better place. But I'm taking advices.

Thanks in advance for review

S_W





Re: [PATCH v2] gnu: Add taskwarrior.

2015-03-12 Thread Tomáš Čech

On Fri, Mar 13, 2015 at 01:57:01AM +0100, Tomáš Čech wrote:

* gnu/packages/task.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add new file here.
---
gnu-system.am |  1 +
gnu/packages/task.scm | 68 +++
2 files changed, 69 insertions(+)
create mode 100644 gnu/packages/task.scm

diff --git a/gnu-system.am b/gnu-system.am
index 2175605..f4c92dd 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -273,6 +273,7 @@ GNU_SYSTEM_MODULES =\
  gnu/packages/swig.scm \
  gnu/packages/sxiv.scm \
  gnu/packages/synergy.scm  \
+  gnu/packages/task.scm\
  gnu/packages/tbb.scm  \
  gnu/packages/tcl.scm  \
  gnu/packages/tcsh.scm \
diff --git a/gnu/packages/task.scm b/gnu/packages/task.scm
new file mode 100644
index 000..d643146
--- /dev/null
+++ b/gnu/packages/task.scm
@@ -0,0 +1,68 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2015 Tomáš Čech 
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages task)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix packages)
+  #:use-module (gnu packages base)
+  #:use-module (gnu packages gnutls)
+  #:use-module (gnu packages linux)
+  #:use-module (gnu packages lua)
+  #:use-module (guix download)
+  #:use-module (guix build-system cmake)
+  )
+
+(define-public taskwarrior
+  (package
+(name "taskwarrior")
+(version "2.4.1")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ "http://taskwarrior.org/download/task-"; version ".tar.gz"))
+   (sha256 (base32
+"1qn2jwskrkqg3lszkcd37h06j4a1spfkr8z9yq17p59r8v34h3nr"
+(build-system cmake-build-system)
+(inputs
+ `(("util-linux" ,util-linux)
+   ("gnutls" ,gnutls)
+   ("lua" ,lua)
+   ("coreutils" ,coreutils)))
+(arguments
+ `(#:tests? #f ; skip tests
+   #:phases
+   (alist-cons-before
+'patch-source-shebangs 'remove-broken-symlinks
+(lambda _
+  ;; these files are broken symlinks - lets just delete them
+  (delete-file "src/cal")
+  (delete-file "src/calendar")
+  (delete-file "src/tw"))
+%standard-phases))


Here is missing one parenthesis ')'.

S_W


pgpy61HWa4hbE.pgp
Description: PGP signature


rename of dnsmasq module to dns, adding bind-utils

2015-03-13 Thread Tomáš Čech
Package bind-utils is working correctly and I can't see any problem but it
makes `guix lint' cry:

$ guix lint bind-utils
;;; Failed to autoload make-session in (gnutls):..tive]...
;;; ERROR: missing interface for module (gnutls)
Backtrace:
In ice-9/boot-9.scm:
 157: 12 [catch #t # ...]
In unknown file:
   ?: 11 [apply-smob/1 #]
In ice-9/boot-9.scm:
  63: 10 [call-with-prompt prompt0 ...]
In ice-9/eval.scm:
 432: 9 [eval # #]
In ice-9/boot-9.scm:
2401: 8 [save-module-excursion #]
4050: 7 [#]
1724: 6 [%start-stack load-stack #]
1729: 5 [#]
In unknown file:
   ?: 4 [primitive-load "/Devel/git/guix/scripts/guix"]
In guix/ui.scm:
 849: 3 [run-guix-command lint "bind-utils"]
In srfi/srfi-1.scm:
 619: 2 [for-each # #]
 619: 1 [for-each # #]
In guix/scripts/lint.scm:
 287: 0 [validate-uri # # home-page]

guix/scripts/lint.scm:287:16: In procedure validate-uri:
guix/scripts/lint.scm:287:16: In procedure module-lookup: Unbound variable: 
make-session


So, please review this one more carefuly than usual.

Thanks in advance.

S_W




[PATCH 1/2] gnu: Rename module dnsmasq to dns.

2015-03-13 Thread Tomáš Čech
* gnu/packages/dnsmasq.scm --> gnu/packages/dns.scm
* gnu/packages/dns.scm: Change module name
* gnu-system.am (GNU_SYSTEM_MODULES): Rename dnsmasq module to dns.
---
 gnu-system.am|  2 +-
 gnu/packages/dns.scm | 56 
 gnu/packages/dnsmasq.scm | 56 
 3 files changed, 57 insertions(+), 57 deletions(-)
 create mode 100644 gnu/packages/dns.scm
 delete mode 100644 gnu/packages/dnsmasq.scm

diff --git a/gnu-system.am b/gnu-system.am
index bd3f434..8e32104 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -81,7 +81,7 @@ GNU_SYSTEM_MODULES =  \
   gnu/packages/dictionaries.scm\
   gnu/packages/disk.scm\
   gnu/packages/djvu.scm\
-  gnu/packages/dnsmasq.scm \
+  gnu/packages/dns.scm \
   gnu/packages/docbook.scm \
   gnu/packages/doxygen.scm \
   gnu/packages/dwm.scm \
diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm
new file mode 100644
index 000..86f5945
--- /dev/null
+++ b/gnu/packages/dns.scm
@@ -0,0 +1,56 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer 
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see .
+
+(define-module (gnu packages dns)
+  #:use-module (guix licenses)
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix build-system gnu))
+
+(define-public dnsmasq
+  (package
+(name "dnsmasq")
+(version "2.72")
+(source (origin
+  (method url-fetch)
+  (uri (string-append
+"http://www.thekelleys.org.uk/dnsmasq/dnsmasq-";
+version ".tar.xz"))
+  (sha256
+   (base32
+"1c80hq09hfm8cp5pirfb8wdlc7dqkp7zzmbmdaradcvlblzx42vx"
+(build-system gnu-build-system)
+(arguments
+ `(#:phases
+   (alist-delete 'configure %standard-phases)
+   #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out"))
+  "CC=gcc")
+   ;; No 'check' target.
+   #:tests? #f))
+(home-page "http://www.thekelleys.org.uk/dnsmasq/doc.html";)
+(synopsis "Small caching DNS proxy and DHCP/TFTP server")
+(description
+ "Dnsmasq is a lightweight DNS forwarder and DHCP server.  It is designed
+to provide DNS and optionally, DHCP, to a small network.  It can serve the
+names of local machines which are not in the global DNS.  The DHCP server
+integrates with the DNS server and allows machines with DHCP-allocated
+addresses to appear in the DNS with names configured either in each host or in
+a central configuration file.  Dnsmasq supports static and dynamic DHCP leases
+and BOOTP/TFTP for network booting of diskless machines.")
+;; Source files only say GPL2 and GPL3 are allowed.
+(license (list gpl2 gpl3
diff --git a/gnu/packages/dnsmasq.scm b/gnu/packages/dnsmasq.scm
deleted file mode 100644
index f342f81..000
--- a/gnu/packages/dnsmasq.scm
+++ /dev/null
@@ -1,56 +0,0 @@
-;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer 
-;;;
-;;; This file is part of GNU Guix.
-;;;
-;;; GNU Guix is free software; you can redistribute it and/or modify it
-;;; under the terms of the GNU General Public License as published by
-;;; the Free Software Foundation; either version 3 of the License, or (at
-;;; your option) any later version.
-;;;
-;;; GNU Guix is distributed in the hope that it will be useful, but
-;;; WITHOUT ANY WARRANTY; without even the implied warranty of
-;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-;;; GNU General Public License for more details.
-;;;
-;;; You should have received a copy of the GNU General Public License
-;;; along with GNU Guix.  If not, see .
-
-(define-module (gnu packages dnsmasq)
-  #:use-module (guix licenses)
-  #:use-module (guix packages)
-  #:use-module (guix download)
-  #:use-module (guix build-system gnu))
-
-(define-public dnsmasq
-  (package
-(name "dnsmasq")
-(version "2.72")
-(source (origin
-  (method url-

[PATCH 2/2] gnu: bind-utils: Add new variable.

2015-03-13 Thread Tomáš Čech
* gnu/packages/dns.scm (bind-utils): New variable.
---
 gnu/packages/dns.scm | 61 ++--
 1 file changed, 59 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm
index 86f5945..7420247 100644
--- a/gnu/packages/dns.scm
+++ b/gnu/packages/dns.scm
@@ -17,7 +17,13 @@
 ;;; along with GNU Guix.  If not, see .
 
 (define-module (gnu packages dns)
-  #:use-module (guix licenses)
+  #:use-module (gnu packages databases)
+  #:use-module (gnu packages gnutls)
+  #:use-module (gnu packages linux)
+  #:use-module (gnu packages openssl)
+  #:use-module (gnu packages perl)
+  #:use-module (gnu packages xml)
+  #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix build-system gnu))
@@ -53,4 +59,55 @@ addresses to appear in the DNS with names configured either 
in each host or in
 a central configuration file.  Dnsmasq supports static and dynamic DHCP leases
 and BOOTP/TFTP for network booting of diskless machines.")
 ;; Source files only say GPL2 and GPL3 are allowed.
-(license (list gpl2 gpl3
+(license (list license:gpl2 license:gpl3
+
+(define-public bind-utils
+  (package
+(name "bind-utils")
+(version "9.10.1-P2")
+(source (origin
+  (method url-fetch)
+  (uri (string-append "ftp://ftp.isc.org/isc/bind9/"; version
+  "/bind-" version ".tar.gz"))
+  (sha256
+   (base32
+"1svzia5vv0s4bv6r04j8bsvlf3klwyigmdz1iwb4fqds00iyvp22"
+(build-system gnu-build-system)
+(inputs
+ ;; it would be nice to add GeoIP and gssapi once there is package
+ `(("libcap" ,libcap)
+   ("libxml2" ,libxml2)
+   ("mysql" ,mysql)
+   ("openssl" ,openssl)
+   ("perl" ,perl)
+   ("p11-kit" ,p11-kit)))
+(arguments
+ `(#:tests? #f ; no test phase implemented
+   #:configure-flags
+   (list (string-append "--with-openssl="
+(assoc-ref %build-inputs "openssl"))
+ (string-append "--with-dlz-mysql="
+(assoc-ref %build-inputs "mysql"))
+ (string-append "--with-pkcs11="
+(assoc-ref %build-inputs "p11-kit")))
+   #:phases
+   (alist-replace
+'build
+(lambda _
+  (system* "make" "-C" "lib/dns")
+  (system* "make" "-C" "lib/isc")
+  (system* "make" "-C" "lib/bind9")
+  (system* "make" "-C" "lib/isccfg")
+  (system* "make" "-C" "lib/lwres")
+  (system* "make" "-C" "bin/dig"))
+(alist-replace
+ 'install
+ (lambda _ (system* "make" "-C" "bin/dig" "install"))
+ %standard-phases
+(home-page "https://www.isc.org/downloads/bind/";)
+(synopsis "Tools for quering nameserver")
+(description
+ "ISC referrence implementation of nameserver - Bind comes with set of 
tools
+for quering nameservers.  These tools are useful for analysis of DNS issues or
+verification of configuration")
+(license (list license:isc
-- 
2.2.1




Re: rename of dnsmasq module to dns, adding bind-utils

2015-03-13 Thread Tomáš Čech

On Fri, Mar 13, 2015 at 07:49:34AM -0400, David Thompson wrote:

Tomáš Čech  writes:


Package bind-utils is working correctly and I can't see any problem but it
makes `guix lint' cry:

$ guix lint bind-utils
;;; Failed to autoload make-session in (gnutls):..tive]...
;;; ERROR: missing interface for module (gnutls)


You're missing the Guile bindings for GnuTLS.


Thanks to David we figured out that I am missing GUILE_LOAD_PATH and
GUILE_LOAD_COMPILED_PATH correctly set in my environment.

I didn't have gnutls or guile as part of my user profile. I have guile in my
system profile but gnutls there missing.

Installing guile into my user profile and setting environment worked as
workaround in my case.

Best regards,

S_W


pgpSfzlhz4pWp.pgp
Description: PGP signature


Re: update of openconnect

2015-03-13 Thread Tomáš Čech

On Fri, Mar 13, 2015 at 11:35:22AM +0100, Andreas Enge wrote:

On Fri, Mar 13, 2015 at 12:55:34AM +0100, Tomáš Čech wrote:

It seems that openssl version is from openconnect POV broken and as they
recommended to switch to gnutls I did the change.
Is anyone against this change?


I have just tried your patch with the new version of openconnect, and it works
for me. Have you checked the pgp signature against the downloaded tarball?
If yes, please push.


I have verified that downloaded tarball is signed by the key mentioned on the
web and that the key is signed by 341 to me unknown signatures.

I can't do better, sorry.

S_W


pgpDBJOHHhgU_.pgp
Description: PGP signature


Re: [PATCH v2] gnu: Add taskwarrior.

2015-03-13 Thread Tomáš Čech

Thank you for your review.

On Fri, Mar 13, 2015 at 02:16:00PM -0500, Eric Bavier wrote:

On 2015-03-12 19:57, Tomáš Čech wrote:

* gnu/packages/task.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add new file here.
---
gnu-system.am |  1 +
gnu/packages/task.scm | 68 
+++

[...]

+(inputs
+ `(("util-linux" ,util-linux)
+   ("gnutls" ,gnutls)
+   ("lua" ,lua)
+   ("coreutils" ,coreutils)))


Can coreutils be left out here, since it is an implicit input?


OK, I will omit it.



+;; Taskwarrior is licensed under MIT license, which is 
identical to

+;; Expat License
+(license license:expat)))


Is it actually the Expat license, or the X11 license, which is also
sometimes called the "MIT license"?  In either case, I would perhaps 
put quotation marks around "MIT license" to indicate the ambiguity.


I did comparison and it is Expat license as intended in
(guix licenses).

X11 license has aditional paragraph on use of trademarks.

You can have a look here to make your opinion:

https://git.tasktools.org/projects/TM/repos/task/browse/COPYING

I'm not lawyer and I don't feel like authority in this area but

1] I believe that intention of authors is obvious with the URL in the
  end of file. They choose MIT as their license, they used
  opensource.org license list to express their will. And I respect
  their choice.

2] MIT license is also recognized by spdx.org
  https://spdx.org/licenses/MIT

  In my experience openSUSE, Gentoo uses the same license name, Debian
  at least mentions Expat (https://www.debian.org/legal/licenses/mit).

So I'd rather not put quotation marks around "MIT license". I'd even like
to have MIT license as alias or separate license.

Best regards,

S_W


pgpIQmSyMFKpB.pgp
Description: PGP signature


make packagers life easier

2015-03-15 Thread Tomáš Čech

Hello Guix,

I'd like to share some thoughts about packaging to find I'm doing it
wrong or show that there is room for improvements. I don't think that
the proposed improvements are hard to implement (from algorithmic POV)
and I'm aware that all the things can be solved on my side, but that
is not the point.

Stop after/before phase
===

What it can help with?

- download sources of package without constructing URL
- prepare sources for creating or applying patch
- when preparing configure parameters you can stop right after
 configuration phase

How to implement?
- inject always failing phase into phases list

Another level of this feature could be even continuing of the build.


Ommit developed package from generations


How it can help?

When I work on packages I have to take care of handling generations
even when I don't care. It complicates removing old package builds
using `guix gc -d' and it is unwanted burden.

How to implement?
I'm not exactly sure, but not creating new generation with the package
could be sufficient.



Improve output of the build
===

What I miss?

Mostly one particular and obvious thing - after successful build print
the path of newly created store in well visible, easy-to-mouse and
easy-to-parse way.

example:

New store created: /gnu/store/s0meb0r1ngandl000ngh4shlead1ngt0-package-1.0/

Right now I need to dig that from any build message above.



And in future it would be nice to add some colors to output. It helps
with orientation speed a lot.

Thanks for reading,

S_W




improve error message for `guix environment'

2015-03-16 Thread Tomáš Čech

When network issue occurs during `guix environment ' call,
the error message is too cryptic:


$ guix environment gnash
;;; note: source file /Devel/git/guix/gnu/packages/dictionaries.scm
;;;   newer than compiled /Devel/git/guix/gnu/packages/dictionaries.go
;;; note: source file /Devel/git/guix/gnu/packages/graphics.scm
;;;   newer than compiled /Devel/git/guix/gnu/packages/graphics.go
substitute-binary: guix substitute-binary: warning: failed to look up host 
'hydra.gnu.org' (Temporary failure in name resolution), substituter disabled
The following derivations will be built:
  /gnu/store/9z9bpm9pwhd3dwx5kfwwqbirfd3v6bn5-coreutils-8.23.tar.xz.drv
  /gnu/store/y1b1dvljiyz4s8r2bhp3ch9nijm8dnh6-coreutils-8.23.tar.xz.drv
  /gnu/store/0p2nh8j0ad1qsd2ipwhlp6zais1jbc3m-glib-2.42.1.tar.xz.drv
  /gnu/store/wmy3xalfpg9vw4awfflgl26mynxv7554-glib-2.42.1.tar.xz.drv
  /gnu/store/pph3srjx594rcq0cjah679rd5xc7nqi2-coreutils-8.23.drv
  /gnu/store/k4y35xga43ib54688i76n11phz1xhrnz-giflib-4.2.3.tar.bz2.drv
starting download of 
`/gnu/store/xc4r4ym38y83i4ncdavrcg8h8m4vm499-giflib-4.2.3.tar.bz2' from 
`http://prdownloads.sourceforge.net/giflib/giflib-4.x/giflib-4.2.3.tar.bz2'..
.
ERROR: In procedure getaddrinfo: Temporary failure in name resolution
starting download of 
`/gnu/store/xc4r4ym38y83i4ncdavrcg8h8m4vm499-giflib-4.2.3.tar.bz2' from 
`http://heanet.dl.sourceforge.net/sourceforge/giflib/giflib-4.x/giflib-4.2.3.
tar.bz2'...
ERROR: In procedure getaddrinfo: Temporary failure in name resolution
starting download of 
`/gnu/store/xc4r4ym38y83i4ncdavrcg8h8m4vm499-giflib-4.2.3.tar.bz2' from 
`http://surfnet.dl.sourceforge.net/sourceforge/giflib/giflib-4.x/giflib-4.2.3
.tar.bz2'...
ERROR: In procedure getaddrinfo: Temporary failure in name resolution
starting download of 
`/gnu/store/xc4r4ym38y83i4ncdavrcg8h8m4vm499-giflib-4.2.3.tar.bz2' from 
`http://dfn.dl.sourceforge.net/sourceforge/giflib/giflib-4.x/giflib-4.2.3.tar
.bz2'...
ERROR: In procedure getaddrinfo: Temporary failure in name resolution
starting download of 
`/gnu/store/xc4r4ym38y83i4ncdavrcg8h8m4vm499-giflib-4.2.3.tar.bz2' from 
`http://mesh.dl.sourceforge.net/sourceforge/giflib/giflib-4.x/giflib-4.2.3.ta
r.bz2'...
ERROR: In procedure getaddrinfo: Temporary failure in name resolution
starting download of 
`/gnu/store/xc4r4ym38y83i4ncdavrcg8h8m4vm499-giflib-4.2.3.tar.bz2' from 
`http://ovh.dl.sourceforge.net/sourceforge/giflib/giflib-4.x/giflib-4.2.3.tar
.bz2'...
ERROR: In procedure getaddrinfo: Temporary failure in name resolution
starting download of 
`/gnu/store/xc4r4ym38y83i4ncdavrcg8h8m4vm499-giflib-4.2.3.tar.bz2' from 
`http://osdn.dl.sourceforge.net/sourceforge/giflib/giflib-4.x/giflib-4.2.3.ta
r.bz2'...
ERROR: In procedure getaddrinfo: Temporary failure in name resolution
failed to download "/gnu/store/xc4r4ym38y83i4ncdavrcg8h8m4vm499-giflib-4.2.3.tar.bz2" 
from "mirror://sourceforge/giflib/giflib-4.x/giflib-4.2.3.tar.bz2"
builder for 
`/gnu/store/k4y35xga43ib54688i76n11phz1xhrnz-giflib-4.2.3.tar.bz2.drv' failed 
to produce output path `/gnu/store/xc4r4ym38y83i4ncdavrcg8h8m4vm499-giflib-4.2.3
.tar.bz2'
cannot build derivation 
`/gnu/store/z8f07h9gix3p33jqv6sckqd2ynn40mv5-giflib-4.2.3.drv': 1 dependencies 
couldn't be built
Backtrace:
In ice-9/boot-9.scm:
157: 14 [catch #t # ...]
In unknown file:
  ?: 13 [apply-smob/1 #]
In ice-9/boot-9.scm:
 63: 12 [call-with-prompt prompt0 ...]
In ice-9/eval.scm:
432: 11 [eval # #]
In ice-9/boot-9.scm:
2401: 10 [save-module-excursion #]
4050: 9 [#]
1724: 8 [%start-stack load-stack ...]
1729: 7 [#]
In unknown file:
  ?: 6 [primitive-load "/Devel/git/guix/scripts/guix"]
In guix/ui.scm:
849: 5 [run-guix-command environment "gnash"]
In guix/scripts/environment.scm:
224: 4 [guix-environment "gnash"]
In guix/store.scm:
936: 3 [run-with-store # ...]
In guix/scripts/environment.scm:
213: 2 [# #]
In guix/store.scm:
883: 1 [# #]
580: 0 [build-things # #]

guix/store.scm:580:0: In procedure build-things:
guix/store.scm:580:0: Throw to key `srfi-34' with args `(#)'.



[PATCH] gnu: agg: New variable.

2015-03-16 Thread Tomáš Čech
* gnu/packages/graphics.scm (agg): New variable.
---
 gnu/packages/graphics.scm | 55 ++-
 1 file changed, 54 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm
index 1ee4d7e..27513fd 100644
--- a/gnu/packages/graphics.scm
+++ b/gnu/packages/graphics.scm
@@ -23,10 +23,16 @@
   #:use-module (guix build-system cmake)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (gnu packages)
+  #:use-module (gnu packages bash)
   #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages autotools)
   #:use-module (gnu packages compression)
+  #:use-module (gnu packages fontutils)
   #:use-module (gnu packages multiprecision)
-  #:use-module (gnu packages boost))
+  #:use-module (gnu packages boost)
+  #:use-module (gnu packages xorg)
+  #:use-module (gnu packages sdl)
+)
 
 (define-public cgal
   (package
@@ -152,3 +158,50 @@ output.")
 ;; The web site says it's under a BSD-3 license, but the 'LICENSE' file
 ;; and headers use different wording.
 (license (license:non-copyleft "file://LICENSE"
+
+(define-public agg
+  (package
+(name "agg")
+(version "2.5")
+(source (origin
+  (method url-fetch)
+  (uri (string-append "http://www.antigrain.com/agg-";
+  version ".tar.gz"))
+  (sha256 (base32
+   "07wii4i824vy9qsvjsgqxppgqmfdxq0xa87i5yk53fijriadq7mb"))
+  (patches (list (search-patch "am_c_prototype.patch")
+ (search-patch
+  "antigrain-geometry-no_rpath.patch")
+(build-system gnu-build-system)
+(arguments
+ '(#:configure-flags
+   (list (string-append "--x-includes=" (assoc-ref %build-inputs "libx11")
+"/include")
+ (string-append "--x-libraries=" (assoc-ref %build-inputs "libx11")
+"/lib"))
+   #:phases
+   (alist-cons-after
+'unpack 'autoreconf
+(lambda _
+  ;; let's call configure from configure phase and not now
+  (substitute* "autogen.sh" (("./configure") "# ./configure"))
+  (zero? (system* "sh" "autogen.sh")))
+%standard-phases)))
+(native-inputs
+ `(("pkg-config" ,pkg-config)
+   ("libtool" ,libtool)
+   ("autoconf" ,autoconf)
+   ("automake" ,automake)
+   ("bash" ,bash)))
+(inputs
+ `(("libx11" ,libx11)
+   ("freetype" ,freetype)
+   ("sdl" ,sdl)))
+
+(home-page "http://antigrain.com";)
+(synopsis "A high quality rendering engine for C++")
+(description
+ "Anti-Grain Geometry is high quality rendering engine written in C++.  It
+supports sub pixel resolutions and anti-aliasing.  It is also library for
+rendering SVG graphics")
+(license license:gpl2+)))
-- 
2.2.1




[PATCH] gnu: sdcv: Add new variable.

2015-03-16 Thread Tomáš Čech
* gnu/packages/dictionaries.scm (sdcv): New variable.
---
 gnu/packages/dictionaries.scm | 47 ++-
 1 file changed, 42 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/dictionaries.scm b/gnu/packages/dictionaries.scm
index 345d0a2..b18e02a 100644
--- a/gnu/packages/dictionaries.scm
+++ b/gnu/packages/dictionaries.scm
@@ -17,14 +17,18 @@
 ;;; along with GNU Guix.  If not, see .
 
 (define-module (gnu packages dictionaries)
-  #:use-module (guix licenses)
+  #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix build-system trivial)
+  #:use-module (guix build-system cmake)
   #:use-module (gnu packages base)
-  #:use-module (gnu packages texinfo)
-  #:use-module ((gnu packages compression)
-#:select (gzip)))
+  #:use-module (gnu packages compression)
+  #:use-module (gnu packages gettext)
+  #:use-module (gnu packages glib)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages readline)
+  #:use-module (gnu packages texinfo))
 
 (define-public vera
   (package
@@ -75,4 +79,37 @@
 (description
  "V.E.R.A. (Virtual Entity of Relevant Acronyms) is a list of computing
 acronyms distributed as an info document.")
-(license fdl1.3+)))
+(license license:fdl1.3+)))
+
+(define-public sdcv
+  (package
+(name "sdcv")
+(version "0.5.0-beta4")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append "mirror://sourceforge/project/sdcv/sdcv/sdcv-"
+   version "-Source.tar.bz2"))
+   (sha256
+(base32 "1b9v91al2c1499q6yx6q8jggid071mfj6myqgz3nvqjyrrqr"
+(build-system cmake-build-system)
+(native-inputs
+ `(("pkg-config" ,pkg-config)))
+(inputs
+ `(("glib" ,glib)
+   ("gettext" ,gnu-gettext)
+   ("readline" ,readline)
+   ("zlib" ,zlib)))
+(arguments
+ `(#:tests? #f ; no tests implemented
+   #:phases
+   ;; this is known workaround for missing lang files
+   (alist-cons-after 'build 'build-lang
+ (lambda _ (zero? (system* "make" "lang")))
+ %standard-phases)))
+(home-page "http://sdcv.sourceforge.net/";)
+(synopsis "Command line variant of StarDict")
+(description
+ "Sdcv is command line dictionary utility, which supports StarDict 
dictinary
+format.")
+(license license:gpl2+)))
-- 
2.2.1




Re: [PATCH] gnu: sdcv: Add new variable.

2015-03-16 Thread Tomáš Čech

On Mon, Mar 16, 2015 at 10:54:52AM +0100, Andreas Enge wrote:

Hello,

just a tiny comment: Please use

gnu: Add sdcv.

gnu: Add agg.

as first lines of your commits; I find this convention quite useful when
grepping through the output of "git log".


Will doo. Changed.

S_W



Re: [PATCH] gnu: agg: New variable.

2015-03-17 Thread Tomáš Čech

Thanks for review,

it seems that I'm getting too chaotic as I work on many packages
simultaneously. Sorry about that.


On Tue, Mar 17, 2015 at 10:10:56AM +0100, Ludovic Courtès wrote:

Tomáš Čech  skribis:


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


Please adjust the commit’s subject line as Andreas suggested.


Fixed.




+  (uri (string-append "http://www.antigrain.com/agg-";
+  version ".tar.gz"))
+  (sha256 (base32
+   "07wii4i824vy9qsvjsgqxppgqmfdxq0xa87i5yk53fijriadq7mb"))


Maybe put ‘base32’ on the next line, as is done in the rest of this file
an elsewhere.


Fixed.




+  (patches (list (search-patch "am_c_prototype.patch")
+ (search-patch
+  "antigrain-geometry-no_rpath.patch")


Please add these two patches to the patch, and list them in
gnu-system.am.


This is critical miss.



+   (alist-cons-after
+'unpack 'autoreconf
+(lambda _
+  ;; let's call configure from configure phase and not now
+  (substitute* "autogen.sh" (("./configure") "# ./configure"))
+  (zero? (system* "sh" "autogen.sh")))


So the tarball they provide is not generated from ‘make dist’?  Bah.


No, really, I'm glad I made it compile.


+(synopsis "A high quality rendering engine for C++")


“High-quality 2D graphics rendering engine for C++”


The best text to be placed there is already taken by authors and wikipedia
people. It's hard to divert :b

Rest fixed as well.

Thanks for the review.

S_W


pgp8sYO97RIAv.pgp
Description: PGP signature


[PATCH] gnu: Add colordiff.

2015-03-17 Thread Tomáš Čech
* gnu/packages/patchutils.scm (colordiff): New variable.
---
 gnu/packages/patchutils.scm | 33 -
 1 file changed, 32 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/patchutils.scm b/gnu/packages/patchutils.scm
index 48f4d29..5fe4a17 100644
--- a/gnu/packages/patchutils.scm
+++ b/gnu/packages/patchutils.scm
@@ -28,7 +28,8 @@
   #:use-module (gnu packages file)
   #:use-module (gnu packages gawk)
   #:use-module (gnu packages less)
-  #:use-module (gnu packages perl))
+  #:use-module (gnu packages perl)
+  #:use-module (gnu packages xml))
 
 (define-public patchutils
   (package
@@ -140,3 +141,33 @@ listing the files modified by a patch.")
 track of the changes each patch makes.  Patches can be applied, un-applied,
 refreshed, and more.")
 (license gpl2)))
+
+(define-public colordiff
+  (package
+(name "colordiff")
+(version "1.0.13")
+(source
+ (origin
+  (method url-fetch)
+  (uri (string-append "http://www.colordiff.org/colordiff-";
+  version ".tar.gz"))
+  (sha256
+   (base32 "0akcz1p3klsjnhwcqdfq4grs6paljc5c0jzr3mqla5f862hhaa6f"
+(build-system gnu-build-system)
+(arguments
+ `(#:tests? #f
+   #:make-flags (list (string-append "DESTDIR=" (assoc-ref %outputs "out"))
+  "INSTALL_DIR=/bin" "MAN_DIR=/share/man/man1")
+   #:phases
+   (alist-delete 'configure
+ (alist-delete 'build %standard-phases
+(inputs
+ `(("perl" ,perl)
+   ("xmlto" ,xmlto)))
+(home-page "http://www.colordiff.org";)
+(synopsis "Perl wrapper for coloring diff output")
+(description
+ "Colordiff is perl script wrapper on top of diff command which provides
+'syntax highlighting' for various patch formats.")
+(license gpl2+)))
+
-- 
2.2.1




[PATCH] gnu: Add gnash.

2015-03-18 Thread Tomáš Čech
From: Tomáš Čech 

* gnu/packages/gnash.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add the file.
---
 gnu-system.am  |   1 +
 gnu/packages/gnash.scm | 129 +
 2 files changed, 130 insertions(+)
 create mode 100644 gnu/packages/gnash.scm

diff --git a/gnu-system.am b/gnu-system.am
index 2bed50f..145a03d 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -121,6 +121,7 @@ GNU_SYSTEM_MODULES =\
   gnu/packages/gkrellm.scm \
   gnu/packages/gl.scm  \
   gnu/packages/glib.scm\
+  gnu/packages/gnash.scm   \
   gnu/packages/gnome.scm   \
   gnu/packages/gnunet.scm  \
   gnu/packages/gnupg.scm   \
diff --git a/gnu/packages/gnash.scm b/gnu/packages/gnash.scm
new file mode 100644
index 000..f0306c4
--- /dev/null
+++ b/gnu/packages/gnash.scm
@@ -0,0 +1,129 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2015 Tomáš Čech 
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages gnash)
+  #:use-module ((guix licenses) #:prefix l:)
+  #:use-module (guix packages)
+  #:use-module (gnu packages autotools)
+  #:use-module (gnu packages bash)
+  #:use-module (gnu packages boost)
+  #:use-module (gnu packages curl)
+  #:use-module (gnu packages cyrus-sasl)
+  #:use-module (gnu packages gettext)
+  #:use-module (gnu packages gnome)
+  #:use-module (gnu packages gnupg)
+  #:use-module (gnu packages gnuzilla)
+  #:use-module (gnu packages graphics)
+  #:use-module (gnu packages gstreamer)
+  #:use-module (gnu packages gtk)
+  #:use-module (gnu packages image)
+  #:use-module (gnu packages openssl)
+  #:use-module (gnu packages perl)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages qt)
+  #:use-module (gnu packages sdl)
+  #:use-module (gnu packages video)
+  #:use-module (gnu packages xiph)
+  #:use-module (gnu packages)
+  #:use-module (guix packages)
+  #:use-module (guix git-download)
+  #:use-module (guix build-system gnu)
+  )
+
+(define-public gnash
+  (package
+(name "gnash")
+(version "0.8.10+")
+(source
+ (origin
+   ;; release is too old to be built correctly against ffmpeg, libjpeg and
+   ;; more, lets go with head containing all required fixes already
+   (method git-fetch)
+   (uri (git-reference
+ (url "git://git.sv.gnu.org/gnash.git")
+ (commit "6675d736bf4d7")))
+   (sha256
+(base32 "0j9mvg2jdp398dfdnmxfzhiaqm79h0ic2airmvgmf22rrsx2flgw"
+(build-system gnu-build-system)
+(native-inputs
+ `(("pkg-config" ,pkg-config)
+   ("libtool" ,libtool)
+   ("autoconf" ,autoconf)
+   ("automake" ,automake)
+   ("bash" ,bash)))
+(inputs
+ ;; gstreamer 0.10 is required, but not available, gstreamer-1.0 not
+ ;; supported yet - lets go with ffmpeg instead
+ `(("agg" ,agg)
+   ("boost" ,boost)
+   ("curl" ,curl) ; FIXME: compile in RTMP support
+   ("cyrus-sasl" ,cyrus-sasl)
+   ("ffmpeg" ,ffmpeg)
+   ("gconf" ,gconf)
+   ("gettext" ,gnu-gettext)
+   ("giflib" ,giflib)
+   ("gtk+-2" ,gtk+-2)
+   ("icecat" ,icecat)
+   ("libgcrypt" ,libgcrypt)
+   ("libjpeg" ,libjpeg)
+   ("libltdl" ,libltdl)
+   ("npapi-sdk" ,npapi-sdk)
+   ("nspr" ,nspr)
+   ("openssl" ,openssl)
+   ("pango" ,pango)
+   ("pangox-compat" ,pangox-compat)
+   ("perl" ,perl)
+   ("qt-4" ,qt-4)
+   ("sdl", sdl)
+   ("speex", speex)))
+(arguments
+ `(#:configure-flags
+   (list
+"--enable-media=ffmpeg" "--disable-jemalloc"
+"--with-npapi-install=system"
+(string-append "--with-npapi-plugindir=" (assoc-ref %outputs "out")
+   "/lib/mozilla/plugins")
+(stri

Re: [PATCH] gnu: sdcv: Add new variable.

2015-03-18 Thread Tomáš Čech

On Wed, Mar 18, 2015 at 09:39:49AM +0100, Ludovic Courtès wrote:

Tomáš Čech  skribis:


* gnu/packages/dictionaries.scm (sdcv): New variable.


You pushed it already but I have some comments anyway:


Oh, I took that there are no objections already. Sorry about that.



+(define-public sdcv
+  (package
+(name "sdcv")
+(version "0.5.0-beta4")


The policy is to provide only stable versions, unless there’s a very
good reason to do otherwise.  Could we use the previous version until
0.5.0 is out?


Previous version of this tool is 0.4.2, which is 8 years old, it won't work 
with recent compilers (it's their statement, not my experiment though), could 
suffer with allignment issues on more exotic architectures (ARM among them).

I can add comment with the reasoning.


+(synopsis "Command line variant of StarDict")


Could you change it to be self-contained–i.e., without referring to
StarDict (which I don’t know, and perhaps is not very well known.)


sdcv stands for - StarDict Command line Variant
This is where I took the synopsis from.

It's hard to believe that you have never heard of StarDict. I'm not
aware of any offline sotfware dictionary software which does not
support StarDict dictionary format and doesn't state it's relation to
stardict - be it GoldenDict, QStardict or this sdcv.

Is "Command line offline dictionary" satisfactory?

+(description
+ "Sdcv is command line dictionary utility, which supports StarDict 
dictinary
+format.")


Typo: “dictionary”.


Thanks.



Please expound, explaining what it does concretely.  Perhaps get
inspiration from the README or web page.


I'm afraid that their web or README is useless for this case.

Is this satisfactory?:
"Sdcv is command line dictionary utility with support of StarDict
dictionary format.  For word in one language it can find translation
in all installed dictionaries at the same time and without specifying
original language.  With proper dictionary it can also work as
encyclopedic dictionary."


pgp8FGMndIFOy.pgp
Description: PGP signature


Re: 01/01: gnu: Add agg.

2015-03-18 Thread Tomáš Čech

On Wed, Mar 18, 2015 at 02:09:49PM +0100, Ludovic Courtès wrote:

Tomas Cech  skribis:


commit 87bafa07ae68084819bb2648bd1042c354d11317
Author: Tomáš Čech 
Date:   Wed Mar 18 08:57:50 2015 +0100

gnu: Add agg.

* gnu/packages/graphics.scm (agg): New variable.
* gnu/packages/patches/agg-am_c_prototype.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.


[...]


+++ b/gnu/packages/patches/agg-am_c_prototype.patch
@@ -0,0 +1,10 @@
+--- a/configure.in 2015-03-15 18:59:12.557417149 +0100
 b/configure.in 2015-03-15 18:59:29.273416518 +0100


Patches must have a comment at the beginning to explain what they do,
why, and what the upstream status is.


Will do.


Please pay more attention to these rules before pushing.  In general, I
would recommend that you wait for some review before pushing.  (This is
sometimes slow, but hopefully others will help reduce latency,
hint hint! ;-))


Yeah, I can see what I'm causing lately. I'll relax with pushing.




+@@ -8,7 +8,6 @@
+ AC_PROG_CC
+ AC_PROG_CXX
+ AC_ISC_POSIX
+-AM_C_PROTOTYPES
+ if test "x$U" != "x"; then
+   AC_MSG_ERROR(Compiler not ANSI compliant)
+ fi


It is best to avoid modifying .ac or .am files because that requires
adding a dependency on the autotools.]


I will remember that but I'm afraid that in this case there is no
configure in tarball anyway and has to be generated.


What problem does this patch solve?  I’m confident this can be worked
around without modifying the .ac file, for instance by passing the right
ac_cv_ variable as a ‘configure’ argument.



AM_C_PROTOTYPES has been removed from automake.

https://lists.gnu.org/archive/html/automake-patches/2011-06/msg00082.html

and the reconfigure leads to failure:

starting phase `autoreconf'
aclocal: warning: autoconf input should be named 'configure.ac', not 
'configure.in'
configure.in:11: error: automatic de-ANSI-fication support has been removed
/gnu/store/2h4lnk22bj479fnr0l2cyx2rvisv9cg7-automake-1.15/share/aclocal-1.15/obsolete.m4:26:
 AM_C_PROTOTYPES is expanded from...
configure.in:11: the top level

I'd gladly take your recommendation about passing 'the right ac_cv_
variable' on this.

The agg package is old, last it's release was 8 years ago, sourceforge
marked that as '(historical)'. It is unlikely that anyone would accept
patch.

The only reason I spent time on it is because it is required
dependency for GNU Gnash.


Thanks for review.

Best regards,

S_W


pgp2XdRcRPykm.pgp
Description: PGP signature


Re: [PATCH] gnu: sdcv: Add new variable.

2015-03-18 Thread Tomáš Čech

On Wed, Mar 18, 2015 at 02:28:25PM +0100, Ludovic Courtès wrote:

Tomáš Čech  skribis:


On Wed, Mar 18, 2015 at 09:39:49AM +0100, Ludovic Courtès wrote:

Tomáš Čech  skribis:


* gnu/packages/dictionaries.scm (sdcv): New variable.


You pushed it already but I have some comments anyway:


Oh, I took that there are no objections already. Sorry about that.


That’s OK, I just happened to have comments.  ;-)


+(define-public sdcv
+  (package
+(name "sdcv")
+(version "0.5.0-beta4")


The policy is to provide only stable versions, unless there’s a very
good reason to do otherwise.  Could we use the previous version until
0.5.0 is out?


Previous version of this tool is 0.4.2, which is 8 years old, it won't work 
with recent compilers (it's their statement, not my experiment though), could 
suffer with allignment issues on more exotic architectures (ARM among them).


Sounds like a good reason.  “beta4” suggests 0.5.0 will soon be released
though, no?


I'd rather not speculate - beta2 was released 2013-07-07, beta4 was
released 2014-10-24. If there is planned beta7, it may be released
after GNU Hurd.


I can add comment with the reasoning.


Yes please.


+(synopsis "Command line variant of StarDict")


Could you change it to be self-contained–i.e., without referring to
StarDict (which I don’t know, and perhaps is not very well known.)


sdcv stands for - StarDict Command line Variant
This is where I took the synopsis from.

It's hard to believe that you have never heard of StarDict. I'm not
aware of any offline sotfware dictionary software which does not
support StarDict dictionary format and doesn't state it's relation to
stardict - be it GoldenDict, QStardict or this sdcv.


What I have heard of doesn’t really matter–hopefully I’m not the only
user of this.  ;-)

Anyway, “StarDict-compatible command-line dictionary program” maybe?


OK.



Now that I try to learn about StarDict, I stumble upon this at
<http://stardict.sourceforge.net/>:

 The original StarDict project has recently been removed from
 SourceForge due to copyright infringement reports.



It's hard to find anything now but AFAIR they hosted besides the
software also data, which weren't respecting copyright of original
source.


And at <http://sdcv.sourceforge.net/>, sdvc describes itself as the
“console version of [the] StarDict program”, which is not
confidence-inspiring.  Some files such as dictziplib.cpp do indeed seem
to come from StarDict.


I wasn't afraid before but now it works as FUD from the sf.net side
because the lack of information available.


Could you check if you can find more information?  It’s in Debian and
not on <http://libreplanet.org/wiki/NONFSDG>, which is encouraging.



The file you mentioned looks like from stardict project, but was
originally taken from dictd-1.9.7 as it states and during it's history
it always had GPL license (started with GPL1).


But there are also similarities between
stardict-3.0.4/dict/src/lib/mapfile.h
and
sdcv-0.5.0-beta4-Source/src/mapfile.hpp

and that is missing license in sdcv completely.

Further - distance.cpp (GPL) and distance.hpp (no license in header)
are probably related among projects.

Lets scratch it whole, I'm not laywer.

When there is webkit package, I may give a try to GoldenDict.

S_W



Is this satisfactory?:
"Sdcv is command line dictionary utility with support of StarDict


“with support for the StarDict”


dictionary format.  For word in one language it can find translation
in all installed dictionaries at the same time and without specifying
original language.


What about “It can translate words from any language to any other language
for which a dictionary is available.”?


With proper dictionary it can also work as encyclopedic dictionary."


“can also work as an encyclopedia”



Thanks for the fixes.

S_W


pgpLJ3IhTGYFk.pgp
Description: PGP signature


[PATCH] Revert "gnu: Add sdcv."

2015-03-18 Thread Tomáš Čech
This reverts commit 004eb31859971f9602f618cbdf6612f4bcaddd9c.
---
 gnu/packages/dictionaries.scm | 47 +--
 1 file changed, 5 insertions(+), 42 deletions(-)

diff --git a/gnu/packages/dictionaries.scm b/gnu/packages/dictionaries.scm
index b18e02a..345d0a2 100644
--- a/gnu/packages/dictionaries.scm
+++ b/gnu/packages/dictionaries.scm
@@ -17,18 +17,14 @@
 ;;; along with GNU Guix.  If not, see .
 
 (define-module (gnu packages dictionaries)
-  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix licenses)
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix build-system trivial)
-  #:use-module (guix build-system cmake)
   #:use-module (gnu packages base)
-  #:use-module (gnu packages compression)
-  #:use-module (gnu packages gettext)
-  #:use-module (gnu packages glib)
-  #:use-module (gnu packages pkg-config)
-  #:use-module (gnu packages readline)
-  #:use-module (gnu packages texinfo))
+  #:use-module (gnu packages texinfo)
+  #:use-module ((gnu packages compression)
+#:select (gzip)))
 
 (define-public vera
   (package
@@ -79,37 +75,4 @@
 (description
  "V.E.R.A. (Virtual Entity of Relevant Acronyms) is a list of computing
 acronyms distributed as an info document.")
-(license license:fdl1.3+)))
-
-(define-public sdcv
-  (package
-(name "sdcv")
-(version "0.5.0-beta4")
-(source
- (origin
-   (method url-fetch)
-   (uri (string-append "mirror://sourceforge/project/sdcv/sdcv/sdcv-"
-   version "-Source.tar.bz2"))
-   (sha256
-(base32 "1b9v91al2c1499q6yx6q8jggid071mfj6myqgz3nvqjyrrqr"
-(build-system cmake-build-system)
-(native-inputs
- `(("pkg-config" ,pkg-config)))
-(inputs
- `(("glib" ,glib)
-   ("gettext" ,gnu-gettext)
-   ("readline" ,readline)
-   ("zlib" ,zlib)))
-(arguments
- `(#:tests? #f ; no tests implemented
-   #:phases
-   ;; this is known workaround for missing lang files
-   (alist-cons-after 'build 'build-lang
- (lambda _ (zero? (system* "make" "lang")))
- %standard-phases)))
-(home-page "http://sdcv.sourceforge.net/";)
-(synopsis "Command line variant of StarDict")
-(description
- "Sdcv is command line dictionary utility, which supports StarDict 
dictinary
-format.")
-(license license:gpl2+)))
+(license fdl1.3+)))
-- 
2.2.1




[PATCH] gnu: agg: Add explanatory comment to the patch.

2015-03-18 Thread Tomáš Čech
* gnu/packages/patches/agg-am_c_prototype.patch: Add comment.
---
 gnu/packages/patches/agg-am_c_prototype.patch | 14 ++
 1 file changed, 14 insertions(+)

diff --git a/gnu/packages/patches/agg-am_c_prototype.patch 
b/gnu/packages/patches/agg-am_c_prototype.patch
index 3a09dc7..b31e86c 100644
--- a/gnu/packages/patches/agg-am_c_prototype.patch
+++ b/gnu/packages/patches/agg-am_c_prototype.patch
@@ -1,3 +1,17 @@
+AM_C_PROTOTYPES is no longer supported.
+
+https://lists.gnu.org/archive/html/automake-patches/2011-06/msg00082.html
+
+Failure without patch:
+
+starting phase `autoreconf'
+aclocal: warning: autoconf input should be named 'configure.ac', not 
'configure.in'
+configure.in:11: error: automatic de-ANSI-fication support has been removed
+/gnu/store/…-automake-1.15/share/aclocal-1.15/obsolete.m4:26: AM_C_PROTOTYPES 
is expanded from...
+configure.in:11: the top level
+
+
+Upstream is dead.
 --- a/configure.in 2015-03-15 18:59:12.557417149 +0100
 +++ b/configure.in 2015-03-15 18:59:29.273416518 +0100
 @@ -8,7 +8,6 @@
-- 
2.2.1




[PATCH] gnu: Add the-silver-searcher.

2015-03-19 Thread Tomáš Čech
* gnu/packages/code.scm (the-silver-searcher): New variable.
---
 gnu/packages/code.scm | 53 ++-
 1 file changed, 48 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/code.scm b/gnu/packages/code.scm
index 5446812..b1a7c72 100644
--- a/gnu/packages/code.scm
+++ b/gnu/packages/code.scm
@@ -20,9 +20,12 @@
 (define-module (gnu packages code)
   #:use-module (guix packages)
   #:use-module (guix download)
-  #:use-module (guix licenses)
+  #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix build-system gnu)
+  #:use-module (gnu packages compression)
   #:use-module (gnu packages emacs)
+  #:use-module (gnu packages pcre)
+  #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages autogen)
@@ -54,7 +57,7 @@
 control flow of the program.  It can output the graph in several styles and
 in either the POSIX format or in an extended GNU format. cflow also includes
 a major mode for Emacs for examining the flowcharts that it produces.")
-(license gpl3+)))
+(license license:gpl3+)))
 
 (define-public complexity
   (package
@@ -78,7 +81,7 @@ a major mode for Emacs for examining the flowcharts that it 
produces.")
 convoluted, overly long or otherwise difficult to understand.  This
 may help in learning or reviewing unfamiliar code or perhaps
 highlighting your own code that seemed comprehensible when you wrote it.")
-(license gpl3+)))
+(license license:gpl3+)))
 
 (define-public global ; a global variable
   (package
@@ -119,7 +122,7 @@ highlighting your own code that seemed comprehensible when 
you wrote it.")
 across a wide array of environments, such as different text editors, shells
 and web browsers.  The resulting tags are useful for quickly moving around in
 a large, deeply nested project.")
-(license gpl3+)))
+(license license:gpl3+)))
 
 (define-public sloccount
   (package
@@ -175,4 +178,44 @@ code (SLOC) in large software systems.  It can 
automatically identify and
 measure a wide range of programming languages.  It automatically estimates the
 effort, time, and money it would take to develop the software, using the
 COCOMO model or user-provided parameters.")
-(license gpl2+)))
+(license license:gpl2+)))
+
+(define-public the-silver-searcher
+  (package
+(name "the-silver-searcher")
+(version "0.29.1")
+(source (origin
+  (method url-fetch)
+  (uri (string-append
+"https://github.com/ggreer/the_silver_searcher/archive/";
+  version ".tar.gz"))
+  (sha256
+   (base32
+"0ah7vcqprl9hhafi68bvzaiywy7dfm28zf7kpw3xrlqzfn0vg7kp"
+(build-system gnu-build-system)
+(native-inputs
+ `(("autoconf" ,autoconf)
+   ("automake" ,automake)
+   ("libtool" ,libtool)
+   ("pkg-config" ,pkg-config)))
+(inputs
+ `(("pcre" ,pcre)
+   ("xz" ,xz)
+   ("zlib" ,zlib)))
+(arguments
+ `(#:phases
+   ;; there is no configure yet, so lets create it, but let configure and
+   ;; make do the work in later phases
+   (alist-cons-before 'configure 'autoconf
+  (lambda _
+(substitute* "build.sh" (("./configure") "true")
+ (("make -j4") "true"))
+(zero? (system* "sh" "build.sh")))
+  %standard-phases)))
+(home-page "http://geoff.greer.fm/ag/";)
+(synopsis "Fast code searching tool")
+(description
+ "The silver searcher - shortly ag - is tool for quickly searching through
+files, but compared to grep is much faster and respects files like .gitignore,
+.hgignore, etc.")
+(license license:asl2.0)))
-- 
2.2.1




Re: [PATCH] gnu: Add gnash.

2015-03-19 Thread Tomáš Čech

On Thu, Mar 19, 2015 at 05:17:10PM +0100, Ludovic Courtès wrote:

Tomáš Čech  skribis:


* gnu/packages/gnash.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add the file.


[...]


+(define-module (gnu packages gnash)


Maybe we could call it ‘flash’ since there may be other tools going
there (players or things like libswf)?


Yes, that was my working name - when I got circular deps in web
module, I moved it to separate file. `flash' is good name - I'm
already working on lightspark which will go there as well...


+  #:use-module (guix build-system gnu)
+  )


Move the paren to the previous line.


OK



+   ;; release is too old to be built correctly against ffmpeg, libjpeg and
+   ;; more, lets go with head containing all required fixes already
+   (method git-fetch)


We have ffmpeg-2.2 and libjpeg-8 already available.  Would that allow us
to build from the release tarball?


The problem is incompatibility between the release (2 years old) and
the versions we have in Guix (ffmpeg, libjpeg, boost, automake, gcc
and mabe more). I originally started with the release tarball and took
bunch of patches which fixed ffmpeg changes and libjpeg changes but it
was just too many so I gave up.



If yes, we should probably do that, plus the CVE-2012-1175 patch at
<http://git.savannah.gnu.org/cgit/gnash.git/patch/?id=bb4dc77eecb6ed1b967e3ecbce3dac6c5e6f1527>
(don’t know if there are others.)


+ ;; gstreamer 0.10 is required, but not available, gstreamer-1.0 not


gstreamer-0.10 is available from (gnu packages gstreamer).


In that case `guix package -s gstreamer' didn't show that to me.

Btw. I run this command several times and it's showing versions
randomly (in following case gst-plugins-base has different version):

guix package -s gstreamer | recsel -p name,version

-%<%<
$ guix package -s gstreamer | recsel -p name,version
name: gst-plugins-base
version: 0.10.36

name: gst-plugins-good
version: 1.4.5

name: gstreamer
version: 1.4.5

name: libcanberra
version: 0.30

$ guix package -s gstreamer | recsel -p name,version
name: gst-plugins-base
version: 1.4.5

name: gst-plugins-good
version: 1.4.5

name: gstreamer
version: 1.4.5

name: libcanberra
version: 0.30
->%>%

Grep found it reliably.


+(synopsis "GNU Flash movie player")
+(description "GNU Gnash is the GNU Flash movie player — Flash is an
+animation file format pioneered by Macromedia which continues to be supported 
by
+their successor company, Adobe.  Flash has been extended to include audio and
+video content, and programs written in ActionScript, an ECMAScript-compatible
+language.  Gnash is based on GameSWF, and supports most SWF v7 features and
+some SWF v8 and v9.  SWF v10 is not supported by GNU Gnash.")


Please use those suggested by ‘guix lint’.


Where did that text come from!? Will do.




+(license l:gpl3)))


l:gpl3+


Thanks.



Could you send an updated patch?


In the Nixpkgs recipe I had added this hack:

+# Provide a default font.
+sed -i "configure" \
+-e 
's|/usr/share/fonts/truetype/freefont/|${freefont_ttf}/share/fonts/truetype/|g'

Any idea if this is still needed?  IOW, does gtk-gnash manage to display
text at all without it?


It's hard to find flash old enough, showing text and with sources to
confirm it's text. I think that this can be used for verification:

http://technoargia.free.fr/swftools/examples/button3/button3.html

And yes, works for me.

Thanks for review.

S_W


pgpsIUODYbv18.pgp
Description: PGP signature


[PATCH] gnu: curl: Update to 7.41.0. Fix #20121.

2015-03-22 Thread Tomáš Čech
* gnu/packages/patches/curl-gss-api-fix.patch: Delete file.
* gnu/packages/patches/curl-enable_capath-conf.patch: New file.
* gnu/packages/patches/curl-enable_capath.patch: New file.
* gnu-system.am (dist_patch_DATA): Add new patches, remove old one.
* gnu/packages/curl.scm (curl): Update to 7.41.0. Remove old patch, add two
  new ones. Disable one unit test.
---
 gnu-system.am  |   3 +-
 gnu/packages/curl.scm  |  29 +-
 gnu/packages/patches/curl-enable_capath-conf.patch |  16 
 gnu/packages/patches/curl-enable_capath.patch  | 103 +
 gnu/packages/patches/curl-gss-api-fix.patch|  38 
 5 files changed, 145 insertions(+), 44 deletions(-)
 create mode 100644 gnu/packages/patches/curl-enable_capath-conf.patch
 create mode 100644 gnu/packages/patches/curl-enable_capath.patch
 delete mode 100644 gnu/packages/patches/curl-gss-api-fix.patch

diff --git a/gnu-system.am b/gnu-system.am
index 1cb0b11..b86ec09 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -391,8 +391,9 @@ dist_patch_DATA =   
\
   gnu/packages/patches/cssc-gets-undeclared.patch   \
   gnu/packages/patches/cssc-missing-include.patch   \
   gnu/packages/patches/clucene-contribs-lib.patch   \
-  gnu/packages/patches/curl-gss-api-fix.patch  \
   gnu/packages/patches/cursynth-wave-rand.patch\
+  gnu/packages/patches/curl-enable_capath.patch\
+  gnu/packages/patches/curl-enable_capath-conf.patch   \
   gnu/packages/patches/dbus-localstatedir.patch\
   gnu/packages/patches/diffutils-gets-undeclared.patch \
   gnu/packages/patches/dfu-programmer-fix-libusb.patch \
diff --git a/gnu/packages/curl.scm b/gnu/packages/curl.scm
index 821a957..41b2675 100644
--- a/gnu/packages/curl.scm
+++ b/gnu/packages/curl.scm
@@ -37,15 +37,19 @@
 (define-public curl
   (package
(name "curl")
-   (version "7.40.0")
+   (version "7.41.0")
(source (origin
 (method url-fetch)
 (uri (string-append "http://curl.haxx.se/download/curl-";
 version ".tar.lzma"))
 (sha256
  (base32
-  "1a15fdc26b3vwwmchzzpd3l1hfyhx06dn7b6lkikqd7kgwvg5ps7"))
-(patches (list (search-patch "curl-gss-api-fix.patch")
+  "08n7vrhdfzziy3a7n93r7qjhzk8p26q464hxg8w9irdk3v60pi62"))
+;; This is backport of patch allowing --with-ca-path for curl built
+;; against GnuTLS. First part is identical to upstream, second
+;; patches also configure without need of reconfigure. Fixes 
#20121.
+(patches (list (search-patch "curl-enable_capath.patch")
+   (search-patch "curl-enable_capath-conf.patch")
(build-system gnu-build-system)
(inputs `(("gnutls" ,gnutls)
  ("gss" ,gss)
@@ -60,7 +64,18 @@
("pkg-config" ,pkg-config)
("python" ,python-2)))
(arguments
-`(#:configure-flags '("--with-gnutls" "--with-gssapi")
+`(#:configure-flags
+  '("--with-gnutls" "--with-gssapi" "--enable-http"
+;; This option requires parameter so let's use this one
+;; - when it exists, it makes sense
+;; - when it doesn't exist, we can still use SSL_CERT_DIR environment
+;;   variable to set it per user or for whole system
+;; Fixes #20121.
+"--with-ca-path=/etc/ssl/certs"
+"--enable-ftp" "--enable-proxy" "--with-libidn"
+"--enable-cookies" "CFLAGS=-ggdb")
+  #:make-flags '("CFLAGS=-ggdb")
+  #:strip-binaries? #f
   ;; Add a phase to patch '/bin/sh' occurances in tests/runtests.pl
   #:phases
   (alist-replace
@@ -68,12 +83,16 @@
(lambda _
  (substitute* "tests/runtests.pl"
(("/bin/sh") (which "sh")))
-
+ ;; Test #1135 requires extern-scan.pl, which is not part of the
+ ;; tarball due to mistake. It was fixed already in upstream. We can
+ ;; simply ignore the test as it aims VMS and OS/400.
+ (delete-file "tests/data/test1135")
  ;; The top-level "make check" does "make -C tests quiet-test", which
  ;; is too quiet.  Use the "test" target instead, which is more
  ;; verbose.
  (zero? (system* "make" "-C" "tests" "test")))
%standard-phases)))
+   (outputs '("out" "debug"))   
(synopsis "Command line tool for transferring data with URL syntax")
(description
 "curl is a command line tool for transferring data with URL syntax,
diff --git a/gnu/packages/patches/curl-enable_capath-conf.patch 
b/gnu/packages/patches/curl-enable_capath-conf.patch
new file mode 100644
index 000..6d4ba8e
--- /dev/null
+++ b/gnu/packages/patches/curl-enable_capath-conf.patch
@@ -0,0 +1,16 @@
+Following patch allows --with-ca-path for curl 

Re: [PATCH] gnu: curl: Update to 7.41.0. Fix #20121.

2015-03-22 Thread Tomáš Čech

On Sun, Mar 22, 2015 at 11:20:36AM +0100, Tomáš Čech wrote:

...
   (arguments
-`(#:configure-flags '("--with-gnutls" "--with-gssapi")
+`(#:configure-flags
+  '("--with-gnutls" "--with-gssapi" "--enable-http"
+;; This option requires parameter so let's use this one
+;; - when it exists, it makes sense
+;; - when it doesn't exist, we can still use SSL_CERT_DIR environment
+;;   variable to set it per user or for whole system
+;; Fixes #20121.
+"--with-ca-path=/etc/ssl/certs"
+"--enable-ftp" "--enable-proxy" "--with-libidn"
+"--enable-cookies" "CFLAGS=-ggdb")
+  #:make-flags '("CFLAGS=-ggdb")


Damn, I forgot my debugging code pieces here...

+  #:strip-binaries? #f
  ;; Add a phase to patch '/bin/sh' occurances in tests/runtests.pl
  #:phases
  (alist-replace
@@ -68,12 +83,16 @@
   (lambda _
 (substitute* "tests/runtests.pl"
   (("/bin/sh") (which "sh")))
-
+ ;; Test #1135 requires extern-scan.pl, which is not part of the
+ ;; tarball due to mistake. It was fixed already in upstream. We can
+ ;; simply ignore the test as it aims VMS and OS/400.
+ (delete-file "tests/data/test1135")
 ;; The top-level "make check" does "make -C tests quiet-test", which
 ;; is too quiet.  Use the "test" target instead, which is more
 ;; verbose.
 (zero? (system* "make" "-C" "tests" "test")))
   %standard-phases)))
+   (outputs '("out" "debug"))


...and here.


I removed it from the patch already.

S_W


pgpZT9VqoqgG_.pgp
Description: PGP signature


reproducible builds and debugging information

2015-03-22 Thread Tomáš Čech

Hello Guix!

I have question about reproducible builds and generating debugging
information.

As I was tracing curl code, I needed to rebuild the package with
"-ggdb" in CFLAGS and enable debug among outputs.

The later doesn't change the hash (and the generated code), but the
first does. So I'd like to propose to put "-ggdb" to generally applied
CFLAGS for whole distribution. I don't know if it will cause any
performance penalty, but it would be possible to not only have
reproducible builds but also inspect them and debug them...

Without it it can be hard to analyze core dumps and trace.

WDYT?

S_W


pgpHyMJqALsnl.pgp
Description: PGP signature


Re: [PATCH] gnu: curl: Update to 7.41.0. Fix #20121.

2015-03-22 Thread Tomáš Čech

Thanks for review!

On Sun, Mar 22, 2015 at 12:56:43PM -0400, Mark H Weaver wrote:

Tomáš Čech  writes:


@@ -60,7 +64,18 @@
("pkg-config" ,pkg-config)
("python" ,python-2)))
(arguments
-`(#:configure-flags '("--with-gnutls" "--with-gssapi")
+`(#:configure-flags
+  '("--with-gnutls" "--with-gssapi" "--enable-http"
+;; This option requires parameter so let's use this one
+;; - when it exists, it makes sense
+;; - when it doesn't exist, we can still use SSL_CERT_DIR environment
+;;   variable to set it per user or for whole system
+;; Fixes #20121.
+"--with-ca-path=/etc/ssl/certs"


It would be better to avoid passing the --with-ca-path= option.  We are
attempting to move away from having any compiled-in system-wide location
for the CA trust store.  Each user should be able to specify their
desired trust store using environment variables or other settings.


I verified that patch is now sufficient as solution and I verified
that it respects SSL_CERT_DIR with that so it is ideal solution.

Thanks for kicking me step further. (And yes, that patch is really needed :)

I'll update the patch accordingly.

S_W


pgpv8lxvI67eo.pgp
Description: PGP signature


Re: [PATCH] gnu: curl: Update to 7.41.0. Fix #20121.

2015-03-22 Thread Tomáš Čech

On Sun, Mar 22, 2015 at 02:16:00PM -0400, Mark H Weaver wrote:

Tomáš Čech  writes:


On Sun, Mar 22, 2015 at 12:56:43PM -0400, Mark H Weaver wrote:


It would be better to avoid passing the --with-ca-path= option.  We are
attempting to move away from having any compiled-in system-wide location
for the CA trust store.  Each user should be able to specify their
desired trust store using environment variables or other settings.


I verified that patch is now sufficient as solution and I verified
that it respects SSL_CERT_DIR with that so it is ideal solution.


Sounds perfect!


Thanks for kicking me step further. (And yes, that patch is really
needed :)


Thanks very much for your role in getting that patch produced and
upstreamed.


FTR, I just did some debugging and in the end bisected the right patch
from upstream GIT, author of the patch is someone else.

S_W



pgpcoraP97uKc.pgp
Description: PGP signature


Re: [PATCH] gnu: sdcv: Add new variable.

2015-03-22 Thread Tomáš Čech

On Thu, Mar 19, 2015 at 05:02:05PM +0100, Ludovic Courtès wrote:

Tomáš Čech  skribis:


On Wed, Mar 18, 2015 at 02:28:25PM +0100, Ludovic Courtès wrote:

Tomáš Čech  skribis:


[...]


And at <http://sdcv.sourceforge.net/>, sdvc describes itself as the
“console version of [the] StarDict program”, which is not
confidence-inspiring.  Some files such as dictziplib.cpp do indeed seem
to come from StarDict.


I wasn't afraid before but now it works as FUD from the sf.net side
because the lack of information available.


Could you check if you can find more information?  It’s in Debian and
not on <http://libreplanet.org/wiki/NONFSDG>, which is encouraging.



The file you mentioned looks like from stardict project, but was
originally taken from dictd-1.9.7 as it states and during it's history
it always had GPL license (started with GPL1).


Good.


But there are also similarities between
stardict-3.0.4/dict/src/lib/mapfile.h
and
sdcv-0.5.0-beta4-Source/src/mapfile.hpp

and that is missing license in sdcv completely.

Further - distance.cpp (GPL) and distance.hpp (no license in header)
are probably related among projects.


OK.


Lets scratch it whole, I'm not laywer.

When there is webkit package, I may give a try to GoldenDict.


GNU Dico and the original dictd projects seem to provide comparable
replacements.  Would these fulfill the same use cases?

If the answer is yes, then indeed, let’s remove sdcv and add these
instead.  If the answer is no, it may be best to get advice from
gnu-linux-li...@nongnu.org.


I don't think I want to invest more time in this package. The code is
ready and can be found on mailing list if anyone would like to revive
it and request audit.

I applied the reverted patch.

Thanks.

S_W


pgpOxYvadMxE7.pgp
Description: PGP signature


Re: reproducible builds and debugging information

2015-03-24 Thread Tomáš Čech

On Tue, Mar 24, 2015 at 10:09:50PM +0100, Ludovic Courtès wrote:

Tomáš Čech  skribis:


As I was tracing curl code, I needed to rebuild the package with
"-ggdb" in CFLAGS and enable debug among outputs.

The later doesn't change the hash (and the generated code), but the
first does.


Both approaches change the output hash.  (As soon as a bit changes in
the build process, the output hash changes.)

Adding a “debug” output is nice because we have support to automatically
DTRT (info "(guix) Installing Debugging Files").


For once I have read that and understood that before sending an email.

Adding debug output is not nice because it changes the hash.


So I'd like to propose to put "-ggdb" to generally applied CFLAGS for
whole distribution.


Packages that have an autoconf-based build system, and I suppose most
others, are built with -g.


I can't confirm this statement.

I added "debug" output to curl package:

diff --git a/gnu/packages/curl.scm b/gnu/packages/curl.scm
index 821a957..996342a 100644
--- a/gnu/packages/curl.scm
+++ b/gnu/packages/curl.scm
@@ -74,6 +74,7 @@
 ;; verbose.
 (zero? (system* "make" "-C" "tests" "test")))
   %standard-phases)))
+   (outputs '("out" "debug"))
   (synopsis "Command line tool for transferring data with URL syntax")
   (description
"curl is a command line tool for transferring data with URL syntax,
 
Rebuilt:

/gnu/store/c2x7r38zkzf60vz02j7az7r847vy2sng-curl-7.40.0
/gnu/store/9gh88mgh68kxl38vyd42yc8i9v8fa449-curl-7.40.0-debug

And GDB is complaining on the provided files:
Reading symbols from 
/gnu/store/c2x7r38zkzf60vz02j7az7r847vy2sng-curl-7.40.0/bin/curl...Reading 
symbols from 
/gnu/store/9gh88mgh68kxl38vyd42yc8i9v8fa449-curl-7.40.0-debug/lib/debug//gnu/store/c2x7r38zkzf60vz02j7az7r847vy2sng-curl-7.40.0/bin/curl.debug...(no
 debugging symbols found)...done.
(no debugging symbols found)...done.

We have (hopefully) reproducible builds, you can see for yourself.

After adding `-g' to CFLAGS:
diff --git a/gnu/packages/curl.scm b/gnu/packages/curl.scm
index 821a957..d2bf4d9 100644
--- a/gnu/packages/curl.scm
+++ b/gnu/packages/curl.scm
@@ -60,7 +60,8 @@
   ("pkg-config" ,pkg-config)
   ("python" ,python-2)))
   (arguments
-`(#:configure-flags '("--with-gnutls" "--with-gssapi")
+`(#:configure-flags '("--with-gnutls" "--with-gssapi" "CFLAGS=-g")
+  #:make-flags '("CFLAGS=-g")
  ;; Add a phase to patch '/bin/sh' occurances in tests/runtests.pl
  #:phases
  (alist-replace
@@ -74,6 +75,7 @@
 ;; verbose.
 (zero? (system* "make" "-C" "tests" "test")))
   %standard-phases)))
+   (outputs '("out" "debug"))
   (synopsis "Command line tool for transferring data with URL syntax")
   (description
"curl is a command line tool for transferring data with URL syntax,

it worked as expected:
(gdb) file /gnu/store/lz28mjhnddb91by1mq4bili35fm1dfyk-curl-7.40.0/bin/curl
Reading symbols from 
/gnu/store/lz28mjhnddb91by1mq4bili35fm1dfyk-curl-7.40.0/bin/curl...Reading 
symbols from 
/gnu/store/ml1dlaqrc8kkrka6xbp7y85iwcjd3p6k-curl-7.40.0-debug/lib/debug///gnu/store/lz28mjhnddb91by1mq4bili35fm1dfyk-curl-7.40.0/bin/curl.debug...done.



The binaries get stripped by default and
debugging info is lost unless the package has a “debug” output.


OK, the difference -g and -ggdb is slight, but there is the problem
with "debug" output.

When package has output "debug" always - there is no problem.

When package doesn't have "debug" output and I need it, mere adding
output "debug" into package receipt will change the hash so I'll get
different package.

Better solution for this from my POV would be to keep information
whether keep or drop debug output outside package receipt.

Then `guix package -i curl:debug' could mean request to keep generated
debug informations on disk.


Currently a few key packages have that, but most don’t (I think Debian
does something similar, not sure about other distros.)


On openSUSE you have available all the subpackage providing stripped
debug informations and subpackage providing source code from the
moment of build (so DWARF information in debug part can match the source).

On Gentoo it's up to you. It's not in the default configuration, it's
mentioned as recommended for debugging and QA purposes, but that is
not exactly good example as every distribution is different so sharing
corer dumps doesn't make sence.

Gentoo gather all stripped files and IIRC it was posible to keep it
compressed on disk and GDB still could use them...  (Very nice, but yeah, it
won't help hydra with disk space 

[no subject]

2015-03-25 Thread Tomáš Čech
I haven't seen any further reaction for 12 days so I hope you don't mind that
I resend it again.



[PATCH v2] gnu: Add taskwarrior.

2015-03-25 Thread Tomáš Čech
From: Tomáš Čech 

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

diff --git a/gnu-system.am b/gnu-system.am
index 1f2ebdf..d25c4df 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -275,6 +275,7 @@ GNU_SYSTEM_MODULES =\
   gnu/packages/swig.scm\
   gnu/packages/sxiv.scm\
   gnu/packages/synergy.scm \
+  gnu/packages/task.scm\
   gnu/packages/tbb.scm \
   gnu/packages/tcl.scm \
   gnu/packages/tcsh.scm\
diff --git a/gnu/packages/task.scm b/gnu/packages/task.scm
new file mode 100644
index 000..af14b14
--- /dev/null
+++ b/gnu/packages/task.scm
@@ -0,0 +1,67 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2015 Tomáš Čech 
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages task)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix packages)
+  #:use-module (gnu packages base)
+  #:use-module (gnu packages gnutls)
+  #:use-module (gnu packages linux)
+  #:use-module (gnu packages lua)
+  #:use-module (guix download)
+  #:use-module (guix build-system cmake)
+  )
+
+(define-public taskwarrior
+  (package
+(name "taskwarrior")
+(version "2.4.1")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ "http://taskwarrior.org/download/task-"; version ".tar.gz"))
+   (sha256 (base32
+"1qn2jwskrkqg3lszkcd37h06j4a1spfkr8z9yq17p59r8v34h3nr"
+(build-system cmake-build-system)
+(inputs
+ `(("gnutls" ,gnutls)
+   ("lua" ,lua)
+   ("util-linux" ,util-linux)))
+(arguments
+ `(#:tests? #f ; skip tests
+   #:phases
+   (alist-cons-before
+'patch-source-shebangs 'remove-broken-symlinks
+(lambda _
+  ;; these files are broken symlinks - lets just delete them
+  (delete-file "src/cal")
+  (delete-file "src/calendar")
+  (delete-file "src/tw"))
+%standard-phases)))
+(home-page "http://taskwarrior.org";)
+(synopsis
+ "Command line task manager")
+(description
+ "Taskwarrior is mature command line task manager following Getting Things
+Done time management method.  It supports network synchronization, filtering
+and quering data, exposing task data in multiple formats to other tools which
+allowed to create healthy ecosystem of tools using taskwarrior.")
+;; Taskwarrior is licensed under MIT license, which is identical to
+;; Expat License
+(license license:expat)))
-- 
2.2.1




Re: [PATCH v2] gnu: Add taskwarrior.

2015-03-25 Thread Tomáš Čech

On Thu, Mar 26, 2015 at 12:01:26AM +0100, Cyril Roelandt wrote:

Sorry for the delay in reviewing this.

On 03/25/2015 11:49 PM, Tomáš Čech wrote:

From: Tomáš Čech 

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

diff --git a/gnu-system.am b/gnu-system.am
index 1f2ebdf..d25c4df 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -275,6 +275,7 @@ GNU_SYSTEM_MODULES =\
   gnu/packages/swig.scm\
   gnu/packages/sxiv.scm\
   gnu/packages/synergy.scm \
+  gnu/packages/task.scm\
   gnu/packages/tbb.scm \
   gnu/packages/tcl.scm \
   gnu/packages/tcsh.scm\
diff --git a/gnu/packages/task.scm b/gnu/packages/task.scm
new file mode 100644
index 000..af14b14
--- /dev/null
+++ b/gnu/packages/task.scm
@@ -0,0 +1,67 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2015 Tomáš Čech 
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages task)


Why is this module called "task"?


Idea was task as for task management. Would task-management be better?




+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix packages)
+  #:use-module (gnu packages base)
+  #:use-module (gnu packages gnutls)
+  #:use-module (gnu packages linux)
+  #:use-module (gnu packages lua)
+  #:use-module (guix download)
+  #:use-module (guix build-system cmake)
+  )


This parenthesis should be moved to the previous line.


Thanks.


+
+(define-public taskwarrior
+  (package
+(name "taskwarrior")
+(version "2.4.1")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ "http://taskwarrior.org/download/task-"; version ".tar.gz"))
+   (sha256 (base32
+"1qn2jwskrkqg3lszkcd37h06j4a1spfkr8z9yq17p59r8v34h3nr"
+(build-system cmake-build-system)
+(inputs
+ `(("gnutls" ,gnutls)
+   ("lua" ,lua)
+   ("util-linux" ,util-linux)))
+(arguments
+ `(#:tests? #f ; skip tests


Why are the tests skipped? The comment should be more verbose.


No tests implemented. Thanks - fixed.



+   #:phases
+   (alist-cons-before
+'patch-source-shebangs 'remove-broken-symlinks
+(lambda _
+  ;; these files are broken symlinks - lets just delete them
+  (delete-file "src/cal")
+  (delete-file "src/calendar")
+  (delete-file "src/tw"))
+%standard-phases)))
+(home-page "http://taskwarrior.org";)
+(synopsis
+ "Command line task manager")
+(description
+ "Taskwarrior is mature command line task manager following Getting Things
+Done time management method.  It supports network synchronization, filtering
+and quering data, exposing task data in multiple formats to other tools which
+allowed to create healthy ecosystem of tools using taskwarrior.")
+;; Taskwarrior is licensed under MIT license, which is identical to
+;; Expat License
+(license license:expat)))



Cyril.




pgp1a84f0za2c.pgp
Description: PGP signature


[PATCH] gnu: wpa-supplicant: Install DBUS access configuration.

2015-03-26 Thread Tomáš Čech
* gnu/packages/admin.scm (wpa-supplicant): Install DBUS configuration file.
---
 gnu/packages/admin.scm | 10 +-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index 95b0c9f..354a01a 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -783,7 +783,15 @@ This package provides the 'wpa_supplicant' daemon and the 
'wpa_cli' command.")
   CONFIG_CTRL_IFACE_DBUS_INTRO=y\n" port)
   (close-port port))
 #t)
-  ,phases))
+  (alist-cons-after
+   'install-man-pages 'install-dbus-conf
+   (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out   (assoc-ref outputs "out"))
+   (dbus-path (string-append out "/etc/dbus-1/system.d")))
+   (mkdir-p dbus-path)
+   (copy-file "dbus/dbus-wpa_supplicant.conf"
+  (string-append dbus-path "/wpa_supplicant.conf"
+   ,phases)))
 
 (define-public wakelan
   (package
-- 
2.2.1




Re: [PATCH] gnu: wpa-supplicant: Install DBUS access configuration.

2015-03-26 Thread Tomáš Čech

On Thu, Mar 26, 2015 at 04:12:32PM +0100, Tomáš Čech wrote:

* gnu/packages/admin.scm (wpa-supplicant): Install DBUS configuration file.
---
gnu/packages/admin.scm | 10 +-
1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index 95b0c9f..354a01a 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -783,7 +783,15 @@ This package provides the 'wpa_supplicant' daemon and the 
'wpa_cli' command.")
  CONFIG_CTRL_IFACE_DBUS_INTRO=y\n" port)
  (close-port port))
#t)
-  ,phases))
+  (alist-cons-after
+   'install-man-pages 'install-dbus-conf
+   (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out   (assoc-ref outputs "out"))
+   (dbus-path (string-append out "/etc/dbus-1/system.d")))


Here is the indentation incorrect (missing one space).


+   (mkdir-p dbus-path)
+   (copy-file "dbus/dbus-wpa_supplicant.conf"
+  (string-append dbus-path "/wpa_supplicant.conf"
+   ,phases)))

(define-public wakelan
  (package
--
2.2.1




pgp6euxEqzLFF.pgp
Description: PGP signature


Re: reproducible builds and debugging information

2015-03-26 Thread Tomáš Čech

On Thu, Mar 26, 2015 at 10:21:35PM +0100, Ludovic Courtès wrote:

Tomáš Čech  skribis:


On Tue, Mar 24, 2015 at 10:09:50PM +0100, Ludovic Courtès wrote:


[...]


Packages that have an autoconf-based build system, and I suppose most
others, are built with -g.


I can't confirm this statement.

I added "debug" output to curl package:


Indeed, I just checked and cURL overrides the default behavior.  Here it
has to be configured with --enable-debug, which also enables the test
suite (!).  Do you want to try that, and add the “debug” output?


The binaries get stripped by default and
debugging info is lost unless the package has a “debug” output.


OK, the difference -g and -ggdb is slight, but there is the problem
with "debug" output.

When package has output "debug" always - there is no problem.

When package doesn't have "debug" output and I need it, mere adding
output "debug" into package receipt will change the hash so I'll get
different package.


Right.


Currently a few key packages have that, but most don’t (I think Debian
does something similar, not sure about other distros.)


On openSUSE you have available all the subpackage providing stripped
debug informations and subpackage providing source code from the
moment of build (so DWARF information in debug part can match the source).


You mean there’s a ‘-debug’ package for every single package?


For every single binary package, yes. You can suppress it too. Why it
is so surprising?


We could make it opt-out rather than opt-in, but the issue is disk usage
on build machine (including end-user machines.)  See
<http://lists.gnu.org/archive/html/bug-guix/2013-07/msg00015.html>.

Thoughts?


If we have distribution of reproducible packages, we can keep it
opt-in and generate debug information next time (by not dropping
it).


That’s not how it works; generating the debug info requires redoing the
whole build process, but with a slight difference.


I know, I was ambiguous again. We both meant the same.

I would like to move the decision whether to keep or to drop debug
information outside of the build itself to keep the hash the same.

Imagine situation where you added "debug" output to every package and
after each build the newly generated store with debug information is
deleted (carefully, not to corrupt database, of course). Your hash
still will be the same.

Then someone reports bug, delivers coredump from some crash.
You need debug info for analysis - you prevent from automatic
deletion of the store with debug information.


S_W




pgp1AnW4xFCI8.pgp
Description: PGP signature


Re: none

2015-03-26 Thread Tomáš Čech

On Thu, Mar 26, 2015 at 10:22:36PM +0100, Ludovic Courtès wrote:

Tomáš Čech  skribis:


I haven't seen any further reaction for 12 days so I hope you don't mind that
I resend it again.


Reaction to what?


Reaction to the first patch version.

S_W


pgp3fwHYtC80q.pgp
Description: PGP signature


Re: [PATCH v2] gnu: Add taskwarrior.

2015-03-27 Thread Tomáš Čech

On Thu, Mar 26, 2015 at 06:03:45PM +0100, Ludovic Courtès wrote:

Tomáš Čech  skribis:


From: Tomáš Čech 

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


To complement Cyril’s review:


+(define-module (gnu packages task)


‘task-management’, as you proposed, would be better.  Would there be
other packages in there?


I don't plan more packages ATM.


+(description
+ "Taskwarrior is mature command line task manager following Getting Things


Missing articles: “a mature”, “following the Getting Things Done ... method”.


Fixed.




+Done time management method.  It supports network synchronization, filtering
+and quering data, exposing task data in multiple formats to other tools which
+allowed to create healthy ecosystem of tools using taskwarrior.")


Please remove “which allowed ...” (marketing stuff.)


Fixed. (it's my opinion, not marketing :)



+;; Taskwarrior is licensed under MIT license, which is identical to
+;; Expat License


Please remove this comment.  It’s just that “MIT license” is an
ambiguous name for the Expat license.


I'm really not friend of this. But I asked authors and they don't mind
call their license Expat in spite of their choice so I changed that as
you wish.


Could you send an updated patch?


Sent.

Tomas


pgpjKM2gXKwqZ.pgp
Description: PGP signature


[PATCH] gnu: Add taskwarrior.

2015-03-27 Thread Tomáš Čech
From: Tomáš Čech 

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

diff --git a/gnu-system.am b/gnu-system.am
index 6fdd60d..ae4b41d 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -277,6 +277,7 @@ GNU_SYSTEM_MODULES =\
   gnu/packages/swig.scm\
   gnu/packages/sxiv.scm\
   gnu/packages/synergy.scm \
+  gnu/packages/task-management.scm \
   gnu/packages/tbb.scm \
   gnu/packages/tcl.scm \
   gnu/packages/tcsh.scm\
diff --git a/gnu/packages/task-management.scm b/gnu/packages/task-management.scm
new file mode 100644
index 000..278fd7c
--- /dev/null
+++ b/gnu/packages/task-management.scm
@@ -0,0 +1,63 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2015 Tomáš Čech 
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages task-management)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix packages)
+  #:use-module (gnu packages base)
+  #:use-module (gnu packages gnutls)
+  #:use-module (gnu packages linux)
+  #:use-module (gnu packages lua)
+  #:use-module (guix download)
+  #:use-module (guix build-system cmake))
+
+(define-public taskwarrior
+  (package
+(name "taskwarrior")
+(version "2.4.2")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ "http://taskwarrior.org/download/task-"; version ".tar.gz"))
+   (sha256 (base32
+"03d57zzjq0m0gr4cr6vzmdz1zwpk9rvmmpgm8vk9czzrdwrwl7i7"
+(build-system cmake-build-system)
+(inputs
+ `(("gnutls" ,gnutls)
+   ("lua" ,lua)
+   ("util-linux" ,util-linux)))
+(arguments
+ `(#:tests? #f ; No tests implemented.
+   #:phases
+   (alist-cons-before
+'patch-source-shebangs 'remove-broken-symlinks
+(lambda _
+  ;; These files are broken symlinks - delete them.
+  (delete-file "src/cal")
+  (delete-file "src/calendar")
+  (delete-file "src/tw"))
+%standard-phases)))
+(home-page "http://taskwarrior.org";)
+(synopsis
+ "Command line task manager")
+(description
+ "Taskwarrior is a mature command line task manager following the Getting 
Things
+Done time management method.  It supports network synchronization, filtering
+and querying data, exposing task data in multiple formats to other tools.")
+(license license:expat)))
-- 
2.2.1




Re: reproducible builds and debugging information

2015-03-27 Thread Tomáš Čech

On Fri, Mar 27, 2015 at 10:24:22PM +0100, Ludovic Courtès wrote:

Tomáš Čech  skribis:


On Thu, Mar 26, 2015 at 10:21:35PM +0100, Ludovic Courtès wrote:


[...]


On openSUSE you have available all the subpackage providing stripped
debug informations and subpackage providing source code from the
moment of build (so DWARF information in debug part can match the source).


You mean there’s a ‘-debug’ package for every single package?


For every single binary package, yes. You can suppress it too. Why it
is so surprising?


It’s just that I didn’t know, and my recollection is that Debian doesn’t
have -dbg packages for every package.


I would like to move the decision whether to keep or to drop debug
information outside of the build itself to keep the hash the same.

Imagine situation where you added "debug" output to every package and
after each build the newly generated store with debug information is
deleted (carefully, not to corrupt database, of course). Your hash
still will be the same.


I see what you mean, but again, that’s not how it works, and I would
argue that it’s not desirable.


Yes, I know that it works differently now - that was the reason I
initiated this thread. If you considered this option and refused it,
I'm fine with that. Different distributions set different goals. I'd
like to hear the arguments against the general idea sometime but lets
not waste more time on this topic.


To move forward, a possible action would be to try to have ‘outputs’
default to '("out" "debug") and see (1) how much breaks, and (2) how
much space.

Would you like to give it a try?


Good idea, yes. I'll do that.

Thanks,

S_W


pgpmQPLRUuhjn.pgp
Description: PGP signature


[PATCH v2] gnu: curl: Update to 7.41.0. Fix #20121.

2015-03-27 Thread Tomáš Čech
* gnu/packages/patches/curl-gss-api-fix.patch: Delete file.
* gnu/packages/patches/curl-enable_capath-conf.patch: New file.
* gnu/packages/patches/curl-enable_capath.patch: New file.
* gnu-system.am (dist_patch_DATA): Add new patches, remove old one.
* gnu/packages/curl.scm (curl): Update to 7.41.0. Remove old patch, add two
  new ones. Disable one unit test.
---
 gnu-system.am  |   3 +-
 gnu/packages/curl.scm  |  17 +++-
 gnu/packages/patches/curl-enable_capath-conf.patch |  16 
 gnu/packages/patches/curl-enable_capath.patch  | 103 +
 gnu/packages/patches/curl-gss-api-fix.patch|  38 
 5 files changed, 134 insertions(+), 43 deletions(-)
 create mode 100644 gnu/packages/patches/curl-enable_capath-conf.patch
 create mode 100644 gnu/packages/patches/curl-enable_capath.patch
 delete mode 100644 gnu/packages/patches/curl-gss-api-fix.patch

diff --git a/gnu-system.am b/gnu-system.am
index 44a4971..e6493a4 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -397,8 +397,9 @@ dist_patch_DATA =   
\
   gnu/packages/patches/cssc-gets-undeclared.patch   \
   gnu/packages/patches/cssc-missing-include.patch   \
   gnu/packages/patches/clucene-contribs-lib.patch   \
-  gnu/packages/patches/curl-gss-api-fix.patch  \
   gnu/packages/patches/cursynth-wave-rand.patch\
+  gnu/packages/patches/curl-enable_capath.patch\
+  gnu/packages/patches/curl-enable_capath-conf.patch   \
   gnu/packages/patches/dbus-localstatedir.patch\
   gnu/packages/patches/diffutils-gets-undeclared.patch \
   gnu/packages/patches/dfu-programmer-fix-libusb.patch \
diff --git a/gnu/packages/curl.scm b/gnu/packages/curl.scm
index 821a957..f466dcc 100644
--- a/gnu/packages/curl.scm
+++ b/gnu/packages/curl.scm
@@ -37,15 +37,21 @@
 (define-public curl
   (package
(name "curl")
-   (version "7.40.0")
+   (version "7.41.0")
(source (origin
 (method url-fetch)
 (uri (string-append "http://curl.haxx.se/download/curl-";
 version ".tar.lzma"))
 (sha256
  (base32
-  "1a15fdc26b3vwwmchzzpd3l1hfyhx06dn7b6lkikqd7kgwvg5ps7"))
-(patches (list (search-patch "curl-gss-api-fix.patch")
+  "08n7vrhdfzziy3a7n93r7qjhzk8p26q464hxg8w9irdk3v60pi62"))
+;; This is backport of patch which fixes handling of both
+;; --with-ca-path and --without-ca-path for curl built against
+;; GnuTLS. First patch is identical to upstream, second one changes
+;; configure script accordingly without need of reconfigure.
+;; Fixes #20121.
+(patches (list (search-patch "curl-enable_capath.patch")
+   (search-patch "curl-enable_capath-conf.patch")
(build-system gnu-build-system)
(inputs `(("gnutls" ,gnutls)
  ("gss" ,gss)
@@ -68,7 +74,10 @@
(lambda _
  (substitute* "tests/runtests.pl"
(("/bin/sh") (which "sh")))
-
+ ;; Test #1135 requires extern-scan.pl, which is not part of the
+ ;; tarball due to mistake. It was fixed already in upstream. We can
+ ;; simply ignore the test as it aims VMS and OS/400.
+ (delete-file "tests/data/test1135")
  ;; The top-level "make check" does "make -C tests quiet-test", which
  ;; is too quiet.  Use the "test" target instead, which is more
  ;; verbose.
diff --git a/gnu/packages/patches/curl-enable_capath-conf.patch 
b/gnu/packages/patches/curl-enable_capath-conf.patch
new file mode 100644
index 000..6d4ba8e
--- /dev/null
+++ b/gnu/packages/patches/curl-enable_capath-conf.patch
@@ -0,0 +1,16 @@
+Following patch allows --with-ca-path for curl built against GnuTLS even
+without need of reconfigure.
+
+--- a/configure   2015-03-22 01:11:23.178743705 +0100
 b/configure   2015-02-25 00:05:37.0 +0100
+@@ -23952,8 +24432,8 @@
+ ca="$want_ca"
+ capath="no"
+   elif test "x$want_capath" != "xno" -a "x$want_capath" != "xunset"; then
+-if test "x$OPENSSL_ENABLED" != "x1" -a "x$POLARSSL_ENABLED" != "x1"; 
then
+-  as_fn_error $? "--with-ca-path only works with openSSL or PolarSSL" 
"$LINENO" 5
++if test "x$OPENSSL_ENABLED" != "x1" -a "x$GNUTLS_ENABLED" != "x1" -a 
"x$POLARSSL_ENABLED" != "x1"; then
++  as_fn_error $? "--with-ca-path only works with OpenSSL, GnuTLS or 
PolarSSL" "$LINENO" 5
+ fi
+ capath="$want_capath"
+ ca="no"
diff --git a/gnu/packages/patches/curl-enable_capath.patch 
b/gnu/packages/patches/curl-enable_capath.patch
new file mode 100644
index 000..0094a1b
--- /dev/null
+++ b/gnu/packages/patches/curl-enable_capath.patch
@@ -0,0 +1,103 @@
+Following patch allows to use --with-

Re: acpi, suspend, hibernate

2015-03-28 Thread Tomáš Čech

On Sat, Mar 28, 2015 at 02:44:42AM +0100, 白い熊@相撲道 wrote:
I have GuixSD installed on the Gluglug X200 and would like to issue 
suspend and hibernate commands. Upon inspecting /proc/acpi however it 
seems that this is not built in the current kernel that I have booted.


Do I need to add some acpi, acpi-service etc. to config.scm and 
reconfigure? Could someone specify what exactly is needed?


I'm not aware of any solution for this. To trigger suspend to RAM
manually on kernel level you need to run:

echo mem > /sys/power/state

HTH,

S_W


pgp0dKlnMIsth.pgp
Description: PGP signature


Re: acpi, suspend, hibernate

2015-03-28 Thread Tomáš Čech

On Sat, Mar 28, 2015 at 02:37:11PM -0400, Mark H Weaver wrote:

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


白い熊@相撲道  skribis:


I have GuixSD installed on the Gluglug X200 and would like to issue
suspend and hibernate commands. Upon inspecting /proc/acpi however it
seems that this is not built in the current kernel that I have booted.


We currently lack the pm-utils package, which provides ‘pm-suspend’
(currently I use a script that writes to /sys/power/state as Tomáš
suggested.)  Would you like to give it a try?


I wonder if it might be better to implement suspend/resume in dmd, so
that services could easily define actions to be run before suspend and
after resume.  I guess the pm-utils approach is to put shell scripts
into /etc/pm.


I second this idea. Dmd is proper place to implement such actions as
services may benefit from performing actions before suspend or after
resume.

Pm-utils package was collection of hacks and workarounds for broken
hardware. It hopefully won't be needed anymore.

To have the list of options richer, there is also UPower
(http://upower.freedesktop.org/) which is designed to take care of
power management.

Best regards,

S_W


pgp1lcY48ajlc.pgp
Description: PGP signature


LVM support

2015-04-14 Thread Tomáš Čech

Hi Guix,

as project for my Hackweek in SUSE I decided to spend my time on LVM
support in GuixSD - something I miss greatly. This also means that
I'll have much less time for that after this week :(

So far I spent time on reviving my GuixSD installation and preparing
staticly linked binaries for initrd. I have now lvm2 package with
extra output "static". 


What next?

Now the simplest way would be to simply call

vgchange --activate y

Matching configuration could be one configuration option:
(use-lvm?)


That would scan all block devices and look for LVM signature.

Pros:
- it's super simple!
Cons:
- if LVM with filesystem required at boot-time is not found, error
 is not detected or returned by LVM itself



Slightly bit more complicated way could be

vgchange --activate y 

for every volume group defined in system configuration. Matching configuration 
could be
(logical-volume-groups '("system" "data"))

e.g. specify list of volume group names used by system.

Pros:
- still simple
- if group activation fails, I can detect it and report it to user

Cons:
- some block devices with LVM may not be available at boot-time (like
 iSCSI devices accessible through network only or Luks devices
 available after entering password)

That is my current approach.



I could also specify whether it should be made available at boot time or not
(logical-volume-groups '('("system" #t)
'("data"   #f)))

(sorry for my poor Scheme taste here :)

Pros:
- with this I could say that volume group "system" should be activated
 at boot time, but "data" should be activated later.

Cons:
- starting to be more complicated - I need both initrd stage LVM
 activation and root filesystem stage LVM activation (implemented as
 service? which dependencies it has?)


Or do it in different way. I'd rather not propose here any wild ideas
for configuration but if you can devise something better, please tell
me...



S_W



Re: LVM support

2015-04-15 Thread Tomáš Čech

On Wed, Apr 15, 2015 at 02:32:14PM +0200, Ludovic Courtès wrote:

Tomáš Čech  skribis:


as project for my Hackweek in SUSE I decided to spend my time on LVM
support in GuixSD - something I miss greatly. This also means that
I'll have much less time for that after this week :(


Well this is nice already!


So far I spent time on reviving my GuixSD installation and preparing
staticly linked binaries for initrd. I have now lvm2 package with
extra output "static".


Don’t worry about static linking or anything: you can use any package,
including dynamically-linked, and it will be magically added to the
initrd if needed.

Then as a second step, since that’ll probably be very big, you can work
on statically-linked variants of the relevant packages (as done for
‘e2fsck/static’.)


I did this already :)




Now the simplest way would be to simply call

vgchange --activate y

Matching configuration could be one configuration option:
(use-lvm?)


That would scan all block devices and look for LVM signature.

Pros:
- it's super simple!
Cons:
- if LVM with filesystem required at boot-time is not found, error
 is not detected or returned by LVM itself



Slightly bit more complicated way could be

vgchange --activate y 

for every volume group defined in system configuration. Matching configuration 
could be
(logical-volume-groups '("system" "data"))

e.g. specify list of volume group names used by system.

Pros:
- still simple
- if group activation fails, I can detect it and report it to user

Cons:
- some block devices with LVM may not be available at boot-time (like
 iSCSI devices accessible through network only or Luks devices
 available after entering password)

That is my current approach.



I could also specify whether it should be made available at boot time or not
(logical-volume-groups '('("system" #t)
'("data"   #f)))

(sorry for my poor Scheme taste here :)

Pros:
- with this I could say that volume group "system" should be activated
 at boot time, but "data" should be activated later.

Cons:
- starting to be more complicated - I need both initrd stage LVM
 activation and root filesystem stage LVM activation (implemented as
 service? which dependencies it has?)


Sorry I’m not really familiar with LVM.


It's implemented using device mapper but instead of mapping one block
device to another you map one block device to whole group (like
playground where you can do anything).




Technically, if LVM volumes are mapped devices, the best would be to
define a  structure for them, as discussed on IRC
(like ‘luks-device-mapping’ in (gnu system).)


I didn't like the idea first because it felt confusing and
unatural. Words like `mapping' and `source' and `target' are
misleading. But from programming POV it seems to be the easisest
approach in the end.

(define-record-type*  mapped-device
 make-mapped-device
 mapped-device?
 (sourcemapped-device-source);string
 (targetmapped-device-target);string
 (type  mapped-device-type)) ;
	  
`source' will be ignored (I not only don't need it but I don't even

know how to pass it or what it should do). `target' will be used for
volume group name. mapped-device-kind structure is easily applicable.


On the other hand problem starts with need-for-boot?. Device mapped
device will be activated during the boot (which is desirable for LVM)
only if there is filesystem which uses such device and has
`need-for-boot?' set to #t.

I needed to tweak operating-system-boot-mapped-devices to not filter
mappings of the new type at all. Now it seems to generate initrd
capable of booting root filesystem from LVM :)

The thing is that this design is not nice. I always admired Scheme's
power in expressing things naturally. mapped-device interface is for
mapping 1 block device to 1 block device which will contain 1
filesystem.


Design I'm thinking about would follow file-system structure. For
device property (I'm not sure if this is proper word in Scheme for
item of record type) to define functions like `partition' (disk,
number), `mapped-device' (source, target, type), `logical-volume' (group,
volume) and whatever would be needed further. You could then express
your mount in more powerful way like:

(partition "sda" 1)

(mapped-device
 (partition "sda" 2)
 "encrypted_swap"
 luks-mapping-type)

(logical-volume
 "system_group"
 "root")


(mapped-device
 (logical-volume "some_group" "some_volume")
 "encrypted data"
 luks-mapping-type)

etc.


Of course, it would lead to more complicated code to handle such
configuration, but it would definitely feel more natural.

When other block device type (like iSCSI) would be required, just
another function (or whatever it is) would be implemented.

Please don't tell me 'this is not how Guix works' :)

Best regards,

S_W



Re: LVM support

2015-04-16 Thread Tomáš Čech

On Thu, Apr 16, 2015 at 02:47:52PM +0200, Ludovic Courtès wrote:

Tomáš Čech  skribis:


On Wed, Apr 15, 2015 at 02:32:14PM +0200, Ludovic Courtès wrote:


[...]


Sorry I’m not really familiar with LVM.


It's implemented using device mapper but instead of mapping one block
device to another you map one block device to whole group (like
playground where you can do anything).


What do you mean by “whole group”?  A tree under /dev/mapper?


From device node POV it generates
/dev// and it also creates
/dev/mapper/- and
/dev/dm-.

From block device perspective it adds another level of "partitioning"
to "physical volume" partitions. You gather block devices (can be
partitions, disks, anything), create volume group to join the space
into one entity and then create logical volumes without caring where
it really is. Logical volumes are useful for resizing, adding and
removing filesystems - it has always the same device node.





Technically, if LVM volumes are mapped devices, the best would be to
define a  structure for them, as discussed on IRC
(like ‘luks-device-mapping’ in (gnu system).)


I didn't like the idea first because it felt confusing and
unatural. Words like `mapping' and `source' and `target' are
misleading. But from programming POV it seems to be the easisest
approach in the end.


I would think the terms are pretty descriptive, esp. when looking at the
corresponding section of the manual, but I’m biased.  ;-)


I meant in LVM context of course.


Now, my understanding of your message is not so much that the terms are
misleading, but rather that the abstraction is bogus (which appears to
be the case based on what you say.)


On the other hand problem starts with need-for-boot?. Device mapped
device will be activated during the boot (which is desirable for LVM)
only if there is filesystem which uses such device and has
`need-for-boot?' set to #t.


Right.  I was hesitant about this approach actually, see 9cb426b8.


Ah, OK, I didn't updated since I started to work on LVM.


I needed to tweak operating-system-boot-mapped-devices to not filter
mappings of the new type at all. Now it seems to generate initrd
capable of booting root filesystem from LVM :)


Nice!  Could you post your working version of the patch, just to make
things more concrete?


I attach patch to this mail.


The thing is that this design is not nice. I always admired Scheme's
power in expressing things naturally. mapped-device interface is for
mapping 1 block device to 1 block device which will contain 1
filesystem.


Understood.  This has nothing to do with Scheme, really.  :-)


Design I'm thinking about would follow file-system structure. For
device property (I'm not sure if this is proper word in Scheme for
item of record type) to define functions like `partition' (disk,
number), `mapped-device' (source, target, type), `logical-volume' (group,
volume) and whatever would be needed further. You could then express
your mount in more powerful way like:

(partition "sda" 1)

(mapped-device
 (partition "sda" 2)
 "encrypted_swap"
 luks-mapping-type)

(logical-volume
 "system_group"
 "root")


(mapped-device
 (logical-volume "some_group" "some_volume")
 "encrypted data"
 luks-mapping-type)

etc.


I see.  Looks good!

Does the volume some_group/some_volume have an associated /dev node or
tree?  What does it look like?


Yes, it does, I described above.


Really a detail, but I think "/dev/sda2" or (partition "/dev/sda2") is
enough; no need to abstract it, IMO, since device node name is up to the
user.


Well, I faced situations where such freedom of expression would be
handy, but there were rare. sda says that it is the first found scsi
device in the system but it doesn't say anything about accessibility
of the device (`local-disk' should be introduced as well I think).


Of course, it would lead to more complicated code to handle such
configuration, but it would definitely feel more natural.

When other block device type (like iSCSI) would be required, just
another function (or whatever it is) would be implemented.


Anything special about iSCSI?  I would expect iSCSI partitions/disks to
just have block devices as usual, no?


Yes, but when you have root filesystem on iSCSI, you need to perform
other actions to make that block device available as with device
mapping or LVM...

(You need to configure and establish connection to iSCSI target.)



Ad the progress - current state of the patch is that it should work
for filesystems mounted from initrd. And is ugly.

As I understand the problem, created device nodes are missing after
switch-root and it seems it tried to mount filesystems before starting
eudev. I'll have a look on that again after some sleep.

Thank you for your comments.

S_W

diff --git a/gnu/packages/linux.scm b/gnu/pack

Re: [PATCH v2] gnu: Add taskwarrior.

2015-04-20 Thread Tomáš Čech

On Fri, Mar 27, 2015 at 08:54:08PM +0100, Tomáš Čech wrote:

On Thu, Mar 26, 2015 at 06:03:45PM +0100, Ludovic Courtès wrote:

Could you send an updated patch?


Sent.


I can't find patch version 3 in ML so I'd rather resend it. If I'm
only selectively and temporary blind, please, just ignore that.

S_W


pgp7V0DC2UDXw.pgp
Description: PGP signature


[PATCH] gnu: Add taskwarrior.

2015-04-20 Thread Tomáš Čech
* gnu/packages/task-management.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
---
 gnu-system.am|  1 +
 gnu/packages/task-management.scm | 63 
 2 files changed, 64 insertions(+)
 create mode 100644 gnu/packages/task-management.scm

diff --git a/gnu-system.am b/gnu-system.am
index ccc755b..dbd9c5d 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -279,6 +279,7 @@ GNU_SYSTEM_MODULES =\
   gnu/packages/swig.scm\
   gnu/packages/sxiv.scm\
   gnu/packages/synergy.scm \
+  gnu/packages/task-management.scm \
   gnu/packages/tbb.scm \
   gnu/packages/tcl.scm \
   gnu/packages/tcsh.scm\
diff --git a/gnu/packages/task-management.scm b/gnu/packages/task-management.scm
new file mode 100644
index 000..278fd7c
--- /dev/null
+++ b/gnu/packages/task-management.scm
@@ -0,0 +1,63 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2015 Tomáš Čech 
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages task-management)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix packages)
+  #:use-module (gnu packages base)
+  #:use-module (gnu packages gnutls)
+  #:use-module (gnu packages linux)
+  #:use-module (gnu packages lua)
+  #:use-module (guix download)
+  #:use-module (guix build-system cmake))
+
+(define-public taskwarrior
+  (package
+(name "taskwarrior")
+(version "2.4.2")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ "http://taskwarrior.org/download/task-"; version ".tar.gz"))
+   (sha256 (base32
+"03d57zzjq0m0gr4cr6vzmdz1zwpk9rvmmpgm8vk9czzrdwrwl7i7"
+(build-system cmake-build-system)
+(inputs
+ `(("gnutls" ,gnutls)
+   ("lua" ,lua)
+   ("util-linux" ,util-linux)))
+(arguments
+ `(#:tests? #f ; No tests implemented.
+   #:phases
+   (alist-cons-before
+'patch-source-shebangs 'remove-broken-symlinks
+(lambda _
+  ;; These files are broken symlinks - delete them.
+  (delete-file "src/cal")
+  (delete-file "src/calendar")
+  (delete-file "src/tw"))
+%standard-phases)))
+(home-page "http://taskwarrior.org";)
+(synopsis
+ "Command line task manager")
+(description
+ "Taskwarrior is a mature command line task manager following the Getting 
Things
+Done time management method.  It supports network synchronization, filtering
+and querying data, exposing task data in multiple formats to other tools.")
+(license license:expat)))
-- 
2.2.1




Re: LVM support

2015-05-01 Thread Tomáš Čech

On Tue, Apr 21, 2015 at 05:52:33PM +0200, Ludovic Courtès wrote:

Tomáš Čech  skribis:


On Thu, Apr 16, 2015 at 02:47:52PM +0200, Ludovic Courtès wrote:

Tomáš Čech  skribis:


On Wed, Apr 15, 2015 at 02:32:14PM +0200, Ludovic Courtès wrote:


[...]


Sorry I’m not really familiar with LVM.


It's implemented using device mapper but instead of mapping one block
device to another you map one block device to whole group (like
playground where you can do anything).


What do you mean by “whole group”?  A tree under /dev/mapper?


From device node POV it generates
/dev// and it also creates
/dev/mapper/- and
/dev/dm-.


OK.


From block device perspective it adds another level of "partitioning"
to "physical volume" partitions. You gather block devices (can be
partitions, disks, anything), create volume group to join the space
into one entity and then create logical volumes without caring where
it really is. Logical volumes are useful for resizing, adding and
removing filesystems - it has always the same device node.


Yes, that part I knew.  ;-)


[...]


--- a/gnu/system.scm
+++ b/gnu/system.scm
@@ -41,6 +41,7 @@
   #:use-module (gnu packages compression)
   #:use-module (gnu packages firmware)
   #:autoload   (gnu packages cryptsetup) (cryptsetup)
+  #:autoload   (gnu packages linux) (lvm2/static)
   #:use-module (gnu services)
   #:use-module (gnu services dmd)
   #:use-module (gnu services base)
@@ -86,7 +87,9 @@
 %base-packages
 %base-firmware

-luks-device-mapping))
+luks-device-mapping
+lvm-mapping
+lvm-mapping-used?))

 ;;; Commentary:
 ;;;
@@ -208,6 +211,27 @@ file."
(open open-luks-device)
(close close-luks-device)))

+(define (logical-volume-group-activate source target)
+  #~(zero? (system* (string-append #$lvm2/static "/sbin/lvm.static")
+ "vgchange" "--activate" "y" #$target)))
+
+(define (logical-volume-group-deactivate source target)
+  #~(zero? (system* (string-append #$lvm2/static "/sbin/lvm.static")
+"vgchange" "--activate" "n" #$target)))
+
+(define (lvm-mapping-used? devices)
+  (not
+   (null? (filter
+   (lambda (md)
+ (eq? (mapped-device-type md)
+  lvm-mapping))
+   devices
+
+(define lvm-mapping
+  (mapped-device-kind
+   (open  logical-volume-group-activate)
+   (close logical-volume-group-deactivate)))


This looks good to me!

So I would declare

 (mapped-device
   (source "/dev/sda")
   (target "volume_group_name-logical_volume_name")
   (kind lvm-device-mapping))

and that would give me
/dev/mapper/volume_group_name-logical_volume_name, right?


Volume group can be on multiple block devices. For now I rely on autodetect
abilities of LVM.

So you would declare:

(mapped-device
 (source "") ; irrelevant for LVM
 (target "volume_group_name")
 (type lvm-mapping))

and that would give you
/dev/mapper/volume_group_name-some_volume
/dev/mapper/volume_group_name-other_volume
...

and more conveniently
/dev/volume_group_name/some_volume
/dev/volume_group_name/other_volume
...




 (define (other-file-system-services os)
   "Return file system services for the file systems of OS that are not marked
 as 'needed-for-boot'."
@@ -267,7 +291,10 @@ from the initrd."
 (file-systems (operating-system-file-systems os)))
(filter (lambda (md)
  (let ((user (mapped-device-user md file-systems)))
-   (and user (file-system-needed-for-boot? user
+   (or
+(and user (file-system-needed-for-boot? user))
+(and (eq? (mapped-device-type md)
+  lvm-mapping)
devices)))


I don’t think it’s necessary: if a ‘file-system’ object has
"/dev/mapper/volume_group_name-logical_volume_name" has its ‘device’
field, then this device mapping will automatically be recognized as
needed-for-boot, won’t it?


Yes, you're right, this chunk shouldn't be needed at all. Good catch!


--- a/gnu/system/linux-initrd.scm
+++ b/gnu/system/linux-initrd.scm
@@ -25,6 +25,7 @@
 #:select (%store-prefix))
   #:use-module ((guix derivations)
 #:select (derivation->output-path))
+  #:use-module (gnu system)
   #:use-module (gnu packages cpio)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages linux)
@@ -212,6 +213,9 @@ loaded at boot time in the order in which they appear."
   file-systems)
 (list e2fsck/static)
 '())
+  ,@(if (lvm-mapping-used? mapped-devices)
+(list lvm2/static)
+'())
   ,@(if volatile-root?
 (list unionfs-fuse/static)
 '(
@@ -241,7 +245,19 @@ loaded at boot t

[PATCH] gnu: Add taskwarrior.

2015-05-01 Thread Tomáš Čech
* gnu/packages/task-management.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
---
 gnu-system.am|  1 +
 gnu/packages/task-management.scm | 61 
 2 files changed, 62 insertions(+)
 create mode 100644 gnu/packages/task-management.scm

diff --git a/gnu-system.am b/gnu-system.am
index ae6b4e2..cbc89c6 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -279,6 +279,7 @@ GNU_SYSTEM_MODULES =\
   gnu/packages/swig.scm\
   gnu/packages/sxiv.scm\
   gnu/packages/synergy.scm \
+  gnu/packages/task-management.scm \
   gnu/packages/tbb.scm \
   gnu/packages/tcl.scm \
   gnu/packages/tcsh.scm\
diff --git a/gnu/packages/task-management.scm b/gnu/packages/task-management.scm
new file mode 100644
index 000..e77aecb
--- /dev/null
+++ b/gnu/packages/task-management.scm
@@ -0,0 +1,61 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2015 Tomáš Čech 
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages task-management)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix packages)
+  #:use-module (gnu packages gnutls)
+  #:use-module (gnu packages linux)
+  #:use-module (gnu packages lua)
+  #:use-module (guix download)
+  #:use-module (guix build-system cmake))
+
+(define-public taskwarrior
+  (package
+(name "taskwarrior")
+(version "2.4.3")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ "http://taskwarrior.org/download/task-"; version ".tar.gz"))
+   (sha256 (base32
+"1lkbw2fhshynbl7hppar1viapyrs712s14xhd8p3l8gyhvxbh0mv"
+(build-system cmake-build-system)
+(inputs
+ `(("gnutls" ,gnutls)
+   ("lua" ,lua)
+   ("util-linux" ,util-linux)))
+(arguments
+ `(#:tests? #f ; No tests implemented.
+   #:phases
+   (modify-phases %standard-phases
+ (add-before
+  'patch-source-shebangs 'remove-broken-symlinks
+  (lambda _
+;; These files are broken symlinks - delete them.
+(delete-file "src/cal")
+(delete-file "src/calendar")
+(delete-file "src/tw"))
+ (home-page "http://taskwarrior.org";)
+(synopsis "Command line task manager")
+(description
+ "Taskwarrior is a command-line task manager following the Getting Things
+Done time management method.  It supports network synchronization, filtering
+and querying data, exposing task data in multiple formats to other tools.")
+(license license:expat)))
-- 
2.3.5




Re: LVM support

2015-05-07 Thread Tomáš Čech

On Sun, May 03, 2015 at 09:59:53PM +0200, Ludovic Courtès wrote:

Sorry for the delay.


Sorry for all the delays :)



Tomáš Čech  skribis:


On Tue, Apr 21, 2015 at 05:52:33PM +0200, Ludovic Courtès wrote:


[...]


So I would declare

 (mapped-device
   (source "/dev/sda")
   (target "volume_group_name-logical_volume_name")
   (kind lvm-device-mapping))

and that would give me
/dev/mapper/volume_group_name-logical_volume_name, right?


Volume group can be on multiple block devices. For now I rely on autodetect
abilities of LVM.

So you would declare:

(mapped-device
 (source "") ; irrelevant for LVM
 (target "volume_group_name")
 (type lvm-mapping))

and that would give you
/dev/mapper/volume_group_name-some_volume
/dev/mapper/volume_group_name-other_volume
...

and more conveniently
/dev/volume_group_name/some_volume
/dev/volume_group_name/other_volume
...


OK.  So the ‘source’ is irrelevant because ‘vgscan’ magically creates
the device nodes for volumes such that users don’t have to know what the
underlying block devices are, right?


Yes.



[...]


  (boot-system #:mounts '#$(map file-system->spec file-systems)
   #:pre-mount (lambda ()
-(and #$@device-mapping-commands))
+(and #$@device-mapping-commands
+ ;; If we activated any volume group, 
we
+ ;; need to ensure that device nodes 
are
+ ;; created.  Add code here to call it
+ ;; once for all activations.
+ #$(when (lvm-mapping-used? 
mapped-devices)
+ #~(zero?
+(system* (string-append
+  #$lvm2/static
+  "/sbin/lvm.static")
+ "vgscan"
+ "--mknodes")


So ‘lvm vgchange --activate y’ does not create /dev nodes?


Right.


Would it be possible to change the command returned by
‘logical-volume-group-activate’ to somehow create the nodes?  That would
be ideal.


There are two actions needed to be taken:
1] volume group activation
2] creation of nodes

This design choice does as many 1] as needed and 2] once in the end.

I could do always 1] and 2] for every volume group, but I didn't find it nice,
since previous 2] calls are useless only slowing down the process. Do you
really think I should change it?


No, you’re right, what you did makes a lot of sense (thanks for bearing
with me!).


Good.


Could you send an updated patch?  It sounds like we’re almost there,
I guess.


Not there yet. Now I need to make some changes with mounting order to help
non-root filesystems on LVM volume.

Right now it seems it tries to:
1] mount all filesystems
2] run udev

But I need to make it:
1] mount /dev
2] run udev service (with the `udevadm settle' in the end)
3] mount the rest of filesystems

It seems that /sys and /proc is mounted already from initrd phase using
mount-essential-file-systems. Is there reason not to put /dev there as well?

I see none so I'll try to add /dev filesystem mounting there (and to
move-essential-file-systems) and remove it from %base-file-systems.

Best regards,

S_W


signature.asc
Description: Digital signature


Re: Bumping the Guile version requirement

2015-05-08 Thread Tomáš Čech

On Thu, May 07, 2015 at 06:06:16PM +0200, Ludovic Courtès wrote:

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


You should be able to get compilation going with the patch below, but
getting the HTTP client to work with 2.0.5 will require more work.


I think for 0.8.2 I will actually bump the requirement to Guile 2.0.7 or
2.0.9 (the latter is what Debian 8 has.)  People on older systems will
still be able to install Guix using the binary tarball.

What do people think?


No objections with my openSUSE or Gentoo packagers hat.

S_W


signature.asc
Description: Digital signature


Re: Bumping the Guile version requirement

2015-05-10 Thread Tomáš Čech

On Sat, May 09, 2015 at 01:21:27AM -0400, Mark H Weaver wrote:

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


I think for 0.8.2 I will actually bump the requirement to Guile 2.0.7 or
2.0.9 (the latter is what Debian 8 has.)  People on older systems will
still be able to install Guix using the binary tarball.

What do people think?


Sounds good to me.  The binary tarball should probably be the preferred
method for installing on top of other distros anyway.


Why?

From packagers POV it is much less welcome to provide binary package instead
building package (which can be reviewed and reproduced) from source code
(which can be reviewed as well).

S_W


signature.asc
Description: Digital signature


[PATCHv2 1/2] gnu: Add wlc.

2016-08-27 Thread Tomáš Čech
* gnu/packages/freedesktop.scm(wlc): New variable.
* gnu/packages/patches/wlc-implement-wlc_view_get_pid.patch: Add it
* gnu/local.mk: Add entry for patch above.
---
 gnu/packages/freedesktop.scm | 41 -
 1 file changed, 40 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index 67f1e1a..0bb87e7 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -27,10 +27,14 @@
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix git-download)
+  #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system python)
+  #:use-module (gnu packages)
+  #:use-module (gnu packages gl)
   #:use-module (gnu packages gnome)
   #:use-module (gnu packages python)
+  #:use-module (gnu packages pth)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages autotools)
@@ -51,7 +55,8 @@
   #:use-module (gnu packages acl)
   #:use-module (gnu packages admin)
   #:use-module (gnu packages polkit)
-  #:use-module (gnu packages databases))
+  #:use-module (gnu packages databases)
+  #:use-module (gnu packages xdisorg))
 
 (define-public xdg-utils
   (package
@@ -647,3 +652,37 @@ different sorts of messages in different formats.")
 useful for both applications which need colour management and applications that
 wish to perform colour calibration.")
 (license license:lgpl2.1+)))
+
+(define-public wlc
+  (package
+(name "wlc")
+(version "0.0.5")
+(source (origin
+  (method url-fetch)
+  (uri (string-append
+"https://github.com/Cloudef/"; name "/releases/download/v"
+version "/" name "-" version ".tar.bz2"))
+  (sha256
+   (base32
+"0dmiklis820qzin74f16bmbz1jkjy93r5mix8cqbcqpb9f7qxahp"
+(build-system cmake-build-system)
+(native-inputs
+ `(("pkg-config" ,pkg-config)))
+(inputs
+ `(("libinput" ,libinput)
+   ("libx11" ,libx11)
+   ("libxkbcommon" ,libxkbcommon)
+   ("mesa" ,mesa)
+   ("pixman" ,pixman)
+   ("pth" ,pth)
+   ("wayland" ,wayland)
+   ("xcb-util-image" ,xcb-util-image)
+   ("xcb-util-wm" ,xcb-util-wm)
+   ("xproto" ,xproto)
+   ("zlib" ,zlib)))
+(synopsis "Wayland Compositor Library")
+(home-page "https://github.com/Cloudef/wlc";)
+(description
+ "This is wayland compositor library used by several projects like sway,
+orbment or Gram.")
+(license license:x11)))
-- 
2.9.2




[PATCHv2 2/2] gnu: Add sway.

2016-08-27 Thread Tomáš Čech
* gnu/packages/freedesktop.scm(sway): New variable.
---
 gnu/packages/freedesktop.scm | 44 
 1 file changed, 44 insertions(+)

diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index 0bb87e7..fec7cf5 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -35,6 +35,7 @@
   #:use-module (gnu packages gnome)
   #:use-module (gnu packages python)
   #:use-module (gnu packages pth)
+  #:use-module (gnu packages pcre)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages autotools)
@@ -56,6 +57,7 @@
   #:use-module (gnu packages admin)
   #:use-module (gnu packages polkit)
   #:use-module (gnu packages databases)
+  #:use-module (gnu packages web)
   #:use-module (gnu packages xdisorg))
 
 (define-public xdg-utils
@@ -686,3 +688,45 @@ wish to perform colour calibration.")
  "This is wayland compositor library used by several projects like sway,
 orbment or Gram.")
 (license license:x11)))
+
+(define-public sway
+  (package
+(name "sway")
+(version "0.9")
+(source (origin
+  (method url-fetch)
+  (uri (string-append
+"https://github.com/SirCmpwn/"; name "/archive/"
+version ".tar.gz"))
+  (sha256
+   (base32
+"0bgli7scjlvbgas09dx5fnncgda41ssba6fzkw2vyk88pmdgx66w"))
+  (patches (list (search-patch "sway-debug.patch")
+(build-system cmake-build-system)
+(arguments
+ '(#:configure-flags '("-DVERBOSE=1")
+   #:tests? #f)) ; no 'check' target
+(native-inputs
+ `(("gdk-pixbuf" ,gdk-pixbuf)
+   ("libxslt" ,libxslt)
+   ("pkg-config" ,pkg-config)
+   ("wayland" ,wayland)))
+(inputs
+ `(("asciidoc" ,asciidoc)
+   ("cairo" ,cairo)
+   ("docbook-xml" ,docbook-xml)
+   ("docbook-xsl" ,docbook-xsl)
+   ("gdk-pixbuf" ,gdk-pixbuf)
+   ("json-c" ,json-c)
+   ("libinput" ,libinput)
+   ("libxkbcommon" ,libxkbcommon)
+   ("linux-pam" ,linux-pam)
+   ("pango" ,pango)
+   ("pcre" ,pcre)
+   ("wlc" ,wlc)))
+(synopsis "Window manager for Wayland, compatible with i3")
+(home-page "https://github.com/SirCmpwn/sway";)
+(description
+ "SirCmpwn's WAYland window manager is work-in-progress i3-compatible
+tiling window manager.")
+(license license:x11)))
-- 
2.9.2




Re: [PATCH] Fix compiling on CentOS 7.

2016-08-28 Thread Tomáš Čech

On Sun, Aug 28, 2016 at 01:33:10AM +0200, Roel Janssen wrote:


Florian Paul Schmidt writes:


On 08/27/2016 10:51 AM, Roel Janssen wrote:


I don't see a way to apply this patch "on the CentOS side" except for
waiting (another two or three years) until they upgrade Automake.


When packaging guix for CentOS, just add a patch to the source package
definition..


I do not intend to create an RPM package for CentOS, I am merely trying
to do the following:
 git clone git://git.sv.gnu.org/guix.git
 cd guix
 ./bootstrap
 ./configure
 make


I see, I haven't thought about that...

But, in that case, wouldn't be creating guix RPM package for CentOS even
more beneficial alternative (making it easy for all CentOS7 users...)?

Best regards,

S_W


signature.asc
Description: Digital signature


Re: [PATCH] Fix compiling on CentOS 7.

2016-08-28 Thread Tomáš Čech

On Sun, Aug 28, 2016 at 12:34:44PM +0300, Efraim Flashner wrote:

On Sun, Aug 28, 2016 at 10:11:02AM +0200, Tomáš Čech wrote:

On Sun, Aug 28, 2016 at 01:33:10AM +0200, Roel Janssen wrote:
>
> Florian Paul Schmidt writes:
>
> > On 08/27/2016 10:51 AM, Roel Janssen wrote:
> >
> > > I don't see a way to apply this patch "on the CentOS side" except for
> > > waiting (another two or three years) until they upgrade Automake.
> >
> > When packaging guix for CentOS, just add a patch to the source package
> > definition..
>
> I do not intend to create an RPM package for CentOS, I am merely trying
> to do the following:
>  git clone git://git.sv.gnu.org/guix.git
>  cd guix
>  ./bootstrap
>  ./configure
>  make

I see, I haven't thought about that...

But, in that case, wouldn't be creating guix RPM package for CentOS even
more beneficial alternative (making it easy for all CentOS7 users...)?

Best regards,

S_W


That would require keeping it up-to-date.


Actually I think that this particular patch could be replaced by
script snippet (untested) in spec:

for dir in doc emacs gnu nix; do
  sed "s@%D%@${dir}@g" "${dir}/local.mk"
done

Furthermore, it requires usually fix once per release - when user run
`guix pull', it becomes irrelevant what is user running (but daemon
changes).

I must say I'm impressed by the effort to fully maintain CentOS 7 to
2020. If you don't want to go package way (which I think is
prefferable) I'm not against the reverting patch anymore. 


Best regards,

S_W


signature.asc
Description: Digital signature


Re: bug#24145: [PATCH] gnu: asciidoc: Use local docbook-xsl package.

2016-08-30 Thread Tomáš Čech

On Mon, Aug 29, 2016 at 05:41:59PM +0200, Ludovic Courtès wrote:

Hello,

Tomáš Čech  skribis:


* gnu/packages/documentation.scm(asciidoc): New input docbook-xsl,
  replace use of online source and prefer docbook-xsl package.


Rather:

* gnu/packages/documentation (asciidoc)[inputs]: Add PYTHON-2 and
DOCBOOK-XSL.
(arguments): Add 'make-local-docbook-xsl' phase.


Shouldn't that be rather
[arguments]:
as it is in "the same level" as [inputs]?
(and python-2 was already among inputs already)

Thanks for your patience!


diff --git a/gnu/packages/documentation.scm b/gnu/packages/documentation.scm
index 72af708..98d30e7 100644
--- a/gnu/packages/documentation.scm
+++ b/gnu/packages/documentation.scm
@@ -49,8 +49,22 @@
(base32
 "1w71nk527lq504njmaf0vzr93pgahkgzzxzglrq6bay8cw2rvnvq"
 (build-system gnu-build-system)
-(arguments '(#:tests? #f)); no 'check' target
-(inputs `(("python" ,python-2)))
+(arguments
+ `(#:tests? #f ; no 'check' target
+   #:phases
+   (modify-phases %standard-phases
+ (add-before
+ 'install 'make-local-docbook-xsl
+   (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* (find-files "docbook-xsl" ".*\\.xsl$")
+   (("xsl:import 
href=\"http://docbook.sourceforge.net/release/xsl/current";)
+(string-append
+ "xsl:import href=\""
+ (string-append (assoc-ref inputs "docbook-xsl")
+"/xml/xsl/docbook-xsl-"
+,(package-version docbook-xsl))
+(inputs `(("python" ,python-2)
+  ("docbook-xsl" ,docbook-xsl)))


Otherwise LGTM, please push!


I'm afraid that Leo already pushed that.

Thanks


signature.asc
Description: Digital signature


Re: [PATCHv2 1/2] gnu: Add wlc.

2016-09-06 Thread Tomáš Čech

I'm not sure if the silence in this thread means that patches are fine
or forgotten so I'm sending new e-mail here.

If there are no objections, I'll commit the patches at the end of the
week.

Best regards,

S_W


signature.asc
Description: Digital signature


Re: openssh-service

2016-11-07 Thread Tomáš Čech
On Mon, 03 Oct 2016 16:57:34 +0200,
ng0 wrote:
> 
> ng0  writes:
> 
> > Can someone explain to the list how the example of the openssh-service
> > is supposed to fit into a default users config based on the regular
> > desktop.scm? So far I think this is a bad example but I have no idea how
> > to improve it.
> >
> > You will typically have
> >
> > (services (cons* (gnome-desktop-service)
> >  (xfce-desktop-service)
> >  %desktop-services))
> 
> Damn, the machine I tested this on I added one pair of parens which
> shouldn't have been there.
> 
>  (services (cons* (gnome-desktop-service)
>   (xfce-desktop-service)
>   (service
>openssh-service-type
>(openssh-configuration
>(x11-forwarding? #t)
>(permit-root-login 'without-password)))
>   %desktop-services))
> 
> works. The error messages could be more intuitive :)
> 
> > When you do it by the book, the openssh-service will not work.
> >
> > Thanks to whoever worked on and added openssh by the way, it's a good
> > addition.
> >

It seems that originally there should have been `openssh-service' but
is not present in 86d8f6d3efb8300a3354735cbf06be6c01e23243, just
exported in gnu/services/ssh.scm:40.

So I guess there are now two possible choices:

a] remove export
b] provide openssh-service

Best regards,

S_W



[PATCH 2/3] services: Add wpa-supplicant-service.

2016-11-09 Thread Tomáš Čech
* gnu/services/networking.scm (wpa-supplicant-service): New procedure.
(wpa-supplicant-service-type): New variable.
(wpa-supplicant-shepherd-service): New procedure.
* doc/guix.texi (Networking Services): Document it.
---
 doc/guix.texi   |  8 
 gnu/services/networking.scm | 36 +++-
 2 files changed, 43 insertions(+), 1 deletion(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index 89a7a58..bdf0bce 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -8301,6 +8301,14 @@ several the @command{connmanctl} command to interact 
with the daemon and
 configure networking."
 @end deffn
 
+@cindex WPA Supplicant
+@deffn {Scheme Procedure} wpa-supplicant-service @
+   [#:wpa-supplicant @var{wpa-supplicant}]
+Return a service that runs @url{https://w1.fi/wpa_supplicant/,WPA
+supplicant}, an authentication daemon required to authenticate against
+encrypted WiFi or ethernet networks.
+@end deffn
+
 @deffn {Scheme Procedure} ntp-service [#:ntp @var{ntp}] @
   [#:servers @var{%ntp-servers}] @
   [#:allow-large-adjustment? #f]
diff --git a/gnu/services/networking.scm b/gnu/services/networking.scm
index df609da..05ee339 100644
--- a/gnu/services/networking.scm
+++ b/gnu/services/networking.scm
@@ -64,7 +64,8 @@
 
 wicd-service
 network-manager-service
-connman-service))
+connman-service
+wpa-supplicant-service))
 
 ;;; Commentary:
 ;;;
@@ -740,4 +741,37 @@ several the @command{connmanctl} command to interact with 
the daemon and
 configure networking."
   (service connman-service-type connman))
 
+
+
+;;;
+;;; WPA supplicant
+;;;
+
+
+(define (wpa-supplicant-shepherd-service wpa-supplicant)
+  "Return a shepherd service for wpa_supplicant"
+  (list (shepherd-service
+ (documentation "Run WPA supplicant with dbus interface")
+ (provision '(wpa-supplicant))
+ (requirement '(user-processes dbus-system loopback))
+ (start #~(make-forkexec-constructor
+   (list (string-append #$wpa-supplicant
+"/sbin/wpa_supplicant")
+ "-u" "-B")))
+ (stop #~(make-kill-destructor)
+
+(define wpa-supplicant-service-type
+  (service-type (name 'wpa-supplicant)
+(extensions
+ (list (service-extension shepherd-root-service-type
+  wpa-supplicant-shepherd-service)
+   (service-extension dbus-root-service-type list)
+   (service-extension profile-service-type list)
+
+(define* (wpa-supplicant-service #:key (wpa-supplicant wpa-supplicant))
+  "Return a service that runs @url{https://w1.fi/wpa_supplicant/,WPA
+supplicant}, an authentication daemon required to authenticate against
+encrypted WiFi or ethernet networks."
+  (service wpa-supplicant-service-type wpa-supplicant))
+
 ;;; networking.scm ends here
-- 
2.10.2




[PATCH 1/3] gnu: connman: Use localstatedir outside of store.

2016-11-09 Thread Tomáš Čech
* gnu/packages/connman.scm (connman): Use localstatedir outside of store.
---
 gnu/packages/connman.scm | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/gnu/packages/connman.scm b/gnu/packages/connman.scm
index cd0f6a9..7af20c9 100644
--- a/gnu/packages/connman.scm
+++ b/gnu/packages/connman.scm
@@ -55,6 +55,9 @@
  "--enable-vpnc"
  "--enable-pptp"
  "--enable-l2tp"
+ ;; location for daemon state files and internal configuration
+ ;; needs to be writeable
+ "--localstatedir=/var"
  (string-append
   "--with-dbusconfdir=" (assoc-ref %outputs "out") "/etc")
  (string-append
-- 
2.10.2




[PATCH 3/3] services: Require wpa-supplicant-service for connman-service.

2016-11-09 Thread Tomáš Čech
* gnu/services/networking.scm (connman-shepherd-service): Add
  wpa-supplicant among list of requirements.
---
 gnu/services/networking.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/services/networking.scm b/gnu/services/networking.scm
index 05ee339..0462f81 100644
--- a/gnu/services/networking.scm
+++ b/gnu/services/networking.scm
@@ -714,7 +714,7 @@ that attempting to keep active network connectivity when 
available."
   (list (shepherd-service
  (documentation "Run Connman")
  (provision '(networking))
- (requirement '(user-processes dbus-system loopback))
+ (requirement '(user-processes dbus-system loopback wpa-supplicant))
  (start #~(make-forkexec-constructor
(list (string-append #$connman
 "/sbin/connmand")
-- 
2.10.2




  1   2   >