summary refs log tree commit diff
path: root/gnu/packages
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/ed.scm4
-rw-r--r--gnu/packages/gcc.scm4
-rw-r--r--gnu/packages/gnutls.scm9
-rw-r--r--gnu/packages/gtk.scm27
-rw-r--r--gnu/packages/lout.scm4
-rw-r--r--gnu/packages/lsh.scm32
-rw-r--r--gnu/packages/noweb.scm96
-rw-r--r--gnu/packages/patches/gnutls-fix-tests-on-32-bits-system.patch36
-rw-r--r--gnu/packages/patches/lsh-guile-compat.patch9
-rw-r--r--gnu/packages/patches/lsh-no-root-login.patch16
-rw-r--r--gnu/packages/patches/lsh-pam-service-name.patch14
-rw-r--r--gnu/packages/qemu.scm30
-rw-r--r--gnu/packages/rush.scm56
-rw-r--r--gnu/packages/scheme.scm13
-rw-r--r--gnu/packages/version-control.scm25
15 files changed, 292 insertions, 83 deletions
diff --git a/gnu/packages/ed.scm b/gnu/packages/ed.scm
index e9ded33dd8..b662b59a86 100644
--- a/gnu/packages/ed.scm
+++ b/gnu/packages/ed.scm
@@ -26,14 +26,14 @@
 (define-public ed
   (package
     (name "ed")
-    (version "1.8")
+    (version "1.9")
     (source (origin
              (method url-fetch)
              (uri (string-append "mirror://gnu/ed/ed-"
                                  version ".tar.gz"))
              (sha256
               (base32
-               "0wvj190ky5i0gm0pilx9k75l6alyc6h5s14fm3dbk90y7g9kihb4"))))
+               "122syihsx2hwzj75mkf5a9ssiky2xby748kp4cc00wzhmp7p5cym"))))
     (build-system gnu-build-system)
     (arguments
      '(#:configure-flags '("CC=gcc")
diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
index f8caf4c7f6..571526ebdf 100644
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@ -205,14 +205,14 @@ used in the GNU system including the GNU/Linux variant.")
 
 (define-public gcc-4.8
   (package (inherit gcc-4.7)
-    (version "4.8.0")
+    (version "4.8.1")
     (source (origin
              (method url-fetch)
              (uri (string-append "mirror://gnu/gcc/gcc-"
                                  version "/gcc-" version ".tar.bz2"))
              (sha256
               (base32
-               "0b6cp9d1sas3vq6dj3zrgd134p9b569fqhbixb9cl7mp698zwdxh"))))))
+               "04sqn0ds17ys8l6zn7vyyvjz1a7hsk4zb0381vlw9wnr7az48nsl"))))))
 
 (define-public isl
   (package
diff --git a/gnu/packages/gnutls.scm b/gnu/packages/gnutls.scm
index 32726f6258..d636a9c927 100644
--- a/gnu/packages/gnutls.scm
+++ b/gnu/packages/gnutls.scm
@@ -23,6 +23,7 @@
   #:use-module (guix build-system gnu)
   #:use-module ((gnu packages compression)
                 #:renamer (symbol-prefix-proc 'guix:))
+  #:use-module (gnu packages)
   #:use-module (gnu packages nettle)
   #:use-module (gnu packages guile)
   #:use-module (gnu packages perl)
@@ -65,12 +66,18 @@ portable, and only require an ANSI C89 platform.")
               (base32
                "1zi2kq3vcbqdy9khl7r6pgk4hgwibniasm9k6siasdvqjijq3ymb"))))
     (build-system gnu-build-system)
+    (arguments
+      `(#:patches (list (assoc-ref %build-inputs
+                                   "patch/fix-tests"))
+        #:patch-flags '("-p0")))
     (native-inputs
      `(("pkg-config" ,pkg-config)))
     (inputs
      `(("guile" ,guile-2.0)
        ("zlib" ,guix:zlib)
-       ("perl" ,perl)))
+       ("perl" ,perl)
+       ("patch/fix-tests"
+        ,(search-patch "gnutls-fix-tests-on-32-bits-system.patch"))))
     (propagated-inputs
      `(("libtasn1" ,libtasn1)
        ("nettle" ,nettle)
diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 38ad05e074..2e0a7b60b4 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -27,7 +27,9 @@
   #:use-module (gnu packages ghostscript)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages icu4c)
+  #:use-module (gnu packages libjpeg)
   #:use-module (gnu packages libpng)
+  #:use-module (gnu packages libtiff)
   #:use-module (gnu packages pdf)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
@@ -153,3 +155,28 @@ applications. It has extensive support for the different writing systems
 used throughout the world.")
    (license license:lgpl2.0+)
    (home-page "https://developer.gnome.org/pango/")))
