Merge branch 'master' into core-updates

This commit is contained in:
Mark H Weaver 2015-07-19 18:12:34 -04:00
commit 1b4e48d498
98 changed files with 1738 additions and 768 deletions

1
.gitignore vendored
View File

@ -125,3 +125,4 @@ GTAGS
/doc/os-config-bare-bones.texi
/doc/os-config-desktop.texi
/doc/*.1
/etc/guix-daemon.service

44
AUTHORS
View File

@ -5,45 +5,5 @@ build daemon whose code comes from Nix (see the manual for details.)
Nix was initially written by Eelco Dolstra; other people have been
contributing to it. See `nix/AUTHORS' for details.
The fine people listed below have contributed code to GNU Guix (in
alphabetical order):
Arne Babenhauserheide <arne.babenhauserheide@kit.edu>
Eric Bavier <bavier@member.fsf.org>
Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
Federico Beffa <beffa@fbengineering.ch>
Marek Benc <merkur32@gmail.com>
Amirouche Boubekki <amirouche@hypermove.net>
Sou Bunnbu (宋文武) <iyzsong@gmail.com>
Tomáš Čech <sleep_walker@gnu.org>
Ludovic Courtès <ludo@gnu.org>
John Darrington <jmd@gnu.org>
Ian Denhardt <ian@zenhack.net>
Andreas Enge <andreas@enge.fr>
Alírio Eyng <alirioeyng@gmail.com>
Alexander I. Grafov <grafov@gmail.com>
Joshua Grant <tadni@riseup.net>
Raimon Grau <raimonster@gmail.com>
David Hashe <david.hashe@dhashe.com>
Nikita Karetnikov <nikita@karetnikov.org>
Alex Kost <alezost@gmail.com>
Kevin Lemonnier <lemonnierk@ulrar.net>
Julien Lepiller <julien@lepiller.eu>
Mathieu Lirzin <mthl@openmailbox.org>
Aljosha Papsch <misc@rpapsch.de>
Deck Pickard <deck.r.pickard@gmail.com>
Manolis Ragkousis <manolis837@gmail.com>
Pierre-Antoine Rault <par@rigelk.eu>
Cyril Roelandt <tipecaml@gmail.com>
Alex Sassmannshausen <alex.sassmannshausen@gmail.com>
Cyrill Schenkel <cyrill.schenkel@gmail.com>
Jason Self <j@jxself.org>
Sree Harsha Totakura <sreeharsha@totakura.in>
David Thompson <davet@gnu.org>
Claes Wallin (韋嘉誠) <claes.wallin@greatsinodevelopment.com>
Paul van der Walt <paul@denknerd.org>
Mark H Weaver <mhw@netris.org>
Christopher A. Webber <cwebber@dustycloud.org>
Andy Wingo <wingo@pobox.com>
Ben Woodcroft <b.woodcroft@uq.edu.au>
Ricardo Wurmus <rekado@elephly.net>
The list of GNU Guix contributors is now generated from the output of
'git log' and written to this file, as can be seen in release tarballs.

View File

@ -279,6 +279,7 @@ EXTRA_DIST = \
build-aux/check-final-inputs-self-contained.scm \
build-aux/download.scm \
build-aux/make-binary-tarball.scm \
build-aux/generate-authors.scm \
srfi/srfi-37.scm.in \
srfi/srfi-64.scm \
srfi/srfi-64.upstream.scm \
@ -389,9 +390,12 @@ gen-ChangeLog:
fi
gen-AUTHORS:
$(top_builddir)/pre-inst-env "$(GUILE)" \
"$(top_srcdir)/build-aux/generate-authors.scm" \
"$(top_srcdir)" "$(distdir)/AUTHORS"
if test -d .git; then \
rm -f "$(distdir)/AUTHORS"; \
$(top_builddir)/pre-inst-env "$(GUILE)" \
"$(top_srcdir)/build-aux/generate-authors.scm" \
"$(top_srcdir)" "$(distdir)/AUTHORS"; \
fi
# Make sure we're not shipping a file that embeds a local /gnu/store file name.
assert-no-store-file-names:

View File

@ -21,7 +21,7 @@
#
BUILT_SOURCES += nix/libstore/schema.sql.hh
CLEANFILES += $(BUILT_SOURCES)
CLEANFILES += $(BUILT_SOURCES) etc/guix-daemon.service
noinst_LIBRARIES = libformat.a libutil.a libstore.a
@ -93,7 +93,6 @@ libstore_headers = \
nix/libstore/references.hh \
nix/libstore/pathlocks.hh \
nix/libstore/globals.hh \
nix/libstore/schema.sql.hh \
nix/libstore/worker-protocol.hh \
nix/libstore/remote-store.hh \
nix/libstore/derivations.hh \
@ -181,10 +180,22 @@ endif BUILD_DAEMON_OFFLOAD
nodist_libexec_SCRIPTS = \
nix/scripts/guix-authenticate
# The '.service' file for systemd.
systemdservicedir = $(libdir)/systemd/system
nodist_systemdservice_DATA = etc/guix-daemon.service
etc/guix-daemon.service: etc/guix-daemon.service.in \
$(top_builddir)/config.status
$(MKDIR_P) "`dirname "$@"`"
$(SED) -e 's|@''bindir''@|$(bindir)|' < \
"$(srcdir)/etc/guix-daemon.service.in" > "$@.tmp"
mv "$@.tmp" "$@"
EXTRA_DIST += \
nix/libstore/schema.sql \
nix/AUTHORS \
nix/COPYING
nix/COPYING \
etc/guix-daemon.service.in
AM_TESTS_ENVIRONMENT += \
top_builddir="$(abs_top_builddir)"

17
doc.am
View File

@ -25,6 +25,7 @@ EXTRA_DIST += \
doc/images/bootstrap-graph.dot \
doc/images/bootstrap-graph.eps \
doc/images/bootstrap-graph.pdf \
doc/images/coreutils-size-map.eps \
doc/environment-gdb.scm
OS_CONFIG_EXAMPLES_TEXI = \
@ -63,27 +64,35 @@ DOT_OPTIONS = \
$(DOT) -Teps $(DOT_OPTIONS) < "$<" > "$@.tmp"
mv "$@.tmp" "$@"
.png.eps:
convert "$<" "$@-tmp.eps"
mv "$@-tmp.eps" "$@"
# We cannot add new dependencies to `doc/guix.pdf' & co. (info "(automake)
# Extending"). Using the `-local' rules is imperfect, because they may be
# triggered after the main rule. Oh, well.
pdf-local: $(top_srcdir)/doc/images/bootstrap-graph.pdf
info-local: $(top_srcdir)/doc/images/bootstrap-graph.png
ps-local: $(top_srcdir)/doc/images/bootstrap-graph.eps
ps-local: $(top_srcdir)/doc/images/bootstrap-graph.eps \
$(top_srcdir)/doc/images/coreutils-size-map.eps
dvi-local: ps-local
# Manual pages.
doc/guix.1: scripts/guix
doc/guix.1: $(SUBCOMMANDS:%=guix/scripts/%.scm)
-LANGUAGE= $(top_builddir)/pre-inst-env \
$(HELP2MAN) --output="$@" guix
doc/guix-daemon.1: guix-daemon
# Note: Do not depend on 'guix-daemon' since that would trigger a rebuild even
# for people building from a tarball.
doc/guix-daemon.1: nix/nix-daemon/guix-daemon.cc
-LANGUAGE= $(top_builddir)/pre-inst-env \
$(HELP2MAN) --output="$@" guix-daemon
define subcommand-manual-target
doc/guix-$(1).1: scripts/guix guix/scripts/$(1).go
doc/guix-$(1).1: guix/scripts/$(1).scm
-LANGUAGE= $(top_builddir)/pre-inst-env \
$(HELP2MAN) --output="$$@" "guix $(1)"

View File

@ -319,6 +319,10 @@ Make @code{root}'s profile available under @file{~/.guix-profile}:
~root/.guix-profile
@end example
@item
Create the group and user accounts for build users as explained below
(@pxref{Build Environment Setup}).
@item
Run the daemon:
@ -326,6 +330,10 @@ Run the daemon:
# ~root/.guix-profile/bin/guix-daemon --build-users-group=guixbuild
@end example
On hosts using the systemd init system, drop
@file{~root/.guix-profile/lib/systemd/system/guix-daemon.service} in
@file{/etc/systemd/system}.
@item
Make the @command{guix} command available to other users on the machine,
for instance with:
@ -508,8 +516,12 @@ Bash syntax and the @code{shadow} commands):
@noindent
The number of build users determines how many build jobs may run in
parallel, as specified by the @option{--max-jobs} option
(@pxref{Invoking guix-daemon, @option{--max-jobs}}).
The @code{guix-daemon} program may then be run as @code{root} with:
(@pxref{Invoking guix-daemon, @option{--max-jobs}}). The
@code{guix-daemon} program may then be run as @code{root} with the
following command@footnote{If your machine uses the systemd init system,
dropping the @file{@var{prefix}/lib/systemd/system/guix-daemon.service}
file in @file{/etc/systemd/system} will ensure that
@command{guix-daemon} is automatically started.}:
@example
# guix-daemon --build-users-group=guixbuild
@ -2446,7 +2458,8 @@ implements the RubyGems build procedure used by Ruby packages, which
involves running @code{gem build} followed by @code{gem install}.
Which Ruby package is used can be specified with the @code{#:ruby}
parameter.
parameter. A list of additional flags to be passed to the @command{gem}
command can be specified with the @code{#:gem-flags} parameter.
@end defvr
@defvr {Scheme Variable} waf-build-system
@ -4813,6 +4826,10 @@ The package object of the operating system kernel to use@footnote{Currently
only the Linux-libre kernel is supported. In the future, it will be
possible to use the GNU@tie{}Hurd.}.
@item @code{kernel-arguments} (default: @code{'()})
List of strings or gexps representing additional arguments to pass on
the kernel's command-line---e.g., @code{("console=ttyS0")}.
@item @code{bootloader}
The system bootloader configuration object. @xref{GRUB Configuration}.
@ -5011,6 +5028,14 @@ errors before being mounted.
@item @code{create-mount-point?} (default: @code{#f})
When true, the mount point is created if it does not exist yet.
@item @code{dependencies} (default: @code{'()})
This is a list of @code{<file-system>} objects representing file systems
that must be mounted before (and unmounted after) this one.
As an example, consider a hierarchy of mounts: @file{/sys/fs/cgroup} is
a dependency of @file{/sys/fs/cgroup/cpu} and
@file{/sys/fs/cgroup/memory}.
@end table
@end deftp

View File

@ -0,0 +1,15 @@
# This is a "service unit file" for the systemd init system to launch
# 'guix-daemon'. Drop it in /etc/systemd/system or similar to have
# 'guix-daemon' automatically started.
[Unit]
Description=Build daemon for GNU Guix
[Service]
ExecStart=@bindir@/guix-daemon --build-users-group=guixbuild
RemainAfterExit=yes
StandardOutput=syslog
StandardError=syslog
[Install]
WantedBy=multi-user.target

View File

@ -193,6 +193,7 @@ GNU_SYSTEM_MODULES = \
gnu/packages/lsh.scm \
gnu/packages/lsof.scm \
gnu/packages/lua.scm \
gnu/packages/lxde.scm \
gnu/packages/lxqt.scm \
gnu/packages/lynx.scm \
gnu/packages/m4.scm \
@ -410,6 +411,7 @@ dist_patch_DATA = \
gnu/packages/patches/cpio-fix-symlink-bad-length-test.patch \
gnu/packages/patches/cpio-gets-undeclared.patch \
gnu/packages/patches/cpufrequtils-fix-aclocal.patch \
gnu/packages/patches/crda-optional-gcrypt.patch \
gnu/packages/patches/crossmap-allow-system-pysam.patch \
gnu/packages/patches/cssc-gets-undeclared.patch \
gnu/packages/patches/cssc-missing-include.patch \

View File

@ -317,7 +317,7 @@ allow automatic login and starting any app.")
(description
"This package provides the /etc/services, /etc/protocols, and /etc/rpc
files, which contain information about the IANA-assigned port, protocol, and
ONC RPC numbers")
ONC RPC numbers.")
(home-page "http://packages.debian.org/sid/netbase")
(license license:gpl2)))
@ -957,7 +957,7 @@ system is under heavy load.")
(assoc-ref %build-inputs "popt")))
#:tests? #f)) ;no 'check' target
(home-page "http://detox.sourceforge.net")
(synopsis "Clean up filenames")
(synopsis "Clean up file names")
(description
"Detox is a program that renames files to make them easier to work with
under Unix and related operating systems. Spaces and various other unsafe

View File

@ -56,7 +56,7 @@ arbitrary precision real (mpfr) or complex (mpc) numbers, without control
on the rounding. For the time being, only the few functions needed to
implement the floating point approach to complex multiplication are
implemented. On the other hand, these comprise asymptotically fast
multiplication routines such as ToomCook and the FFT. ")
multiplication routines such as ToomCook and the FFT.")
(license lgpl2.1+)
(home-page "http://mpfrcx.multiprecision.org/")))

View File

@ -447,7 +447,7 @@ ALSA PCM devices.")
(description
"FluidSynth is a real-time software synthesizer based on the SoundFont 2
specifications. FluidSynth reads and handles MIDI events from the MIDI input
device. It is the software analogue of a MIDI synthesizer. FluidSynth can
device. It is the software analogue of a MIDI synthesizer. FluidSynth can
also play midifiles using a Soundfont.")
(license license:gpl2+)))

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2014, 2015 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
;;;
;;; This file is part of GNU Guix.
@ -45,7 +45,7 @@
(define-public duplicity
(package
(name "duplicity")
(version "0.6.24")
(version "0.6.26")
(source
(origin
(method url-fetch)
@ -55,7 +55,7 @@
version ".tar.gz"))
(sha256
(base32
"0l14nrhbgkyjgvh339bbhnm6hrdwrjadphq1jmpi0mcgcdbdfh8x"))
"0jh79syhr8n3l81jxlwsmwm1pklb4d923m2lgqbswyavh1fqmvwb"))
(patches (list (search-patch "duplicity-piped-password.patch")
(search-patch "duplicity-test_selection-tmp.patch")))))
(build-system python-build-system)
@ -244,7 +244,7 @@ random access nor for in-place modification.")
(description
"Rdup is a utility inspired by rsync and the plan9 way of doing backups.
Rdup itself does not backup anything, it only print a list of absolute
filenames to standard output. Auxiliary scripts are needed that act on this
file names to standard output. Auxiliary scripts are needed that act on this
list and implement the backup strategy.")
(license license:gpl3+)))
@ -314,5 +314,5 @@ modification times, extended attributes, acls, and resource forks. Also,
rdiff-backup can operate in a bandwidth efficient manner over a pipe, like
rsync. Thus you can use rdiff-backup and ssh to securely back a hard drive up
to a remote location, and only the differences will be transmitted. Finally,
rdiff-backup is easy to use and settings have sensical defaults.")
rdiff-backup is easy to use and settings have sensible defaults.")
(license license:gpl2+)))

View File

@ -1394,6 +1394,85 @@ resolution of binding sites through combining the information of both
sequencing tag position and orientation.")
(license license:bsd-3)))
(define-public metabat
(package
(name "metabat")
(version "0.26.1")
(source (origin
(method url-fetch)
(uri (string-append
"https://bitbucket.org/berkeleylab/metabat/get/"
version ".tar.bz2"))
(file-name (string-append name "-" version ".tar.bz2"))
(sha256
(base32
"0vgrhbaxg4dkxyax2kbigak7w0arhqvw0szwp6gd9wmyilc44kfa"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-includes
(lambda _
(substitute* "SConstruct"
(("/include/bam/bam.h")
"/include/samtools/bam.h"))
(substitute* "src/BamUtils.h"
(("^#include \"bam/bam\\.h\"")
"#include \"samtools/bam.h\"")
(("^#include \"bam/sam\\.h\"")
"#include \"samtools/sam.h\""))
(substitute* "src/KseqReader.h"
(("^#include \"bam/kseq\\.h\"")
"#include \"samtools/kseq.h\""))
#t))
(add-after 'unpack 'fix-scons
(lambda _
(substitute* "SConstruct" ; Do not distribute README
(("^env\\.Install\\(idir_prefix, 'README\\.md'\\)")
""))
#t))
(delete 'configure)
(replace 'build
(lambda* (#:key inputs outputs #:allow-other-keys)
(mkdir (assoc-ref outputs "out"))
(zero? (system* "scons"
(string-append
"PREFIX="
(assoc-ref outputs "out"))
(string-append
"HTSLIB_DIR="
(assoc-ref inputs "htslib"))
(string-append
"SAMTOOLS_DIR="
(assoc-ref inputs "samtools"))
(string-append
"BOOST_ROOT="
(assoc-ref inputs "boost"))
"install"))))
;; check and install carried out during build phase
(delete 'check)
(delete 'install))))
(inputs
`(("zlib" ,zlib)
("perl" ,perl)
("samtools" ,samtools)
("htslib" ,htslib)
("boost" ,boost)))
(native-inputs
`(("scons" ,scons)))
(home-page "https://bitbucket.org/berkeleylab/metabat")
(synopsis
"Reconstruction of single genomes from complex microbial communities")
(description
"Grouping large genomic fragments assembled from shotgun metagenomic
sequences to deconvolute complex microbial communities, or metagenome binning,
enables the study of individual organisms and their interactions. MetaBAT is
an automated metagenome binning software, which integrates empirical
probabilistic distances of genome abundance and tetranucleotide frequency.")
(license (license:non-copyleft "file://license.txt"
"See license.txt in the distribution."))))
(define-public miso
(package
(name "miso")

View File

@ -83,7 +83,7 @@
(description
"Transmission is a BitTorrent client that comes with graphical,
textual, and Web user interfaces. Transmission also has a daemon for
unattended operationg. It supports local peer discovery, full encryption,
unattended operations. It supports local peer discovery, full encryption,
DHT, µTP, PEX and Magnet Links.")
;; COPYING reads:

View File

@ -60,7 +60,7 @@
(description
"GNU cflow analyzes C source files and produces a graph charting the
control flow of the program. It can output the graph in several styles and
in either the POSIX format or in an extended GNU format. cflow also includes
in either the POSIX format or in an extended GNU format. cflow also includes
a major mode for Emacs for examining the flowcharts that it produces.")
(license license:gpl3+)))

View File

@ -264,7 +264,7 @@ than gzip and 15 % smaller output than bzip2.")
(arguments '(#:configure-flags '("--enable-shared")))
(home-page "http://www.oberhumer.com/opensource/lzo")
(synopsis
"Data compresion library suitable for real-time data de-/compression")
"Data compression library suitable for real-time data de-/compression")
(description
"LZO is a data compression library which is suitable for data
de-/compression in real-time. This means it favours speed over

View File

@ -102,10 +102,10 @@
"curl is a command line tool for transferring data with URL syntax,
supporting DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP,
LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, Telnet and TFTP.
curl supports SSL certificates, HTTP POST, HTTP PUT, FTP uploading,
HTTP form based upload, proxies, cookies, user+password authentication
(Basic, Digest, NTLM, Negotiate, kerberos...), file transfer resume,
proxy tunneling, and so on")
curl supports SSL certificates, HTTP POST, HTTP PUT, FTP uploading, HTTP
form based upload, proxies, cookies, file transfer resume, user+password
authentication (Basic, Digest, NTLM, Negotiate, kerberos...), proxy
tunneling, and so on.")
(license (license:non-copyleft "file://COPYING"
"See COPYING in the distribution."))
"See COPYING in the distribution."))
(home-page "http://curl.haxx.se/")))

View File

@ -175,7 +175,7 @@ Language.")
(define-public mariadb
(package
(name "mariadb")
(version "10.0.18")
(version "10.0.20")
(source (origin
(method url-fetch)
(uri (string-append "https://downloads.mariadb.org/f/"
@ -183,7 +183,7 @@ Language.")
name "-" version ".tar.gz"))
(sha256
(base32
"1xcs391cm0vnl9bvx1470v8z4d77zqv16n6iaqi12jm0ma8fwvv8"))))
"0ywb730l68mxvmpik1x2ndbdaaks6dmc17pxspspm5wlqxinjkrs"))))
(build-system cmake-build-system)
(arguments
'(#:configure-flags
@ -633,7 +633,7 @@ While based on the concepts used by DBIx::Abstract, the concepts used have
been modified to make the SQL easier to generate from Perl data structures.
The underlying idea is for this module to do what you mean, based on the data
structures you provide it, so that you don't have to modify your code every
time your data changes")
time your data changes.")
(license (package-license perl))))
(define-public perl-sql-splitstatement

View File

@ -60,7 +60,7 @@
(define-public calibre
(package
(name "calibre")
(version "2.30.0")
(version "2.29.0")
(source
(origin
(method url-fetch)
@ -69,7 +69,7 @@
version ".tar.xz"))
(sha256
(base32
"1k2rpn06nfzqjy5k6fh8pwfj8vbhpn7rgkpkkpz5n2fqg3z8ph1j"))
"1n3cfnjnghhhsgzcbcvbr0gh191lhl6az09q1s68jhlcc2lski6l"))
;; Remove non-free or doubtful code, see
;; https://lists.gnu.org/archive/html/guix-devel/2015-02/msg00478.html
(modules '((guix build utils)))

View File

@ -4,6 +4,7 @@
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014 Alex Kost <alezost@gmail.com>
;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -52,6 +53,7 @@
#:use-module (gnu packages glib)
#:use-module (gnu packages acl)
#:use-module (gnu packages perl)
#:use-module (gnu packages pdf)
#:use-module (gnu packages linux) ;alsa
#:use-module (gnu packages xiph)
#:use-module (gnu packages mp3)
@ -811,17 +813,98 @@ or XEmacs.")
(origin
(method url-fetch)
(uri (string-append
"http://stable.melpa.org/packages/mmm-mode-"
version
".tar"))
"https://github.com/purcell/mmm-mode/archive/"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1llkzb6d978ym3zv3yfzwj0w5zzmmj3ksrm5swrx1papxcnqnkb9"))))
(build-system emacs-build-system)
"10kwslnflbjqm62wkrq420crqzdqalzfflp9pqk1i12zm6dm4mfv"))))
(build-system gnu-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'autogen
(lambda _
(zero? (system* "sh" "autogen.sh")))))))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("emacs" ,emacs-no-x)
("texinfo" ,texinfo)))
(home-page "https://github.com/purcell/mmm-mode")
(synopsis
"Allow multiple major modes in an Emacs buffer")
(synopsis "Allow multiple major modes in an Emacs buffer")
(description
"MMM Mode is a minor mode that allows multiple major modes to coexist in a
"MMM Mode is a minor mode that allows multiple major modes to coexist in a
single buffer.")
(license license:gpl3+)))
(define-public emacs-pdf-tools
(package
(name "emacs-pdf-tools")
(version "0.60")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/politza/pdf-tools/archive/v"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1y8k5n2jbyaxby0j6f4m9xbm0ddpmbkrfj6rp6ll5sb97lcg3vrx"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; there are no tests
#:modules ((guix build gnu-build-system)
(guix build utils)
(guix build emacs-utils))
#:imported-modules (,@%gnu-build-system-modules
(guix build emacs-utils))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'enter-dir (lambda _ (chdir "server") #t))
(add-before
'configure 'autogen
(lambda _
(zero? (system* "bash" "autogen.sh"))))
(add-before
'build 'patch-variables
(lambda* (#:key outputs #:allow-other-keys)
(with-directory-excursion "../lisp"
;; Set path to epdfinfo program.
(emacs-substitute-variables "pdf-info.el"
("pdf-info-epdfinfo-program"
(string-append (assoc-ref outputs "out")
"/bin/epdfinfo")))
;; Set 'pdf-tools-handle-upgrades' to nil to avoid "auto
;; upgrading" that pdf-tools tries to perform.
(emacs-substitute-variables "pdf-tools.el"
("pdf-tools-handle-upgrades" '())))))
(add-after
'install 'install-lisp
(lambda* (#:key outputs #:allow-other-keys)
(let ((target (string-append (assoc-ref outputs "out")
"/share/emacs/site-lisp/")))
(mkdir-p target)
(for-each
(lambda (file)
(copy-file file (string-append target (basename file))))
(find-files "../lisp" "^(pdf|tab).*\\.elc?"))
(emacs-byte-compile-directory target)
(emacs-generate-autoloads "pdf-tools" target)))))))
(native-inputs `(("autoconf" ,autoconf)
("automake" ,automake)
("pkg-config" ,pkg-config)
("emacs" ,emacs-no-x)))
(inputs `(("poppler" ,poppler)
("cairo" ,cairo)
("glib" ,glib)
("libpng" ,libpng)
("zlib" ,zlib)))
(synopsis "Emacs support library for PDF files")
(description
"PDF Tools is, among other things, a replacement of DocView for PDF
files. The key difference is that pages are not pre-rendered by
e.g. ghostscript and stored in the file-system, but rather created on-demand
and stored in memory.")
(home-page "https://github.com/politza/pdf-tools")
(license license:gpl3+)))

View File

@ -56,6 +56,6 @@ the dlopen() system call.
Enchant steps in to provide uniformity and conformity on top of these libraries,
and implement certain features that may be lacking in any individual provider
library. Everything should \"just work\" for any and every definition of \"just
working.\"")
working\".")
(home-page "http://www.abisource.com/projects/enchant")
(license lgpl2.1+)))

View File

@ -78,6 +78,6 @@
(synopsis "Firmware for the Atheros AR7010 and AR9271 USB 802.11n NICs")
(description
"This is the firmware for the Qualcomm Atheros AR7010 and AR9271 USB
802.11n NICs (aka. Wi-Fi USB dongles.) It is used by the ath9k driver of
802.11n NICs (aka Wi-Fi USB dongles). It is used by the ath9k driver of
Linux-libre.")
(license (non-copyleft "http://directory.fsf.org/wiki/License:ClearBSD"))))

View File

@ -108,7 +108,7 @@ technique (ISP).")
(define-public dfu-programmer
(package
(name "dfu-programmer")
(version "0.7.0")
(version "0.7.2")
(source
(origin
(method url-fetch)
@ -116,14 +116,17 @@ technique (ISP).")
version ".tar.gz"))
(sha256
(base32
"17lglglk5xrqd2n0impg5bkq4j96qc51cw3kzcghzmzmn6fvg3gf"))
"15gr99y1z9vbvhrkd25zqhnzhg6zjmaam3vfjzf2mazd39mx7d0x"))
(patches (list (search-patch "dfu-programmer-fix-libusb.patch")))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
`(("libusb" ,libusb)))
(home-page "http://dfu-programmer.github.io/")
(synopsis "Device firmware update programmer for Atmel chips")
(description
"Dfu-programmer is a multi-platform command-line programmer for Atmel
(8051, AVR, XMEGA & AVR32) chips with a USB bootloader supporting ISP")
"Dfu-programmer is a multi-platform command-line programmer for
Atmel (8051, AVR, XMEGA & AVR32) chips with a USB bootloader supporting
ISP.")
(license gpl2+)))

View File

@ -356,8 +356,7 @@ seven weights: ExtraLight, Light, Normal, Regular, Medium, Bold, and Heavy.
And in several OpenType/CFF-based deployment configurations to accommodate
various system requirements or limitations. As the name suggests, Pan-CJK
fonts are intended to support the characters necessary to render or display
text in Simplified Chinese, Traditional Chinese, Japanese, and Korean.
")
text in Simplified Chinese, Traditional Chinese, Japanese, and Korean.")
(license license:asl2.0)))
(define-public font-wqy-zenhei

View File

@ -4,6 +4,7 @@
;;; Copyright © 2015 Andy Wingo <wingo@pobox.com>
;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -39,6 +40,8 @@
#:use-module (gnu packages glib) ;intltool
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xorg)
#:use-module (gnu packages boost)
#:use-module (gnu packages compression)
#:use-module (gnu packages doxygen)
#:use-module (gnu packages libffi))
@ -227,7 +230,7 @@ of a the system to know what users are logged in, and where.")
(synopsis "Implementations of freedesktop.org standards in Python")
(description
"PyXDG is a collection of implementations of freedesktop.org standards in
Python")
Python.")
(license license:lgpl2.0)))
(define-public python2-pyxdg
@ -265,3 +268,30 @@ display server running on Linux kernel modesetting and evdev input devices, an X
application, or a wayland client itself. The clients can be traditional
applications, X servers (rootless or fullscreen) or other display servers.")
(license license:x11)))
(define-public exempi
(package
(name "exempi")
(version "2.2.2")
(source (origin
(method url-fetch)
(uri (string-append
"http://libopenraw.freedesktop.org/download/"
name "-" version ".tar.bz2"))
(sha256
(base32
"01vcd1mfn2s0iiq2cjyzgvnxx6kcq9cwra1iipijhs0vwvjx0yhf"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags (list (string-append "--with-boost="
(assoc-ref %build-inputs "boost")))))
(native-inputs
`(("boost" ,boost))) ; tests
(inputs
`(("expat" ,expat)
("zlib" ,zlib)))
(home-page "https://wiki.freedesktop.org/libopenraw/Exempi")
(synopsis "XMP metadata handling library")
(description "Exempi is an implementation of the Extensible Metadata
Platform (XMP), which enables embedding metadata in PDF and image formats.")
(license license:bsd-3)))

View File

@ -781,7 +781,7 @@ reference interpreter, using Glk API.")
(synopsis "Z-machine interpreter")
(description
"Fizmo is a console-based Z-machine interpreter. It is used to play
interactive ficiton, also known as textadventures, which were implemented
interactive fiction, also known as text adventures, which were implemented
either by Infocom or created using the Inform compiler.")
(license license:bsd-3)))
@ -853,13 +853,14 @@ multi-system game/emulator system.")
(build-system gnu-build-system)
(inputs `(("readline" ,readline)))
(synopsis "Play the game of Go")
(description "GNU Go is a program that plays the game of Go, in which
players place stones on a grid to form territory or capture other stones.
While it can be played directly from the terminal, rendered in ASCII
characters, it is also possible to play GNU Go with 3rd party graphical
interfaces or even in Emacs. It supports the standard game storage format
(SGF, Smart Game Format) and inter-process communication format (GMP, Go
Modem Protocol).")
(description
"GNU Go is a program that plays the game of Go, in which players
place stones on a grid to form territory or capture other stones. While
it can be played directly from the terminal, rendered in ASCII characters,
it is also possible to play GNU Go with 3rd party graphical interfaces or
even in Emacs. It supports the standard game storage format (SGF, Smart
Game Format) and inter-process communication format (GMP, Go Modem
Protocol).")
(home-page "http://www.gnu.org/software/gnugo/")
(license license:gpl3+)))

View File

@ -21,7 +21,7 @@
(define-module (gnu packages gcc)
#:use-module ((guix licenses)
#:select (gpl3+ gpl2+ lgpl2.1+ lgpl2.0+))
#:select (gpl3+ gpl2+ lgpl2.1+ lgpl2.0+ fdl1.3+))
#:use-module (gnu packages)
#:use-module (gnu packages bootstrap)
#:use-module (gnu packages compression)
@ -676,3 +676,53 @@ CLooG is designed to avoid control overhead and to produce a very
effective code.")
(license gpl2+)))
(define-public gnu-c-manual
(package
(name "gnu-c-manual")
(version "0.2.4")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/gnu-c-manual/gnu-c-manual-"
version ".tar.gz"))
(sha256
(base32
"0cf4503shr7hxkbrjfi9dky6q2lqk95bgbgbjmvj2s2x312kakd9"))))
(build-system gnu-build-system)
(native-inputs `(("texinfo" ,texinfo)))
(arguments
'(#:phases (modify-phases %standard-phases
(delete 'configure)
(delete 'check)
(replace 'build
(lambda _
(zero? (system* "make"
"gnu-c-manual.info"
"gnu-c-manual.html"))))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(info (string-append out "/share/info"))
(html (string-append
out "/share/doc/gnu-c-manual")))
(mkdir-p info)
(mkdir-p html)
(for-each (lambda (file)
(copy-file file
(string-append info "/"
file)))
(find-files "." "\\.info(-[0-9])?$"))
(for-each (lambda (file)
(copy-file file
(string-append html "/"
file)))
(find-files "." "\\.html$"))
#t))))))
(synopsis "Reference manual for the C programming language")
(description
"This is a reference manual for the C programming language, as
implemented by the GNU C Compiler (gcc). As a reference, it is not intended
to be a tutorial of the language. Rather, it outlines all of the constructs
of the language. Library functions are not included.")
(home-page "http://www.gnu.org/software/gnu-c-manual")
(license fdl1.3+)))

View File

@ -138,7 +138,7 @@ you can create PNG images on the fly or modify existing files.")
`(("perl-gd" ,perl-gd)
("perl-image-magick" ,perl-image-magick)))
(home-page "http://search.cpan.org/dist/GD-SecurityImage")
(synopsis "Security image generator.")
(synopsis "Security image generator")
(description "This module provides a basic interface to create
security (captcha) images. The final output is the actual graphic data, the
mime type of the graphic, and the created random string. The module also has

View File

@ -130,7 +130,7 @@ the X-Consortium license.")
(description
"FTGL is a font rendering library for OpenGL applications. Supported
rendering modes are: Bitmaps, Anti-aliased pixmaps, Texture maps, Outlines,
Polygon meshes, and Extruded polygon meshes")
Polygon meshes, and Extruded polygon meshes.")
(license l:x11)))
(define-public s2tc
@ -409,22 +409,27 @@ extension functionality is exposed in a single header file.")
("glu" ,glu)
("freeglut" ,freeglut)))
(arguments
'(#:phases (alist-cons-before
'build 'patch-dynamic-link
(lambda* (#:key inputs outputs #:allow-other-keys)
(define (dynamic-link-substitute file lib input)
(substitute* file
(("dynamic-link \"lib([a-zA-Z]+)\"" _ lib)
(string-append "dynamic-link \""
(assoc-ref inputs input)
"/lib/lib" lib "\""))))
;; Replace dynamic-link calls for libGL, libGLU, and
;; libglut with absolute paths to the store.
(dynamic-link-substitute "glx/runtime.scm" "GL" "mesa")
(dynamic-link-substitute "glu/runtime.scm" "GLU" "glu")
(dynamic-link-substitute "glut/runtime.scm" "glut"
"freeglut"))
%standard-phases)))
'(#:phases (modify-phases %standard-phases
(add-after 'configure 'patch-makefile
(lambda _
;; Install compiled Guile files in the expected place.
(substitute* '("Makefile")
(("^godir = .*$")
"godir = $(moddir)\n"))))
(add-before 'build 'patch-dynamic-link
(lambda* (#:key inputs outputs #:allow-other-keys)
(define (dynamic-link-substitute file lib input)
(substitute* file
(("dynamic-link \"lib([a-zA-Z]+)\"" _ lib)
(string-append "dynamic-link \""
(assoc-ref inputs input)
"/lib/lib" lib "\""))))
;; Replace dynamic-link calls for libGL, libGLU, and
;; libglut with absolute paths to the store.
(dynamic-link-substitute "glx/runtime.scm" "GL" "mesa")
(dynamic-link-substitute "glu/runtime.scm" "GLU" "glu")
(dynamic-link-substitute "glut/runtime.scm" "glut"
"freeglut"))))))
(home-page "http://gnu.org/s/guile-opengl")
(synopsis "Guile binding for the OpenGL graphics API")
(description

View File

@ -5,6 +5,7 @@
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2014, 2015 Federico Beffa <beffa@fbengineering.ch>
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2015 Mathieu Lirzin <mthl@openmailbox.org>
;;; Copyright © 2015 Andy Wingo <wingo@igalia.com>
;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com>
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
@ -61,6 +62,7 @@
#:use-module (gnu packages lua)
#:use-module (gnu packages image)
#:use-module (gnu packages perl)
#:use-module (gnu packages photo)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages python)
@ -132,6 +134,28 @@ Desktop. It is designed to be as simple as possible and has some unique
features to enable users to create their discs easily and quickly.")
(license license:gpl2+)))
(define-public gnome-common
(package
(name "gnome-common")
(version "3.14.0")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
(version-major+minor version) "/"
name "-" version ".tar.xz"))
(sha256
(base32
"0b1676g4q44ah73c5gwl1kg88pc93pnq1pa9kwl43d0vg0pj802c"))))
(build-system gnu-build-system)
(home-page "https://www.gnome.org/")
(synopsis "Bootstrap GNOME modules built from Git")
(description "gnome-common contains various files needed to bootstrap
GNOME modules built from Git. It contains a common \"autogen.sh\" script that
can be used to configure a source directory checked out from Git and some
commonly used macros.")
(license license:gpl2+)))
(define-public gnome-desktop
(package
(name "gnome-desktop")
@ -666,7 +690,7 @@ some form of information without getting in the user's way.")
every application the chance to assume its own extensibility. It also has a
set of features including, but not limited to: multiple extension points; on
demand (lazy) programming language support for C, Python and JS; simplicity of
the API")
the API.")
(license license:lgpl2.0+)))
(define-public gtkglext
@ -1211,7 +1235,8 @@ creating interactive structured graphics.")
(home-page "https://developer.gnome.org/libgnomeui/")
(synopsis "Additional widgets for applications")
(description "The libgnomeui library provides additional widgets for
applications. Many of the widgets from libgnomeui have already been ported to GTK+.")
applications. Many of the widgets from libgnomeui have already been
ported to GTK+.")
(license license:lgpl2.0+)))
(define-public libglade
@ -1754,11 +1779,12 @@ configuration storage systems.")
`(("glib" ,glib))) ;according to json-glib-1.0.pc
(home-page "https://wiki.gnome.org/Projects/JsonGlib")
(synopsis "Compiler for the GObject type system")
(description "JSON-GLib is a C library based on GLib providing
serialization and deserialization support for the JavaScript Object Notation
(JSON) format described by RFC 4627. It provides parser and generator
GObject classes and various wrappers for the complex data types employed by
JSON, such as arrays and objects.")
(description
"JSON-GLib is a C library based on GLib providing serialization and
deserialization support for the JavaScript Object Notation (JSON) format
described by RFC 4627. It provides parser and generator GObject classes and
various wrappers for the complex data types employed by JSON, such as arrays
and objects.")
(license license:lgpl2.1+)))
(define-public libxklavier
@ -1796,8 +1822,8 @@ JSON, such as arrays and objects.")
(synopsis "High-level API for X Keyboard Extension")
(description
"LibXklavier is a library providing high-level API for X Keyboard
Extension known as XKB. This library is indended to support XFree86 and other
commercial X servers. It is useful for creating XKB-related software (layout
Extension known as XKB. This library is intended to support XFree86 and other
commercial X servers. It is useful for creating XKB-related software (layout
indicators etc).")
(license license:lgpl2.0+)))
@ -2212,7 +2238,7 @@ output devices.")
information. The primary goal of the Geoclue project is to make creating
location-aware applications as simple as possible, while the secondary goal is
to ensure that no application can access location information without explicit
permission from user. ")
permission from user.")
(license license:gpl2+)))
(define-public geocode-glib
@ -3001,3 +3027,53 @@ which can read a large number of file formats.")
(description "Rhythmbox is a music playing application for GNOME. It
supports playlists, song ratings, and any codecs installed through gstreamer.")
(license license:gpl2+)))
(define-public eog
(package
(name "eog")
(version "3.16.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
(version-major+minor version) "/"
name "-" version ".tar.xz"))
(sha256
(base32
"0frw1b5jix9pffznav5s7ajjx91a8rv5lf4sjvjv3fw65mbnhbw0"))))
(build-system glib-or-gtk-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after
'install 'wrap-eog
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(gi-typelib-path (getenv "GI_TYPELIB_PATH")))
(wrap-program (string-append out "/bin/eog")
`("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
#t)))))
(propagated-inputs
`(("dconf" ,dconf)))
(native-inputs
`(("intltool" ,intltool)
("itstool", itstool)
("glib" ,glib "bin")
("gobject-introspection" ,gobject-introspection)
("pkg-config" ,pkg-config)))
(inputs
`(("gnome-desktop" ,gnome-desktop)
("shared-mime-info" ,shared-mime-info)
("adwaita-icon-theme" ,adwaita-icon-theme)
("exempi" ,exempi)
("lcms" ,lcms)
("libexif" ,libexif)
("libpeas" ,libpeas)
("libjpeg" ,libjpeg)
("librsvg" ,librsvg)
("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
("gtk+" ,gtk+)))
(home-page "https://wiki.gnome.org/Apps/EyeOfGnome")
(synopsis "GNOME image viewer")
(description "Eye of GNOME is the GNOME image viewer. It
supports image conversion, rotation, and slideshows.")
(license license:gpl2+)))

View File

@ -41,7 +41,7 @@
(build-system gnu-build-system)
(synopsis "Library that implements NTLM authentication")
(description
"Libntlm is a library that implements NTLM authentication")
"Libntlm is a library that implements NTLM authentication.")
(license license:lgpl2.1+)
(home-page "http://www.nongnu.org/libntlm/")))

View File

@ -118,8 +118,8 @@ arrays of data.")
(description
"GStreamer is a library for constructing graphs of media-handling
components. The applications it supports range from simple Ogg/Vorbis
playback, audio/video streaming to complex audio (mixing) and video
(non-linear editing) processing.
playback, audio/video streaming to complex audio mixing and video
non-linear editing.
Applications can take advantage of advances in codec and filter technology
transparently. Developers can add new codecs and filters by writing a
@ -275,8 +275,7 @@ developers consider to have good quality code and correct functionality.")
("pkg-config" ,pkg-config)
("python-wrapper" ,python-wrapper)))
(home-page "http://gstreamer.freedesktop.org/")
(synopsis
"GStreamer plugins from the \"ugly\" set.")
(synopsis "GStreamer plugins from the \"ugly\" set")
(description "GStreamer Ugly Plug-ins. This set contains those plug-ins
which the developers consider to have good quality code but that might pose
distribution problems in some jurisdictions, e.g. due to patent threats.")

View File

@ -131,7 +131,7 @@ The cairo API provides operations similar to the drawing operators of
PostScript and PDF. Operations in cairo including stroking and filling cubic
Bézier splines, transforming and compositing translucent images, and
antialiased text rendering. All drawing operations can be transformed by any
affine transformation (scale, rotation, shear, etc.)")
affine transformation (scale, rotation, shear, etc.).")
(license license:lgpl2.1) ; or Mozilla Public License 1.1
(home-page "http://cairographics.org/")))

View File

@ -457,14 +457,14 @@ http:://json.org specification. These are the main features:
(inputs
`(("guile" ,guile-2.0)))
(home-page "https://github.com/ijp/minikanren")
(synopsis "miniKanren declarative logic system, packaged for Guile")
(synopsis "MiniKanren declarative logic system, packaged for Guile")
(description
"MiniKanren is a relational programming extension to the Scheme
programming Language, written as a smaller version of Kanren suitable for
pedagogical purposes. It is featured in the book, The Reasoned Schemer,
written by Dan Friedman, William Byrd, and Oleg Kiselyov.
This is Ian Price's r6rs packaged version of miniKranen, which deviates
This is Ian Price's r6rs packaged version of miniKanren, which deviates
slightly from miniKanren mainline.
See http://minikanren.org/ for more on miniKanren generally.")

View File

@ -842,8 +842,8 @@ mutable and immutable), with a powerful loop optimisation framework.")
`(("ghc-parsec" ,ghc-parsec)))
(home-page
"https://github.com/haskell/network-uri")
(synopsis "Labrary for URI manipulation")
(description "This package provides an URI manipulation inteface. In
(synopsis "Library for URI manipulation")
(description "This package provides an URI manipulation interface. In
'network-2.6' the 'Network.URI' module was split off from the 'network'
package into this package.")
(license bsd-3)))

View File

@ -264,10 +264,10 @@ arithmetic ops.")
(build-system gnu-build-system)
(synopsis "Decoder of the JBIG2 image compression format")
(description
"JBIG2 is designed for lossy or lossless encoding of 'bilevel'
(1-bit monochrome) images at moderately high resolution, and in
particular scanned paper documents. In this domain it is very
efficient, offering compression ratios on the order of 100:1.
"JBIG2 is designed for lossy or lossless encoding of 'bilevel' (1-bit
monochrome) images at moderately high resolution, and in particular scanned
paper documents. In this domain it is very efficient, offering compression
ratios on the order of 100:1.
This is a decoder only implementation, and currently is in the alpha
stage, meaning it doesn't completely work yet. However, it is

View File

@ -372,7 +372,7 @@ stemmer at http://snowball.sourceforge.net.")
("perl-text-unidecode" ,perl-text-unidecode)
("perl-namespace-clean" ,perl-namespace-clean)))
(home-page "http://search.cpan.org/dist/String-ToIdentifier-EN")
(synopsis "Convert strings to english program identifiers")
(synopsis "Convert strings to English program identifiers")
(description "This module provides a utility method, \"to_identifier\" for
converting an arbitrary string into a readable representation using the ASCII
subset of \"\\w\" for use as an identifier in a computer program. The intent
@ -395,6 +395,6 @@ string can be easily inferred by a human just by reading the identifier.")
(build-system perl-build-system)
(home-page "http://search.cpan.org/dist/Text-German")
(synopsis "German grundform reduction")
(description "This module is a rather incomplete implementaion of work
(description "This module is a rather incomplete implementation of work
done by Gudrun Putze-Meier.")
(license (package-license perl))))

View File

@ -45,5 +45,5 @@
("libxt" ,libxt)))
(home-page "http://lesstif.sourceforge.net/")
(synopsis "Clone of the Motif toolkit for the X window system")
(description "Clone of the Motif toolkit for the X window system")
(description "Clone of the Motif toolkit for the X window system.")
(license license:gpl2+))) ; some files are lgpl2.1+ or x11

View File

@ -657,7 +657,7 @@ patterns, which are pre-processed by a perl script.")
(synopsis "Thesaurus")
(description "MyThes is a simple thesaurus that uses a structured text
data file and an index file with binary search to look up words and phrases
and to return information on pronunciations, meaningss and synonyms.")
and to return information on pronunciations, meanings and synonyms.")
(license (non-copyleft "file://COPYING"
"See COPYING in the distribution."))))

View File

@ -313,7 +313,18 @@ It has been modified to remove all non-free binary blobs.")
(license gpl2)
(home-page "http://www.gnu.org/software/linux-libre/"))))
(define-public linux-libre-4.0
(package
(inherit linux-libre)
(version "4.0.8")
(source (origin
(method url-fetch)
(uri (linux-libre-urls version))
(sha256
(base32
"1xg5ysbdpna78yaz760c1z08sczagqyy74svr3p2mv8iczqyxdca"))))))
;;;
;;; Pluggable authentication modules (PAM).
;;;
@ -356,7 +367,7 @@ It has been modified to remove all non-free binary blobs.")
"A *Free* project to implement OSF's RFC 86.0.
Pluggable authentication modules are small shared object files that can
be used through the PAM API to perform tasks, like authenticating a user
at login. Local and dynamic reconfiguration are its key features")
at login. Local and dynamic reconfiguration are its key features.")
(license bsd-3)))
@ -1713,6 +1724,113 @@ interface.")
(home-page "http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html")
(license gpl2+)))
(define-public crda
(package
(name "crda")
(version "3.18")
(source (origin
(method url-fetch)
(uri (string-append "mirror://kernel.org/software/network/crda/"
"crda-" version ".tar.xz"))
(sha256
(base32
"1gydiqgb08d9gbx4l6gv98zg3pljc984m50hmn3ysxcbkxkvkz23"))
(patches (list (search-patch "crda-optional-gcrypt.patch")))))
(build-system gnu-build-system)
(arguments
'(#:phases (modify-phases %standard-phases
(delete 'configure)
(add-before
'build 'no-werror-no-ldconfig
(lambda _
(substitute* "Makefile"
(("-Werror") "")
(("ldconfig") "true"))
#t))
(add-before
'build 'set-regulator-db-file-name
(lambda* (#:key inputs #:allow-other-keys)
;; Tell CRDA where to find our database.
(let ((regdb (assoc-ref inputs "wireless-regdb")))
(substitute* "crda.c"
(("\"/lib/crda/regulatory.bin\"")
(string-append "\"" regdb
"/lib/crda/regulatory.bin\"")))
#t))))
#:test-target "verify"
#:make-flags (let ((out (assoc-ref %outputs "out"))
(regdb (assoc-ref %build-inputs "wireless-regdb")))
(list "CC=gcc" "V=1"
;; Disable signature-checking on 'regulatory.bin'.
;; The reason is that this simplifies maintenance
;; on our side (no need to manage a distro key
;; pair), and we can guarantee integrity of
;; 'regulatory.bin' by other means anyway, such as
;; 'guix gc --verify'. See
;; <https://wireless.wiki.kernel.org/en/developers/regulatory/wireless-regdb>
;; for a discssion.
"USE_OPENSSL=0"
(string-append "PREFIX=" out)
(string-append "SBINDIR=" out "/sbin/")
(string-append "UDEV_RULE_DIR="
out "/lib/udev/rules.d")
(string-append "LDFLAGS=-Wl,-rpath="
out "/lib -L.")
(string-append "REG_BIN=" regdb
"/lib/crda/regulatory.bin")))))
(native-inputs `(("pkg-config" ,pkg-config)
("python" ,python-2)
("wireless-regdb" ,wireless-regdb)))
(inputs `(("libnl" ,libnl)))
(home-page
"https://wireless.wiki.kernel.org/en/developers/Regulatory/CRDA")
(synopsis "Central regulatory domain agent (CRDA) for WiFi")
(description
"The Central Regulatory Domain Agent (CRDA) acts as the udev helper for
communication between the kernel Linux and user space for regulatory
compliance.")
(license copyleft-next)))
(define-public wireless-regdb
(package
(name "wireless-regdb")
(version "2015.04.06")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://kernel.org/software/network/wireless-regdb/"
"wireless-regdb-" version ".tar.xz"))
(sha256
(base32
"0czi83k311fp27z42hxjm8vi88fsbc23mhavv96lkb4pmari0jjc"))))
(build-system gnu-build-system)
(arguments
'(#:phases (modify-phases %standard-phases
(delete 'configure))
#:tests? #f ;no tests
#:make-flags (let ((out (assoc-ref %outputs "out")))
(list (string-append "PREFIX=" out)
(string-append "LSB_ID=GuixSD")
(string-append "DISTRO_PUBKEY=/dev/null")
(string-append "DISTRO_PRIVKEY=/dev/null")
(string-append "REGDB_PUBKEY=/dev/null")
;; Leave that empty so that db2bin.py doesn't try
;; to sign 'regulatory.bin'. This allows us to
;; avoid managing a key pair for the whole distro.
(string-append "REGDB_PRIVKEY=")))))
(native-inputs `(("python" ,python-2)))
(home-page
"https://wireless.wiki.kernel.org/en/developers/regulatory/wireless-regdb")
(synopsis "Wireless regulatory database")
(description
"This package contains the wireless regulatory database Central
Regulatory Database Agent (CRDA) daemon. The database contains information on
country-specific regulations for the wireless spectrum.")
(license isc)))
(define-public lm-sensors
(package
(name "lm-sensors")
@ -1949,10 +2067,10 @@ thanks to the use of namespaces.")
#:phases (alist-delete 'configure %standard-phases)
#:tests? #f)) ; no test suite
(home-page "http://sourceforge.net/projects/hdparm/")
(synopsis "tune hard disk parameters for high performance")
(synopsis "Tune hard disk parameters for high performance")
(description
"Get/set device parameters for Linux SATA/IDE drives. It's primary use
is for enabling irq-unmasking and IDE multiplemode.")
is for enabling irq-unmasking and IDE multiple-mode.")
(license (non-copyleft "file://LICENSE.TXT"))))
(define-public acpid
@ -2048,7 +2166,7 @@ also contains the libsysfs library.")
(home-page "https://www.kernel.org/pub/linux/utils/kernel/cpufreq/")
(synopsis "Utilities to get and set CPU frequency on Linux")
(description
"The cpufrequtils suite contains utilities to retreive CPU frequency
"The cpufrequtils suite contains utilities to retrieve CPU frequency
information, and set the CPU frequency if supported, using the cpufreq
capabilities of the Linux kernel.")
(license gpl2)))

View File

@ -70,12 +70,12 @@
(home-page "http://www.llvm.org")
(synopsis "Optimizing compiler infrastructure")
(description
"LLVM is a compiler infrastructure designed for compile-time, link-time, runtime,
and idle-time optimization of programs from arbitrary programming languages.
It currently supports compilation of C and C++ programs, using front-ends
derived from GCC 4.0.1. A new front-end for the C family of languages is in
development. The compiler infrastructure includes mirror sets of programming
tools as well as libraries with equivalent functionality.")
"LLVM is a compiler infrastructure designed for compile-time, link-time,
runtime, and idle-time optimization of programs from arbitrary programming
languages. It currently supports compilation of C and C++ programs, using
front-ends derived from GCC 4.0.1. A new front-end for the C family of
languages is in development. The compiler infrastructure includes mirror sets
of programming tools as well as libraries with equivalent functionality.")
(license ncsa)))
(define (clang-from-llvm llvm hash)

49
gnu/packages/lxde.scm Normal file
View File

@ -0,0 +1,49 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Mathieu Lirzin <mthl@openmailbox.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 lxde)
#:use-module (gnu packages glib)
#:use-module (gnu packages gtk)
#:use-module (gnu packages pkg-config)
#:use-module (guix build-system gnu)
#:use-module (guix download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages))
(define-public lxappearance
(package
(name "lxappearance")
(version "0.6.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/project/lxde/"
"LXAppearance/" name "-" version ".tar.xz"))
(sha256
(base32
"1phnv1b2jdj2vlibjyc9z01izcf3k5zxj8glsaf0i3vh77zqmqq9"))))
(build-system gnu-build-system)
(inputs `(("gtk+" ,gtk+-2)))
(native-inputs `(("intltool" ,intltool)
("pkg-config" ,pkg-config)))
(synopsis "LXDE GTK+ theme switcher")
(description "LXAppearance is a desktop-independent GTK+ theme switcher
able to change themes, icons, and fonts used by GTK+ applications.")
(home-page "http://lxde.org")
(license license:gpl2+)))
;;; lxde.scm ends here

View File

@ -90,10 +90,10 @@
(synopsis "Conversion between thousands of scales")
(description
"GNU Units converts numeric quantities between units of measure. It
can handle scale changes through adaptive usage of standard scale prefixes
(micro-, kilo-, etc.). It can also handle nonlinear conversions such as
Fahrenheit to Celsius. Its interpreter is powerful enough to be used
effectively as a scientific calculator.")
can handle scale changes through adaptive usage of standard scale
prefixes (micro-, kilo-, etc.). It can also handle nonlinear
conversions such as Fahrenheit to Celsius. Its interpreter is powerful
enough to be used effectively as a scientific calculator.")
(license license:gpl3+)
(home-page "http://www.gnu.org/software/units/")))
@ -1381,7 +1381,7 @@ to BMP, JPEG or PNG image formats.")
(description "Maxima is a system for the manipulation of symbolic and
numerical expressions. It yields high precision numeric results by using
exact fractions, arbitrary precision integers, and variable precision floating
point numbers")
point numbers.")
;; Some files are lgpl2.1+. Some are gpl2+. Some explicitly state gpl1+.
;; Others simply say "GNU General Public License" without stating a
;; version (which implicitly means gpl1+).
@ -1528,7 +1528,7 @@ constant parts of it.")
"OpenLibm is an effort to have a high quality, portable, standalone C
mathematical library (libm). It can be used standalone in applications and
programming language implementations. The project was born out of a need to
have a good libm for the Julia programming langage that worked consistently
have a good libm for the Julia programming language that worked consistently
across compilers and operating systems, and in 32-bit and 64-bit
environments.")
;; See LICENSE.md for details.

View File

@ -107,5 +107,5 @@ Algorithms currently supplied are:
CRC-32, CRC-32B, ALDER-32, MD-2, MD-4, MD-5, RIPEMD-128, RIPEMD-160,
RIPEMD-256, RIPEMD-320, SHA-1, SHA-224, SHA-256, SHA-384, SHA-512, HAVAL-128,
HAVAL-160, HAVAL-192, HAVAL-256, TIGER, TIGER-128, TIGER-160, GOST, WHIRLPOOL,
SNEFRU-128, SNEFRU-256")
SNEFRU-128, SNEFRU-256.")
(license gpl2+)))

View File

@ -81,7 +81,8 @@
(description
"Massachusetts Institute of Technology implementation of Kerberos.
Kerberos is a network authentication protocol designed to provide strong
authentication for client/server applications by using secret-key cryptography.")
authentication for client/server applications by using secret-key
cryptography.")
(license (non-copyleft "file://NOTICE"
"See NOTICE in the distribution."))
"See NOTICE in the distribution."))
(home-page "http://web.mit.edu/kerberos/")))

View File

@ -90,7 +90,7 @@ This package contains the library.")
(synopsis "Library for reading ID3 tags")
(description
"Libid3tag is a library for reading ID3 tags, both ID3v1 and the various
versions of ID3v2")
versions of ID3v2.")
(license license:gpl2+)
(home-page "http://www.underbit.com/products/mad/")))
@ -212,7 +212,7 @@ Speex, WavPack TrueAudio, WAV, AIFF, MP4 and ASF files.")
(synopsis "MP3 technical info viewer and ID3 1.x tag editor")
(description
"MP3Info is a little utility used to read and modify the ID3 tags of MP3
files. MP3Info can also display various techincal aspects of an MP3 file
files. MP3Info can also display various technical aspects of an MP3 file
including playing time, bit-rate, sampling frequency and other attributes in a
pre-defined or user-specifiable output format.")
(license license:gpl2+)))
@ -234,7 +234,7 @@ pre-defined or user-specifiable output format.")
("libmad" ,libmad)
("libogg" ,libogg)
("libltdl" ,libltdl)
("libvorbid" ,libvorbis)
("libvorbis" ,libvorbis)
("pcre" ,pcre)))
(native-inputs
`(("pkg-config" ,pkg-config)))
@ -242,7 +242,7 @@ pre-defined or user-specifiable output format.")
(description
"Mp3splt is a utility to split mp3 and ogg vorbis files selecting a begin
and an end time position, without decoding. For splitting an album, one may
select split points and filenames manually or obtain them automatically from
select split points and file names manually or obtain them automatically from
CDDB (internet or a local file) or from .cue files. The tool also supports
automatic silence split, that can be used also to adjust cddb/cue splitpoints.
@ -264,11 +264,11 @@ This package contains the library.")
"106dnka56prlc9nsfh300f8841am2lmkwlzgl9lkr25mgnc35wwh"))))
(build-system gnu-build-system)
(inputs `(("libmp3splt" ,libmp3splt)))
(synopsis "Utiliy for splitting mp3 and ogg vorbis files")
(synopsis "Utility for splitting mp3 and ogg vorbis files")
(description
"Mp3splt is a utility to split mp3 and ogg vorbis files selecting a begin
and an end time position, without decoding. For splitting an album, one may
select split points and filenames manually or obtain them automatically from
select split points and file names manually or obtain them automatically from
CDDB (internet or a local file) or from .cue files. The tool also supports
automatic silence split, that can be used also to adjust cddb/cue splitpoints.
@ -444,5 +444,5 @@ format.")
(synopsis "Audio player for Musepack-formatted files")
(description
"Mpc123 is a command-line player for files in the Musepack audio
compression format (.mpc files.)")
compression format (.mpc files).")
(license license:gpl2+)))

View File

@ -40,7 +40,7 @@
(build-system gnu-build-system)
(synopsis "Ncurses based disk usage analyzer")
(description "A disk usage analyzer with an ncurses interface, aimed to be
run on a remote server where you don't have an entire gaphical setup, but have
run on a remote server where you don't have an entire graphical setup, but have
to do with a simple SSH connection. ncdu aims to be fast, simple and easy to
use, and should be able to run in any minimal POSIX-like environment with
ncurses installed.")

View File

@ -80,7 +80,7 @@ socat can be used, for instance, as TCP port forwarder, as a shell interface
to UNIX sockets, IPv6 relay, for redirecting TCP oriented programs to a serial
line, to logically connect serial lines on different computers, or to
establish a relatively secure environment (su and chroot) for running client
or server shell scripts with network connections. ")
or server shell scripts with network connections.")
(license license:gpl2)))
(define-public zeromq

View File

@ -78,7 +78,7 @@
(("test-decodenetnum\\$\\(EXEEXT\\) ") ""))
#t)))))
(build-system gnu-build-system)
(synopsis "Real time clock synchonization system")
(synopsis "Real time clock synchronization system")
(description "NTP is a system designed to synchronize the clocks of
computers over a network.")
(license (l:x11-style

View File

@ -380,8 +380,8 @@ It is developed using Objective Caml and Camlp5.")
(zero? (apply system* "make" "install-doc"
make-flags)))))))
(home-page "http://proofgeneral.inf.ed.ac.uk/")
(description "Generic front-end for proof assistants based on Emacs")
(synopsis
(synopsis "Generic front-end for proof assistants based on Emacs")
(description
"Proof General is a major mode to turn Emacs into an interactive proof
assistant to write formal mathematical proofs using a variety of theorem
provers.")

View File

@ -55,7 +55,7 @@
(synopsis "Box style window manager")
(description
"Openbox is a highly configurable, next generation window manager with
extensive standars support. The *box visual style is well known for its
extensive standards support. The *box visual style is well known for its
minimalistic appearance. Openbox uses the *box visual style, while providing
a greater number of options for theme developers than previous *box
implementations.")

View File

@ -0,0 +1,20 @@
This patch allows us to make the libgcrypt dependency optional (which it
is, if you look at the code), which in turns allows us to build CRDA
without the signature-checking capability on 'regulatory.bin'.
--- crda/Makefile 2015-07-17 11:33:33.546712893 +0200
+++ crda/Makefile 2015-07-17 11:34:05.210994373 +0200
@@ -45,12 +45,14 @@ LDLIBS += `pkg-config --libs openssl`
$(LIBREG): keys-ssl.c
else
+ifeq ($(USE_GCRYPT),1)
CFLAGS += -DUSE_GCRYPT
LDLIBS += -lgcrypt
$(LIBREG): keys-gcrypt.c
endif
+endif
MKDIR ?= mkdir -p
INSTALL ?= install

View File

@ -148,7 +148,7 @@
%standard-phases)))
(synopsis "Viewer for PDF files based on the Motif toolkit")
(description
"Xpdf is a viewer for Portable Document Format (PDF) files")
"Xpdf is a viewer for Portable Document Format (PDF) files.")
(license license:gpl3) ; or gpl2, but not gpl2+
(home-page "http://www.foolabs.com/xpdf/")))
@ -424,8 +424,8 @@ but also provides support for other operations such as searching and
listing the table of contents and hyperlinks.
The library ships with a rudimentary X11 viewer, and a set of command
line tools for batch rendering (pdfdraw), examining the file structure
(pdfshow), and rewriting files (pdfclean).")
line tools for batch rendering (pdfdraw), rewriting files (pdfclean),
and examining the file structure (pdfshow).")
(license license:agpl3+)))
(define-public qpdf

View File

@ -615,7 +615,7 @@ the Class::C3 method resolution order.")
(description "Class::Data::Inheritable is for creating accessor/mutators
to class data. That is, if you want to store something about your class as a
whole (instead of about a single object). This data is then inherited by your
subclasses and can be overriden.")
subclasses and can be overridden.")
(license (package-license perl))))
(define-public perl-class-date
@ -725,7 +725,7 @@ names, not Class::Name. For that, this module provides \"load_class
(home-page "http://search.cpan.org/dist/Class-Load-XS")
(synopsis "XS implementation of parts of Class::Load")
(description "This module provides an XS implementation for portions of
Class::Load")
Class::Load.")
(license artistic2.0)))
(define-public perl-class-methodmaker
@ -766,11 +766,11 @@ write accessor methods for your objects that perform standard tasks.")
("perl-test-requires" ,perl-test-requires)))
(home-page "http://search.cpan.org/dist/Class-Method-Modifiers")
(synopsis "Moose-like method modifiers")
(description "Class::Method::Modifiers provides three modifiers: before,
around, and after. before and after are run just before and after the method
they modify, but can not really affect that original method. around is run in
place of the original method, with a hook to easily call that original
method.")
(description "Class::Method::Modifiers provides three modifiers: 'before',
'around', and 'after'. 'before' and 'after' are run just before and after the
method they modify, but can not really affect that original method. 'around'
is run in place of the original method, with a hook to easily call that
original method.")
(license (package-license perl))))
(define-public perl-class-singleton
@ -789,7 +789,7 @@ method.")
(home-page "http://search.cpan.org/dist/Class-Singleton")
(synopsis "Implementation of a singleton class for Perl")
(description "This module implements a Singleton class from which other
classes can be derived. By itself, the Class::Singleton module does very
classes can be derived. By itself, the Class::Singleton module does very
little other than manage the instantiation of a single object.")
(license (package-license perl))))
@ -1045,7 +1045,7 @@ versa.")
to generate random passwords, constructed from words, letters, or characters.
This code is a Perl implementation of the Automated Password Generator
standard, like the program described in \"A Random Word Generator For
Pronounceable Passwords\". This code is a re-engineering of the program
Pronounceable Passwords\". This code is a re-engineering of the program
contained in Appendix A of FIPS Publication 181, \"Standard for Automated
Password Generator\".")
(license (package-license perl))))
@ -1210,7 +1210,7 @@ necessary later on.")
(home-page "http://search.cpan.org/dist/Data-Tumbler")
(synopsis "Dynamic generation of nested combinations of variants")
(description "Data::Tumbler - Dynamic generation of nested combinations of
variants")
variants.")
(license (package-license perl))))
(define-public perl-data-visitor
@ -1409,7 +1409,7 @@ or \"every day\". You can also create more complicated recurrences, such as
("perl-datetime-format-strptime" ,perl-datetime-format-strptime)
("perl-params-validate" ,perl-params-validate)))
(home-page "http://search.cpan.org/dist/DateTime-Format-Builder")
(synopsis "Create DateTime parser classes and objects.")
(synopsis "Create DateTime parser classes and objects")
(description "DateTime::Format::Builder creates DateTime parsers. Many
string formats of dates and times are simple and just require a basic regular
expression to extract the relevant information. Builder provides a simple way
@ -1876,8 +1876,8 @@ modules separately and deal with them after the module is done installing.")
(build-system perl-build-system)
(home-page "http://search.cpan.org/dist/Error")
(synopsis "OO-ish Error/Exception handling for Perl")
(description "The Error package provides two interfaces. Firstly Error
provides a procedural interface to exception handling. Secondly Error is a
(description "The Error package provides two interfaces. Firstly Error
provides a procedural interface to exception handling. Secondly Error is a
base class for errors/exceptions that can either be thrown, for subsequent
catch, or can simply be recorded.")
(license (package-license perl))))
@ -2155,7 +2155,7 @@ in various parts of the CPAN ecosystem.")
(home-page "http://search.cpan.org/dist/File-HomeDir")
(synopsis "Find your home and other directories on any platform")
(description "File::HomeDir is a module for locating the directories that
are \"owned\" by a user (typicaly your user) and to solve the various issues
are \"owned\" by a user (typically your user) and to solve the various issues
that arise trying to find them consistently across a wide variety of
platforms.")
(license (package-license perl))))
@ -2207,7 +2207,7 @@ matching a regular expression.")
(description "File::Remove::remove removes files and directories. It acts
like /bin/rm, for the most part. Although \"unlink\" can be given a list of
files, it will not remove directories; this module remedies that. It also
accepts wildcards, * and ?, as arguments for filenames.")
accepts wildcards, * and ?, as arguments for file names.")
(license (package-license perl))))
(define-public perl-file-sharedir
@ -2274,7 +2274,7 @@ allows you to locate these files after installation.")
(synopsis "Reading/Writing/Modifying of complete files")
(description "File::Slurp provides subroutines to read or write entire
files with a simple call. It also has a subroutine for reading the list of
filenames in a directory.")
file names in a directory.")
(license (package-license perl))))
(define-public perl-file-temp
@ -2471,7 +2471,7 @@ inc directory within a distribution and are used by Makefile.PL or Build.PL.")
(synopsis "Utilities for interactive I/O")
(description "This module provides three utility subroutines that make it
easier to develop interactive applications: is_interactive(), interactive(),
and busy()")
and busy().")
(license (package-license perl))))
(define-public perl-io-string
@ -2556,10 +2556,10 @@ pseudo ttys.")
;; it, so disable it.
(delete-file "t/win32_compile.t"))))))
(home-page "http://search.cpan.org/dist/IPC-Run")
(synopsis "system() and background procs w/ piping, redirs, ptys")
(synopsis "Run system() and background procs w/ piping, redirs, ptys")
(description "IPC::Run allows you run and interact with child processes
using files, pipes, and pseudo-ttys. Both system()-style and scripted usages
are supported and may be mixed. Likewise, functional and OO API styles are
using files, pipes, and pseudo-ttys. Both system()-style and scripted usages
are supported and may be mixed. Likewise, functional and OO API styles are
both supported and may be mixed.")
(license (package-license perl))))
@ -2575,7 +2575,7 @@ both supported and may be mixed.")
(base32
"0r9m8q78bg7yycpixd7738jm40yz71p2q7inm766kzsw3g6c709x"))))
(build-system perl-build-system)
(synopsis "Run a subprocess with input/ouput redirection")
(synopsis "Run a subprocess with input/output redirection")
(description
"The IPC::Run3 module allows you to run a subprocess and redirect stdin,
stdout, and/or stderr to files and perl data structures. It aims to satisfy
@ -3399,8 +3399,8 @@ accessor, while set methods are prefixed with \"_set_\".")
(home-page "http://search.cpan.org/dist/MooseX-StrictConstructor")
(synopsis "Strict object constructors for Moose")
(description "Simply loading this module makes your constructors
\"strict\". If your constructor is called with an attribute init argument that
your class does not declare, then it calls Moose->throw_error(). ")
\"strict\". If your constructor is called with an attribute init argument
that your class does not declare, then it calls Moose->throw_error().")
(license artistic2.0)))
(define-public perl-moosex-traits-pluggable
@ -3428,7 +3428,7 @@ your class does not declare, then it calls Moose->throw_error(). ")
"http://search.cpan.org/dist/MooseX-Traits-Pluggable")
(synopsis "Trait loading and resolution for Moose")
(description "Adds support on top of MooseX::Traits for class precedence
search for traits and some extra attributes")
search for traits and some extra attributes.")
(license (package-license perl))))
(define-public perl-moosex-types
@ -4152,7 +4152,7 @@ of Perl objects without duplicates for scalars and references.")
(home-page "http://search.cpan.org/dist/Set-Scalar")
(synopsis "Set operations for Perl")
(description "The first priority of Set::Scalar is to be a convenient
interface to sets (as in: unordered colletions of Perl scalars.) While not
interface to sets (as in: unordered collections of Perl scalars). While not
designed to be slow or big, neither has it been designed to be fast or
compact.")
(license (package-license perl))))
@ -4257,7 +4257,7 @@ CamelCase and back again.")
(home-page "http://search.cpan.org/dist/String-RewritePrefix")
(synopsis "Rewrite strings based on a set of known prefixes")
(description "This module allows you to rewrite strings based on a set of
known pprefixes.")
known prefixes.")
(license (package-license perl))))
(define-public perl-sub-exporter
@ -4589,7 +4589,7 @@ stuff has been done, and maybe an estimate at how long remains.")
(synopsis "Progress meter if run interactively")
(description "Term::ProgressBar is a wonderful module for showing progress
bars on the terminal. This module acts very much like that module when it is
run interactively. However, when it is not run interactively (for example, as
run interactively. However, when it is not run interactively (for example, as
a cron job) then it does not show the progress bar.")
(license (package-license perl))))
@ -4713,7 +4713,7 @@ called as methods, which usually isn't want you want.")
(description
"Test::Deep compares two structures by going through each level, ensuring
that the values match, that arrays and hashes have the same elements and that
references are blessed into the correct class. It also handles circular data
references are blessed into the correct class. It also handles circular data
structures without getting caught in an infinite loop.")
(home-page (string-append "http://search.cpan.org/~rjbs/"
"Test-Deep-" version))
@ -4738,7 +4738,7 @@ structures without getting caught in an infinite loop.")
(home-page "http://search.cpan.org/dist/Test-Differences")
(synopsis "Test strings and data structures and show differences")
(description "This module exports three test functions and four diff-style
functions")
functions.")
;; See LICENSE section of Test/Differences.pm, which reads "... GNU public
;; license, any version, ..."
(license gpl3+)))
@ -4858,7 +4858,7 @@ automatically aggregated and output to STDOUT.")
(home-page "http://search.cpan.org/dist/Test-LeakTrace")
(synopsis "Traces memory leaks in Perl")
(description "Test::LeakTrace provides several functions that trace memory
leaks. This module scans arenas, the memory allocation system, so it can
leaks. This module scans arenas, the memory allocation system, so it can
detect any leaked SVs in given blocks.")
(license (package-license perl))))
@ -4975,7 +4975,7 @@ bit more fine-grained control over test suites.")
(description
"This modules causes any warnings during testing to be captured and
stored. It automatically adds an extra test that will run when your script
ends to check that there were no warnings. If there were any warings, the
ends to check that there were no warnings. If there were any warnings, the
test will fail and output diagnostics of where, when and what the warning was,
including a stack trace of what was going on when it occurred.")
(home-page (string-append "http://search.cpan.org/~adamk/"
@ -5510,9 +5510,9 @@ as exceptions to standard program flow.")
(home-page "http://search.cpan.org/dist/Tie-IxHash")
(synopsis "Ordered associative arrays for Perl")
(description "This Perl module implements Perl hashes that preserve the
order in which the hash elements were added. The order is not affected when
values corresponding to existing keys in the IxHash are changed. The elements
can also be set to any arbitrary supplied order. The familiar perl array
order in which the hash elements were added. The order is not affected when
values corresponding to existing keys in the IxHash are changed. The elements
can also be set to any arbitrary supplied order. The familiar perl array
operations can also be performed on the IxHash.")
(license (package-license perl))))
@ -5601,7 +5601,7 @@ duration strings like \"2 minutes\" and \"3 seconds\" to seconds.")
(description "This module provides functions that are the inverse of
built-in perl functions localtime() and gmtime(). They accept a date as a
six-element array, and return the corresponding time(2) value in seconds since
the system epoch")
the system epoch.")
(license (package-license perl))))
(define-public perl-timedate
@ -5770,7 +5770,7 @@ UNIVERSAL::can() as a function, which it is not.")
(home-page "http://search.cpan.org/dist/UNIVERSAL-isa")
(synopsis "UNIVERSAL::isa() reimplementation")
(description "This module attempts to recover from people calling
UNIVERSAL::isa as a function")
UNIVERSAL::isa as a function.")
(license (package-license perl))))
(define-public perl-variable-magic

View File

@ -106,7 +106,7 @@ SRC provides a small set of converters to allow quality to be traded off
against computation cost. The current best converter provides a
signal-to-noise ratio of 145dB with -3dB passband extending from DC to 96% of
the theoretical best bandwidth for a given pair of input and output sample
rates. ")
rates.")
(license l:gpl2+)))
(define pulseaudio
@ -173,11 +173,12 @@ rates. ")
(home-page "http://www.pulseaudio.org/")
(synopsis "Sound server")
(description
"PulseAudio is a sound server. It is basically a proxy for your sound applications.
It allows you to do advanced operations on your sound data as it passes
between your application and your hardware. Things like transferring the
audio to a different machine, changing the sample format or channel count and
mixing several sounds into one are easily achieved using a sound server. ")
"PulseAudio is a sound server. It is basically a proxy for your sound
applications. It allows you to do advanced operations on your sound data as
it passes between your application and your hardware. Things like
transferring the audio to a different machine, changing the sample format or
channel count and mixing several sounds into one are easily achieved using a
sound server.")
;; PulseAudio is LGPLv2+, but some of the optional dependencies (GNU dbm,
;; FFTW, etc.) are GPL'd, so the result is effectively GPLv2+. See

View File

@ -644,7 +644,7 @@ datetime module, available in Python 2.3+.")
(synopsis
"Parse human-readable date/time text")
(description
"Parse human-readable date/time text")
"Parse human-readable date/time text.")
(license asl2.0)))
(define-public python-pandas
@ -824,7 +824,7 @@ Database API 2.0T.")
"Mechanize implements stateful programmatic web browsing in Python,
after Andy Lesters Perl module WWW::Mechanize.")
(license (non-copyleft "file://COPYING"
"See COPYING in the distribution."))))
"See COPYING in the distribution."))))
(define-public python-simplejson
@ -844,8 +844,9 @@ after Andy Lesters Perl module WWW::Mechanize.")
(synopsis
"Json library for Python")
(description
"JSON (JavaScript Object Notation) is a subset of JavaScript syntax
(ECMA-262 3rd edition) used as a lightweight data interchange format.
"JSON (JavaScript Object Notation) is a subset of JavaScript
syntax (ECMA-262 3rd edition) used as a lightweight data interchange
format.
Simplejson exposes an API familiar to users of the standard library marshal
and pickle modules. It is the externally maintained version of the json
@ -1540,7 +1541,7 @@ executed.")
"Python test discovery for unittest")
(description
"Discover provides test discovery for unittest, a feature that has been
backported from Python 2.7 for Python 2.4+")
backported from Python 2.7 for Python 2.4+.")
(license bsd-3)))
(define-public python2-discover
@ -2163,7 +2164,7 @@ mining and data analysis.")
(home-page "http://scikit-image.org/")
(synopsis "Image processing in Python")
(description
"scikit-image is a collection of algorithms for image processing.")
"Scikit-image is a collection of algorithms for image processing.")
(license bsd-3)))
(define-public python2-scikit-image
@ -2334,7 +2335,7 @@ include_dirs = ~a/include
(home-page "http://www.numpy.org/")
(synopsis "Fundamental package for scientific computing with Python")
(description "NumPy is the fundamental package for scientific computing
with Python. It contains among other things: a powerful N-dimensional array
with Python. It contains among other things: a powerful N-dimensional array
object, sophisticated (broadcasting) functions, tools for integrating C/C++
and Fortran code, useful linear algebra, Fourier transform, and random number
capabilities.")

View File

@ -54,6 +54,6 @@
(synopsis "Client for Windows Terminal Services")
(description
"rdesktop is a client for Microsoft's Windows Remote Desktop Services,
capable of natively speaking Remote Desktop Protocol (RDP.) It allows users
capable of natively speaking Remote Desktop Protocol (RDP). It allows users
to remotely control a user's Windows desktop.")
(license license:gpl3+)))

View File

@ -162,7 +162,7 @@ Java Lucene text search engine API to C++.")
"LRDF is a library to make it easy to manipulate RDF files describing
LADSPA plugins. It can also be used for general RDF manipulation. It can
read RDF/XLM and N3 files and export N3 files, and it also has a light
taxonomic inference capablility.")
taxonomic inference capability.")
(license gpl2)))
(define-public rasqal

View File

@ -195,7 +195,7 @@ announcement.")
;; dependencies are not available right now.
(delete-file "tasks/cucumber.rake"))))))
(synopsis "Building and packaging helper for Ruby native extensions")
(description "Rake-compiler proivides a framework for building and
(description "Rake-compiler provides a framework for building and
packaging native C and Java extensions in Ruby.")
(home-page "https://github.com/rake-compiler/rake-compiler")
(license license:expat)))
@ -316,7 +316,7 @@ standard diff-like tool.")
(propagated-inputs
`(("ruby-rspec-support" ,ruby-rspec-support)
("ruby-diff-lcs" ,ruby-diff-lcs-for-rspec)))
(synopsis "RSpec expecations library")
(synopsis "RSpec expectations library")
(description "Rspec-expectations provides a simple API to express expected
outcomes of a code example.")
(home-page "https://github.com/rspec/rspec-expectations")

View File

@ -61,11 +61,11 @@
(synopsis "Library for interactive applications and extensibility")
(description
"S-Lang is a multi-platform programmer's library designed to allow a
developer to create robust multi-platform software. It provides facilities
developer to create robust multi-platform software. It provides facilities
required by interactive applications such as display/screen management,
keyboard input, keymaps, and so on. The most exciting feature of the library
keyboard input, keymaps, and so on. The most exciting feature of the library
is the slang interpreter that may be easily embedded into a program to make it
extensible. While the emphasis has always been on the embedded nature of the
extensible. While the emphasis has always been on the embedded nature of the
interpreter, it may also be used in a stand-alone fashion through the use of
slsh, which is part of the S-Lang distribution.")
(license license:gpl2+)))

View File

@ -91,5 +91,5 @@ Features included: PNG and XFT support for alpha transparency and antialiased
fonts, External themes support, Configurable runtime options: X server --
login / shutdown / reboot commands, Single (GDM-like) or double (XDM-like)
input control, Can load predefined user at startup, Configurable welcome /
shutdown messages, Random theme selection")
shutdown messages, Random theme selection.")
(license l:gpl2)))

View File

@ -133,9 +133,9 @@ to initiate and control SIP sessions.")
(inputs `(("osip" ,osip)))
(synopsis "Sip abstraction library")
(description "EXosip is a library that hides the complexity of using the
SIP protocol for mutlimedia session establishement. This protocol is mainly to
SIP protocol for multimedia session establishment. This protocol is mainly to
be used by VoIP telephony applications (endpoints or conference server) but
might be also usefull for any application that wish to establish sessions like
might be also useful for any application that wish to establish sessions like
multiplayer games.")
(license gpl2+)
;; (plus OpenSSL linking exception)

View File

@ -232,7 +232,7 @@ required structures.")
(files '("etc/ssl/certs/ca-certificates.crt")))))
(synopsis "SSL/TLS implementation")
(description
"OpenSSL is an implementation of SSL/TLS")
"OpenSSL is an implementation of SSL/TLS.")
(license license:openssl)
(home-page "http://www.openssl.org/")))

View File

@ -46,6 +46,6 @@
(description
"tmux is a terminal multiplexer: it enables a number of terminals (or
windows), each running a separate program, to be created, accessed, and
controlled from a single screen. tmux may be detached from a screen and
controlled from a single screen. tmux may be detached from a screen and
continue running in the background, then later reattached.")
(license isc)))

View File

@ -52,6 +52,6 @@
(synopsis "Approximate regex matching library and agrep utility")
(description "Superset of the POSIX regex API, enabling approximate
matching. Also ships a version of the agrep utility which behaves similar to
grep but features ineaxct matching.")
grep but features inexact matching.")
(home-page "http://laurikari.net/tre")
(license bsd-2)))

View File

@ -1275,7 +1275,7 @@ and custom quantization matrices.")
(define-public livestreamer
(package
(name "livestreamer")
(version "1.12.1")
(version "1.12.2")
(source (origin
(method url-fetch)
(uri (string-append
@ -1284,7 +1284,7 @@ and custom quantization matrices.")
(file-name (string-append "livestreamer-" version ".tar.gz"))
(sha256
(base32
"1dhgk8v8q1h3km4g5jc0cmjsxdaa2d456fvdb2wk7hmxmmwbqm9j"))))
"1fp3d3z2grb1ls97smjkraazpxnvajda2d1g1378s6gzmda2jvjd"))))
(build-system python-build-system)
(arguments
'(#:tests? #f)) ; tests rely on external web servers

View File

@ -153,5 +153,5 @@ and probably others.")
for creating secure point-to-point or site-to-site connections in routed or
bridged configurations and remote access facilities. It uses a custom
security protocol that utilizes SSL/TLS for key exchange. It is capable of
traversing network address translators (NATs) and firewalls. ")
traversing network address translators (NATs) and firewalls.")
(license license:gpl2)))

View File

@ -365,7 +365,7 @@ files, checks if a given domain is a public suffix, provides immediate cookie
domain verification, finds the longest public part of a given domain, finds
the shortest private part of a given domain, works with international
domains (UTF-8 and IDNA2008 Punycode), is thread-safe, and handles IDNA2008
UTS#46")
UTS#46.")
(license l:x11)))
(define-public tidy
@ -979,7 +979,7 @@ for you. It will work even with Catalyst debug logging turned off.")
(home-page "http://search.cpan.org/dist/Catalyst-Plugin-Authentication")
(synopsis "Infrastructure plugin for the Catalyst authentication framework")
(description "The authentication plugin provides generic user support for
Catalyst apps. It is the basis for both authentication (checking the user is
Catalyst apps. It is the basis for both authentication (checking the user is
who they claim to be), and authorization (allowing the user to do what the
system authorises them to do).")
(license (package-license perl))))
@ -1148,7 +1148,7 @@ cookie mechanism.")
("perl-path-class" ,perl-path-class)))
(home-page
"http://search.cpan.org/dist/Catalyst-Plugin-Session-Store-FastMmap")
(synopsis "FastMmap session storage backend.")
(synopsis "FastMmap session storage backend")
(description "Catalyst::Plugin::Session::Store::FastMmap is a fast session
storage plugin for Catalyst that uses an mmap'ed file to act as a shared
memory interprocess cache. It is based on Cache::FastMmap.")
@ -1327,7 +1327,7 @@ replaced with the contents of the X-Request-Base header.")
(synopsis "Download data in many formats")
(description "The purpose of this module is to provide a method for
downloading data into many supportable formats. For example, downloading a
table based report in a variety of formats (CSV, HTML, etc.). ")
table based report in a variety of formats (CSV, HTML, etc.).")
(license (package-license perl))))
(define-public perl-catalyst-view-json
@ -1567,13 +1567,13 @@ for files and urls.")
(synopsis "Perl locale encoding determination")
(description
"The POSIX locale system is used to specify both the language
conventions requested by the user and the preferred character set to consume
and output. The Encode::Locale module looks up the charset and encoding
(called a CODESET in the locale jargon) and arranges for the Encode module
to know this encoding under the name \"locale\". It means bytes obtained
from the environment can be converted to Unicode strings by calling
Encode::encode(locale => $bytes) and converted back again with
Encode::decode(locale => $string).")
conventions requested by the user and the preferred character set to
consume and output. The Encode::Locale module looks up the charset and
encoding (called a CODESET in the locale jargon) and arranges for the
Encode module to know this encoding under the name \"locale\". It means
bytes obtained from the environment can be converted to Unicode strings
by calling Encode::encode(locale => $bytes) and converted back again
with Encode::decode(locale => $string).")
(home-page "http://search.cpan.org/~gaas/Encode-Locale/")))
(define-public perl-file-listing
@ -2298,7 +2298,7 @@ or to multiple server ports.")
`(("perl-io-socket-ssl" ,perl-io-socket-ssl)))
(home-page "http://search.cpan.org/dist/Net-SMTP-SSL")
(synopsis "SSL support for Net::SMTP")
(description "SSL support for Net::SMTP")
(description "SSL support for Net::SMTP.")
(license (package-license perl))))
(define-public perl-plack

View File

@ -56,7 +56,7 @@
(synopsis "Non-interactive command-line utility for downloading files")
(description
"GNU Wget is a non-interactive tool for fetching files using the HTTP,
HTTPS and FTP protocols. It can resume interrupted downloads, use filename
HTTPS and FTP protocols. It can resume interrupted downloads, use file name
wild cards, supports proxies and cookies, and it can convert absolute links
in downloaded documents to relative links.")
(license gpl3+))) ; some files are under GPLv2+

View File

@ -79,9 +79,9 @@
(synopsis "Lexical database for the English language")
(description
"WordNet® is a large lexical database of English. Nouns, verbs,
adjectives and adverbs are grouped into sets of cognitive synonyms
(synsets), each expressing a distinct concept. Synsets are interlinked by
means of conceptual-semantic and lexical relations. The resulting network of
adjectives and adverbs are grouped into sets of cognitive synonyms (synsets),
each expressing a distinct concept. Synsets are interlinked by means of
conceptual-semantic and lexical relations. The resulting network of
meaningfully related words and concepts can be navigated with the browser.
WordNet is also freely and publicly available for download. WordNet's
structure makes it a useful tool for computational linguistics and natural

View File

@ -279,7 +279,7 @@ System style license, and has no special dependencies.")
"Wmctrl allows to interact with an X window manager that is compatible
with the EWMH/NetWM specification. It can query the window manager for
information, and request for certain window management actions (resize and
move windows, switch between desktops, etc.)")
move windows, switch between desktops, etc.).")
(license license:gpl2+)))
(define-public scrot

View File

@ -157,7 +157,7 @@ storage system.")
(synopsis "Widgets library for Xfce")
(description
"Libxfce4ui is the replacement of the old libxfcegui4 library. It is used
to share commonly used Xfce widgets amoung the Xfce applications.")
to share commonly used Xfce widgets among the Xfce applications.")
(license lgpl2.0+)))
(define-public exo
@ -497,7 +497,7 @@ fast.")
"Thunar-volman is an extension for the Thunar File Manager, which enables
automatic management of removable drives and media. For example, if
thunar-volman is installed and configured properly, and you plug in your
digitcal camera, it will automatically spawn your preferred photo application
digital camera, it will automatically spawn your preferred photo application
and import the new pictures from your camera.")
(license gpl2+)))

View File

@ -333,11 +333,11 @@ incorporated technology from Skype's SILK codec and Xiph.Org's CELT codec.")
(inputs `(("libogg" ,libogg)
("opus" ,opus)
("flac" ,flac)))
(synopsis "Command line utilities to encode, inspect, and decode .opus
files")
(synopsis
"Command line utilities to encode, inspect, and decode .opus files")
(description "Opus is a royalty-free, highly versatile audio codec.
Opus-tools provide command line utilities for creating, inspecting and
decoding .opus files")
decoding .opus files.")
(license license:bsd-3)
(home-page "http://www.opus-codec.org")))

View File

@ -84,8 +84,8 @@ things the parser might find in the XML document (like start tags).")
(file-type 'regular))))
(search-paths native-search-paths)
(description
"Libxml2 is the XML C parser and toolkit developed for the Gnome project
(but it is usable outside of the Gnome platform).")
"Libxml2 is the XML C parser and toolkit developed for the Gnome
project (but it is usable outside of the Gnome platform).")
(license license:x11)))
(define-public python-libxml2

File diff suppressed because it is too large Load Diff

View File

@ -25,7 +25,7 @@
#:use-module (gnu system linux) ; 'pam-service', etc.
#:use-module (gnu packages admin)
#:use-module ((gnu packages linux)
#:select (eudev kbd e2fsprogs lvm2 fuse alsa-utils))
#:select (eudev kbd e2fsprogs lvm2 fuse alsa-utils crda))
#:use-module ((gnu packages base)
#:select (canonical-package glibc))
#:use-module (gnu packages package-management)
@ -739,11 +739,11 @@ item of @var{packages}."
(call-with-output-file
(string-append rules.d "/90-kvm.rules")
(lambda (port)
;; FIXME: As a workaround for
;; <http://bugs.gnu.org/18994>, make /dev/kvm 666
;; instead of 660.
;; Build users are part of the "kvm" group, so we
;; can fearlessly make /dev/kvm 660 (see
;; <http://bugs.gnu.org/18994>, for background.)
(display "\
KERNEL==\"kvm\", GROUP=\"kvm\", MODE=\"0666\"\n" port))))
KERNEL==\"kvm\", GROUP=\"kvm\", MODE=\"0660\"\n" port))))
#:modules '((guix build utils))))
(define* (udev-service #:key (udev eudev) (rules '()))
@ -884,6 +884,6 @@ This is the GNU operating system, welcome!\n\n")))
;; The LVM2 rules are needed as soon as LVM2 or the device-mapper is
;; used, so enable them by default. The FUSE and ALSA rules are
;; less critical, but handy.
(udev-service #:rules (list lvm2 fuse alsa-utils)))))
(udev-service #:rules (list lvm2 fuse alsa-utils crda)))))
;;; base.scm ends here

View File

@ -68,6 +68,7 @@
operating-system-host-name
operating-system-hosts-file
operating-system-kernel
operating-system-kernel-arguments
operating-system-initrd
operating-system-users
operating-system-groups
@ -103,6 +104,8 @@
operating-system?
(kernel operating-system-kernel ; package
(default linux-libre))
(kernel-arguments operating-system-kernel-arguments
(default '())) ; list of gexps/strings
(bootloader operating-system-bootloader) ; <grub-configuration>
(initrd operating-system-initrd ; (list fs) -> M derivation
@ -225,10 +228,16 @@ as 'needed-for-boot'."
(operating-system-mapped-devices os)))
(define (requirements fs)
(map (lambda (md)
(symbol-append 'device-mapping-
(string->symbol (mapped-device-target md))))
(device-mappings fs)))
;; XXX: Fiddling with dmd service names is not nice.
(append (map (lambda (fs)
(symbol-append 'file-system-
(string->symbol
(file-system-mount-point fs))))
(file-system-dependencies fs))
(map (lambda (md)
(symbol-append 'device-mapping-
(string->symbol (mapped-device-target md))))
(device-mappings fs))))
(sequence %store-monad
(map (lambda (fs)
@ -866,11 +875,12 @@ listed in OS. The C library expects to find it under
(label (kernel->grub-label kernel))
(linux kernel)
(linux-arguments
(list (string-append "--root="
(file-system-device root-fs))
#~(string-append "--system=" #$system)
#~(string-append "--load=" #$system
"/boot")))
(cons* (string-append "--root="
(file-system-device root-fs))
#~(string-append "--system=" #$system)
#~(string-append "--load=" #$system
"/boot")
(operating-system-kernel-arguments os)))
(initrd #~(string-append #$system "/initrd"))))))
(grub-configuration-file (operating-system-bootloader os) entries
#:old-entries old-entries)))
@ -887,6 +897,8 @@ this file is the reconstruction of GRUB menu entries for old configurations."
(label #$label)
(root-device #$(file-system-device root))
(kernel #$(operating-system-kernel os))
(kernel-arguments
#$(operating-system-kernel-arguments os))
(initrd #$initrd)))))
(define (operating-system-derivation os)

View File

@ -37,6 +37,7 @@
file-system-options
file-system-check?
file-system-create-mount-point?
file-system-dependencies
file-system->spec
string->uuid
@ -97,7 +98,10 @@
(check? file-system-check? ; Boolean
(default #t))
(create-mount-point? file-system-create-mount-point? ; Boolean
(default #f)))
(default #f))
(dependencies file-system-dependencies ; list of strings (mount
; points depended on)
(default '())))
(define-inlinable (file-system-needed-for-boot? fs)
"Return true if FS has the 'needed-for-boot?' flag set, or if it's the root
@ -153,8 +157,10 @@ UUID representation."
((_ str)
(string? (syntax->datum #'str))
;; A literal string: do the conversion at expansion time.
(with-syntax ((bv (string->uuid (syntax->datum #'str))))
#''bv))
(let ((bv (string->uuid (syntax->datum #'str))))
(unless bv
(syntax-violation 'uuid "invalid UUID" s))
(datum->syntax #'str bv)))
((_ str)
#'(string->uuid str)))))
@ -231,21 +237,26 @@ UUID representation."
(flags '(read-only bind-mount))))
(define %control-groups
(cons (file-system
(device "cgroup")
(mount-point "/sys/fs/cgroup")
(type "tmpfs")
(check? #f))
(map (lambda (subsystem)
(file-system
(device "cgroup")
(mount-point (string-append "/sys/fs/cgroup/" subsystem))
(type "cgroup")
(check? #f)
(options subsystem)
(create-mount-point? #t)))
'("cpuset" "cpu" "cpuacct" "memory" "devices" "freezer"
"blkio" "perf_event" "hugetlb"))))
(let ((parent (file-system
(device "cgroup")
(mount-point "/sys/fs/cgroup")
(type "tmpfs")
(check? #f))))
(cons parent
(map (lambda (subsystem)
(file-system
(device "cgroup")
(mount-point (string-append "/sys/fs/cgroup/" subsystem))
(type "cgroup")
(check? #f)
(options subsystem)
(create-mount-point? #t)
;; This must be mounted after, and unmounted before the
;; parent directory.
(dependencies (list parent))))
'("cpuset" "cpu" "cpuacct" "memory" "devices" "freezer"
"blkio" "perf_event" "hugetlb")))))
(define %base-file-systems
;; List of basic file systems to be mounted. Note that /proc and /sys are

View File

@ -75,6 +75,7 @@ under /root/.guix-profile where GUIX is installed."
(with-directory-excursion %root
(zero? (system* "tar" "--xz" "--format=gnu"
"--owner=root:0" "--group=root:0"
"--mtime=@0" ;for files in /var/guix
"--check-links"
"-cvf" #$output
;; Avoid adding / and /var to the tarball,
@ -273,8 +274,9 @@ You have been warned. Thanks for being so brave.
(guix-service #:authorize-hydra-key? #t)
;; Start udev so that useful device nodes are available.
;; Use device-mapper rules for cryptsetup & co.
(udev-service #:rules (list lvm2))
;; Use device-mapper rules for cryptsetup & co; enable the CRDA for
;; regulations-compliant WiFi access.
(udev-service #:rules (list lvm2 crda))
;; Add the 'cow-store' service, which users have to start manually
;; since it takes the installation directory as an argument.

View File

@ -156,7 +156,7 @@ fi
# Adjust the prompt depending on whether we're in 'guix environment'.
if [ -n \"$GUIX_ENVIRONMENT\" ]
then
export PS1='\\u@\\h \\w\\ [env]$ '
export PS1='\\u@\\h \\w [env]\\$ '
else
export PS1='\\u@\\h \\w\\$ '
fi

View File

@ -493,7 +493,8 @@ exec " #$qemu "/bin/" #$(qemu-command (%current-system))
#~(" -kernel " #$(operating-system-kernel os) "/bzImage \
-initrd " #$os-drv "/initrd \
-append \"" #$(if graphic? "" "console=ttyS0 ")
"--system=" #$os-drv " --load=" #$os-drv "/boot --root=/dev/vda1\" "))
"--system=" #$os-drv " --load=" #$os-drv "/boot --root=/dev/vda1 "
(string-join (list #+@(operating-system-kernel-arguments os))) "\" "))
#$(common-qemu-options image
(map file-system-mapping-source
(cons %store-mapping mappings)))

View File

@ -71,6 +71,7 @@
(define* (ruby-build store name inputs
#:key
(gem-flags ''())
(test-target "test")
(tests? #t)
(phases '(@ (guix build ruby-build-system)
@ -95,6 +96,7 @@
(source
source))
#:system ,system
#:gem-flags ,gem-flags
#:test-target ,test-target
#:tests? ,tests?
#:phases ,phases

View File

@ -231,7 +231,8 @@ host name without trailing dot."
(resolve-interface '(web client))
'current-http-proxy))
(parameterize ((current-http-proxy #f))
(when (getenv "https_proxy")
(when (and=> (getenv "https_proxy")
(negate string-null?))
(format (current-error-port)
"warning: 'https_proxy' is ignored~%"))
(thunk))

View File

@ -63,7 +63,8 @@ directory."
(zero? (system* "rake" test-target))
#t))
(define* (install #:key source inputs outputs #:allow-other-keys)
(define* (install #:key source inputs outputs (gem-flags '())
#:allow-other-keys)
(let* ((ruby-version
(match:substring (string-match "ruby-(.*)\\.[0-9]$"
(assoc-ref inputs "ruby"))
@ -72,10 +73,11 @@ directory."
(gem-home (string-append out "/lib/ruby/gems/" ruby-version ".0")))
(setenv "GEM_HOME" gem-home)
(mkdir-p gem-home)
(zero? (system* "gem" "install" "--local"
(first-matching-file "\\.gem$")
;; Executables should go into /bin, not /lib/ruby/gems.
"--bindir" (string-append out "/bin")))))
(zero? (apply system* "gem" "install" "--local"
(first-matching-file "\\.gem$")
;; Executables should go into /bin, not /lib/ruby/gems.
"--bindir" (string-append out "/bin")
gem-flags))))
(define %standard-phases
(modify-phases gnu:%standard-phases

View File

@ -398,22 +398,23 @@ system to PUT-OLD."
(define-syntax read-types
(syntax-rules ()
((_ bv offset ())
'())
((_ bv offset (type0 types ...))
(cons (read-type bv offset type0)
(read-types bv (+ offset (type-size type0)) (types ...))))))
((_ return bv offset () (values ...))
(return values ...))
((_ return bv offset (type0 types ...) (values ...))
(read-types return
bv (+ offset (type-size type0)) (types ...)
(values ... (read-type bv offset type0))))))
(define-syntax define-c-struct
(syntax-rules ()
"Define READ as an optimized serializer and WRITE! as a deserializer for
the C structure with the given TYPES."
((_ name read write! (fields types) ...)
"Define READ as a deserializer and WRITE! as a serializer for the C
structure with the given TYPES. READ uses WRAP-FIELDS to return its value."
((_ name wrap-fields read write! (fields types) ...)
(begin
(define (write! bv offset fields ...)
(write-types bv offset (types ...) (fields ...)))
(define (read bv offset)
(read-types bv offset (types ...)))))))
(read-types wrap-fields bv offset (types ...) ()))))))
;;;
@ -463,6 +464,8 @@ the C structure with the given TYPES."
32))
(define-c-struct sockaddr-in ;<linux/in.h>
(lambda (family port address)
(make-socket-address family address port))
read-sockaddr-in
write-sockaddr-in!
(family unsigned-short)
@ -470,6 +473,8 @@ the C structure with the given TYPES."
(address (int32 ~ big)))
(define-c-struct sockaddr-in6 ;<linux/in6.h>
(lambda (family port flowinfo address scopeid)
(make-socket-address family address port flowinfo scopeid))
read-sockaddr-in6
write-sockaddr-in6!
(family unsigned-short)
@ -501,14 +506,9 @@ bytevector BV at INDEX."
"Read a socket address from bytevector BV at INDEX."
(let ((family (bytevector-u16-native-ref bv index)))
(cond ((= family AF_INET)
(match (read-sockaddr-in bv index)
((family port address)
(make-socket-address family address port))))
(read-sockaddr-in bv index))
((= family AF_INET6)
(match (read-sockaddr-in6 bv index)
((family port flowinfo address scopeid)
(make-socket-address family address port
flowinfo scopeid))))
(read-sockaddr-in6 bv index))
(else
"unsupported socket address family" family))))

View File

@ -32,6 +32,7 @@
cddl1.0
cecill-c
artistic2.0 clarified-artistic
copyleft-next
cpl1.0
epl1.0
expat
@ -154,6 +155,11 @@ at URI, which may be a file:// URI pointing the package's tree."
"http://gianluca.dellavedova.org/2011/01/03/clarified-artistic-license/"
"https://www.gnu.org/licenses/license-list.html#ArtisticLicense2"))
(define copyleft-next
(license "copyleft-next"
"https://raw.github.com/richardfontana/copyleft-next/master/Releases/copyleft-next-0.3.0"
"GPL-compatible copyleft license"))
(define cpl1.0
(license "CPL 1.0"
"http://directory.fsf.org/wiki/License:CPLv1.0"

View File

@ -307,22 +307,6 @@ RX."
((<) #t)
(else #f)))))
(define-syntax-rule (leave-on-EPIPE exp ...)
"Run EXP... in a context when EPIPE errors are caught and lead to 'exit'
with successful exit code. This is useful when writing to the standard output
may lead to EPIPE, because the standard output is piped through 'head' or
similar."
(catch 'system-error
(lambda ()
exp ...)
(lambda args
;; We really have to exit this brutally, otherwise Guile eventually
;; attempts to flush all the ports, leading to an uncaught EPIPE down
;; the path.
(if (= EPIPE (system-error-errno args))
(primitive-_exit 0)
(apply throw args)))))
(define (upgradeable? name current-version current-path)
"Return #t if there's a version of package NAME newer than CURRENT-VERSION,
or if the newest available version is equal to CURRENT-VERSION but would have

View File

@ -143,7 +143,7 @@ Publish ~a over HTTP.\n") %store-directory)
"Generate a narinfo key/value string for STORE-PATH using the details in
PATH-INFO. The narinfo is signed with KEY."
(let* ((url (string-append "nar/" (basename store-path)))
(hash (bytevector->base32-string
(hash (bytevector->nix-base32-string
(path-info-hash path-info)))
(size (path-info-nar-size path-info))
(references (string-join

View File

@ -280,15 +280,16 @@ Report the size of PACKAGE and its dependencies.\n"))
(()
(leave (_ "missing store item argument\n")))
((file)
(with-store store
(run-with-store store
(mlet* %store-monad ((item (ensure-store-item file))
(profile (store-profile item)))
(if map-file
(begin
(profile->page-map profile map-file)
(return #t))
(display-profile* profile)))
#:system system)))
(leave-on-EPIPE
(with-store store
(run-with-store store
(mlet* %store-monad ((item (ensure-store-item file))
(profile (store-profile item)))
(if map-file
(begin
(profile->page-map profile map-file)
(return #t))
(display-profile* profile)))
#:system system))))
((files ...)
(leave (_ "too many arguments\n")))))))

View File

@ -249,16 +249,19 @@ it atomically, and then run OS's activation script."
(('boot-parameters ('version 0)
('label label) ('root-device root)
('kernel linux)
_ ...)
rest ...)
(menu-entry
(label (string-append label " (#"
(number->string number) ", "
(seconds->string time) ")"))
(linux linux)
(linux-arguments
(list (string-append "--root=" root)
#~(string-append "--system=" #$system)
#~(string-append "--load=" #$system "/boot")))
(cons* (string-append "--root=" root)
#~(string-append "--system=" #$system)
#~(string-append "--load=" #$system "/boot")
(match (assq 'kernel-arguments rest)
((_ args) args)
(#f '())))) ;old format
(initrd #~(string-append #$system "/initrd"))))
(_ ;unsupported format
(warning (_ "unrecognized boot parameters for '~a'~%")

View File

@ -62,6 +62,7 @@
show-manifest-transaction
call-with-error-handling
with-error-handling
leave-on-EPIPE
read/eval
read/eval-package-expression
location->string
@ -430,6 +431,22 @@ interpreted."
(leave (_ "~a: ~a~%") proc
(apply format #f format-string format-args))))))
(define-syntax-rule (leave-on-EPIPE exp ...)
"Run EXP... in a context when EPIPE errors are caught and lead to 'exit'
with successful exit code. This is useful when writing to the standard output
may lead to EPIPE, because the standard output is piped through 'head' or
similar."
(catch 'system-error
(lambda ()
exp ...)
(lambda args
;; We really have to exit this brutally, otherwise Guile eventually
;; attempts to flush all the ports, leading to an uncaught EPIPE down
;; the path.
(if (= EPIPE (system-error-errno args))
(primitive-_exit 0)
(apply throw args)))))
(define %guix-user-module
;; Module in which user expressions are evaluated.
;; Compute lazily to avoid circularity with (guix gexp).

View File

@ -3,6 +3,7 @@
# all of them should be listed here.) Strings of the tools are in 'po/guix'.
gnu/packages/abiword.scm
gnu/packages/aspell.scm
gnu/packages/audio.scm
gnu/packages/backup.scm
gnu/packages/base.scm
gnu/packages/bittorrent.scm
@ -16,6 +17,8 @@ gnu/packages/games.scm
gnu/packages/gcc.scm
gnu/packages/geeqie.scm
gnu/packages/gettext.scm
gnu/packages/gimp.scm
gnu/packages/gnome.scm
gnu/packages/gnuzilla.scm
gnu/packages/gtk.scm
gnu/packages/guile.scm
@ -26,6 +29,7 @@ gnu/packages/jemalloc.scm
gnu/packages/key-mon.scm
gnu/packages/less.scm
gnu/packages/lesstif.scm
gnu/packages/libreoffice.scm
gnu/packages/linux.scm
gnu/packages/lout.scm
gnu/packages/messaging.scm

View File

@ -40,6 +40,16 @@
(bytevector=? (uuid "4dab5feb-d176-45de-b287-9b0a6e4c01cb")
(string->uuid "4dab5feb-d176-45de-b287-9b0a6e4c01cb"))))
(test-assert "uuid, syntax error"
(catch 'syntax-error
(lambda ()
(eval '(uuid "foobar") (current-module))
#f)
(lambda (key proc message location form . args)
(and (eq? proc 'uuid)
(string-contains message "invalid UUID")
(equal? form '(uuid "foobar"))))))
(test-end)

View File

@ -81,7 +81,7 @@ NarSize: ~d
References: ~a~%"
%item
(basename %item)
(bytevector->base32-string
(bytevector->nix-base32-string
(path-info-hash info))
(path-info-nar-size info)
(basename (first (path-info-references info)))))