From e531172d11664557624edb821dd46a9d9237e3ad Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Wed, 4 Jun 2014 23:45:31 -0500 Subject: gnu: rdup: Fix tests. * gnu/packages/backup.scm (rdup) [arguments]: Add pre-check phase. [origin]: Add snippet. --- gnu/packages/backup.scm | 28 ++++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) (limited to 'gnu/packages') 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 -- cgit v1.2.3 From 6ec2e6b0c9bfae6be111f367079e57fd4d7ccdf5 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 9 Jun 2014 18:50:16 +0200 Subject: gnu: skribilo: Propagate Guile dependencies. Reported by Carlos Carleos . * gnu/packages/skribilo.scm (skribilo)[inputs]: Move GUILE-READER/GUILE-2.0 and GUILE-LIB to... [propagated-inputs]: ... here. New field. --- gnu/packages/skribilo.scm | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'gnu/packages') 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 +;;; Copyright © 2013, 2014 Ludovic Courtès ;;; ;;; 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 -- cgit v1.2.3 From 8c6cfd553e9e2a0c4ab65ae5768dfea23146d2f9 Mon Sep 17 00:00:00 2001 From: John Darrington Date: Thu, 12 Jun 2014 14:46:39 +0200 Subject: gnu: Add dropbear. * gnu/packages/ssh.scm (dropbear): New variable. --- gnu/packages/ssh.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'gnu/packages') 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.")))) -- cgit v1.2.3 From b777d784a0cb05a25dfda2c0561fe0af562c922a Mon Sep 17 00:00:00 2001 From: John Darrington Date: Thu, 12 Jun 2014 13:03:53 +0200 Subject: gnu: Add tinyproxy. * gnu/packages/web.scm (tinyproxy): New variable. * gnu/packages/docbook.scm: Remove #:select (tar) --- gnu/packages/docbook.scm | 3 +-- gnu/packages/web.scm | 60 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 61 insertions(+), 2 deletions(-) (limited to 'gnu/packages') 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/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 + " + + + + +\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+))) -- cgit v1.2.3 From 95faa1071484ab550b2919c56d9d755eff9696c8 Mon Sep 17 00:00:00 2001 From: John Darrington Date: Tue, 27 May 2014 08:53:30 +0200 Subject: gnu: Add busybox. * gnu/packages/busybox.scm: New file. * gnu-system.am: Add gnu/packages/busybox.scm. --- gnu-system.am | 1 + gnu/packages/busybox.scm | 105 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 106 insertions(+) create mode 100644 gnu/packages/busybox.scm (limited to 'gnu/packages') diff --git a/gnu-system.am b/gnu-system.am index c5331fa10d..fbe031a7ea 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -45,6 +45,7 @@ GNU_SYSTEM_MODULES = \ gnu/packages/bison.scm \ gnu/packages/boost.scm \ gnu/packages/bootstrap.scm \ + gnu/packages/busybox.scm \ gnu/packages/calcurse.scm \ gnu/packages/ccache.scm \ gnu/packages/cdrom.scm \ 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 +;;; +;;; 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 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))) -- cgit v1.2.3 From a83c6a6471b0f1950ab5c53acb278e1b88d51c11 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 12 Jun 2014 23:54:44 -0500 Subject: gnu: Add pingus. * gnu/packages/games.scm (pingus): New variable. * gnu/packages/patches/pingus-sdl-libs-config.patch: New patch. * gnu-system.am (dist_patch_DATA): Add it. --- gnu-system.am | 1 + gnu/packages/games.scm | 50 +++++++++++++++++++++++ gnu/packages/patches/pingus-sdl-libs-config.patch | 21 ++++++++++ 3 files changed, 72 insertions(+) create mode 100644 gnu/packages/patches/pingus-sdl-libs-config.patch (limited to 'gnu/packages') diff --git a/gnu-system.am b/gnu-system.am index fbe031a7ea..653b99a93d 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -338,6 +338,7 @@ dist_patch_DATA = \ gnu/packages/patches/perl-no-sys-dirs.patch \ gnu/packages/patches/perl-tk-x11-discover.patch \ gnu/packages/patches/petsc-fix-threadcomm.patch \ + gnu/packages/patches/pingus-sdl-libs-config.patch \ gnu/packages/patches/plotutils-libpng-jmpbuf.patch \ gnu/packages/patches/procps-make-3.82.patch \ gnu/packages/patches/pybugz-encode-error.patch \ 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 ;;; Copyright © 2014 David Thompson +;;; Copyright © 2014 Eric Bavier ;;; ;;; 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): -- cgit v1.2.3