+
+(define-public gdk-pixbuf
+  (package
+   (name "gdk-pixbuf")
+   (version "2.28.2")
+   (source (origin
+            (method url-fetch)
+            (uri (string-append "mirror://gnome/sources/gdk-pixbuf/2.28/gdk-pixbuf-"
+                                version ".tar.xz"))
+            (sha256
+             (base32
+              "05s6ksvy1yan6h6zny9n3bmvygcnzma6ljl6i0z9cci2xg116c8q"))))
+   (build-system gnu-build-system)
+   (inputs
+    `(("glib" ,glib)
+      ("libjpeg" ,libjpeg)
+      ("libpng" ,libpng)
+      ("libtiff" ,libtiff)
+      ("pkg-config" ,pkg-config)))
+   (synopsis "GNOME image loading and manipulation library")
+   (description
+    "GdkPixbuf is a library for image loading and manipulation developed
+in the GNOME project.")
+   (license license:lgpl2.0+)
+   (home-page "https://developer.gnome.org/gdk-pixbuf/")))
diff --git a/gnu/packages/lout.scm b/gnu/packages/lout.scm
index 299af093e5..76cb8a753b 100644
--- a/gnu/packages/lout.scm
+++ b/gnu/packages/lout.scm
@@ -77,14 +77,14 @@
                    '("design" "expert" "slides" "user")))))
    (package
     (name "lout")
-    (version "3.39")
+    (version "3.40")
     (source (origin
              (method url-fetch)
              (uri (string-append "mirror://savannah/lout/lout-"
                                  version ".tar.gz"))
              (sha256
               (base32
-               "12gkyqrn0kaa8xq7sc7v3wm407pz2fxg9ngc75aybhi5z825b9vq"))))
+               "1gb8vb1wl7ikn269dd1c7ihqhkyrwk19jwx5kd0rdvbk6g7g25ix"))))
     (build-system gnu-build-system)               ; actually, just a makefile
     (outputs '("out" "doc"))
     (inputs
diff --git a/gnu/packages/lsh.scm b/gnu/packages/lsh.scm
index c031b287a1..b8c155453f 100644
--- a/gnu/packages/lsh.scm
+++ b/gnu/packages/lsh.scm
@@ -24,6 +24,7 @@
   #:use-module (gnu packages)
   #:use-module (gnu packages m4)
   #:use-module (gnu packages linux)
+  #:use-module (gnu packages nettle)
   #:use-module ((gnu packages compression)
                 #:renamer (symbol-prefix-proc 'guix:))
   #:use-module (gnu packages multiprecision)
@@ -44,15 +45,21 @@
        (base32
         "0z6rlalhvfca64jpvksppc9bdhs7jwhiw4y35g5ibvh91xp3rn1l"))))
     (build-system gnu-build-system)
-    (home-page "http://liboop.ofb.net/")
-    (synopsis "`liboop', an event loop library")
-    (description "liboop is an event loop library.")
+    (home-page "http://www.lysator.liu.se/liboop/")
+    (synopsis "Event loop library")
+    (description "Liboop is a low-level event loop management library for
+POSIX-based operating systems. It supports the development of modular,
+multiplexed applications which may respond to events from several sources. It
+replaces the \"select() loop\" and allows the registration of event handlers
+for file and network I/O, timers and signals.  Since processes use these
+mechanisms for almost all external communication, liboop can be used as the
+basis for almost any application.")
     (license lgpl2.1+)))
 
 (define-public lsh
   (package
     (name "lsh")
-    (version "2.0.4")
+    (version "2.1")
     (source
      (origin
       (method url-fetch)
@@ -60,10 +67,11 @@
                           version ".tar.gz"))
       (sha256
        (base32
-        "149hf49xcj99wwvi7hcb59igq4vpyv8har1br1if3lrsw5irsjv1"))))
+        "1qqjy9zfzgny0rkb27c8c7dfsylvb6n0ld8h3an2r83pmaqr9gwb"))))
     (build-system gnu-build-system)
     (inputs
-     `(("linux-pam" ,linux-pam)
+     `(("nettle" ,nettle)
+       ("linux-pam" ,linux-pam)
        ("m4" ,m4)
        ("readline" ,readline)
        ("liboop" ,liboop)
@@ -72,17 +80,9 @@
        ("guile" ,guile-final)
        ("gperf" ,gperf)
        ("psmisc" ,psmisc)                         ; for `killall'
-
-       ("patch/no-root-login" ,(search-patch "lsh-no-root-login.patch"))
-       ("patch/guile-compat" ,(search-patch "lsh-guile-compat.patch"))
-       ("patch/pam-service-name"
-        ,(search-patch "lsh-pam-service-name.patch"))))
+       ))
     (arguments
-     '(#:patches (list (assoc-ref %build-inputs "patch/no-root-login")
-                       (assoc-ref %build-inputs "patch/pam-service-name")
-                       (assoc-ref %build-inputs "patch/guile-compat"))
-
-       ;; Skip the `configure' test that checks whether /dev/ptmx &
+     '(;; Skip the `configure' test that checks whether /dev/ptmx &
        ;; co. work as expected, because it relies on impurities (for
        ;; instance, /dev/pts may be unavailable in chroots.)
        #:configure-flags '("lsh_cv_sys_unix98_ptys=yes")
diff --git a/gnu/packages/noweb.scm b/gnu/packages/noweb.scm
new file mode 100644
index 0000000000..155639f57e
--- /dev/null
+++ b/gnu/packages/noweb.scm
@@ -0,0 +1,96 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
+;;;
+;;; 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 noweb)
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix build-system gnu)
+  #:use-module (guix licenses))
+
+(define-public noweb
+  (package
+    (name "noweb")
+    (version "2.11b")
+    (source (origin
+             (method url-fetch)
+             (uri (string-append "ftp://www.eecs.harvard.edu/pub/nr/noweb-"
+                                 version ".tgz"))
+             (sha256
+              (base32
+               "10hdd6mrk26kyh4bnng4ah5h1pnanhsrhqa7qwqy6dyv3rng44y9"))))
+    (build-system gnu-build-system)
+    (arguments
+     '(#:phases (alist-cons-before
+                 'install 'pre-install
+                 (lambda* (#:key outputs #:allow-other-keys)
+                   (let ((out (assoc-ref outputs "out")))
+                     (mkdir-p (string-append out "/share/texmf/tex/latex"))
+                     #t))
+                 (alist-cons-after
+                  'install 'post-install
+                  (lambda* (#:key outputs inputs #:allow-other-keys)
+                    (let ((out (assoc-ref outputs "out"))
+                          (cu  (assoc-ref inputs "coreutils"))
+                          (du  (assoc-ref inputs "diffutils")))
+                      (with-directory-excursion out
+                        (for-each (lambda (prog)
+                                    (substitute* prog
+                                      (("nawk") (which "awk"))))
+                                  (append (map (lambda (x)
+                                                 (string-append "bin/" x))
+                                               '("noweb" "nountangle"
+                                                 "noroots" "noroff"
+                                                 "noindex"))
+                                          (map (lambda (x)
+                                                 (string-append "lib/" x))
+                                               '("btdefn" "emptydefn" "noidx"
+                                                 "pipedocs" "toascii" "tohtml"
+                                                 "toroff" "totex" "unmarkup"))))
+                        (substitute* "bin/cpif"
+                          (("^PATH=.*$")
+                           (string-append "PATH=" cu "/bin:" du "/bin\n"))))
+                      #t))
+                  (alist-replace
+                   'configure
+                   (lambda _
+                     ;; Jump in the source.
+                     (chdir "src")
+
+                     ;; The makefile reads "source: FAQ", but FAQ isn't
+                     ;; available.
+                     (substitute* "Makefile"
+                       (("FAQ") "")))
+                   %standard-phases)))
+       #:make-flags (let ((out (assoc-ref %outputs "out")))
+                      (list (string-append "BIN=" out "/bin")
+                            (string-append "LIB=" out "/lib")
+                            (string-append "MAN=" out "/share/man")
+                            (string-append "TEXINPUTS=" out
+                                           "/share/texmf/tex/latex")))
+       #:tests? #f))                              ; no tests
+    (home-page "http://www.cs.tufts.edu/~nr/noweb/")
+    (synopsis "Literate programming tool")
+    (description
+     "noweb is designed to meet the needs of literate programmers while
+remaining as simple as possible.  Its primary advantages are simplicity,
+extensibility, and language-independence—especially noticeable when compared
+with other literate-programming tools.  noweb uses 5 control sequences to
+WEB's 27.  The noweb manual is only 4 pages; an additional page explains how
+to customize its LaTeX output.  noweb works “out of the box” with any
+programming language, and supports TeX, LaTeX, HTML, and troff back ends.")
+    (license (fsf-free "http://www.cs.tufts.edu/~nr/noweb/#copyright"))))
diff --git a/gnu/packages/patches/gnutls-fix-tests-on-32-bits-system.patch b/gnu/packages/patches/gnutls-fix-tests-on-32-bits-system.patch
new file mode 100644
index 0000000000..07d633149e
--- /dev/null
+++ b/gnu/packages/patches/gnutls-fix-tests-on-32-bits-system.patch
@@ -0,0 +1,36 @@
+From b12040aeab5fbaf02677571db1d8bf1995bd5ee0 Mon Sep 17 00:00:00 2001
+From: Nikos Mavrogiannopoulos <nmav@gnutls.org>
+Date: Sun, 2 Jun 2013 12:10:06 +0200
+Subject: [PATCH] Avoid comparing the expiration date to prevent false positive
+error in 32-bit systems.
+
+---
+ tests/cert-tests/pem-decoding |    6 ++++--
+ 1 files changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/tests/cert-tests/pem-decoding b/tests/cert-tests/pem-decoding
+index fe769ec..f8c6372 100755
+--- tests/cert-tests/pem-decoding
++++ tests/cert-tests/pem-decoding
+@@ -61,7 +61,9 @@ if test "$rc" != "0"; then
+   exit $rc
+ fi
+ 
+-diff $srcdir/complex-cert.pem tmp-pem.pem
++cat $srcdir/complex-cert.pem |grep -v "Not After:" >tmp1
++cat $srcdir/tmp-pem.pem |grep -v "Not After:" >tmp2
++diff tmp1 tmp2
+ rc=$?
+ 
+ if test "$rc" != "0"; then
+@@ -69,6 +71,6 @@ if test "$rc" != "0"; then
+   exit $rc
+ fi
+ 
+-rm -f tmp-pem.pem
++rm -f tmp-pem.pem tmp1 tmp2
+ 
+ exit 0
+-- 
+1.7.1
+
diff --git a/gnu/packages/patches/lsh-guile-compat.patch b/gnu/packages/patches/lsh-guile-compat.patch
deleted file mode 100644
index 0fe0484580..0000000000
--- a/gnu/packages/patches/lsh-guile-compat.patch
+++ /dev/null
@@ -1,9 +0,0 @@
-Use (ice-9 rdelim) for `read-line'.
-
---- lsh-2.0.4/src/scm/guile-compat.scm	2012-12-03 23:28:01.000000000 +0100
-+++ lsh-2.0.4/src/scm/guile-compat.scm	2012-12-03 23:28:04.000000000 +0100
-@@ -21,3 +21,4 @@
- ;; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- 
- (use-syntax (ice-9 syncase))
-+(use-modules (ice-9 rdelim))
diff --git a/gnu/packages/patches/lsh-no-root-login.patch b/gnu/packages/patches/lsh-no-root-login.patch
deleted file mode 100644
index 9dd81de3fb..0000000000
--- a/gnu/packages/patches/lsh-no-root-login.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-Correctly handle the `--no-root-login' option.
-
---- lsh-2.0.4/src/lshd.c	2006-05-01 13:47:44.000000000 +0200
-+++ lsh-2.0.4/src/lshd.c	2009-09-08 12:20:36.000000000 +0200
-@@ -758,6 +758,10 @@ main_argp_parser(int key, char *arg, str
-       self->allow_root = 1;
-       break;
- 
-+    case OPT_NO_ROOT_LOGIN:
-+      self->allow_root = 0;
-+      break;
-+
-     case OPT_KERBEROS_PASSWD:
-       self->pw_helper = PATH_KERBEROS_HELPER;
-       break;
-
diff --git a/gnu/packages/patches/lsh-pam-service-name.patch b/gnu/packages/patches/lsh-pam-service-name.patch
deleted file mode 100644
index 6a6156855c..0000000000
--- a/gnu/packages/patches/lsh-pam-service-name.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-Tell `lsh-pam-checkpw', the PAM password helper program, to use a more
-descriptive service name.
-
---- lsh-2.0.4/src/lsh-pam-checkpw.c	2003-02-16 22:30:10.000000000 +0100
-+++ lsh-2.0.4/src/lsh-pam-checkpw.c	2008-11-28 16:16:58.000000000 +0100
-@@ -38,7 +38,7 @@
- #include <security/pam_appl.h>
- 
- #define PWD_MAXLEN 1024
--#define SERVICE_NAME "other"
-+#define SERVICE_NAME "lshd"
- #define TIMEOUT 600 
- 
- static int
diff --git a/gnu/packages/qemu.scm b/gnu/packages/qemu.scm
index b10935ce0d..1bb95840f0 100644
--- a/gnu/packages/qemu.scm
+++ b/gnu/packages/qemu.scm
@@ -34,6 +34,7 @@
   #:use-module (gnu packages attr)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages samba)
+  #:use-module (gnu packages xorg)
   #:use-module (gnu packages perl))
 
 (define-public qemu-kvm
@@ -62,6 +63,7 @@
                      (setenv "LDFLAGS" "-lrt")
                      (zero?
                       (system* "./configure"
+                               (string-append "--cc=" (which "gcc"))
                                (string-append "--prefix=" out)
                                (string-append "--smbd=" samba
                                               "/sbin/smbd")))))
@@ -74,11 +76,12 @@
        ("ncurses" ,ncurses)
        ("libpng" ,libpng)
        ("libjpeg" ,libjpeg-8)
+       ("pixman" ,pixman)
        ;; ("vde2" ,vde2)
        ("util-linux" ,util-linux)
        ;; ("pciutils" ,pciutils)
        ("pkg-config" ,pkg-config)
-       ;; ("alsa-lib" ,alsa-lib)
+       ("alsa-lib" ,alsa-lib)
        ;; ("SDL" ,SDL)
        ("zlib" ,zlib)
        ("attr" ,attr)
@@ -113,7 +116,7 @@ underway to get the required changes upstream.")
   ;; The real one, with a complete target list.
   (package (inherit qemu-kvm)
     (name "qemu")
-    (version "1.3.1")
+    (version "1.5.1")
     (location (source-properties->location (current-source-location)))
     (source (origin
              (method url-fetch)
@@ -121,31 +124,18 @@ underway to get the required changes upstream.")
                                  version ".tar.bz2"))
              (sha256
               (base32
-               "1bqfrb5dlsxm8gxhkksz8qzi5fhj3xqhxyfwbqcphhcv1kpyfwip"))))
+               "1s7316pgizpayr472la8p8a4vhv7ymmzd5qlbkmq6y9q5zpa25ac"))))
     (arguments
      (substitute-keyword-arguments (package-arguments qemu-kvm)
        ((#:phases phases)
         `(alist-cons-before
           'build 'pre-build
           (lambda* (#:key inputs #:allow-other-keys)
-            (let ((libtool    (assoc-ref inputs "libtool"))
-                  (pkg-config (assoc-ref inputs "pkg-config")))
-              ;; XXX: For lack of generic search path handling.
-              (setenv "ACLOCAL_PATH"
-                      (format #f "~a/share/aclocal:~a/share/aclocal"
-                              libtool pkg-config)))
-
-            ;; For pixman's `configure' script.
-            (setenv "CONFIG_SHELL" (which "bash"))
-
-            (substitute* "pixman/configure.ac"
-              (("AM_CONFIG_HEADER") "AC_CONFIG_HEADERS")))
+            (substitute* "tests/libqtest.c"
+              (("/bin/sh") (which "sh"))))
           ,phases))))
-    (native-inputs `(("autoconf" ,autoconf-wrapper) ; for "pixman"
-                     ("automake" ,automake)
-                     ("libtool" ,libtool)
-                     ("libtool-bin" ,libtool "bin")
-                     ("perl" ,perl)))
+    (native-inputs `(("perl" ,perl)))
+    (home-page "http://www.qemu-project.org")
     (description
      "QEMU is a generic and open source machine emulator and virtualizer.
 
diff --git a/gnu/packages/rush.scm b/gnu/packages/rush.scm
new file mode 100644
index 0000000000..a7f1ec4440
--- /dev/null
+++ b/gnu/packages/rush.scm
@@ -0,0 +1,56 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
+;;;
+;;; 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 rush)
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix build-system gnu)
+  #:use-module (guix licenses)
+  #:use-module (gnu packages))
+
+(define-public rush
+  (package
+    (name "rush")
+    (version "1.7")
+    (source (origin
+             (method url-fetch)
+             (uri (string-append
+                   "mirror://gnu/rush/rush-"
+                   version
+                   ".tar.gz"))
+             (sha256
+              (base32
+               "0fh0gbbp0iiq3wbkf503xb40r8ljk42vyj9bnlflbz82d6ipy1rm"))))
+    (build-system gnu-build-system)
+    (arguments
+     '(#:patches (list (assoc-ref %build-inputs "patch/gets-undeclared"))))
+    (inputs `(("patch/gets-undeclared"
+               ,(search-patch "cpio-gets-undeclared.patch"))))
+    (home-page "http://www.gnu.org/software/rush/")
+    (synopsis "Restricted user (login) shell")
+    (description
+     "GNU Rush is a Restricted User Shell, designed for sites providing
+limited remote access to their resources, such as svn or git repositories,
+scp, or the like.  Using a sophisticated configuration file, Rush gives you
+complete control over the command lines that users execute, as well as over
+the usage of system resources, such as virtual memory, CPU time, etc.
+
+In particular, it allows remote programs to be run in a chrooted environment,
+which is important with such programs as sftp-server or scp, that lack this
+ability.")
+    (license gpl3+)))
diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm
index 1e66750b01..4d717128d9 100644
--- a/gnu/packages/scheme.scm
+++ b/gnu/packages/scheme.scm
@@ -128,7 +128,7 @@ development cycle.")
                "1771z43nmf9awjvlvrpjfhzcfxsbw2qipir8g9r47sygf2vn59yl"))))
     (build-system gnu-build-system)
     (arguments
-     '(#:patches (list (assoc-ref %build-inputs "patch/shebangs"))
+     `(#:patches (list (assoc-ref %build-inputs "patch/shebangs"))
        #:test-target "test"
        #:phases (alist-replace
                  'configure
@@ -138,6 +138,17 @@ development cycle.")
                      (("^shell=.*$")
                       (string-append "shell=" (which "bash") "\n")))
 
+                   ;; Since libgc's pthread redirects are used, we end up
+                   ;; using libgc symbols, so we must link against it.
+                   ;; Reported on 2013-06-25.
+                   (substitute* "api/pthread/src/Makefile"
+                     (("^EXTRALIBS[[:blank:]]*=(.*)$" _ value)
+                      (string-append "EXTRALIBS = "
+                                     (string-trim-right value)
+                                     " -l$(GCLIB)_fth-$(RELEASE)"
+                                     " -Wl,-rpath=" (assoc-ref outputs "out")
+                                     "/lib/bigloo/" ,version)))
+
                    ;; Those variables are used by libgc's `configure'.
                    (setenv "SHELL" (which "bash"))
                    (setenv "CONFIG_SHELL" (which "bash"))
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index 018cf1b9f8..c215f2f886 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -1,6 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
 ;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
+;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -31,6 +32,8 @@
   #:use-module (gnu packages perl)
   #:use-module (gnu packages python)
   #:use-module (gnu packages sqlite)
+  #:use-module (gnu packages system)
+  #:use-module (gnu packages emacs)
   #:use-module (gnu packages compression))
 
 (define-public bazaar
@@ -138,3 +141,25 @@ Configuration Management (SCM).  Using it, you can record the history of
 sources files, and documents.  It fills a similar role to the free software
 RCS, PRCS, and Aegis packages.")
     (license gpl1+)))
+
+(define-public vc-dwim
+  (package
+    (name "vc-dwim")
+    (version "1.7")
+    (source (origin
+             (method url-fetch)
+             (uri (string-append "mirror://gnu/vc-dwim/vc-dwim-"
+                                 version ".tar.xz"))
+             (sha256
+              (base32
+               "094pjwshvazlgagc254in2xvrp93vhcj0kb5ms17qs7sch99x9z2"))))
+    (build-system gnu-build-system)
+    (inputs `(("perl" ,perl)
+              ("inetutils" ,inetutils)     ; for `hostname', used in the tests
+              ("emacs" ,emacs)))           ; for `ctags'
+    (home-page "http://www.gnu.org/software/vc-dwim/")
+    (synopsis "Version-control-agnostic ChangeLog diff and commit tool")
+    (description
+     "vc-dwim is a version-control-agnostic ChangeLog diff and commit
+tool. vc-chlog is a helper tool for writing GNU-style ChangeLog entries.")
+    (license gpl3+)))