summaryrefslogtreecommitdiff
path: root/gnu/packages
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2014-06-14 23:25:59 +0200
committerLudovic Courtès <ludo@gnu.org>2014-06-14 23:25:59 +0200
commit7470df5ddfa092872836b7e746ba8af50998b6aa (patch)
treea80014bd2ab00b0def1cca092f083feeb49d87ff /gnu/packages
parentd2e2f142268e32ea2d42990cddfc7df2136741f3 (diff)
parent07254feb24d755a01c63b64c1df1bfb68ac469bf (diff)
Merge branch 'master' into core-updates
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/backup.scm28
-rw-r--r--gnu/packages/busybox.scm105
-rw-r--r--gnu/packages/docbook.scm3
-rw-r--r--gnu/packages/games.scm50
-rw-r--r--gnu/packages/patches/pingus-sdl-libs-config.patch21
-rw-r--r--gnu/packages/skribilo.scm10
-rw-r--r--gnu/packages/ssh.scm20
-rw-r--r--gnu/packages/web.scm60
8 files changed, 290 insertions, 7 deletions
diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm
index 069baa88da..5c44786af3 100644
--- a/gnu/packages/backup.scm
+++ b/gnu/packages/backup.scm
@@ -21,6 +21,7 @@
#:use-module ((guix licenses)
#:renamer (symbol-prefix-proc 'license:))
#:use-module (guix download)
+ #:use-module (guix build utils)
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
#:use-module (gnu packages)
@@ -181,7 +182,23 @@ random access nor for in-place modification.")
version ".tar.bz2"))
(sha256
(base32
- "0aklwd9v7ix0m4ayl762sil685f42cwljzx3jz5skrnjaq32npmj"))))
+ "0aklwd9v7ix0m4ayl762sil685f42cwljzx3jz5skrnjaq32npmj"))
+ (modules '((guix build utils)))
+ (snippet
+ ;; Some test scripts are missing shebangs, which cause "could not
+ ;; execute" errors. Add shebangs.
+ '(for-each
+ (lambda (testscript)
+ (with-atomic-file-replacement
+ (string-append "testsuite/rdup/" testscript)
+ (lambda (in out)
+ (begin
+ (format out "#!/bin/sh\n" )
+ (dump-port in out)))))
+ '("rdup.hardlink.helper"
+ "rdup.hardlink-strip.helper"
+ "rdup.hardlink-strip2.helper"
+ "rdup.pipeline.helper")))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
@@ -199,7 +216,14 @@ random access nor for in-place modification.")
(lambda _
(substitute* "GNUmakefile"
(("^(CFLAGS=.*)-Werror" _ front) front)))
- %standard-phases)))
+ (alist-cons-before
+ 'check 'pre-check
+ (lambda _
+ (setenv "HOME" (getcwd))
+ (substitute* "testsuite/rdup/rdup.rdup-up-t-with-file.exp"
+ (("/bin/cat") (which "cat"))))
+
+ %standard-phases))))
(home-page "http://archive.miek.nl/projects/rdup/index.html")
(synopsis "Provide a list of files to backup")
(description
diff --git a/gnu/packages/busybox.scm b/gnu/packages/busybox.scm
new file mode 100644
index 0000000000..fef026ae01
--- /dev/null
+++ b/gnu/packages/busybox.scm
@@ -0,0 +1,105 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2014 John Darrington <jmd@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 busybox)
+ #:use-module (guix licenses)
+ #:use-module (guix packages)
+ #:use-module (guix download)
+ #:use-module (guix build-system gnu)
+ #:use-module (gnu packages)
+ #:use-module (gnu packages admin)
+ #:use-module (gnu packages perl)
+ #:use-module (gnu packages zip))
+
+(define-public busybox
+ (package
+ (name "busybox")
+ (version "1.22.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://www.busybox.net/downloads/" name "-"
+ version ".tar.bz2"))
+ (sha256
+ (base32
+ "12v7nri79v8gns3inmz4k24q7pcnwi00hybs0wddfkcy1afh42xf"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:phases
+ (alist-replace
+ 'configure
+ (lambda _ (zero? (system* "make" "defconfig")))
+ (alist-replace
+ 'check
+ (lambda _
+ (substitute* '("testsuite/du/du-s-works"
+ "testsuite/du/du-works")
+ (("/bin") "/etc")) ; there is no /bin but there is a /etc
+
+ ;; There is no /usr/bin or /bin - replace it with /gnu/store
+ (substitute* "testsuite/cpio.tests"
+ (("/usr/bin") "/gnu/store")
+ (("usr") "gnu"))
+
+ (substitute* "testsuite/date/date-works-1"
+ (("/bin/date") (which "date")))
+
+ ;; The pidof tests assume that pid 1 is called "init" but that is not
+ ;; true in guix build environment
+ (substitute* "testsuite/pidof.tests"
+ (("-s init") "-s $(cat /proc/1/comm)"))
+
+ (substitute* "testsuite/grep.tests"
+ ;; The subject of this test is buggy. It is known by upstream (fixed in git)
+ ;; So mark it with SKIP_KNOWN_BUGS like the others.
+ ;; Presumably it wasn't known at the time of release ...
+ ;; (It is strange that they release software which they know to have bugs)
+ (("testing \"grep -w \\^str doesn't match str not at the beginning\"")
+ "test x\"$SKIP_KNOWN_BUGS\" = x\"\" && testing \"grep -w ^str doesn't match str not at the beginning\""))
+
+ ;; This test cannot possibly pass.
+ ;; It is trying to test that "which ls" returns "/bin/ls" when PATH is not set.
+ ;; However, this relies on /bin/ls existing. Which it does not in guix.
+ (delete-file "testsuite/which/which-uses-default-path")
+ (rmdir "testsuite/which")
+
+ (zero? (system* "make"
+ ;; "V=1"
+ "SKIP_KNOWN_BUGS=1"
+ "SKIP_INTERNET_TESTS=1"
+ "check")))
+ (alist-replace
+ 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (zero?
+ (system* "make"
+ (string-append "CONFIG_PREFIX=" out)
+ "install"))))
+ %standard-phases)))))
+ (native-inputs `(("perl" ,perl) ; needed to generate the man pages (pod2man)
+ ;; The following are needed by the tests.
+ ("inetutils" ,inetutils)
+ ("zip" ,zip)))
+ (synopsis "Many common UNIX utilities in a single executable")
+ (description "BusyBox combines tiny versions of many common UNIX utilities
+into a single small executable. It provides a fairly complete
+environment for any small or embedded system.")
+ (home-page "http://www.busybox.net")
+ ;; Some files are gplv2+
+ (license gpl2)))
diff --git a/gnu/packages/docbook.scm b/gnu/packages/docbook.scm
index f6d20097e4..29fa409a8c 100644
--- a/gnu/packages/docbook.scm
+++ b/gnu/packages/docbook.scm
@@ -19,8 +19,7 @@
(define-module (gnu packages docbook)
#:use-module (gnu packages)
#:use-module (gnu packages compression)
- #:use-module ((gnu packages base)
- #:select (tar))
+ #:use-module (gnu packages base)
#:use-module (guix licenses)
#:use-module (guix packages)
#:use-module (guix download)
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 0e5616cd59..ce75e6d17c 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 John Darrington <jmd@gnu.org>
;;; Copyright © 2014 David Thompson <dthompson2@worcester.edu>
+;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -21,6 +22,8 @@
#:use-module (guix licenses)
#:use-module (guix packages)
#:use-module (guix download)
+ #:use-module (gnu packages)
+ #:use-module (gnu packages boost)
#:use-module (gnu packages gettext)
#:use-module (gnu packages gl)
#:use-module (gnu packages glib)
@@ -28,6 +31,7 @@
#:use-module (gnu packages gtk)
#:use-module (gnu packages guile)
#:use-module (gnu packages libcanberra)
+ #:use-module (gnu packages libpng)
#:use-module (gnu packages python)
#:use-module (gnu packages readline)
#:use-module (gnu packages xorg)
@@ -158,3 +162,49 @@ expelled by the Catholic Church out of the Languedoc region in France. One of
them, called Jean Raymond, found an old church in which to hide, not knowing
that beneath its ruins lay buried an ancient evil.")
(license gpl3+)))
+
+(define-public pingus
+ (package
+ (name "pingus")
+ (version "0.7.6")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://pingus.googlecode.com/files/pingus-"
+ version ".tar.bz2"))
+ (sha256
+ (base32
+ "0q34d2k6anzqvb0mf67x85q92lfx9jr71ry13dlp47jx0x9i573m"))
+ (patches (list (search-patch "pingus-sdl-libs-config.patch")))))
+ (build-system gnu-build-system)
+ (native-inputs `(("pkg-config" ,pkg-config)
+ ("scons" ,scons)))
+ (inputs `(("sdl" ,sdl)
+ ("sdl-image" ,sdl-image)
+ ("sdl-mixer" ,sdl-mixer)
+ ("mesa" ,mesa)
+ ("libpng" ,libpng)
+ ("boost" ,boost)))
+ (arguments
+ '(#:tests? #f ;no check target
+ #:phases
+ (alist-delete
+ 'configure
+ (alist-replace
+ 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (zero? (system* "make" "install"
+ (string-append "PREFIX="
+ (assoc-ref outputs "out")))))
+ %standard-phases))))
+ (home-page "http://pingus.seul.org/welcome.html")
+ (synopsis "Lemmings clone")
+ (description
+ "Pingus is a free Lemmings-like puzzle game in which the player takes
+command of a bunch of small animals and has to guide them through levels.
+Since the animals walk on their own, the player can only influence them by
+giving them commands, like build a bridge, dig a hole, or redirect all animals
+in the other direction. Multiple such commands are necessary to reach the
+level's exit. The game is presented in a 2D side view.")
+ ;; Some source files are under bsd-3 and gpl2+ licenses.
+ (license gpl3+)))
diff --git a/gnu/packages/patches/pingus-sdl-libs-config.patch b/gnu/packages/patches/pingus-sdl-libs-config.patch
new file mode 100644
index 0000000000..4d695c40db
--- /dev/null
+++ b/gnu/packages/patches/pingus-sdl-libs-config.patch
@@ -0,0 +1,21 @@
+Do not assume the SDL_image and SLD_mixer libraries are installed at the same
+prefix reported by sdl-config, but instead get flags from the pkg-config files
+installed with these libraries.
+
+--- a/SConscript 2011-12-24 15:46:47.000000000 -0600
++++ b/SConscript 2014-06-12 21:20:45.702668330 -0500
+@@ -199,7 +199,13 @@
+ self.fatal_error += " * library 'png' not found\n"
+
+ def configure_sdl(self):
+- if self.conf.CheckMyProgram('sdl-config'):
++ if self.conf.CheckMyProgram('pkg-config'):
++ self.conf.env.ParseConfig("pkg-config --cflags --libs sdl")
++ for sdllib in ['image', 'mixer']:
++ self.conf.env.ParseConfig("pkg-config --cflags --libs SDL_%s" % sdllib)
++ if not self.conf.CheckSDLLib(sdllib):
++ self.fatal_error += " * SDL library '%s' not found\n" % sdllib
++ elif self.conf.CheckMyProgram('sdl-config'):
+ self.conf.env.ParseConfig("sdl-config --cflags --libs | sed 's/-I/-isystem/g'")
+ for sdllib in ['image', 'mixer']:
+ if not self.conf.CheckSDLLib(sdllib):
diff --git a/gnu/packages/skribilo.scm b/gnu/packages/skribilo.scm
index a8319f191a..e9c213cbb2 100644
--- a/gnu/packages/skribilo.scm
+++ b/gnu/packages/skribilo.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -46,11 +46,15 @@
#:parallel-build? #f))
;; TODO: Add Ploticus.
(inputs `(("guile" ,guile-2.0)
- ("guile-reader" ,guile-reader/guile-2.0)
- ("guile-lib" ,guile-lib)
("imagemagick" ,imagemagick)
("ghostscript" ,ghostscript) ; for 'convert'
("lout" ,lout)))
+
+ ;; The 'skribilo' command needs them, and for people using Skribilo as a
+ ;; library, these inputs are needed as well.
+ (propagated-inputs `(("guile-reader" ,guile-reader/guile-2.0)
+ ("guile-lib" ,guile-lib)))
+
(home-page "http://www.nongnu.org/skribilo/")
(synopsis "Document production tool written in Guile Scheme")
(description
diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm
index c8ed3be4a7..f9805d3316 100644
--- a/gnu/packages/ssh.scm
+++ b/gnu/packages/ssh.scm
@@ -321,3 +321,23 @@ connectivity, and provides intelligent local echo and line editing of user
keystrokes. Mosh is a replacement for SSH. It's more robust and responsive,
especially over Wi-Fi, cellular, and long-distance links.")
(license license:gpl3+)))
+
+(define-public dropbear
+ (package
+ (name "dropbear")
+ (version "2014.63")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://matt.ucc.asn.au/" name "/releases/" name "-" version ".tar.bz2"))
+ (sha256
+ (base32 "1bjpbg2vi5f332q4bqxkidkjfxsqmnqvp4g1wyh8d99b8gg94nar"))))
+ (build-system gnu-build-system)
+ (arguments `(#:tests? #f)) ; There is no "make check" or anything similar
+ (inputs `(("zlib" ,zlib)))
+ (synopsis "Small SSH server and client")
+ (description "Dropbear is a relatively small SSH server and
+client. It runs on a variety of POSIX-based platforms. Dropbear is
+particularly useful for embedded systems, such as wireless routers.")
+ (home-page "https://matt.ucc.asn.au/dropbear/dropbear.html")
+ (license (license:x11-style "" "See file LICENSE."))))
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 4eb39069db..8b48994592 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -27,10 +27,13 @@
#:use-module (guix build-system perl)
#:use-module (guix build-system gnu)
#:use-module (gnu packages apr)
+ #:use-module (gnu packages asciidoc)
+ #:use-module (gnu packages docbook)
#:use-module (gnu packages autotools)
#:use-module ((gnu packages compression) #:select (zlib))
#:use-module (gnu packages openssl)
#:use-module (gnu packages pcre)
+ #:use-module (gnu packages xml)
#:use-module (gnu packages perl))
(define-public httpd
@@ -469,3 +472,60 @@ and functions that allow you to write WWW clients. The library also
contain modules that are of more general use and even classes that
help you implement simple HTTP servers.")
(home-page "http://search.cpan.org/~gaas/libwww-perl/")))
+
+(define-public tinyproxy
+ (package
+ (name "tinyproxy")
+ (version "1.8.3")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://www.samba.org/~obnox/" name "/download/" name "-" version ".tar.bz2"))
+ (sha256
+ (base32
+ "0vl9igw7vm924rs6d6bkib7zfclxnlf9s8rmml1sfwj7xda9nmdy"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:configure-flags
+ (list
+ ;; For the log file, etc.
+ "--localstatedir=/var")
+ #:phases
+ (alist-cons-before
+ 'build 'pre-build
+ (lambda* (#:key inputs #:allow-other-keys #:rest args)
+ ;; This stuff is needed, because without it, xmlint etc tries
+ ;; to download docbookx.dtd and docbook.xsl from the net
+ (let ((build (assoc-ref %standard-phases 'build))
+ (docbook-xml (assoc-ref inputs "docbook-xml"))
+ (docbook-xsl (assoc-ref inputs "docbook-xsl"))
+ (our-catalog "/tmp/docbook-xml.xml"))
+ (setenv "XML_CATALOG_FILES" our-catalog)
+ (with-output-to-file our-catalog
+ (lambda ()
+ (display (string-append
+ "<?xml version=\"1.0\"?>
+<!DOCTYPE catalog PUBLIC \"-//OASIS//DTD XML Catalogs V1.0//EN\"
+\"file:///usr/share/xml/schema/xml-core/catalog.dtd\">
+<catalog xmlns=\"urn:oasis:names:tc:entity:xmlns:xml:catalog\">
+<system systemId=\"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd\"
+uri=\"file://" docbook-xml "/xml/dtd/docbook/docbookx.dtd\"/>
+<system systemId=\"http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl\"
+uri=\"file://" docbook-xsl "/xml/xsl/docbook-xsl-1.72.0/manpages/docbook.xsl\"/>
+</catalog>\n"))))))
+ %standard-phases)))
+ ;; All of the below are used to generate the documentation
+ ;; (Should they be propagated inputs of asciidoc ??)
+ (native-inputs `(("asciidoc" ,asciidoc)
+ ("libxml2" ,libxml2)
+ ("docbook-xml" ,docbook-xml)
+ ("docbook-xsl" ,docbook-xsl)
+ ("libxslt" ,libxslt)))
+ (home-page "https://banu.com/tinyproxy/")
+ (synopsis "Light-weight HTTP/HTTPS proxy daemon")
+ (description "Tinyproxy is a light-weight HTTP/HTTPS proxy
+daemon. Designed from the ground up to be fast and yet small, it is an ideal
+solution for use cases such as embedded deployments where a full featured HTTP
+proxy is required, but the system resources for a larger proxy are
+unavailable.")
+ (license l:gpl2+)))