diff options
Diffstat (limited to 'gnu')
-rw-r--r-- | gnu/packages/admin.scm | 53 | ||||
-rw-r--r-- | gnu/packages/bdw-gc.scm | 19 | ||||
-rw-r--r-- | gnu/packages/gnupg.scm | 26 | ||||
-rw-r--r-- | gnu/packages/gnutls.scm | 10 | ||||
-rw-r--r-- | gnu/packages/hurd.scm | 44 | ||||
-rw-r--r-- | gnu/packages/linux.scm | 25 | ||||
-rw-r--r-- | gnu/packages/lynx.scm | 86 | ||||
-rw-r--r-- | gnu/packages/messaging.scm | 123 | ||||
-rw-r--r-- | gnu/packages/mpd.scm | 28 | ||||
-rw-r--r-- | gnu/packages/patches/bitlbee-fix-tests.patch | 33 | ||||
-rw-r--r-- | gnu/packages/patches/bitlbee-memset-fix.patch | 15 | ||||
-rw-r--r-- | gnu/packages/patches/source-highlight-regexrange-test.patch | 15 | ||||
-rw-r--r-- | gnu/packages/pretty-print.scm | 224 | ||||
-rw-r--r-- | gnu/packages/python.scm | 52 | ||||
-rw-r--r-- | gnu/packages/rdf.scm | 11 | ||||
-rw-r--r-- | gnu/packages/ssh.scm | 16 | ||||
-rw-r--r-- | gnu/packages/version-control.scm | 76 | ||||
-rw-r--r-- | gnu/system/vm.scm | 8 |
18 files changed, 832 insertions, 32 deletions
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 6998996523..ffedfd3f44 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -36,6 +36,9 @@ #:select (tar)) #:use-module ((gnu packages compression) #:select (gzip)) + #:use-module (gnu packages bison) + #:use-module (gnu packages flex) + #:use-module (gnu packages glib) #:use-module (gnu packages pkg-config)) (define-public dmd @@ -429,3 +432,53 @@ connection alive.") reference implementation of all aspects of DHCP, through a suite of DHCP tools: server, client, and relay agent.") (license isc))) + +(define-public libpcap + (package + (name "libpcap") + (version "1.5.3") + (source (origin + (method url-fetch) + (uri (string-append "http://www.tcpdump.org/release/libpcap-" + version ".tar.gz")) + (sha256 + (base32 + "14wyjywrdi1ikaj6yc9c72m6m2r64z94lb0gm7k1a3q6q5cj3scs")))) + (build-system gnu-build-system) + (native-inputs `(("bison" ,bison) ("flex" ,flex))) + (arguments '(#:tests? #f)) ; no 'check' target + (home-page "http://www.tcpdump.org") + (synopsis "Network packet capture library") + (description + "libpcap is an interface for user-level packet capture. It provides a +portable framework for low-level network monitoring. Applications include +network statistics collection, security monitoring, network debugging, etc.") + + ;; fad-*.c and a couple other files are BSD-4, but the rest is BSD-3. + (license bsd-3))) + +(define-public jnettop + (package + (name "jnettop") + (version "0.13.0") + (source (origin + (method url-fetch) + (uri (string-append "http://jnettop.kubs.info/dist/jnettop-" + version ".tar.gz")) + (sha256 + (base32 + "1855np7c4b0bqzhf1l1dyzxb90fpnvrirdisajhci5am6als31z9")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("glib" ,glib) + ("ncurses" ,ncurses) + ("libpcap" ,libpcap))) + (home-page "http://jnettop.kubs.info/") + (synopsis "Visualize network traffic by bandwidth use") + (description + "Jnettop is a traffic visualiser, which captures traffic going +through the host it is running from and displays streams sorted +by bandwidth they use.") + (license gpl2+))) diff --git a/gnu/packages/bdw-gc.scm b/gnu/packages/bdw-gc.scm index b223721520..1955cd3ee1 100644 --- a/gnu/packages/bdw-gc.scm +++ b/gnu/packages/bdw-gc.scm @@ -29,9 +29,8 @@ (version "7.2d") (source (origin (method url-fetch) - (uri (string-append - "http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc-" - version ".tar.gz")) + (uri (string-append "http://www.hboehm.info/gc/gc_source/gc-" + version ".tar.gz")) (sha256 (base32 "0phwa5driahnpn79zqff14w9yc8sn3599cxz91m78hqdcpl0mznr")))) @@ -58,10 +57,9 @@ simple collector interface. Alternatively, the garbage collector may be used as a leak detector for C or C++ programs, though that is not its primary goal.") - (home-page "http://www.hpl.hp.com/personal/Hans_Boehm/gc/") + (home-page "http://www.hboehm.info/gc/") - (license - (x11-style "http://www.hpl.hp.com/personal/Hans_Boehm/gc/license.txt")))) + (license (x11-style (string-append home-page "license.txt"))))) (define-public libatomic-ops (package @@ -70,7 +68,7 @@ C or C++ programs, though that is not its primary goal.") (source (origin (method url-fetch) (uri (string-append - "http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/libatomic_ops-" + "http://www.hboehm.info/gc/gc_source/libatomic_ops-" version ".tar.gz")) (sha256 (base32 @@ -83,7 +81,7 @@ C or C++ programs, though that is not its primary goal.") memory update operations on a number architectures. These might allow you to write code that does more interesting things in signal handlers, write lock-free code, experiment with thread programming paradigms, etc.") - (home-page "http://www.hpl.hp.com/research/linux/atomic_ops/") + (home-page "https://github.com/ivmai/libatomic_ops/") ;; Some source files are X11-style, others are GPLv2+. (license gpl2+))) @@ -93,9 +91,8 @@ lock-free code, experiment with thread programming paradigms, etc.") (version "7.4.0") (source (origin (method url-fetch) - (uri (string-append - "http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc-" - version ".tar.gz")) + (uri (string-append "http://www.hboehm.info/gc/gc_source/gc-" + version ".tar.gz")) (sha256 (base32 "10z2nph62ilab063wygg2lv0jxlsbcf2az9w1lx01jzqj5lzry31")))) diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index e06865d196..16ca8ae661 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2013 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org> +;;; Copyright © 2014 Mark H Weaver <mhw@netris.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -209,6 +210,31 @@ components), libgpg-error (centralized GnuPG error values), and libskba (working with X.509 certificates and CMS data).") (license gpl3+))) +(define-public gnupg-1 + (package (inherit gnupg) + (version "1.4.16") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://gnupg/gnupg/gnupg-" version + ".tar.bz2")) + (sha256 + (base32 + "0bsa1yqa3ybhvmc4ys73amdpcmckrlq1fsxjl2980cxada778fvv")))) + (inputs + `(("zlib" ,guix:zlib) + ("bzip2" ,guix:bzip2) + ("curl" ,curl) + ("readline" ,readline) + ("libgpg-error" ,libgpg-error))) + (arguments + `(#:phases (alist-cons-after + 'unpack 'patch-check-sh + (lambda _ + (substitute* "checks/Makefile.in" + (("/bin/sh") (which "bash")))) + %standard-phases))))) + (define-public gpgme (package (name "gpgme") diff --git a/gnu/packages/gnutls.scm b/gnu/packages/gnutls.scm index 915f6f8c8f..0391f54126 100644 --- a/gnu/packages/gnutls.scm +++ b/gnu/packages/gnutls.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014 Mark H Weaver <mhw@netris.org> ;;; ;;; This file is part of GNU Guix. @@ -63,7 +63,7 @@ specifications.") (define-public gnutls (package (name "gnutls") - (version "3.2.11") + (version "3.2.12") (source (origin (method url-fetch) (uri @@ -75,8 +75,12 @@ specifications.") "/gnutls-" version ".tar.xz")) (sha256 (base32 - "1hgk3k8f6wqijca3bsjbfn8pzyfva509y4j2vaxhm4ynfa5cai5q")))) + "0195nliarszq5mginli6d2f5z7ljnd7mwa46iy9z8pkcgy56khbl")))) (build-system gnu-build-system) + (arguments + ;; Work around build issue reported at + ;; <https://lists.gnu.org/archive/html/guix-devel/2014-03/msg00027.html>. + '(#:make-flags '("CPPFLAGS=-DENABLE_RSA_EXPORT"))) (native-inputs `(("pkg-config" ,pkg-config))) (inputs diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm index 3edccbdd1c..f1e7dbc9dc 100644 --- a/gnu/packages/hurd.scm +++ b/gnu/packages/hurd.scm @@ -22,7 +22,9 @@ #:use-module (guix packages) #:use-module (guix build-system gnu) #:use-module (gnu packages flex) - #:use-module (gnu packages bison)) + #:use-module (gnu packages bison) + #:use-module (gnu packages perl) + #:use-module (gnu packages autotools)) (define-public gnumach-headers (package @@ -86,3 +88,43 @@ and to compile the GNU C library for the Hurd. Also,you will need it for other software in the GNU system that uses Mach-based inter-process communication.") (license gpl2+))) + +(define-public hurd-headers + (package + (name "hurd-headers") + (version "0.5") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnu/hurd/hurd-" + version ".tar.gz")) + (sha256 + (base32 + "0lvkz3r0ngb4bsn2hzdc9vjpyrfa3ls36jivrvy1n7f7f55zan7q")))) + (build-system gnu-build-system) + (native-inputs + `(;; Autoconf shouldn't be necessary but there seems to be a bug in the + ;; build system triggering its use. + ("autoconf" ,autoconf) + + ("mig" ,mig))) + (arguments + `(#:phases (alist-replace + 'install + (lambda _ + (zero? (system* "make" "install-headers" "no_deps=t"))) + (alist-delete 'build %standard-phases)) + + #:configure-flags '(;; Pretend we're on GNU/Hurd; 'configure' wants + ;; that. + "--host=i686-pc-gnu" + + ;; Reduce set of dependencies. + "--without-parted") + + #:tests? #f)) + (home-page "http://www.gnu.org/software/hurd/hurd.html") + (synopsis "GNU Hurd headers") + (description + "This package provides C headers of the GNU Hurd, used to build the GNU C +Library and other user programs.") + (license gpl2+))) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 3fca5dfaf9..e1668b1d6b 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -40,6 +40,7 @@ #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu) + #:use-module (guix build-system cmake) #:use-module (guix build-system python)) (define-public (system->linux-architecture arch) @@ -920,3 +921,27 @@ part of this problem by allowing users to run file system implementations as user-space processes.") (license (list lgpl2.1 ; library gpl2+)))) ; command-line utilities + +(define-public unionfs-fuse + (package + (name "unionfs-fuse") + (version "0.26") + (source (origin + (method url-fetch) + (uri (string-append + "http://podgorny.cz/unionfs-fuse/releases/unionfs-fuse-" + version ".tar.xz")) + (sha256 + (base32 + "0qpnr4czgc62vsfnmv933w62nq3xwcbnvqch72qakfgca75rsp4d")))) + (build-system cmake-build-system) + (inputs `(("fuse" ,fuse))) + (arguments '(#:tests? #f)) ; no tests + (home-page "http://podgorny.cz/moin/UnionFsFuse") + (synopsis "User-space union file system") + (description + "UnionFS-FUSE is a flexible union file system implementation in user +space, using the FUSE library. Mounting a union file system allows you to +\"aggregate\" the contents of several directories into a single mount point. +UnionFS-FUSE additionally supports copy-on-write.") + (license bsd-3))) diff --git a/gnu/packages/lynx.scm b/gnu/packages/lynx.scm new file mode 100644 index 0000000000..a87316643d --- /dev/null +++ b/gnu/packages/lynx.scm @@ -0,0 +1,86 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2014 Mark H Weaver <mhw@netris.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 lynx) + #:use-module ((guix licenses) #:select (gpl2)) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system gnu) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages perl) + #:use-module (gnu packages ncurses) + #:use-module (gnu packages libidn) + #:use-module (gnu packages gnutls) + #:use-module (gnu packages gnupg) + #:use-module (gnu packages zip) + #:use-module (gnu packages compression)) + +(define-public lynx + (package + (name "lynx") + (version "2.8.8") + (source (origin + (method url-fetch) + (uri (string-append "http://lynx.isc.org/lynx" version + "/lynx" version ".tar.bz2")) + (sha256 + (base32 "00jcfmx4bxnrzywzzlllz3z45a2mc4fl91ca5lrzz1pyr1s1qnm2")))) + (build-system gnu-build-system) + (native-inputs `(("pkg-config" ,pkg-config) + ("perl" ,perl))) + (inputs `(("ncurses" ,ncurses) + ("libidn" ,libidn) + ("gnutls" ,gnutls) + ("libgcrypt" ,libgcrypt) + ("unzip" ,unzip) + ("zlib" ,zlib) + ("gzip" ,gzip) + ("bzip2" ,bzip2))) + (arguments + `(#:configure-flags '("--with-pkg-config" + "--with-screen=ncurses" + "--with-zlib" + "--with-bzlib" + "--with-gnutls" + ;; "--with-socks5" ; XXX TODO + "--enable-widec" + "--enable-ascii-ctypes" + "--enable-local-docs" + "--enable-htmlized-cfg" + "--enable-gzip-help" + "--enable-nls" + "--enable-ipv6") + #:tests? #f ; no check target + #:phases (alist-replace + 'install + (lambda* (#:key (make-flags '()) #:allow-other-keys) + (zero? (apply system* "make" "install-full" make-flags))) + %standard-phases))) + (synopsis "Text Web Browser") + (description + "Lynx is a fully-featured World Wide Web (WWW) client for users running +cursor-addressable, character-cell display devices. It will display Hypertext +Markup Language (HTML) documents containing links to files on the local +system, as well as files on remote systems running http, gopher, ftp, wais, +nntp, finger, or cso/ph/qi servers. Lynx can be used to access information on +the WWW, or to build information systems intended primarily for local +access.") + (home-page "http://lynx.isc.org/") + (license gpl2))) + +;;; lynx.scm ends here diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm new file mode 100644 index 0000000000..c1a755ef84 --- /dev/null +++ b/gnu/packages/messaging.scm @@ -0,0 +1,123 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2014 Mark H Weaver <mhw@netris.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 messaging) + #:use-module ((guix licenses) + #:select (gpl2+ gpl2 lgpl2.1 bsd-2)) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system gnu) + #:use-module (gnu packages) + #:use-module (gnu packages gnupg) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages glib) + #:use-module (gnu packages gnutls) + #:use-module (gnu packages python) + #:use-module (gnu packages perl) + #:use-module (gnu packages compression) + #:use-module (gnu packages check)) + +(define-public libotr + (package + (name "libotr") + (version "4.0.0") + (source (origin + (method url-fetch) + (uri (string-append "https://otr.cypherpunks.ca/libotr-" + version ".tar.gz")) + (sha256 + (base32 "1d4k0b7v4d3scwm858cmqr9c6xgd6ppla1vk4x2yg64q82a1k49z")))) + (build-system gnu-build-system) + (propagated-inputs + `(("libgcrypt" ,libgcrypt))) ; libotr headers include gcrypt.h + (inputs `(("libgpg-error" ,libgpg-error))) + (arguments + `(#:configure-flags '("--with-pic"))) + (synopsis "Off-the-Record (OTR) Messaging Library and Toolkit") + (description + "OTR allows you to have private conversations over instant messaging by +providing: +* Encryption: No one else can read your instant messages. +* Authentication: You are assured the correspondent is who you think it is. +* Deniability: The messages you send do not have digital signatures that are + checkable by a third party. Anyone can forge messages after a conversation + to make them look like they came from you. However, during a conversation, + your correspondent is assured the messages he sees are authentic and + unmodified. +* Perfect forward secrecy: If you lose control of your private keys, no + previous conversation is compromised.") + (home-page "https://otr.cypherpunks.ca/") + (license (list lgpl2.1 gpl2)))) + +(define-public libotr-3 + (package (inherit libotr) + (version "3.2.1") + (source (origin + (method url-fetch) + (uri (string-append "https://otr.cypherpunks.ca/libotr-" + version ".tar.gz")) + (sha256 + (base32 "1x6dd4rh499hdraiqfhz81igrj0a5rs0gjhc8l4sljwqhjjyla6l")))))) + +(define-public bitlbee + (package + (name "bitlbee") + (version "3.2.1") + (source (origin + (method url-fetch) + (uri (string-append "http://get.bitlbee.org/src/bitlbee-" + version ".tar.gz")) + (sha256 + (base32 "0n8g5452i5qap43zxb83gxp01d48psf6rr3k1q7z6a3dgpfi3x00")) + (patches (list (search-patch "bitlbee-memset-fix.patch") + (search-patch "bitlbee-fix-tests.patch"))))) + (build-system gnu-build-system) + (native-inputs `(("pkg-config" ,pkg-config) + ("check" ,check))) + (inputs `(("glib" ,glib) + ("libotr" ,libotr-3) + ("gnutls" ,gnutls) + ("zlib" ,zlib) ; Needed to satisfy "pkg-config --exists gnutls" + ("python" ,python-2) + ("perl" ,perl))) + (arguments + `(#:phases (alist-cons-after + 'install 'install-etc + (lambda* (#:key (make-flags '()) #:allow-other-keys) + (zero? (apply system* "make" "install-etc" make-flags))) + (alist-replace + 'configure + ;; bitlbee's configure script does not tolerate many of the + ;; variable settings that Guix would pass to it. + (lambda* (#:key outputs #:allow-other-keys) + (zero? (system* "./configure" + (string-append "--prefix=" + (assoc-ref outputs "out")) + "--otr=1"))) + %standard-phases)))) + (synopsis "IRC to instant messaging gateway") + (description "BitlBee brings IM (instant messaging) to IRC clients, for +people who have an IRC client running all the time and don't want to run an +additional IM client. BitlBee currently supports XMPP/Jabber (including +Google Talk), MSN Messenger, Yahoo! Messenger, AIM and ICQ, and the Twitter +microblogging network (plus all other Twitter API compatible services like +identi.ca and status.net).") + (home-page "http://www.bitlbee.org/") + (license (list gpl2+ bsd-2)))) + +;;; messaging.scm ends here diff --git a/gnu/packages/mpd.scm b/gnu/packages/mpd.scm index b2c5dec15b..04b34eaf87 100644 --- a/gnu/packages/mpd.scm +++ b/gnu/packages/mpd.scm @@ -29,13 +29,15 @@ #:use-module (gnu packages glib) #:use-module (gnu packages linux) #:use-module (gnu packages mp3) + #:use-module (gnu packages ncurses) #:use-module (gnu packages pkg-config) #:use-module (gnu packages pulseaudio) #:use-module (gnu packages sqlite) #:use-module (gnu packages video) #:use-module (gnu packages xiph) #:export (libmpdclient - mpd)) + mpd + ncmpc)) (define libmpdclient (package @@ -121,3 +123,27 @@ can play a variety of sound files while being controlled by its network protocol.") (home-page "http://www.musicpd.org/") (license license:gpl2))) + +(define ncmpc + (package + (name "ncmpc") + (version "0.21") + (source (origin + (method url-fetch) + (uri + (string-append "http://musicpd.org/download/ncmpc/" + (car (string-split version #\.)) + "/ncmpc-" version ".tar.gz")) + (sha256 + (base32 + "1gpy6rr0awl6xgkswmr8rdvqfkrz83rmwk441c00a9d4z3zb1a16")))) + (build-system gnu-build-system) + (inputs `(("glib" ,glib) + ("libmpdclient" ,libmpdclient) + ("ncurses" ,ncurses))) + (native-inputs `(("pkg-config" ,pkg-config))) + (synopsis "A curses Music Player Daemon client") + (description "ncmpc is a fully featured MPD client, which runs in a +terminal using ncurses.") + (home-page "http://www.musicpd.org/clients/ncmpc/") + (license license:gpl2))) diff --git a/gnu/packages/patches/bitlbee-fix-tests.patch b/gnu/packages/patches/bitlbee-fix-tests.patch new file mode 100644 index 0000000000..52bb6c605d --- /dev/null +++ b/gnu/packages/patches/bitlbee-fix-tests.patch @@ -0,0 +1,33 @@ +Pass the correct number of arguments to 'nick_strip' and 'nick_ok' in tests. + +Patch by Mark H Weaver <mhw@netris.org>. + +--- bitlbee/tests/check_nick.c.orig 2013-11-27 17:54:54.000000000 -0500 ++++ bitlbee/tests/check_nick.c 2014-03-05 23:41:45.761230468 -0500 +@@ -30,7 +30,7 @@ START_TEST(test_nick_strip) + for (i = 0; get[i]; i++) { + char copy[60]; + strcpy(copy, get[i]); +- nick_strip(copy); ++ nick_strip(NULL, copy); + fail_unless (strcmp(copy, expected[i]) == 0, + "(%d) nick_strip broken: %s -> %s (expected: %s)", + i, get[i], copy, expected[i]); +@@ -45,7 +45,7 @@ START_TEST(test_nick_ok_ok) + int i; + + for (i = 0; nicks[i]; i++) { +- fail_unless (nick_ok(nicks[i]) == 1, ++ fail_unless (nick_ok(NULL, nicks[i]) == 1, + "nick_ok() failed: %s", nicks[i]); + } + } +@@ -58,7 +58,7 @@ START_TEST(test_nick_ok_notok) + int i; + + for (i = 0; nicks[i]; i++) { +- fail_unless (nick_ok(nicks[i]) == 0, ++ fail_unless (nick_ok(NULL, nicks[i]) == 0, + "nick_ok() succeeded for invalid: %s", nicks[i]); + } + } diff --git a/gnu/packages/patches/bitlbee-memset-fix.patch b/gnu/packages/patches/bitlbee-memset-fix.patch new file mode 100644 index 0000000000..1d801e0070 --- /dev/null +++ b/gnu/packages/patches/bitlbee-memset-fix.patch @@ -0,0 +1,15 @@ +Fix the size argument to 'memset'. + +Patch by Mark H Weaver <mhw@netris.org>. + +--- bitlbee/lib/md5.c.orig 2013-11-27 17:54:54.000000000 -0500 ++++ bitlbee/lib/md5.c 2014-03-05 21:39:04.739746093 -0500 +@@ -159,7 +159,7 @@ void md5_finish(struct MD5Context *ctx, + ctx->buf[2] = cvt32(ctx->buf[2]); + ctx->buf[3] = cvt32(ctx->buf[3]); + memcpy(digest, ctx->buf, 16); +- memset(ctx, 0, sizeof(ctx)); /* In case it's sensitive */ ++ memset(ctx, 0, sizeof(*ctx)); /* In case it's sensitive */ + } + + void md5_finish_ascii(struct MD5Context *context, char *ascii) diff --git a/gnu/packages/patches/source-highlight-regexrange-test.patch b/gnu/packages/patches/source-highlight-regexrange-test.patch new file mode 100644 index 0000000000..298c831b35 --- /dev/null +++ b/gnu/packages/patches/source-highlight-regexrange-test.patch @@ -0,0 +1,15 @@ +Disable a single check. The failure is discussed at: + + https://savannah.gnu.org/bugs/index.php?41786 + +--- a/lib/tests/test_regexranges_main.cpp 2012-04-14 08:58:25.000000000 -0500 ++++ b/lib/tests/test_regexranges_main.cpp 2014-03-05 23:49:23.520402043 -0600 +@@ -52,7 +52,7 @@ + check_range_regex("simple regex"); + check_range_regex("[[:alpha:]]+"); + // test with a wrong regular expression +- check_range_regex("{notclosed", false); ++ // check_range_regex("{notclosed", false); + + // reset regular expressions + ranges.clear(); diff --git a/gnu/packages/pretty-print.scm b/gnu/packages/pretty-print.scm new file mode 100644 index 0000000000..0bfbeb7229 --- /dev/null +++ b/gnu/packages/pretty-print.scm @@ -0,0 +1,224 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.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 pretty-print) + #:use-module (guix packages) + #:use-module (guix licenses) + #:use-module (guix download) + #:use-module (guix build-system gnu) + #:use-module (gnu packages) + #:use-module (gnu packages ghostscript) + #:use-module (gnu packages groff) + #:use-module (gnu packages imagemagick) + #:use-module (gnu packages gv) + #:use-module (gnu packages boost) + #:use-module (gnu packages bison) + #:use-module (gnu packages flex) + #:use-module (gnu packages gperf) + #:use-module (gnu packages perl) + #:use-module (gnu packages file)) + +(define-public a2ps + (package + (name "a2ps") + (version "4.14") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://gnu/a2ps/a2ps-" + version ".tar.gz")) + (sha256 + (base32 + "195k78m1h03m961qn7jr120z815iyb93gwi159p1p9348lyqvbpk")))) + (build-system gnu-build-system) + (inputs + `(("psutils" ,psutils) + ("groff" ,groff) + ("gv" ,gv) + ("imagemagick" ,imagemagick))) + (native-inputs + `(("gperf" ,gperf) + ("perl" ,perl) + ("file" ,file))) + (arguments + '(#:phases (alist-replace + 'configure + (lambda* (#:key #:allow-other-keys #:rest args) + (let ((configure (assoc-ref %standard-phases 'configure))) + (substitute* "configure" + (("/usr/bin/file") (which "file"))) + (apply configure args))) + (alist-cons-before + 'build 'patch-scripts + (lambda _ + (substitute* + '("afm/make_fonts_map.sh" + "tests/defs" + "tests/backup.tst" + "tests/styles.tst") + (("/bin/rm") (which "rm")))) + (alist-cons-before + 'check 'patch-test-files + ;; Alternatively, we could unpatch the shebangs in tstfiles + (lambda* (#:key inputs #:allow-other-keys) + (let ((perl (assoc-ref inputs "perl"))) + (substitute* '("tests/ps-ref/includeres.ps" + "tests/gps-ref/includeres.ps") + (("/usr/local/bin/perl") + (string-append perl "/bin/perl")))) + ;; Some of the reference postscript contain a 'version 3' + ;; string that in inconsistent with the source text in the + ;; tstfiles directory. Erroneous search-and-replace? + (substitute* '("tests/ps-ref/InsertBlock.ps" + "tests/gps-ref/InsertBlock.ps" + "tests/ps-ref/bookie.ps" + "tests/gps-ref/bookie.ps") + (("version 3") "version 2")) + (substitute* '("tests/ps-ref/psmandup.ps" + "tests/gps-ref/psmandup.ps") + (("#! */bin/sh") (string-append + "#!" (which "sh"))))) + %standard-phases))))) + (home-page "http://www.gnu.org/software/a2ps") + (synopsis "Any file to PostScript, including pretty-printing") + (description + "GNU a2ps converts almost anything to a PostScript file, ready for +printing. It accomplishes this by being able to delegate files to external +handlers, such as Groff and Gzip. It handles as many steps as is necessary to +produce a pretty-printed file. It also includes some extra abilities for +special cases, such as pretty-printing \"--help\" output.") + (license gpl3+))) + +(define-public trueprint + (package + (name "trueprint") + (version "5.4") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://gnu/trueprint/trueprint-" + version ".tar.gz")) + (sha256 + (base32 + "13rkc0fga10xyf56yy9dnq95zndnfadkhxflnp24skszj21y8jqh")))) + (build-system gnu-build-system) + (native-inputs `(("file" ,file))) + (arguments + ;; Must define DIFF_CMD for tests to pass + '(#:configure-flags '("CPPFLAGS=-DDIFF_CMD=\\\"diff\\\"") + #:phases (alist-replace + 'configure + (lambda* (#:key #:allow-other-keys #:rest args) + (let ((configure (assoc-ref %standard-phases 'configure))) + (substitute* "configure" + (("/usr/bin/file") (which "file"))) + (apply configure args))) + %standard-phases))) + (home-page "http://www.gnu.org/software/trueprint") + (synopsis "Pretty-print C sources and other plain text to PostScript") + (description + "GNU Trueprint translates C source code files as PostScript files. +In addition to the basic source code output, it can also perform diff-marking, +indentation counting, function and file indices and more.") + (license gpl2))) + +(define-public enscript + (package + (name "enscript") + (version "1.6.6") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://gnu/enscript/enscript-" + version ".tar.gz")) + (sha256 + (base32 + "1fy0ymvzrrvs889zanxcaxjfcxarm2d3k43c9frmbl1ld7dblmkd")))) + (build-system gnu-build-system) + (home-page "http://www.gnu.org/software/enscript") + (synopsis "Generating PostScript, including pretty-printing") + (description + "GNU Enscript is a program to convert ASCII text files to PostScript, +HTML or RTF formats, to be stored in files or sent immediately to a printer. +It also includes the capability to perform syntax highlighting for several +different programming languages.") + (license gpl3+))) + +(define-public source-highlight + (package + (name "source-highlight") + (version "3.1.7") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://gnu/src-highlite/source-highlight-" + version ".tar.gz")) + (sha256 + (base32 + "1s49ld8cnpzhhwq0r7s0sfm3cg3nhhm0wla27lwraifrrl3y1cp1")) + (patches + (list (search-patch + ;; Patch submitted as Savannah item #41786 + "source-highlight-regexrange-test.patch"))))) + (build-system gnu-build-system) + ;; The ctags that comes with emacs does not support the --excmd options, + ;; so can't be used + (inputs + `(("boost" ,boost))) + (native-inputs + `(("bison" ,bison) + ("flex" ,flex) + ("file" ,file))) + (arguments + `(#:configure-flags + (list (string-append "--with-boost=" + (assoc-ref %build-inputs "boost"))) + #:parallel-tests? #f ;There appear to be race conditions + #:phases (alist-replace + 'configure + (lambda* (#:key #:allow-other-keys #:rest args) + (let ((configure (assoc-ref %standard-phases 'configure))) + (substitute* "configure" + (("/usr/bin/file") (which "file"))) + (apply configure args))) + (alist-cons-before + 'check 'patch-test-files + (lambda* (#:key inputs #:allow-other-keys) + ;; Unpatch shebangs in test input so that source-highlight + ;; is still able to infer input language + (substitute* '("tests/test.sh" + "tests/test2.sh" + "tests/test.tcl") + (((string-append "#! *" (which "sh"))) "#!/bin/sh")) + ;; Initial patching unrecoverably removes whitespace, so + ;; remove it also in the comparison output. + (substitute* '("tests/test.sh.html" + "tests/test2.sh.html" + "tests/test.tcl.html") + (("#! */bin/sh") "#!/bin/sh"))) + %standard-phases)))) + (home-page "http://www.gnu.org/software/src-highlite") + (synopsis "Produce a document with syntax highlighting from a source file") + (description + "GNU source-highlight reads in a source code file and produces an output +file in which the keywords are highlighted in different colors to designate +their syntactic role. It supports over 150 different languages and it can +output to 8 different formats, including HTML, LaTeX and ODF. It can also +output to ANSI color escape sequences, so that highlighted source code can be +seen in a terminal.") + (license gpl3+))) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 44e3c14aa2..ad1ac5c8f7 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -20,7 +20,8 @@ (define-module (gnu packages python) #:use-module ((guix licenses) - #:select (bsd-3 bsd-style psfl x11 gpl2+ lgpl2.1+)) + #:select (bsd-3 bsd-style psfl x11 x11-style + gpl2 gpl2+ lgpl2.1+)) #:use-module ((guix licenses) #:select (zlib) #:renamer (symbol-prefix-proc 'license:)) #:use-module (gnu packages) @@ -505,6 +506,55 @@ system is highly configurable via command line options and embedded commands.") (license lgpl2.1+))) +(define-public python2-element-tree + (package + (name "python2-element-tree") + (version "1.2.6") + (source (origin + (method url-fetch) + (uri (string-append + "http://effbot.org/media/downloads/elementtree-" + version "-20050316.tar.gz")) + (sha256 + (base32 + "016bphqnlg0l4vslahhw4r0aanw95bpypy65r1i1acyb2wj5z7dj")))) + (build-system python-build-system) + (arguments + `(#:python ,python-2 ; seems to be part of Python 3 + #:tests? #f)) ; no 'test' sub-command + (synopsis "Toolkit for XML processing in Python") + (description + "ElementTree is a Python library supporting lightweight XML processing.") + (home-page "http://effbot.org/zone/element-index.htm") + (license (x11-style "http://docs.python.org/2/license.html" + "Like \"CWI LICENSE AGREEMENT FOR PYTHON \ +0.9.0 THROUGH 1.2\".")))) + +(define-public python2-pybugz + (package + (name "python2-pybugz") + (version "0.6.11") + (source (origin + (method url-fetch) + (uri (string-append + "http://bits.liquidx.net/projects/pybugz/pybugz-" + version ".tar.gz")) + (sha256 + (base32 + "17ni00p08gp5lkxlrrcnvi3x09fmajnlbz4da03qcgl9q21ym4jd")))) + (build-system python-build-system) + (arguments + `(#:python ,python-2 ; SyntaxError with Python 3 + #:tests? #f)) ; no 'test' sub-command + (inputs `(("element-tree" ,python2-element-tree))) + (synopsis "Python and command-line interface to Bugzilla") + (description + "PyBugz is a Python library and command-line tool to query the Bugzilla +bug tracking system. It is meant as an aid to speed up interaction with the +bug tracker.") + (home-page "http://www.liquidx.net/pybugz/") + (license gpl2))) + (define-public scons (package (name "scons") diff --git a/gnu/packages/rdf.scm b/gnu/packages/rdf.scm index 1f2bc7932d..22cfc2e257 100644 --- a/gnu/packages/rdf.scm +++ b/gnu/packages/rdf.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013 Andreas Enge <andreas@enge.fr> +;;; Copyright © 2013, 2014 Andreas Enge <andreas@enge.fr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -45,6 +45,8 @@ ("libxml2" ,libxml2) ("libxslt" ,libxslt) ("zlib" ,zlib))) + (arguments + `(#:parallel-tests? #f)) (home-page "http://librdf.org/raptor/") (synopsis "RDF syntax library") (description "Raptor is a C library providing a set of parsers and @@ -76,11 +78,12 @@ HTML and JSON.") (base32 "08gb5d8bgy7vc6qd6r1kkmmc5rli67dlglpjqjlahpnvs26r1cwl")))) (build-system cmake-build-system) - ;; FIXME: Add optional dependencies: Raptor, Redland, odbci, clucene; doxygen - (inputs - `(("qt" ,qt-4))) + ;; FIXME: Add optional dependencies: Redland, odbci, clucene; doxygen (native-inputs `(("pkg-config" ,pkg-config))) + (inputs + `(("qt" ,qt-4) + ("raptor2" ,raptor2))) (home-page "http://soprano.sourceforge.net/") (synopsis "RDF data library for Qt") (description "Soprano (formerly known as QRDF) is a library which diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm index 41ceeb6cef..6bf68a916e 100644 --- a/gnu/packages/ssh.scm +++ b/gnu/packages/ssh.scm @@ -27,6 +27,7 @@ #:use-module (gnu packages guile) #:use-module (gnu packages pkg-config) #:use-module (gnu packages autotools) + #:use-module (gnu packages texinfo) #:use-module (gnu packages which) #:use-module (guix packages) #:use-module (guix download) @@ -185,7 +186,7 @@ Additionally, various channel-specific options can be negotiated.") (define-public guile-ssh (package (name "guile-ssh") - (version "0.4.0") + (version "0.5.0") (source (origin (method url-fetch) (uri (string-append @@ -193,13 +194,13 @@ Additionally, various channel-specific options can be negotiated.") version ".tar.gz")) (sha256 (base32 - "0vw02r261amkp6238cflww2y9y1v6vfx9ias6hvn8dlx0ghrd5dw")))) + "13wk2fj08b8zjylvf78l3d9pf8y3zqcd7h75jf15a46iprk00n7q")))) (build-system gnu-build-system) (arguments '(#:phases (alist-cons-before 'configure 'autoreconf (lambda* (#:key inputs #:allow-other-keys) - (substitute* "src/Makefile.am" + (substitute* "ssh/Makefile.am" (("-lssh_threads" match) (string-append "-L" (assoc-ref inputs "libssh") "/lib " match))) @@ -223,10 +224,17 @@ Additionally, various channel-specific options can be negotiated.") %standard-phases)) #:configure-flags (list (string-append "--with-guilesitedir=" (assoc-ref %outputs "out") - "/share/guile/site/2.0")))) + "/share/guile/site/2.0")) + + ;; Two client/server tests use the same port. + #:parallel-tests? #f + + ;; XXX: There are test failures reported and being fixed. + #:tests? #f)) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) ("libtool" ,libtool "bin") + ("texinfo" ,texinfo) ("pkg-config" ,pkg-config) ("which" ,which))) (inputs `(("guile" ,guile-2.0) diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index 3d69eee5cd..41df90b8a7 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org> ;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com> ;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org> -;;; Copyright © 2013 Andreas Enge <andreas@enge.fr> +;;; Copyright © 2013, 2014 Andreas Enge <andreas@enge.fr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -26,13 +26,15 @@ #:use-module (guix build-system gnu) #:use-module (guix build-system python) #:use-module (guix build utils) - #:use-module (gnu packages gettext) #:use-module (gnu packages apr) #:use-module (gnu packages curl) #:use-module (gnu packages ed) + #:use-module (gnu packages gettext) +;; #:use-module (gnu packages gnutls) #:use-module (gnu packages nano) #:use-module (gnu packages openssl) #:use-module (gnu packages perl) + #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) #:use-module (gnu packages sqlite) #:use-module (gnu packages admin) @@ -216,17 +218,77 @@ It efficiently handles projects of any size and offers an easy and intuitive interface.") (license gpl2+))) +(define-public neon + (package + (name "neon") + (version "0.30.0") + (source (origin + (method url-fetch) + (uri (string-append "http://www.webdav.org/neon/neon-" + version ".tar.gz")) + (sha256 + (base32 + "1hlhg5w505jxdvaf7bq17057f6a48dry981g7lp2gwrhbp5wyqi9")))) + (build-system gnu-build-system) + (native-inputs + `(("perl" ,perl) + ("pkg-config" ,pkg-config))) + (inputs + `(("libxml2" ,libxml2) + ("openssl" ,openssl) + ("zlib" ,zlib))) + (arguments + `(;; FIXME: Add tests once reverse address lookup is fixed in glibc, see + ;; https://sourceware.org/bugzilla/show_bug.cgi?id=16475 + #:tests? #f + #:configure-flags '("--enable-shared" + ;; requires libgnutils-config, deprecated + ;; in gnutls 2.8. + ; "--with-ssl=gnutls"))) + "--with-ssl=openssl"))) + (home-page "http://www.webdav.org/neon/") + (synopsis "HTTP and WebDAV client library") + (description "Neon is an HTTP and WebDAV client library, with a +C interface. Features: +High-level wrappers for common HTTP and WebDAV operations (GET, MOVE, +DELETE, etc.); +low-level interface to the HTTP request/response engine, allowing the use +of arbitrary HTTP methods, headers, etc.; +authentication support including Basic and Digest support, along with +GSSAPI-based Negotiate on Unix, and SSPI-based Negotiate/NTLM on Win32; +SSL/TLS support using OpenSSL or GnuTLS, exposing an abstraction layer for +verifying server certificates, handling client certificates, and examining +certificate properties, smartcard-based client certificates are also +supported via a PKCS#11 wrapper interface; +abstract interface to parsing XML using libxml2 or expat, and wrappers for +simplifying handling XML HTTP response bodies; +WebDAV metadata support, wrappers for PROPFIND and PROPPATCH to simplify +property manipulation.") + (license gpl2+))) ; for documentation and tests; source under lgpl2.0+ + +(define-public neon-0.29.6 + (package (inherit neon) + (name "neon") + (version "0.29.6") + (source (origin + (method url-fetch) + (uri (string-append "http://www.webdav.org/neon/neon-" + version ".tar.gz")) + (sha256 + (base32 + "0hzbjqdx1z8zw0vmbknf159wjsxbcq8ii0wgwkqhxj3dimr0nr4w")))))) + (define-public subversion (package (name "subversion") - (version "1.7.8") + (version "1.7.14") (source (origin (method url-fetch) (uri (string-append "http://archive.apache.org/dist/subversion/subversion-" version ".tar.bz2")) (sha256 (base32 - "11inl9n1riahfnbk1fax0dysm2swakzhzhpmm2zvga6fikcx90zw")))) + "038jbcpwm083abp0rvk0fhnx65kp9mz1qvzs3f83ig8fxcvqzb64")))) (build-system gnu-build-system) (arguments '(#:phases (alist-cons-after @@ -250,11 +312,13 @@ and offers an easy and intuitive interface.") (system* "make" "install"))))))) %standard-phases))) (native-inputs - ;; For the Perl bindings. - `(("swig" ,swig))) + `(("pkg-config" ,pkg-config) + ;; For the Perl bindings. + ("swig" ,swig))) (inputs `(("apr" ,apr) ("apr-util" ,apr-util) + ("neon" ,neon-0.29.6) ("perl" ,perl) ("python" ,python-2) ; incompatible with Python 3 (print syntax) ("sqlite" ,sqlite) diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm index b8b0274f1f..b6a777353f 100644 --- a/gnu/system/vm.scm +++ b/gnu/system/vm.scm @@ -383,7 +383,13 @@ such as /etc files." (system* grub "--no-floppy" "--boot-directory" "/fs/boot" "/dev/sda")) - (zero? (system* umount "/fs")) + (begin + (when (file-exists? "/fs/dev/pts") + ;; Unmount devpts so /fs itself can be + ;; unmounted (failing to do that leads to + ;; EBUSY.) + (system* umount "/fs/dev/pts")) + (zero? (system* umount "/fs"))) (reboot)))))))) #:system system #:inputs `(("parted" ,parted) |