Merge branch 'master' into core-updates

This commit is contained in:
Ludovic Courtès 2014-06-14 23:25:59 +02:00
commit 7470df5ddf
34 changed files with 7402 additions and 1933 deletions

49
.gitignore vendored
View File

@ -22,21 +22,40 @@ config.cache
/m4/nls.m4 /m4/nls.m4
/m4/po.m4 /m4/po.m4
/m4/progtest.m4 /m4/progtest.m4
/po/ChangeLog /po/guix/ChangeLog
/po/Makefile.in.in /po/guix/Makefile.in.in
/po/Makevars.template /po/guix/Makevars.template
/po/POTFILES /po/guix/POTFILES
/po/Rules-quot /po/guix/Rules-quot
/po/boldquot.sed /po/guix/boldquot.sed
/po/en@boldquot.header /po/guix/en@boldquot.*
/po/en@quot.header /po/guix/en@quot.*
/po/insert-header.sin /po/guix/insert-header.sin
/po/quot.sed /po/guix/*.insert-header
/po/remove-potcdate.sin /po/guix/quot.sed
/po/stamp-po /po/guix/remove-potcdate.sed
/po/guix.pot /po/guix/remove-potcdate.sin
/po/*.mo /po/guix/stamp-po
/po/*.gmo /po/guix/guix.pot
/po/guix/*.mo
/po/guix/*.gmo
/po/packages/ChangeLog
/po/packages/Makefile.in.in
/po/packages/Makevars.template
/po/packages/POTFILES
/po/packages/Rules-quot
/po/packages/boldquot.sed
/po/packages/en@boldquot.*
/po/packages/en@quot.*
/po/packages/insert-header.sin
/po/packages/*.insert-header
/po/packages/quot.sed
/po/packages/remove-potcdate.sed
/po/packages/remove-potcdate.sin
/po/packages/stamp-po
/po/packages/guix-packages.pot
/po/packages/*.mo
/po/packages/*.gmo
/tests/*.trs /tests/*.trs
/INSTALL /INSTALL
/m4/* /m4/*

View File

@ -246,7 +246,7 @@ SUFFIXES = .go
guix_install_go_files = install-nobase_nodist_guilemoduleDATA guix_install_go_files = install-nobase_nodist_guilemoduleDATA
$(guix_install_go_files): install-nobase_dist_guilemoduleDATA $(guix_install_go_files): install-nobase_dist_guilemoduleDATA
SUBDIRS = po SUBDIRS = po/guix po/packages
include doc.am include doc.am

1
THANKS
View File

@ -7,6 +7,7 @@ suggestions, bug reports, patches, internationalization, or general
infrastructure help: infrastructure help:
Lluís Batlle i Rossell <viric@viric.name> Lluís Batlle i Rossell <viric@viric.name>
Carlos Carleos <carleos@uniovi.es>
Felipe Castro <fefcas@gmail.com> Felipe Castro <fefcas@gmail.com>
Daniel Clark <dclark@pobox.com> Daniel Clark <dclark@pobox.com>
Alexandru Cojocaru <xojoc@gmx.com> Alexandru Cojocaru <xojoc@gmx.com>

View File

@ -16,7 +16,7 @@ dnl For the C++ code. This must be used early.
AC_USE_SYSTEM_EXTENSIONS AC_USE_SYSTEM_EXTENSIONS
AM_GNU_GETTEXT([external]) AM_GNU_GETTEXT([external])
AM_GNU_GETTEXT_VERSION([0.18.1]) AM_GNU_GETTEXT_VERSION([0.18.3])
guilemoduledir="${datarootdir}/guile/site/2.0" guilemoduledir="${datarootdir}/guile/site/2.0"
AC_SUBST([guilemoduledir]) AC_SUBST([guilemoduledir])
@ -166,7 +166,8 @@ dnl See `HACKING' for more info.
AM_MISSING_PROG([DOT], [dot]) AM_MISSING_PROG([DOT], [dot])
AC_CONFIG_FILES([Makefile AC_CONFIG_FILES([Makefile
po/Makefile.in po/guix/Makefile.in
po/packages/Makefile.in
guix/config.scm]) guix/config.scm])
AC_CONFIG_FILES([scripts/guix], [chmod +x scripts/guix]) AC_CONFIG_FILES([scripts/guix], [chmod +x scripts/guix])

View File

@ -1305,7 +1305,8 @@ store. To instruct the daemon to perform a build action, users actually
provide it with a @dfn{derivation}. A derivation is a low-level provide it with a @dfn{derivation}. A derivation is a low-level
representation of the build actions to be taken, and the environment in representation of the build actions to be taken, and the environment in
which they should occur---derivations are to package definitions what which they should occur---derivations are to package definitions what
assembly is to C programs. assembly is to C programs. The term ``derivation'' comes from the fact
that build results @emph{derive} from them.
This chapter describes all these APIs in turn, starting from high-level This chapter describes all these APIs in turn, starting from high-level
package definitions. package definitions.
@ -2243,7 +2244,11 @@ For example, @var{expr} may be @code{(@@ (gnu packages guile)
guile-1.8)}, which unambiguously designates this specific variant of guile-1.8)}, which unambiguously designates this specific variant of
version 1.8 of Guile. version 1.8 of Guile.
Alternately, @var{expr} may refer to a zero-argument monadic procedure Alternately, @var{expr} may be a G-expression, in which case it is used
as a build program passed to @code{gexp->derivation}
(@pxref{G-Expressions}).
Lastly, @var{expr} may refer to a zero-argument monadic procedure
(@pxref{The Store Monad}). The procedure must return a derivation as a (@pxref{The Store Monad}). The procedure must return a derivation as a
monadic value, which is then passed through @code{run-with-store}. monadic value, which is then passed through @code{run-with-store}.

View File

@ -45,6 +45,7 @@ GNU_SYSTEM_MODULES = \
gnu/packages/bison.scm \ gnu/packages/bison.scm \
gnu/packages/boost.scm \ gnu/packages/boost.scm \
gnu/packages/bootstrap.scm \ gnu/packages/bootstrap.scm \
gnu/packages/busybox.scm \
gnu/packages/calcurse.scm \ gnu/packages/calcurse.scm \
gnu/packages/ccache.scm \ gnu/packages/ccache.scm \
gnu/packages/cdrom.scm \ gnu/packages/cdrom.scm \
@ -337,6 +338,7 @@ dist_patch_DATA = \
gnu/packages/patches/perl-no-sys-dirs.patch \ gnu/packages/patches/perl-no-sys-dirs.patch \
gnu/packages/patches/perl-tk-x11-discover.patch \ gnu/packages/patches/perl-tk-x11-discover.patch \
gnu/packages/patches/petsc-fix-threadcomm.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/plotutils-libpng-jmpbuf.patch \
gnu/packages/patches/procps-make-3.82.patch \ gnu/packages/patches/procps-make-3.82.patch \
gnu/packages/patches/pybugz-encode-error.patch \ gnu/packages/patches/pybugz-encode-error.patch \

View File

@ -21,6 +21,7 @@
#:use-module ((guix licenses) #:use-module ((guix licenses)
#:renamer (symbol-prefix-proc 'license:)) #:renamer (symbol-prefix-proc 'license:))
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix build utils)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system python) #:use-module (guix build-system python)
#:use-module (gnu packages) #:use-module (gnu packages)
@ -181,7 +182,23 @@ random access nor for in-place modification.")
version ".tar.bz2")) version ".tar.bz2"))
(sha256 (sha256
(base32 (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) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config) `(("pkg-config" ,pkg-config)
@ -199,7 +216,14 @@ random access nor for in-place modification.")
(lambda _ (lambda _
(substitute* "GNUmakefile" (substitute* "GNUmakefile"
(("^(CFLAGS=.*)-Werror" _ front) front))) (("^(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") (home-page "http://archive.miek.nl/projects/rdup/index.html")
(synopsis "Provide a list of files to backup") (synopsis "Provide a list of files to backup")
(description (description

105
gnu/packages/busybox.scm Normal file
View File

@ -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)))

View File

@ -19,8 +19,7 @@
(define-module (gnu packages docbook) (define-module (gnu packages docbook)
#:use-module (gnu packages) #:use-module (gnu packages)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module ((gnu packages base) #:use-module (gnu packages base)
#:select (tar))
#:use-module (guix licenses) #:use-module (guix licenses)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix download) #:use-module (guix download)

View File

@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 John Darrington <jmd@gnu.org> ;;; Copyright © 2013 John Darrington <jmd@gnu.org>
;;; Copyright © 2014 David Thompson <dthompson2@worcester.edu> ;;; Copyright © 2014 David Thompson <dthompson2@worcester.edu>
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -21,6 +22,8 @@
#:use-module (guix licenses) #:use-module (guix licenses)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix download) #:use-module (guix download)
#:use-module (gnu packages)
#:use-module (gnu packages boost)
#:use-module (gnu packages gettext) #:use-module (gnu packages gettext)
#:use-module (gnu packages gl) #:use-module (gnu packages gl)
#:use-module (gnu packages glib) #:use-module (gnu packages glib)
@ -28,6 +31,7 @@
#:use-module (gnu packages gtk) #:use-module (gnu packages gtk)
#:use-module (gnu packages guile) #:use-module (gnu packages guile)
#:use-module (gnu packages libcanberra) #:use-module (gnu packages libcanberra)
#:use-module (gnu packages libpng)
#:use-module (gnu packages python) #:use-module (gnu packages python)
#:use-module (gnu packages readline) #:use-module (gnu packages readline)
#:use-module (gnu packages xorg) #: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 them, called Jean Raymond, found an old church in which to hide, not knowing
that beneath its ruins lay buried an ancient evil.") that beneath its ruins lay buried an ancient evil.")
(license gpl3+))) (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+)))

View File

@ -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):

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; 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. ;;; This file is part of GNU Guix.
;;; ;;;
@ -46,11 +46,15 @@
#:parallel-build? #f)) #:parallel-build? #f))
;; TODO: Add Ploticus. ;; TODO: Add Ploticus.
(inputs `(("guile" ,guile-2.0) (inputs `(("guile" ,guile-2.0)
("guile-reader" ,guile-reader/guile-2.0)
("guile-lib" ,guile-lib)
("imagemagick" ,imagemagick) ("imagemagick" ,imagemagick)
("ghostscript" ,ghostscript) ; for 'convert' ("ghostscript" ,ghostscript) ; for 'convert'
("lout" ,lout))) ("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/") (home-page "http://www.nongnu.org/skribilo/")
(synopsis "Document production tool written in Guile Scheme") (synopsis "Document production tool written in Guile Scheme")
(description (description

View File

@ -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, keystrokes. Mosh is a replacement for SSH. It's more robust and responsive,
especially over Wi-Fi, cellular, and long-distance links.") especially over Wi-Fi, cellular, and long-distance links.")
(license license:gpl3+))) (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."))))

View File

@ -27,10 +27,13 @@
#:use-module (guix build-system perl) #:use-module (guix build-system perl)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (gnu packages apr) #:use-module (gnu packages apr)
#:use-module (gnu packages asciidoc)
#:use-module (gnu packages docbook)
#:use-module (gnu packages autotools) #:use-module (gnu packages autotools)
#:use-module ((gnu packages compression) #:select (zlib)) #:use-module ((gnu packages compression) #:select (zlib))
#:use-module (gnu packages openssl) #:use-module (gnu packages openssl)
#:use-module (gnu packages pcre) #:use-module (gnu packages pcre)
#:use-module (gnu packages xml)
#:use-module (gnu packages perl)) #:use-module (gnu packages perl))
(define-public httpd (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 contain modules that are of more general use and even classes that
help you implement simple HTTP servers.") help you implement simple HTTP servers.")
(home-page "http://search.cpan.org/~gaas/libwww-perl/"))) (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+)))

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; 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. ;;; This file is part of GNU Guix.
;;; ;;;
@ -94,10 +94,11 @@ exit with non-zero."
(format #t "copying and compiling Guix to `~a'...~%" out) (format #t "copying and compiling Guix to `~a'...~%" out)
;; Copy everything under guix/ and gnu/ plus guix.scm. ;; Copy everything under guix/ and gnu/ plus {guix,gnu}.scm.
(copy-recursively "guix" (string-append out "/guix")) (copy-recursively "guix" (string-append out "/guix"))
(copy-recursively "gnu" (string-append out "/gnu")) (copy-recursively "gnu" (string-append out "/gnu"))
(copy-file "guix.scm" (string-append out "/guix.scm")) (copy-file "guix.scm" (string-append out "/guix.scm"))
(copy-file "gnu.scm" (string-append out "/gnu.scm"))
;; Add a fake (guix config) module to allow the other modules to be ;; Add a fake (guix config) module to allow the other modules to be
;; compiled. The user's (guix config) is the one that will be used. ;; compiled. The user's (guix config) is the one that will be used.

View File

@ -24,6 +24,7 @@
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix utils) #:use-module (guix utils)
#:use-module (guix monads) #:use-module (guix monads)
#:use-module (guix gexp)
#:use-module (ice-9 format) #:use-module (ice-9 format)
#:use-module (ice-9 match) #:use-module (ice-9 match)
#:use-module (ice-9 vlist) #:use-module (ice-9 vlist)
@ -151,6 +152,7 @@ options handled by 'set-build-options-from-command-line', and listed in
#:use-build-hook? (assoc-ref opts 'build-hook?) #:use-build-hook? (assoc-ref opts 'build-hook?)
#:max-silent-time (assoc-ref opts 'max-silent-time) #:max-silent-time (assoc-ref opts 'max-silent-time)
#:timeout (assoc-ref opts 'timeout) #:timeout (assoc-ref opts 'timeout)
#:print-build-trace (assoc-ref opts 'print-build-trace?)
#:verbosity (assoc-ref opts 'verbosity))) #:verbosity (assoc-ref opts 'verbosity)))
(define %standard-build-options (define %standard-build-options
@ -213,6 +215,7 @@ options handled by 'set-build-options-from-command-line', and listed in
`((system . ,(%current-system)) `((system . ,(%current-system))
(substitutes? . #t) (substitutes? . #t)
(build-hook? . #t) (build-hook? . #t)
(print-build-trace? . #t)
(max-silent-time . 3600) (max-silent-time . 3600)
(verbosity . 0))) (verbosity . 0)))
@ -336,6 +339,11 @@ packages."
`(argument . ,p)) `(argument . ,p))
((? procedure? proc) ((? procedure? proc)
(let ((drv (run-with-store store (proc) #:system system))) (let ((drv (run-with-store store (proc) #:system system)))
`(argument . ,drv)))
((? gexp? gexp)
(let ((drv (run-with-store store
(gexp->derivation "gexp" gexp
#:system system))))
`(argument . ,drv))))) `(argument . ,drv)))))
(opt opt)) (opt opt))
opts)) opts))

View File

@ -228,11 +228,11 @@ RX."
(define matches? (define matches?
(cut regexp-exec rx <>)) (cut regexp-exec rx <>))
(if (or (matches? (gettext (package-name package))) (if (or (matches? (package-name package))
(and=> (package-synopsis package) (and=> (package-synopsis package)
(compose matches? gettext)) (compose matches? P_))
(and=> (package-description package) (and=> (package-description package)
(compose matches? gettext))) (compose matches? P_)))
(cons package result) (cons package result)
result)) result))
'()) '())

View File

@ -39,6 +39,7 @@
#:use-module (ice-9 regex) #:use-module (ice-9 regex)
#:export (_ #:export (_
N_ N_
P_
leave leave
show-version-and-exit show-version-and-exit
show-bug-report-information show-bug-report-information
@ -72,10 +73,16 @@
;;; Code: ;;; Code:
(define %gettext-domain (define %gettext-domain
;; Text domain for strings used in the tools.
"guix") "guix")
(define %package-text-domain
;; Text domain for package synopses and descriptions.
"guix-packages")
(define _ (cut gettext <> %gettext-domain)) (define _ (cut gettext <> %gettext-domain))
(define N_ (cut ngettext <> <> <> %gettext-domain)) (define N_ (cut ngettext <> <> <> %gettext-domain))
(define P_ (cut gettext <> %package-text-domain))
(define-syntax-rule (define-diagnostic name prefix) (define-syntax-rule (define-diagnostic name prefix)
"Create a diagnostic macro (i.e., NAME), which will prepend PREFIX to all "Create a diagnostic macro (i.e., NAME), which will prepend PREFIX to all
@ -231,6 +238,16 @@ interpreted."
(leave (_ "~a: ~a~%") proc (leave (_ "~a: ~a~%") proc
(apply format #f format-string format-args)))))) (apply format #f format-string format-args))))))
(define %guix-user-module
;; Module in which user expressions are evaluated.
;; Compute lazily to avoid circularity with (guix gexp).
(delay
(let ((module (make-module)))
(beautify-user-module! module)
;; Use (guix gexp) so that one can use #~ & co.
(module-use! module (resolve-interface '(guix gexp)))
module)))
(define (read/eval str) (define (read/eval str)
"Read and evaluate STR, raising an error if something goes wrong." "Read and evaluate STR, raising an error if something goes wrong."
(let ((exp (catch #t (let ((exp (catch #t
@ -241,7 +258,7 @@ interpreted."
str args))))) str args)))))
(catch #t (catch #t
(lambda () (lambda ()
(eval exp the-root-module)) (eval exp (force %guix-user-module)))
(lambda args (lambda args
(leave (_ "failed to evaluate expression `~a': ~s~%") (leave (_ "failed to evaluate expression `~a': ~s~%")
exp args))))) exp args)))))
@ -431,7 +448,7 @@ followed by \"+ \", which makes for a valid multi-line field value in the
"Write to PORT a `recutils' record of package P, arranging to fit within "Write to PORT a `recutils' record of package P, arranging to fit within
WIDTH columns." WIDTH columns."
(define (description->recutils str) (define (description->recutils str)
(let ((str (_ str))) (let ((str (P_ str)))
(string->recutils (string->recutils
(fill-paragraph str width (fill-paragraph str width
(string-length "description: "))))) (string-length "description: ")))))
@ -460,7 +477,7 @@ WIDTH columns."
(string-map (match-lambda (string-map (match-lambda
(#\newline #\space) (#\newline #\space)
(chr chr)) (chr chr))
(or (and=> (package-synopsis p) _) (or (and=> (package-synopsis p) P_)
""))) "")))
(format port "description: ~a~%" (format port "description: ~a~%"
(and=> (package-description p) description->recutils)) (and=> (package-description p) description->recutils))

View File

@ -1,17 +1,15 @@
# Makefile variables for PO directory in any package using GNU gettext. # Makefile variables for PO directory in any package using GNU gettext.
DOMAIN = $(PACKAGE) DOMAIN = guix
subdir = po subdir = po/guix
top_builddir = .. top_builddir = ../..
# These options get passed to xgettext. We want to catch standard # These options get passed to xgettext. We want to catch standard
# gettext uses, package synopses and descriptions, and SRFI-35 error # gettext uses, and SRFI-35 error condition messages.
# condition messages.
XGETTEXT_OPTIONS = \ XGETTEXT_OPTIONS = \
--language=Scheme --from-code=UTF-8 \ --language=Scheme --from-code=UTF-8 \
--keyword=_ --keyword=N_ \ --keyword=_ --keyword=N_ \
--keyword=synopsis --keyword=description \
--keyword=message --keyword=message
COPYRIGHT_HOLDER = Ludovic Courtès COPYRIGHT_HOLDER = Ludovic Courtès

View File

@ -1,9 +1,6 @@
# List of source files which contain translatable strings. # List of source files which contain translatable strings.
# This should be source files of the various tools, and not package modules.
gnu/packages.scm gnu/packages.scm
gnu/packages/base.scm
gnu/packages/guile.scm
gnu/packages/lout.scm
gnu/packages/recutils.scm
guix/scripts/build.scm guix/scripts/build.scm
guix/scripts/download.scm guix/scripts/download.scm
guix/scripts/package.scm guix/scripts/package.scm

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

8
po/packages/LINGUAS Normal file
View File

@ -0,0 +1,8 @@
# Set of available languages.
en@boldquot
en@quot
eo
pt_BR
sr
vi

19
po/packages/Makevars Normal file
View File

@ -0,0 +1,19 @@
# Makefile variables for PO directory in any package using GNU gettext.
# This domain contains only translations of package synopses and descriptions.
DOMAIN = guix-packages
subdir = po/packages
top_builddir = ../..
# These options get passed to xgettext. We want to catch exclusively package
# synopses and descriptions.
XGETTEXT_OPTIONS = \
--language=Scheme --from-code=UTF-8 \
--keyword=synopsis --keyword=description
COPYRIGHT_HOLDER = Ludovic Courtès
MSGID_BUGS_ADDRESS = ludo@gnu.org
EXTRA_LOCALE_CATEGORIES =

6
po/packages/POTFILES.in Normal file
View File

@ -0,0 +1,6 @@
# List of source files which contain translatable strings. These should be
# only package modules. Strings of the tools are in 'po/guix'.
gnu/packages/base.scm
gnu/packages/guile.scm
gnu/packages/lout.scm
gnu/packages/recutils.scm

1315
po/packages/eo.po Normal file

File diff suppressed because it is too large Load Diff

1499
po/packages/pt_BR.po Normal file

File diff suppressed because it is too large Load Diff

1560
po/packages/sr.po Normal file

File diff suppressed because it is too large Load Diff

1180
po/packages/vi.po Normal file

File diff suppressed because it is too large Load Diff

View File

@ -60,6 +60,7 @@
(let ((guix-main (module-ref (resolve-interface '(guix ui)) (let ((guix-main (module-ref (resolve-interface '(guix ui))
'guix-main))) 'guix-main)))
(bindtextdomain "guix" (config-lookup "localedir")) (bindtextdomain "guix" (config-lookup "localedir"))
(bindtextdomain "guix-packages" (config-lookup "localedir"))
(apply guix-main (command-line)))) (apply guix-main (command-line))))
(maybe-augment-load-paths!) (maybe-augment-load-paths!)

View File

@ -80,3 +80,7 @@ guix build -e "(begin
(gexp->derivation \"test\" (gexp->derivation \"test\"
(gexp (mkdir (ungexp output))))))" \ (gexp (mkdir (ungexp output))))))" \
--dry-run --dry-run
# Running a gexp.
guix build -e '#~(mkdir #$output)' -d
guix build -e '#~(mkdir #$output)' -d | grep 'gexp\.drv'