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-bare-bones.texi
/doc/os-config-desktop.texi /doc/os-config-desktop.texi
/doc/*.1 /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 Nix was initially written by Eelco Dolstra; other people have been
contributing to it. See `nix/AUTHORS' for details. contributing to it. See `nix/AUTHORS' for details.
The fine people listed below have contributed code to GNU Guix (in The list of GNU Guix contributors is now generated from the output of
alphabetical order): 'git log' and written to this file, as can be seen in release tarballs.
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>

View File

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

View File

@ -21,7 +21,7 @@
# #
BUILT_SOURCES += nix/libstore/schema.sql.hh 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 noinst_LIBRARIES = libformat.a libutil.a libstore.a
@ -93,7 +93,6 @@ libstore_headers = \
nix/libstore/references.hh \ nix/libstore/references.hh \
nix/libstore/pathlocks.hh \ nix/libstore/pathlocks.hh \
nix/libstore/globals.hh \ nix/libstore/globals.hh \
nix/libstore/schema.sql.hh \
nix/libstore/worker-protocol.hh \ nix/libstore/worker-protocol.hh \
nix/libstore/remote-store.hh \ nix/libstore/remote-store.hh \
nix/libstore/derivations.hh \ nix/libstore/derivations.hh \
@ -181,10 +180,22 @@ endif BUILD_DAEMON_OFFLOAD
nodist_libexec_SCRIPTS = \ nodist_libexec_SCRIPTS = \
nix/scripts/guix-authenticate 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 += \ EXTRA_DIST += \
nix/libstore/schema.sql \ nix/libstore/schema.sql \
nix/AUTHORS \ nix/AUTHORS \
nix/COPYING nix/COPYING \
etc/guix-daemon.service.in
AM_TESTS_ENVIRONMENT += \ AM_TESTS_ENVIRONMENT += \
top_builddir="$(abs_top_builddir)" 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.dot \
doc/images/bootstrap-graph.eps \ doc/images/bootstrap-graph.eps \
doc/images/bootstrap-graph.pdf \ doc/images/bootstrap-graph.pdf \
doc/images/coreutils-size-map.eps \
doc/environment-gdb.scm doc/environment-gdb.scm
OS_CONFIG_EXAMPLES_TEXI = \ OS_CONFIG_EXAMPLES_TEXI = \
@ -63,27 +64,35 @@ DOT_OPTIONS = \
$(DOT) -Teps $(DOT_OPTIONS) < "$<" > "$@.tmp" $(DOT) -Teps $(DOT_OPTIONS) < "$<" > "$@.tmp"
mv "$@.tmp" "$@" mv "$@.tmp" "$@"
.png.eps:
convert "$<" "$@-tmp.eps"
mv "$@-tmp.eps" "$@"
# We cannot add new dependencies to `doc/guix.pdf' & co. (info "(automake) # We cannot add new dependencies to `doc/guix.pdf' & co. (info "(automake)
# Extending"). Using the `-local' rules is imperfect, because they may be # Extending"). Using the `-local' rules is imperfect, because they may be
# triggered after the main rule. Oh, well. # triggered after the main rule. Oh, well.
pdf-local: $(top_srcdir)/doc/images/bootstrap-graph.pdf pdf-local: $(top_srcdir)/doc/images/bootstrap-graph.pdf
info-local: $(top_srcdir)/doc/images/bootstrap-graph.png 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. # Manual pages.
doc/guix.1: scripts/guix doc/guix.1: $(SUBCOMMANDS:%=guix/scripts/%.scm)
-LANGUAGE= $(top_builddir)/pre-inst-env \ -LANGUAGE= $(top_builddir)/pre-inst-env \
$(HELP2MAN) --output="$@" guix $(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 \ -LANGUAGE= $(top_builddir)/pre-inst-env \
$(HELP2MAN) --output="$@" guix-daemon $(HELP2MAN) --output="$@" guix-daemon
define subcommand-manual-target 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 \ -LANGUAGE= $(top_builddir)/pre-inst-env \
$(HELP2MAN) --output="$$@" "guix $(1)" $(HELP2MAN) --output="$$@" "guix $(1)"

View File

@ -319,6 +319,10 @@ Make @code{root}'s profile available under @file{~/.guix-profile}:
~root/.guix-profile ~root/.guix-profile
@end example @end example
@item
Create the group and user accounts for build users as explained below
(@pxref{Build Environment Setup}).
@item @item
Run the daemon: Run the daemon:
@ -326,6 +330,10 @@ Run the daemon:
# ~root/.guix-profile/bin/guix-daemon --build-users-group=guixbuild # ~root/.guix-profile/bin/guix-daemon --build-users-group=guixbuild
@end example @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 @item
Make the @command{guix} command available to other users on the machine, Make the @command{guix} command available to other users on the machine,
for instance with: for instance with:
@ -508,8 +516,12 @@ Bash syntax and the @code{shadow} commands):
@noindent @noindent
The number of build users determines how many build jobs may run in The number of build users determines how many build jobs may run in
parallel, as specified by the @option{--max-jobs} option parallel, as specified by the @option{--max-jobs} option
(@pxref{Invoking guix-daemon, @option{--max-jobs}}). (@pxref{Invoking guix-daemon, @option{--max-jobs}}). The
The @code{guix-daemon} program may then be run as @code{root} with: @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 @example
# guix-daemon --build-users-group=guixbuild # 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}. involves running @code{gem build} followed by @code{gem install}.
Which Ruby package is used can be specified with the @code{#:ruby} 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 @end defvr
@defvr {Scheme Variable} waf-build-system @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 only the Linux-libre kernel is supported. In the future, it will be
possible to use the GNU@tie{}Hurd.}. 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} @item @code{bootloader}
The system bootloader configuration object. @xref{GRUB Configuration}. The system bootloader configuration object. @xref{GRUB Configuration}.
@ -5011,6 +5028,14 @@ errors before being mounted.
@item @code{create-mount-point?} (default: @code{#f}) @item @code{create-mount-point?} (default: @code{#f})
When true, the mount point is created if it does not exist yet. 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 table
@end deftp @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/lsh.scm \
gnu/packages/lsof.scm \ gnu/packages/lsof.scm \
gnu/packages/lua.scm \ gnu/packages/lua.scm \
gnu/packages/lxde.scm \
gnu/packages/lxqt.scm \ gnu/packages/lxqt.scm \
gnu/packages/lynx.scm \ gnu/packages/lynx.scm \
gnu/packages/m4.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-fix-symlink-bad-length-test.patch \
gnu/packages/patches/cpio-gets-undeclared.patch \ gnu/packages/patches/cpio-gets-undeclared.patch \
gnu/packages/patches/cpufrequtils-fix-aclocal.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/crossmap-allow-system-pysam.patch \
gnu/packages/patches/cssc-gets-undeclared.patch \ gnu/packages/patches/cssc-gets-undeclared.patch \
gnu/packages/patches/cssc-missing-include.patch \ gnu/packages/patches/cssc-missing-include.patch \

View File

@ -317,7 +317,7 @@ allow automatic login and starting any app.")
(description (description
"This package provides the /etc/services, /etc/protocols, and /etc/rpc "This package provides the /etc/services, /etc/protocols, and /etc/rpc
files, which contain information about the IANA-assigned port, protocol, and 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") (home-page "http://packages.debian.org/sid/netbase")
(license license:gpl2))) (license license:gpl2)))
@ -957,7 +957,7 @@ system is under heavy load.")
(assoc-ref %build-inputs "popt"))) (assoc-ref %build-inputs "popt")))
#:tests? #f)) ;no 'check' target #:tests? #f)) ;no 'check' target
(home-page "http://detox.sourceforge.net") (home-page "http://detox.sourceforge.net")
(synopsis "Clean up filenames") (synopsis "Clean up file names")
(description (description
"Detox is a program that renames files to make them easier to work with "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 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 on the rounding. For the time being, only the few functions needed to
implement the floating point approach to complex multiplication are implement the floating point approach to complex multiplication are
implemented. On the other hand, these comprise asymptotically fast 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+) (license lgpl2.1+)
(home-page "http://mpfrcx.multiprecision.org/"))) (home-page "http://mpfrcx.multiprecision.org/")))

View File

@ -447,7 +447,7 @@ ALSA PCM devices.")
(description (description
"FluidSynth is a real-time software synthesizer based on the SoundFont 2 "FluidSynth is a real-time software synthesizer based on the SoundFont 2
specifications. FluidSynth reads and handles MIDI events from the MIDI input 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.") also play midifiles using a Soundfont.")
(license license:gpl2+))) (license license:gpl2+)))

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; 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> ;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
@ -45,7 +45,7 @@
(define-public duplicity (define-public duplicity
(package (package
(name "duplicity") (name "duplicity")
(version "0.6.24") (version "0.6.26")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -55,7 +55,7 @@
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0l14nrhbgkyjgvh339bbhnm6hrdwrjadphq1jmpi0mcgcdbdfh8x")) "0jh79syhr8n3l81jxlwsmwm1pklb4d923m2lgqbswyavh1fqmvwb"))
(patches (list (search-patch "duplicity-piped-password.patch") (patches (list (search-patch "duplicity-piped-password.patch")
(search-patch "duplicity-test_selection-tmp.patch"))))) (search-patch "duplicity-test_selection-tmp.patch")))))
(build-system python-build-system) (build-system python-build-system)
@ -237,14 +237,14 @@ random access nor for in-place modification.")
(setenv "HOME" (getcwd)) (setenv "HOME" (getcwd))
(substitute* "testsuite/rdup/rdup.rdup-up-t-with-file.exp" (substitute* "testsuite/rdup/rdup.rdup-up-t-with-file.exp"
(("/bin/cat") (which "cat")))) (("/bin/cat") (which "cat"))))
%standard-phases)))) %standard-phases))))
(home-page "http://archive.miek.nl/projects/rdup/index.html") (home-page "http://archive.miek.nl/projects/rdup/index.html")
(synopsis "Provide a list of files to backup") (synopsis "Provide a list of files to backup")
(description (description
"Rdup is a utility inspired by rsync and the plan9 way of doing backups. "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 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.") list and implement the backup strategy.")
(license license:gpl3+))) (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 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 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, 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+))) (license license:gpl2+)))

View File

@ -193,7 +193,7 @@ differences.")
(description (description
"GNU Diffutils is a package containing tools for finding the "GNU Diffutils is a package containing tools for finding the
differences between files. The \"diff\" command is used to show how two files differences between files. The \"diff\" command is used to show how two files
differ, while \"cmp\" shows the offsets and line numbers where they differ. differ, while \"cmp\" shows the offsets and line numbers where they differ.
\"diff3\" allows you to compare three files. Finally, \"sdiff\" offers an \"diff3\" allows you to compare three files. Finally, \"sdiff\" offers an
interactive means to merge two files.") interactive means to merge two files.")
(license gpl3+) (license gpl3+)

View File

@ -1394,6 +1394,85 @@ resolution of binding sites through combining the information of both
sequencing tag position and orientation.") sequencing tag position and orientation.")
(license license:bsd-3))) (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 (define-public miso
(package (package
(name "miso") (name "miso")

View File

@ -83,7 +83,7 @@
(description (description
"Transmission is a BitTorrent client that comes with graphical, "Transmission is a BitTorrent client that comes with graphical,
textual, and Web user interfaces. Transmission also has a daemon for 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.") DHT, µTP, PEX and Magnet Links.")
;; COPYING reads: ;; COPYING reads:

View File

@ -60,7 +60,7 @@
(description (description
"GNU cflow analyzes C source files and produces a graph charting the "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 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.") a major mode for Emacs for examining the flowcharts that it produces.")
(license license:gpl3+))) (license license:gpl3+)))

View File

@ -264,7 +264,7 @@ than gzip and 15 % smaller output than bzip2.")
(arguments '(#:configure-flags '("--enable-shared"))) (arguments '(#:configure-flags '("--enable-shared")))
(home-page "http://www.oberhumer.com/opensource/lzo") (home-page "http://www.oberhumer.com/opensource/lzo")
(synopsis (synopsis
"Data compresion library suitable for real-time data de-/compression") "Data compression library suitable for real-time data de-/compression")
(description (description
"LZO is a data compression library which is suitable for data "LZO is a data compression library which is suitable for data
de-/compression in real-time. This means it favours speed over de-/compression in real-time. This means it favours speed over
@ -348,7 +348,7 @@ archiving. Lzip is a clean implementation of the LZMA algorithm.")
(description (description
"GNU sharutils is a package for creating and manipulating shell "GNU sharutils is a package for creating and manipulating shell
archives that can be readily emailed. A shell archive is a file that can be archives that can be readily emailed. A shell archive is a file that can be
processed by a Bourne-type shell to unpack the original collection of files. processed by a Bourne-type shell to unpack the original collection of files.
This package is mostly for compatibility and historical interest.") This package is mostly for compatibility and historical interest.")
(license license:gpl3+))) (license license:gpl3+)))

View File

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

View File

@ -175,7 +175,7 @@ Language.")
(define-public mariadb (define-public mariadb
(package (package
(name "mariadb") (name "mariadb")
(version "10.0.18") (version "10.0.20")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://downloads.mariadb.org/f/" (uri (string-append "https://downloads.mariadb.org/f/"
@ -183,7 +183,7 @@ Language.")
name "-" version ".tar.gz")) name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1xcs391cm0vnl9bvx1470v8z4d77zqv16n6iaqi12jm0ma8fwvv8")))) "0ywb730l68mxvmpik1x2ndbdaaks6dmc17pxspspm5wlqxinjkrs"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
'(#:configure-flags '(#: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. 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 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 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)))) (license (package-license perl))))
(define-public perl-sql-splitstatement (define-public perl-sql-splitstatement
@ -688,7 +688,7 @@ valid SQL query.")
(version "2.3.2") (version "2.3.2")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (uri
(string-append (string-append
"ftp://ftp.unixodbc.org/pub/unixODBC/unixODBC-" version ".tar.gz")) "ftp://ftp.unixodbc.org/pub/unixODBC/unixODBC-" version ".tar.gz"))
(sha256 (sha256
@ -698,7 +698,7 @@ valid SQL query.")
(description "Unixodbc is a library providing an API with which to access (description "Unixodbc is a library providing an API with which to access
data sources. Data sources include SQL Servers and any software with an ODBC data sources. Data sources include SQL Servers and any software with an ODBC
Driver.") Driver.")
(license lgpl2.1+) (license lgpl2.1+)
;; COPYING contains copy of lgpl2.1 - but copyright notices just say "LGPL" ;; COPYING contains copy of lgpl2.1 - but copyright notices just say "LGPL"
(home-page "http://www.unixodbc.org"))) (home-page "http://www.unixodbc.org")))

View File

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

View File

@ -4,6 +4,7 @@
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014 Alex Kost <alezost@gmail.com> ;;; Copyright © 2014 Alex Kost <alezost@gmail.com>
;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch> ;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -52,6 +53,7 @@
#:use-module (gnu packages glib) #:use-module (gnu packages glib)
#:use-module (gnu packages acl) #:use-module (gnu packages acl)
#:use-module (gnu packages perl) #:use-module (gnu packages perl)
#:use-module (gnu packages pdf)
#:use-module (gnu packages linux) ;alsa #:use-module (gnu packages linux) ;alsa
#:use-module (gnu packages xiph) #:use-module (gnu packages xiph)
#:use-module (gnu packages mp3) #:use-module (gnu packages mp3)
@ -811,17 +813,98 @@ or XEmacs.")
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
"http://stable.melpa.org/packages/mmm-mode-" "https://github.com/purcell/mmm-mode/archive/"
version version ".tar.gz"))
".tar")) (file-name (string-append name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1llkzb6d978ym3zv3yfzwj0w5zzmmj3ksrm5swrx1papxcnqnkb9")))) "10kwslnflbjqm62wkrq420crqzdqalzfflp9pqk1i12zm6dm4mfv"))))
(build-system emacs-build-system) (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") (home-page "https://github.com/purcell/mmm-mode")
(synopsis (synopsis "Allow multiple major modes in an Emacs buffer")
"Allow multiple major modes in an Emacs buffer")
(description (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.") single buffer.")
(license license:gpl3+))) (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, 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 and implement certain features that may be lacking in any individual provider
library. Everything should \"just work\" for any and every definition of \"just library. Everything should \"just work\" for any and every definition of \"just
working.\"") working\".")
(home-page "http://www.abisource.com/projects/enchant") (home-page "http://www.abisource.com/projects/enchant")
(license lgpl2.1+))) (license lgpl2.1+)))

View File

@ -78,6 +78,6 @@
(synopsis "Firmware for the Atheros AR7010 and AR9271 USB 802.11n NICs") (synopsis "Firmware for the Atheros AR7010 and AR9271 USB 802.11n NICs")
(description (description
"This is the firmware for the Qualcomm Atheros AR7010 and AR9271 USB "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.") Linux-libre.")
(license (non-copyleft "http://directory.fsf.org/wiki/License:ClearBSD")))) (license (non-copyleft "http://directory.fsf.org/wiki/License:ClearBSD"))))

View File

@ -108,7 +108,7 @@ technique (ISP).")
(define-public dfu-programmer (define-public dfu-programmer
(package (package
(name "dfu-programmer") (name "dfu-programmer")
(version "0.7.0") (version "0.7.2")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -116,14 +116,17 @@ technique (ISP).")
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"17lglglk5xrqd2n0impg5bkq4j96qc51cw3kzcghzmzmn6fvg3gf")) "15gr99y1z9vbvhrkd25zqhnzhg6zjmaam3vfjzf2mazd39mx7d0x"))
(patches (list (search-patch "dfu-programmer-fix-libusb.patch"))))) (patches (list (search-patch "dfu-programmer-fix-libusb.patch")))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs (inputs
`(("libusb" ,libusb))) `(("libusb" ,libusb)))
(home-page "http://dfu-programmer.github.io/") (home-page "http://dfu-programmer.github.io/")
(synopsis "Device firmware update programmer for Atmel chips") (synopsis "Device firmware update programmer for Atmel chips")
(description (description
"Dfu-programmer is a multi-platform command-line programmer for Atmel "Dfu-programmer is a multi-platform command-line programmer for
(8051, AVR, XMEGA & AVR32) chips with a USB bootloader supporting ISP") Atmel (8051, AVR, XMEGA & AVR32) chips with a USB bootloader supporting
ISP.")
(license gpl2+))) (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 And in several OpenType/CFF-based deployment configurations to accommodate
various system requirements or limitations. As the name suggests, Pan-CJK various system requirements or limitations. As the name suggests, Pan-CJK
fonts are intended to support the characters necessary to render or display 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))) (license license:asl2.0)))
(define-public font-wqy-zenhei (define-public font-wqy-zenhei

View File

@ -4,6 +4,7 @@
;;; Copyright © 2015 Andy Wingo <wingo@pobox.com> ;;; Copyright © 2015 Andy Wingo <wingo@pobox.com>
;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -39,6 +40,8 @@
#:use-module (gnu packages glib) ;intltool #:use-module (gnu packages glib) ;intltool
#:use-module (gnu packages xdisorg) #:use-module (gnu packages xdisorg)
#:use-module (gnu packages xorg) #:use-module (gnu packages xorg)
#:use-module (gnu packages boost)
#:use-module (gnu packages compression)
#:use-module (gnu packages doxygen) #:use-module (gnu packages doxygen)
#:use-module (gnu packages libffi)) #: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") (synopsis "Implementations of freedesktop.org standards in Python")
(description (description
"PyXDG is a collection of implementations of freedesktop.org standards in "PyXDG is a collection of implementations of freedesktop.org standards in
Python") Python.")
(license license:lgpl2.0))) (license license:lgpl2.0)))
(define-public python2-pyxdg (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 application, or a wayland client itself. The clients can be traditional
applications, X servers (rootless or fullscreen) or other display servers.") applications, X servers (rootless or fullscreen) or other display servers.")
(license license:x11))) (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") (synopsis "Z-machine interpreter")
(description (description
"Fizmo is a console-based Z-machine interpreter. It is used to play "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.") either by Infocom or created using the Inform compiler.")
(license license:bsd-3))) (license license:bsd-3)))
@ -853,13 +853,14 @@ multi-system game/emulator system.")
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs `(("readline" ,readline))) (inputs `(("readline" ,readline)))
(synopsis "Play the game of Go") (synopsis "Play the game of Go")
(description "GNU Go is a program that plays the game of Go, in which (description
players place stones on a grid to form territory or capture other stones. "GNU Go is a program that plays the game of Go, in which players
While it can be played directly from the terminal, rendered in ASCII place stones on a grid to form territory or capture other stones. While
characters, it is also possible to play GNU Go with 3rd party graphical it can be played directly from the terminal, rendered in ASCII characters,
interfaces or even in Emacs. It supports the standard game storage format it is also possible to play GNU Go with 3rd party graphical interfaces or
(SGF, Smart Game Format) and inter-process communication format (GMP, Go even in Emacs. It supports the standard game storage format (SGF, Smart
Modem Protocol).") Game Format) and inter-process communication format (GMP, Go Modem
Protocol).")
(home-page "http://www.gnu.org/software/gnugo/") (home-page "http://www.gnu.org/software/gnugo/")
(license license:gpl3+))) (license license:gpl3+)))

View File

@ -21,7 +21,7 @@
(define-module (gnu packages gcc) (define-module (gnu packages gcc)
#:use-module ((guix licenses) #: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)
#:use-module (gnu packages bootstrap) #:use-module (gnu packages bootstrap)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
@ -676,3 +676,53 @@ CLooG is designed to avoid control overhead and to produce a very
effective code.") effective code.")
(license gpl2+))) (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-gd" ,perl-gd)
("perl-image-magick" ,perl-image-magick))) ("perl-image-magick" ,perl-image-magick)))
(home-page "http://search.cpan.org/dist/GD-SecurityImage") (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 (description "This module provides a basic interface to create
security (captcha) images. The final output is the actual graphic data, the 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 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 (description
"FTGL is a font rendering library for OpenGL applications. Supported "FTGL is a font rendering library for OpenGL applications. Supported
rendering modes are: Bitmaps, Anti-aliased pixmaps, Texture maps, Outlines, 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))) (license l:x11)))
(define-public s2tc (define-public s2tc
@ -409,22 +409,27 @@ extension functionality is exposed in a single header file.")
("glu" ,glu) ("glu" ,glu)
("freeglut" ,freeglut))) ("freeglut" ,freeglut)))
(arguments (arguments
'(#:phases (alist-cons-before '(#:phases (modify-phases %standard-phases
'build 'patch-dynamic-link (add-after 'configure 'patch-makefile
(lambda* (#:key inputs outputs #:allow-other-keys) (lambda _
(define (dynamic-link-substitute file lib input) ;; Install compiled Guile files in the expected place.
(substitute* file (substitute* '("Makefile")
(("dynamic-link \"lib([a-zA-Z]+)\"" _ lib) (("^godir = .*$")
(string-append "dynamic-link \"" "godir = $(moddir)\n"))))
(assoc-ref inputs input) (add-before 'build 'patch-dynamic-link
"/lib/lib" lib "\"")))) (lambda* (#:key inputs outputs #:allow-other-keys)
;; Replace dynamic-link calls for libGL, libGLU, and (define (dynamic-link-substitute file lib input)
;; libglut with absolute paths to the store. (substitute* file
(dynamic-link-substitute "glx/runtime.scm" "GL" "mesa") (("dynamic-link \"lib([a-zA-Z]+)\"" _ lib)
(dynamic-link-substitute "glu/runtime.scm" "GLU" "glu") (string-append "dynamic-link \""
(dynamic-link-substitute "glut/runtime.scm" "glut" (assoc-ref inputs input)
"freeglut")) "/lib/lib" lib "\""))))
%standard-phases))) ;; 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") (home-page "http://gnu.org/s/guile-opengl")
(synopsis "Guile binding for the OpenGL graphics API") (synopsis "Guile binding for the OpenGL graphics API")
(description (description

View File

@ -5,6 +5,7 @@
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2014, 2015 Federico Beffa <beffa@fbengineering.ch> ;;; Copyright © 2014, 2015 Federico Beffa <beffa@fbengineering.ch>
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com> ;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2015 Mathieu Lirzin <mthl@openmailbox.org>
;;; Copyright © 2015 Andy Wingo <wingo@igalia.com> ;;; Copyright © 2015 Andy Wingo <wingo@igalia.com>
;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com> ;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com>
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
@ -61,6 +62,7 @@
#:use-module (gnu packages lua) #:use-module (gnu packages lua)
#:use-module (gnu packages image) #:use-module (gnu packages image)
#:use-module (gnu packages perl) #:use-module (gnu packages perl)
#:use-module (gnu packages photo)
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
#:use-module (gnu packages pulseaudio) #:use-module (gnu packages pulseaudio)
#:use-module (gnu packages python) #: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.") features to enable users to create their discs easily and quickly.")
(license license:gpl2+))) (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 (define-public gnome-desktop
(package (package
(name "gnome-desktop") (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 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 set of features including, but not limited to: multiple extension points; on
demand (lazy) programming language support for C, Python and JS; simplicity of demand (lazy) programming language support for C, Python and JS; simplicity of
the API") the API.")
(license license:lgpl2.0+))) (license license:lgpl2.0+)))
(define-public gtkglext (define-public gtkglext
@ -1211,7 +1235,8 @@ creating interactive structured graphics.")
(home-page "https://developer.gnome.org/libgnomeui/") (home-page "https://developer.gnome.org/libgnomeui/")
(synopsis "Additional widgets for applications") (synopsis "Additional widgets for applications")
(description "The libgnomeui library provides additional widgets for (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+))) (license license:lgpl2.0+)))
(define-public libglade (define-public libglade
@ -1754,11 +1779,12 @@ configuration storage systems.")
`(("glib" ,glib))) ;according to json-glib-1.0.pc `(("glib" ,glib))) ;according to json-glib-1.0.pc
(home-page "https://wiki.gnome.org/Projects/JsonGlib") (home-page "https://wiki.gnome.org/Projects/JsonGlib")
(synopsis "Compiler for the GObject type system") (synopsis "Compiler for the GObject type system")
(description "JSON-GLib is a C library based on GLib providing (description
serialization and deserialization support for the JavaScript Object Notation "JSON-GLib is a C library based on GLib providing serialization and
(JSON) format described by RFC 4627. It provides parser and generator deserialization support for the JavaScript Object Notation (JSON) format
GObject classes and various wrappers for the complex data types employed by described by RFC 4627. It provides parser and generator GObject classes and
JSON, such as arrays and objects.") various wrappers for the complex data types employed by JSON, such as arrays
and objects.")
(license license:lgpl2.1+))) (license license:lgpl2.1+)))
(define-public libxklavier (define-public libxklavier
@ -1796,8 +1822,8 @@ JSON, such as arrays and objects.")
(synopsis "High-level API for X Keyboard Extension") (synopsis "High-level API for X Keyboard Extension")
(description (description
"LibXklavier is a library providing high-level API for X Keyboard "LibXklavier is a library providing high-level API for X Keyboard
Extension known as XKB. This library is indended to support XFree86 and other 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 commercial X servers. It is useful for creating XKB-related software (layout
indicators etc).") indicators etc).")
(license license:lgpl2.0+))) (license license:lgpl2.0+)))
@ -2212,7 +2238,7 @@ output devices.")
information. The primary goal of the Geoclue project is to make creating information. The primary goal of the Geoclue project is to make creating
location-aware applications as simple as possible, while the secondary goal is location-aware applications as simple as possible, while the secondary goal is
to ensure that no application can access location information without explicit to ensure that no application can access location information without explicit
permission from user. ") permission from user.")
(license license:gpl2+))) (license license:gpl2+)))
(define-public geocode-glib (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 (description "Rhythmbox is a music playing application for GNOME. It
supports playlists, song ratings, and any codecs installed through gstreamer.") supports playlists, song ratings, and any codecs installed through gstreamer.")
(license license:gpl2+))) (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) (build-system gnu-build-system)
(synopsis "Library that implements NTLM authentication") (synopsis "Library that implements NTLM authentication")
(description (description
"Libntlm is a library that implements NTLM authentication") "Libntlm is a library that implements NTLM authentication.")
(license license:lgpl2.1+) (license license:lgpl2.1+)
(home-page "http://www.nongnu.org/libntlm/"))) (home-page "http://www.nongnu.org/libntlm/")))

View File

@ -118,8 +118,8 @@ arrays of data.")
(description (description
"GStreamer is a library for constructing graphs of media-handling "GStreamer is a library for constructing graphs of media-handling
components. The applications it supports range from simple Ogg/Vorbis components. The applications it supports range from simple Ogg/Vorbis
playback, audio/video streaming to complex audio (mixing) and video playback, audio/video streaming to complex audio mixing and video
(non-linear editing) processing. non-linear editing.
Applications can take advantage of advances in codec and filter technology Applications can take advantage of advances in codec and filter technology
transparently. Developers can add new codecs and filters by writing a transparently. Developers can add new codecs and filters by writing a
@ -190,7 +190,7 @@ for the GStreamer multimedia library.")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
"http://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-" "http://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-"
version ".tar.xz")) version ".tar.xz"))
(sha256 (sha256
@ -275,8 +275,7 @@ developers consider to have good quality code and correct functionality.")
("pkg-config" ,pkg-config) ("pkg-config" ,pkg-config)
("python-wrapper" ,python-wrapper))) ("python-wrapper" ,python-wrapper)))
(home-page "http://gstreamer.freedesktop.org/") (home-page "http://gstreamer.freedesktop.org/")
(synopsis (synopsis "GStreamer plugins from the \"ugly\" set")
"GStreamer plugins from the \"ugly\" set.")
(description "GStreamer Ugly Plug-ins. This set contains those plug-ins (description "GStreamer Ugly Plug-ins. This set contains those plug-ins
which the developers consider to have good quality code but that might pose which the developers consider to have good quality code but that might pose
distribution problems in some jurisdictions, e.g. due to patent threats.") 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 PostScript and PDF. Operations in cairo including stroking and filling cubic
Bézier splines, transforming and compositing translucent images, and Bézier splines, transforming and compositing translucent images, and
antialiased text rendering. All drawing operations can be transformed by any 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 (license license:lgpl2.1) ; or Mozilla Public License 1.1
(home-page "http://cairographics.org/"))) (home-page "http://cairographics.org/")))

View File

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

View File

@ -717,7 +717,7 @@ and high speed.")
(base32 (base32
"0xa3j0gwr6k5vizxybnzk5fgb3pppgspi6mysnp2gwjp2dbrxkzr")))) "0xa3j0gwr6k5vizxybnzk5fgb3pppgspi6mysnp2gwjp2dbrxkzr"))))
(build-system haskell-build-system) (build-system haskell-build-system)
(inputs (inputs
`(("ghc-quickcheck" ,ghc-quickcheck))) `(("ghc-quickcheck" ,ghc-quickcheck)))
(home-page "http://hackage.haskell.org/package/split") (home-page "http://hackage.haskell.org/package/split")
(synopsis (synopsis
@ -774,7 +774,7 @@ is also parametric in the input stream type.")
(base32 (base32
"01hc71k1z9m0g0dv4zsvq5d2dvbgyc5p01hryw5c53792yi2fm25")))) "01hc71k1z9m0g0dv4zsvq5d2dvbgyc5p01hryw5c53792yi2fm25"))))
(build-system haskell-build-system) (build-system haskell-build-system)
(inputs (inputs
`(("ghc-quickcheck" ,ghc-quickcheck))) `(("ghc-quickcheck" ,ghc-quickcheck)))
;; these inputs are necessary to use this library ;; these inputs are necessary to use this library
(propagated-inputs (propagated-inputs
@ -842,8 +842,8 @@ mutable and immutable), with a powerful loop optimisation framework.")
`(("ghc-parsec" ,ghc-parsec))) `(("ghc-parsec" ,ghc-parsec)))
(home-page (home-page
"https://github.com/haskell/network-uri") "https://github.com/haskell/network-uri")
(synopsis "Labrary for URI manipulation") (synopsis "Library for URI manipulation")
(description "This package provides an URI manipulation inteface. In (description "This package provides an URI manipulation interface. In
'network-2.6' the 'Network.URI' module was split off from the 'network' 'network-2.6' the 'Network.URI' module was split off from the 'network'
package into this package.") package into this package.")
(license bsd-3))) (license bsd-3)))

View File

@ -264,10 +264,10 @@ arithmetic ops.")
(build-system gnu-build-system) (build-system gnu-build-system)
(synopsis "Decoder of the JBIG2 image compression format") (synopsis "Decoder of the JBIG2 image compression format")
(description (description
"JBIG2 is designed for lossy or lossless encoding of 'bilevel' "JBIG2 is designed for lossy or lossless encoding of 'bilevel' (1-bit
(1-bit monochrome) images at moderately high resolution, and in monochrome) images at moderately high resolution, and in particular scanned
particular scanned paper documents. In this domain it is very paper documents. In this domain it is very efficient, offering compression
efficient, offering compression ratios on the order of 100:1. ratios on the order of 100:1.
This is a decoder only implementation, and currently is in the alpha This is a decoder only implementation, and currently is in the alpha
stage, meaning it doesn't completely work yet. However, it is 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-text-unidecode" ,perl-text-unidecode)
("perl-namespace-clean" ,perl-namespace-clean))) ("perl-namespace-clean" ,perl-namespace-clean)))
(home-page "http://search.cpan.org/dist/String-ToIdentifier-EN") (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 (description "This module provides a utility method, \"to_identifier\" for
converting an arbitrary string into a readable representation using the ASCII 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 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) (build-system perl-build-system)
(home-page "http://search.cpan.org/dist/Text-German") (home-page "http://search.cpan.org/dist/Text-German")
(synopsis "German grundform reduction") (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.") done by Gudrun Putze-Meier.")
(license (package-license perl)))) (license (package-license perl))))

View File

@ -45,5 +45,5 @@
("libxt" ,libxt))) ("libxt" ,libxt)))
(home-page "http://lesstif.sourceforge.net/") (home-page "http://lesstif.sourceforge.net/")
(synopsis "Clone of the Motif toolkit for the X window system") (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 (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") (synopsis "Thesaurus")
(description "MyThes is a simple thesaurus that uses a structured text (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 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" (license (non-copyleft "file://COPYING"
"See COPYING in the distribution.")))) "See COPYING in the distribution."))))

View File

@ -313,7 +313,18 @@ It has been modified to remove all non-free binary blobs.")
(license gpl2) (license gpl2)
(home-page "http://www.gnu.org/software/linux-libre/")))) (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). ;;; 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. "A *Free* project to implement OSF's RFC 86.0.
Pluggable authentication modules are small shared object files that can Pluggable authentication modules are small shared object files that can
be used through the PAM API to perform tasks, like authenticating a user 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))) (license bsd-3)))
@ -1713,6 +1724,113 @@ interface.")
(home-page "http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html") (home-page "http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html")
(license gpl2+))) (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 (define-public lm-sensors
(package (package
(name "lm-sensors") (name "lm-sensors")
@ -1949,10 +2067,10 @@ thanks to the use of namespaces.")
#:phases (alist-delete 'configure %standard-phases) #:phases (alist-delete 'configure %standard-phases)
#:tests? #f)) ; no test suite #:tests? #f)) ; no test suite
(home-page "http://sourceforge.net/projects/hdparm/") (home-page "http://sourceforge.net/projects/hdparm/")
(synopsis "tune hard disk parameters for high performance") (synopsis "Tune hard disk parameters for high performance")
(description (description
"Get/set device parameters for Linux SATA/IDE drives. It's primary use "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")))) (license (non-copyleft "file://LICENSE.TXT"))))
(define-public acpid (define-public acpid
@ -2048,7 +2166,7 @@ also contains the libsysfs library.")
(home-page "https://www.kernel.org/pub/linux/utils/kernel/cpufreq/") (home-page "https://www.kernel.org/pub/linux/utils/kernel/cpufreq/")
(synopsis "Utilities to get and set CPU frequency on Linux") (synopsis "Utilities to get and set CPU frequency on Linux")
(description (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 information, and set the CPU frequency if supported, using the cpufreq
capabilities of the Linux kernel.") capabilities of the Linux kernel.")
(license gpl2))) (license gpl2)))

View File

@ -70,12 +70,12 @@
(home-page "http://www.llvm.org") (home-page "http://www.llvm.org")
(synopsis "Optimizing compiler infrastructure") (synopsis "Optimizing compiler infrastructure")
(description (description
"LLVM is a compiler infrastructure designed for compile-time, link-time, runtime, "LLVM is a compiler infrastructure designed for compile-time, link-time,
and idle-time optimization of programs from arbitrary programming languages. runtime, and idle-time optimization of programs from arbitrary programming
It currently supports compilation of C and C++ programs, using front-ends languages. It currently supports compilation of C and C++ programs, using
derived from GCC 4.0.1. A new front-end for the C family of languages is in front-ends derived from GCC 4.0.1. A new front-end for the C family of
development. The compiler infrastructure includes mirror sets of programming languages is in development. The compiler infrastructure includes mirror sets
tools as well as libraries with equivalent functionality.") of programming tools as well as libraries with equivalent functionality.")
(license ncsa))) (license ncsa)))
(define (clang-from-llvm llvm hash) (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") (synopsis "Conversion between thousands of scales")
(description (description
"GNU Units converts numeric quantities between units of measure. It "GNU Units converts numeric quantities between units of measure. It
can handle scale changes through adaptive usage of standard scale prefixes can handle scale changes through adaptive usage of standard scale
(micro-, kilo-, etc.). It can also handle nonlinear conversions such as prefixes (micro-, kilo-, etc.). It can also handle nonlinear
Fahrenheit to Celsius. Its interpreter is powerful enough to be used conversions such as Fahrenheit to Celsius. Its interpreter is powerful
effectively as a scientific calculator.") enough to be used effectively as a scientific calculator.")
(license license:gpl3+) (license license:gpl3+)
(home-page "http://www.gnu.org/software/units/"))) (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 (description "Maxima is a system for the manipulation of symbolic and
numerical expressions. It yields high precision numeric results by using numerical expressions. It yields high precision numeric results by using
exact fractions, arbitrary precision integers, and variable precision floating 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+. ;; Some files are lgpl2.1+. Some are gpl2+. Some explicitly state gpl1+.
;; Others simply say "GNU General Public License" without stating a ;; Others simply say "GNU General Public License" without stating a
;; version (which implicitly means gpl1+). ;; 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 "OpenLibm is an effort to have a high quality, portable, standalone C
mathematical library (libm). It can be used standalone in applications and mathematical library (libm). It can be used standalone in applications and
programming language implementations. The project was born out of a need to 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 across compilers and operating systems, and in 32-bit and 64-bit
environments.") environments.")
;; See LICENSE.md for details. ;; 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, 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, 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, HAVAL-160, HAVAL-192, HAVAL-256, TIGER, TIGER-128, TIGER-160, GOST, WHIRLPOOL,
SNEFRU-128, SNEFRU-256") SNEFRU-128, SNEFRU-256.")
(license gpl2+))) (license gpl2+)))

View File

@ -81,7 +81,8 @@
(description (description
"Massachusetts Institute of Technology implementation of Kerberos. "Massachusetts Institute of Technology implementation of Kerberos.
Kerberos is a network authentication protocol designed to provide strong 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" (license (non-copyleft "file://NOTICE"
"See NOTICE in the distribution.")) "See NOTICE in the distribution."))
(home-page "http://web.mit.edu/kerberos/"))) (home-page "http://web.mit.edu/kerberos/")))

View File

@ -90,7 +90,7 @@ This package contains the library.")
(synopsis "Library for reading ID3 tags") (synopsis "Library for reading ID3 tags")
(description (description
"Libid3tag is a library for reading ID3 tags, both ID3v1 and the various "Libid3tag is a library for reading ID3 tags, both ID3v1 and the various
versions of ID3v2") versions of ID3v2.")
(license license:gpl2+) (license license:gpl2+)
(home-page "http://www.underbit.com/products/mad/"))) (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") (synopsis "MP3 technical info viewer and ID3 1.x tag editor")
(description (description
"MP3Info is a little utility used to read and modify the ID3 tags of MP3 "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 including playing time, bit-rate, sampling frequency and other attributes in a
pre-defined or user-specifiable output format.") pre-defined or user-specifiable output format.")
(license license:gpl2+))) (license license:gpl2+)))
@ -234,7 +234,7 @@ pre-defined or user-specifiable output format.")
("libmad" ,libmad) ("libmad" ,libmad)
("libogg" ,libogg) ("libogg" ,libogg)
("libltdl" ,libltdl) ("libltdl" ,libltdl)
("libvorbid" ,libvorbis) ("libvorbis" ,libvorbis)
("pcre" ,pcre))) ("pcre" ,pcre)))
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config))) `(("pkg-config" ,pkg-config)))
@ -242,7 +242,7 @@ pre-defined or user-specifiable output format.")
(description (description
"Mp3splt is a utility to split mp3 and ogg vorbis files selecting a begin "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 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 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. automatic silence split, that can be used also to adjust cddb/cue splitpoints.
@ -264,11 +264,11 @@ This package contains the library.")
"106dnka56prlc9nsfh300f8841am2lmkwlzgl9lkr25mgnc35wwh")))) "106dnka56prlc9nsfh300f8841am2lmkwlzgl9lkr25mgnc35wwh"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs `(("libmp3splt" ,libmp3splt))) (inputs `(("libmp3splt" ,libmp3splt)))
(synopsis "Utiliy for splitting mp3 and ogg vorbis files") (synopsis "Utility for splitting mp3 and ogg vorbis files")
(description (description
"Mp3splt is a utility to split mp3 and ogg vorbis files selecting a begin "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 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 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. 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") (synopsis "Audio player for Musepack-formatted files")
(description (description
"Mpc123 is a command-line player for files in the Musepack audio "Mpc123 is a command-line player for files in the Musepack audio
compression format (.mpc files.)") compression format (.mpc files).")
(license license:gpl2+))) (license license:gpl2+)))

View File

@ -40,7 +40,7 @@
(build-system gnu-build-system) (build-system gnu-build-system)
(synopsis "Ncurses based disk usage analyzer") (synopsis "Ncurses based disk usage analyzer")
(description "A disk usage analyzer with an ncurses interface, aimed to be (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 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 use, and should be able to run in any minimal POSIX-like environment with
ncurses installed.") 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 to UNIX sockets, IPv6 relay, for redirecting TCP oriented programs to a serial
line, to logically connect serial lines on different computers, or to line, to logically connect serial lines on different computers, or to
establish a relatively secure environment (su and chroot) for running client 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))) (license license:gpl2)))
(define-public zeromq (define-public zeromq

View File

@ -38,7 +38,7 @@
(version "4.2.8p3") (version "4.2.8p3")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
"http://archive.ntp.org/ntp4/ntp-" "http://archive.ntp.org/ntp4/ntp-"
(version-major+minor version) (version-major+minor version)
"/ntp-" version ".tar.gz")) "/ntp-" version ".tar.gz"))
@ -78,7 +78,7 @@
(("test-decodenetnum\\$\\(EXEEXT\\) ") "")) (("test-decodenetnum\\$\\(EXEEXT\\) ") ""))
#t))))) #t)))))
(build-system gnu-build-system) (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 (description "NTP is a system designed to synchronize the clocks of
computers over a network.") computers over a network.")
(license (l:x11-style (license (l:x11-style

View File

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

View File

@ -55,7 +55,7 @@
(synopsis "Box style window manager") (synopsis "Box style window manager")
(description (description
"Openbox is a highly configurable, next generation window manager with "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 minimalistic appearance. Openbox uses the *box visual style, while providing
a greater number of options for theme developers than previous *box a greater number of options for theme developers than previous *box
implementations.") 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))) %standard-phases)))
(synopsis "Viewer for PDF files based on the Motif toolkit") (synopsis "Viewer for PDF files based on the Motif toolkit")
(description (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+ (license license:gpl3) ; or gpl2, but not gpl2+
(home-page "http://www.foolabs.com/xpdf/"))) (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. listing the table of contents and hyperlinks.
The library ships with a rudimentary X11 viewer, and a set of command The library ships with a rudimentary X11 viewer, and a set of command
line tools for batch rendering (pdfdraw), examining the file structure line tools for batch rendering (pdfdraw), rewriting files (pdfclean),
(pdfshow), and rewriting files (pdfclean).") and examining the file structure (pdfshow).")
(license license:agpl3+))) (license license:agpl3+)))
(define-public qpdf (define-public qpdf

View File

@ -189,11 +189,11 @@ configuration files and parsing command line arguments.")
(package (package
(name "perl-archive-zip") (name "perl-archive-zip")
(version "1.30") (version "1.30")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
"mirror://cpan/authors/id/A/AD/ADAMK/Archive-Zip-" "mirror://cpan/authors/id/A/AD/ADAMK/Archive-Zip-"
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
@ -615,7 +615,7 @@ the Class::C3 method resolution order.")
(description "Class::Data::Inheritable is for creating accessor/mutators (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 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 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)))) (license (package-license perl))))
(define-public perl-class-date (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") (home-page "http://search.cpan.org/dist/Class-Load-XS")
(synopsis "XS implementation of parts of Class::Load") (synopsis "XS implementation of parts of Class::Load")
(description "This module provides an XS implementation for portions of (description "This module provides an XS implementation for portions of
Class::Load") Class::Load.")
(license artistic2.0))) (license artistic2.0)))
(define-public perl-class-methodmaker (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))) ("perl-test-requires" ,perl-test-requires)))
(home-page "http://search.cpan.org/dist/Class-Method-Modifiers") (home-page "http://search.cpan.org/dist/Class-Method-Modifiers")
(synopsis "Moose-like method modifiers") (synopsis "Moose-like method modifiers")
(description "Class::Method::Modifiers provides three modifiers: before, (description "Class::Method::Modifiers provides three modifiers: 'before',
around, and after. before and after are run just before and after the method 'around', and 'after'. 'before' and 'after' are run just before and after the
they modify, but can not really affect that original method. around is run in method they modify, but can not really affect that original method. 'around'
place of the original method, with a hook to easily call that original is run in place of the original method, with a hook to easily call that
method.") original method.")
(license (package-license perl)))) (license (package-license perl))))
(define-public perl-class-singleton (define-public perl-class-singleton
@ -789,7 +789,7 @@ method.")
(home-page "http://search.cpan.org/dist/Class-Singleton") (home-page "http://search.cpan.org/dist/Class-Singleton")
(synopsis "Implementation of a singleton class for Perl") (synopsis "Implementation of a singleton class for Perl")
(description "This module implements a Singleton class from which other (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.") little other than manage the instantiation of a single object.")
(license (package-license perl)))) (license (package-license perl))))
@ -1045,7 +1045,7 @@ versa.")
to generate random passwords, constructed from words, letters, or characters. to generate random passwords, constructed from words, letters, or characters.
This code is a Perl implementation of the Automated Password Generator This code is a Perl implementation of the Automated Password Generator
standard, like the program described in \"A Random Word Generator For 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 contained in Appendix A of FIPS Publication 181, \"Standard for Automated
Password Generator\".") Password Generator\".")
(license (package-license perl)))) (license (package-license perl))))
@ -1210,7 +1210,7 @@ necessary later on.")
(home-page "http://search.cpan.org/dist/Data-Tumbler") (home-page "http://search.cpan.org/dist/Data-Tumbler")
(synopsis "Dynamic generation of nested combinations of variants") (synopsis "Dynamic generation of nested combinations of variants")
(description "Data::Tumbler - Dynamic generation of nested combinations of (description "Data::Tumbler - Dynamic generation of nested combinations of
variants") variants.")
(license (package-license perl)))) (license (package-license perl))))
(define-public perl-data-visitor (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-datetime-format-strptime" ,perl-datetime-format-strptime)
("perl-params-validate" ,perl-params-validate))) ("perl-params-validate" ,perl-params-validate)))
(home-page "http://search.cpan.org/dist/DateTime-Format-Builder") (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 (description "DateTime::Format::Builder creates DateTime parsers. Many
string formats of dates and times are simple and just require a basic regular 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 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) (build-system perl-build-system)
(home-page "http://search.cpan.org/dist/Error") (home-page "http://search.cpan.org/dist/Error")
(synopsis "OO-ish Error/Exception handling for Perl") (synopsis "OO-ish Error/Exception handling for Perl")
(description "The Error package provides two interfaces. Firstly Error (description "The Error package provides two interfaces. Firstly Error
provides a procedural interface to exception handling. Secondly Error is a provides a procedural interface to exception handling. Secondly Error is a
base class for errors/exceptions that can either be thrown, for subsequent base class for errors/exceptions that can either be thrown, for subsequent
catch, or can simply be recorded.") catch, or can simply be recorded.")
(license (package-license perl)))) (license (package-license perl))))
@ -2155,7 +2155,7 @@ in various parts of the CPAN ecosystem.")
(home-page "http://search.cpan.org/dist/File-HomeDir") (home-page "http://search.cpan.org/dist/File-HomeDir")
(synopsis "Find your home and other directories on any platform") (synopsis "Find your home and other directories on any platform")
(description "File::HomeDir is a module for locating the directories that (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 that arise trying to find them consistently across a wide variety of
platforms.") platforms.")
(license (package-license perl)))) (license (package-license perl))))
@ -2207,7 +2207,7 @@ matching a regular expression.")
(description "File::Remove::remove removes files and directories. It acts (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 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 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)))) (license (package-license perl))))
(define-public perl-file-sharedir (define-public perl-file-sharedir
@ -2274,7 +2274,7 @@ allows you to locate these files after installation.")
(synopsis "Reading/Writing/Modifying of complete files") (synopsis "Reading/Writing/Modifying of complete files")
(description "File::Slurp provides subroutines to read or write entire (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 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)))) (license (package-license perl))))
(define-public perl-file-temp (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") (synopsis "Utilities for interactive I/O")
(description "This module provides three utility subroutines that make it (description "This module provides three utility subroutines that make it
easier to develop interactive applications: is_interactive(), interactive(), easier to develop interactive applications: is_interactive(), interactive(),
and busy()") and busy().")
(license (package-license perl)))) (license (package-license perl))))
(define-public perl-io-string (define-public perl-io-string
@ -2556,10 +2556,10 @@ pseudo ttys.")
;; it, so disable it. ;; it, so disable it.
(delete-file "t/win32_compile.t")))))) (delete-file "t/win32_compile.t"))))))
(home-page "http://search.cpan.org/dist/IPC-Run") (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 (description "IPC::Run allows you run and interact with child processes
using files, pipes, and pseudo-ttys. Both system()-style and scripted usages 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 are supported and may be mixed. Likewise, functional and OO API styles are
both supported and may be mixed.") both supported and may be mixed.")
(license (package-license perl)))) (license (package-license perl))))
@ -2575,7 +2575,7 @@ both supported and may be mixed.")
(base32 (base32
"0r9m8q78bg7yycpixd7738jm40yz71p2q7inm766kzsw3g6c709x")))) "0r9m8q78bg7yycpixd7738jm40yz71p2q7inm766kzsw3g6c709x"))))
(build-system perl-build-system) (build-system perl-build-system)
(synopsis "Run a subprocess with input/ouput redirection") (synopsis "Run a subprocess with input/output redirection")
(description (description
"The IPC::Run3 module allows you to run a subprocess and redirect stdin, "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 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") (home-page "http://search.cpan.org/dist/MooseX-StrictConstructor")
(synopsis "Strict object constructors for Moose") (synopsis "Strict object constructors for Moose")
(description "Simply loading this module makes your constructors (description "Simply loading this module makes your constructors
\"strict\". If your constructor is called with an attribute init argument that \"strict\". If your constructor is called with an attribute init argument
your class does not declare, then it calls Moose->throw_error(). ") that your class does not declare, then it calls Moose->throw_error().")
(license artistic2.0))) (license artistic2.0)))
(define-public perl-moosex-traits-pluggable (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") "http://search.cpan.org/dist/MooseX-Traits-Pluggable")
(synopsis "Trait loading and resolution for Moose") (synopsis "Trait loading and resolution for Moose")
(description "Adds support on top of MooseX::Traits for class precedence (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)))) (license (package-license perl))))
(define-public perl-moosex-types (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") (home-page "http://search.cpan.org/dist/Set-Scalar")
(synopsis "Set operations for Perl") (synopsis "Set operations for Perl")
(description "The first priority of Set::Scalar is to be a convenient (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 designed to be slow or big, neither has it been designed to be fast or
compact.") compact.")
(license (package-license perl)))) (license (package-license perl))))
@ -4257,7 +4257,7 @@ CamelCase and back again.")
(home-page "http://search.cpan.org/dist/String-RewritePrefix") (home-page "http://search.cpan.org/dist/String-RewritePrefix")
(synopsis "Rewrite strings based on a set of known prefixes") (synopsis "Rewrite strings based on a set of known prefixes")
(description "This module allows you to rewrite strings based on a set of (description "This module allows you to rewrite strings based on a set of
known pprefixes.") known prefixes.")
(license (package-license perl)))) (license (package-license perl))))
(define-public perl-sub-exporter (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") (synopsis "Progress meter if run interactively")
(description "Term::ProgressBar is a wonderful module for showing progress (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 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.") a cron job) then it does not show the progress bar.")
(license (package-license perl)))) (license (package-license perl))))
@ -4713,7 +4713,7 @@ called as methods, which usually isn't want you want.")
(description (description
"Test::Deep compares two structures by going through each level, ensuring "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 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.") structures without getting caught in an infinite loop.")
(home-page (string-append "http://search.cpan.org/~rjbs/" (home-page (string-append "http://search.cpan.org/~rjbs/"
"Test-Deep-" version)) "Test-Deep-" version))
@ -4738,7 +4738,7 @@ structures without getting caught in an infinite loop.")
(home-page "http://search.cpan.org/dist/Test-Differences") (home-page "http://search.cpan.org/dist/Test-Differences")
(synopsis "Test strings and data structures and show differences") (synopsis "Test strings and data structures and show differences")
(description "This module exports three test functions and four diff-style (description "This module exports three test functions and four diff-style
functions") functions.")
;; See LICENSE section of Test/Differences.pm, which reads "... GNU public ;; See LICENSE section of Test/Differences.pm, which reads "... GNU public
;; license, any version, ..." ;; license, any version, ..."
(license gpl3+))) (license gpl3+)))
@ -4858,7 +4858,7 @@ automatically aggregated and output to STDOUT.")
(home-page "http://search.cpan.org/dist/Test-LeakTrace") (home-page "http://search.cpan.org/dist/Test-LeakTrace")
(synopsis "Traces memory leaks in Perl") (synopsis "Traces memory leaks in Perl")
(description "Test::LeakTrace provides several functions that trace memory (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.") detect any leaked SVs in given blocks.")
(license (package-license perl)))) (license (package-license perl))))
@ -4975,7 +4975,7 @@ bit more fine-grained control over test suites.")
(description (description
"This modules causes any warnings during testing to be captured and "This modules causes any warnings during testing to be captured and
stored. It automatically adds an extra test that will run when your script 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, 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.") including a stack trace of what was going on when it occurred.")
(home-page (string-append "http://search.cpan.org/~adamk/" (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") (home-page "http://search.cpan.org/dist/Tie-IxHash")
(synopsis "Ordered associative arrays for Perl") (synopsis "Ordered associative arrays for Perl")
(description "This Perl module implements Perl hashes that preserve the (description "This Perl module implements Perl hashes that preserve the
order in which the hash elements were added. The order is not affected when 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 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 can also be set to any arbitrary supplied order. The familiar perl array
operations can also be performed on the IxHash.") operations can also be performed on the IxHash.")
(license (package-license perl)))) (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 (description "This module provides functions that are the inverse of
built-in perl functions localtime() and gmtime(). They accept a date as a 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 six-element array, and return the corresponding time(2) value in seconds since
the system epoch") the system epoch.")
(license (package-license perl)))) (license (package-license perl))))
(define-public perl-timedate (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") (home-page "http://search.cpan.org/dist/UNIVERSAL-isa")
(synopsis "UNIVERSAL::isa() reimplementation") (synopsis "UNIVERSAL::isa() reimplementation")
(description "This module attempts to recover from people calling (description "This module attempts to recover from people calling
UNIVERSAL::isa as a function") UNIVERSAL::isa as a function.")
(license (package-license perl)))) (license (package-license perl))))
(define-public perl-variable-magic (define-public perl-variable-magic

View File

@ -136,7 +136,7 @@ indentation counting, function and file indices and more.")
(synopsis "Generating PostScript, including pretty-printing") (synopsis "Generating PostScript, including pretty-printing")
(description (description
"GNU Enscript is a program to convert ASCII text files to PostScript, "GNU Enscript is a program to convert ASCII text files to PostScript,
HTML or RTF formats, to be stored in files or sent immediately to a printer. HTML or RTF formats, to be stored in files or sent immediately to a printer.
It also includes the capability to perform syntax highlighting for several It also includes the capability to perform syntax highlighting for several
different programming languages.") different programming languages.")
(license gpl3+))) (license gpl3+)))

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 against computation cost. The current best converter provides a
signal-to-noise ratio of 145dB with -3dB passband extending from DC to 96% of 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 the theoretical best bandwidth for a given pair of input and output sample
rates. ") rates.")
(license l:gpl2+))) (license l:gpl2+)))
(define pulseaudio (define pulseaudio
@ -173,11 +173,12 @@ rates. ")
(home-page "http://www.pulseaudio.org/") (home-page "http://www.pulseaudio.org/")
(synopsis "Sound server") (synopsis "Sound server")
(description (description
"PulseAudio is a sound server. It is basically a proxy for your sound applications. "PulseAudio is a sound server. It is basically a proxy for your sound
It allows you to do advanced operations on your sound data as it passes applications. It allows you to do advanced operations on your sound data as
between your application and your hardware. Things like transferring the it passes between your application and your hardware. Things like
audio to a different machine, changing the sample format or channel count and transferring the audio to a different machine, changing the sample format or
mixing several sounds into one are easily achieved using a sound server. ") 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, ;; PulseAudio is LGPLv2+, but some of the optional dependencies (GNU dbm,
;; FFTW, etc.) are GPL'd, so the result is effectively GPLv2+. See ;; 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 (synopsis
"Parse human-readable date/time text") "Parse human-readable date/time text")
(description (description
"Parse human-readable date/time text") "Parse human-readable date/time text.")
(license asl2.0))) (license asl2.0)))
(define-public python-pandas (define-public python-pandas
@ -824,7 +824,7 @@ Database API 2.0T.")
"Mechanize implements stateful programmatic web browsing in Python, "Mechanize implements stateful programmatic web browsing in Python,
after Andy Lesters Perl module WWW::Mechanize.") after Andy Lesters Perl module WWW::Mechanize.")
(license (non-copyleft "file://COPYING" (license (non-copyleft "file://COPYING"
"See COPYING in the distribution.")))) "See COPYING in the distribution."))))
(define-public python-simplejson (define-public python-simplejson
@ -844,8 +844,9 @@ after Andy Lesters Perl module WWW::Mechanize.")
(synopsis (synopsis
"Json library for Python") "Json library for Python")
(description (description
"JSON (JavaScript Object Notation) is a subset of JavaScript syntax "JSON (JavaScript Object Notation) is a subset of JavaScript
(ECMA-262 3rd edition) used as a lightweight data interchange format. syntax (ECMA-262 3rd edition) used as a lightweight data interchange
format.
Simplejson exposes an API familiar to users of the standard library marshal Simplejson exposes an API familiar to users of the standard library marshal
and pickle modules. It is the externally maintained version of the json and pickle modules. It is the externally maintained version of the json
@ -1540,7 +1541,7 @@ executed.")
"Python test discovery for unittest") "Python test discovery for unittest")
(description (description
"Discover provides test discovery for unittest, a feature that has been "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))) (license bsd-3)))
(define-public python2-discover (define-public python2-discover
@ -2163,7 +2164,7 @@ mining and data analysis.")
(home-page "http://scikit-image.org/") (home-page "http://scikit-image.org/")
(synopsis "Image processing in Python") (synopsis "Image processing in Python")
(description (description
"scikit-image is a collection of algorithms for image processing.") "Scikit-image is a collection of algorithms for image processing.")
(license bsd-3))) (license bsd-3)))
(define-public python2-scikit-image (define-public python2-scikit-image
@ -2334,7 +2335,7 @@ include_dirs = ~a/include
(home-page "http://www.numpy.org/") (home-page "http://www.numpy.org/")
(synopsis "Fundamental package for scientific computing with Python") (synopsis "Fundamental package for scientific computing with Python")
(description "NumPy is the fundamental package for scientific computing (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++ object, sophisticated (broadcasting) functions, tools for integrating C/C++
and Fortran code, useful linear algebra, Fourier transform, and random number and Fortran code, useful linear algebra, Fourier transform, and random number
capabilities.") capabilities.")

View File

@ -54,6 +54,6 @@
(synopsis "Client for Windows Terminal Services") (synopsis "Client for Windows Terminal Services")
(description (description
"rdesktop is a client for Microsoft's Windows Remote Desktop Services, "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.") to remotely control a user's Windows desktop.")
(license license:gpl3+))) (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 "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 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 read RDF/XLM and N3 files and export N3 files, and it also has a light
taxonomic inference capablility.") taxonomic inference capability.")
(license gpl2))) (license gpl2)))
(define-public rasqal (define-public rasqal

View File

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

View File

@ -61,11 +61,11 @@
(synopsis "Library for interactive applications and extensibility") (synopsis "Library for interactive applications and extensibility")
(description (description
"S-Lang is a multi-platform programmer's library designed to allow a "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, 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 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 interpreter, it may also be used in a stand-alone fashion through the use of
slsh, which is part of the S-Lang distribution.") slsh, which is part of the S-Lang distribution.")
(license license:gpl2+))) (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 -- fonts, External themes support, Configurable runtime options: X server --
login / shutdown / reboot commands, Single (GDM-like) or double (XDM-like) login / shutdown / reboot commands, Single (GDM-like) or double (XDM-like)
input control, Can load predefined user at startup, Configurable welcome / input control, Can load predefined user at startup, Configurable welcome /
shutdown messages, Random theme selection") shutdown messages, Random theme selection.")
(license l:gpl2))) (license l:gpl2)))

View File

@ -124,7 +124,7 @@ to initiate and control SIP sessions.")
(version "4.1.0") (version "4.1.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
"http://download.savannah.gnu.org/releases/exosip/libeXosip2-" "http://download.savannah.gnu.org/releases/exosip/libeXosip2-"
version ".tar.gz")) version ".tar.gz"))
(sha256 (base32 (sha256 (base32
@ -133,11 +133,11 @@ to initiate and control SIP sessions.")
(inputs `(("osip" ,osip))) (inputs `(("osip" ,osip)))
(synopsis "Sip abstraction library") (synopsis "Sip abstraction library")
(description "EXosip is a library that hides the complexity of using the (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 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.") multiplayer games.")
(license gpl2+) (license gpl2+)
;; (plus OpenSSL linking exception) ;; (plus OpenSSL linking exception)
;; http://git.savannah.gnu.org/cgit/exosip.git/plain/LICENSE.OpenSSL ;; http://git.savannah.gnu.org/cgit/exosip.git/plain/LICENSE.OpenSSL
(home-page "http://savannah.nongnu.org/projects/exosip"))) (home-page "http://savannah.nongnu.org/projects/exosip")))
@ -153,23 +153,23 @@ multiplayer games.")
(sha256 (base32 (sha256 (base32
"0117c5iid1vrwl7sl3pys2jlinpmx2vfp8wcdwk93m7cc6k9793b")))) "0117c5iid1vrwl7sl3pys2jlinpmx2vfp8wcdwk93m7cc6k9793b"))))
(build-system gnu-build-system) (build-system gnu-build-system)
;; The configure.ac uses pkg-config but in a kludgy way which breaks when ;; The configure.ac uses pkg-config but in a kludgy way which breaks when
;; cross-compiling. Among other issues there the program name "pkg-config" ;; cross-compiling. Among other issues there the program name "pkg-config"
;; is hard coded instead of respecting the PKG_CONFIG environment variable. ;; is hard coded instead of respecting the PKG_CONFIG environment variable.
;; Fortunately we can avoid the use of pkg-config and set the dependency ;; Fortunately we can avoid the use of pkg-config and set the dependency
;; flags ourselves. ;; flags ourselves.
(arguments `(#:configure-flags (arguments `(#:configure-flags
`("--without-pkg-config" `("--without-pkg-config"
,(string-append "UCOMMON_CFLAGS=-I" ,(string-append "UCOMMON_CFLAGS=-I"
(assoc-ref %build-inputs "ucommon") "/include") (assoc-ref %build-inputs "ucommon") "/include")
"UCOMMON_LIBS=-lusecure -lucommon -lrt -ldl -lpthread" "UCOMMON_LIBS=-lusecure -lucommon -lrt -ldl -lpthread"
,(string-append "LIBOSIP2_CFLAGS=-I" ,(string-append "LIBOSIP2_CFLAGS=-I"
(assoc-ref %build-inputs "osip") "/include") (assoc-ref %build-inputs "osip") "/include")
"LIBOSIP2_LIBS=-losipparser2 -losip2" "LIBOSIP2_LIBS=-losipparser2 -losip2"
,(string-append "--sysconfdir=" (assoc-ref %outputs "out") ,(string-append "--sysconfdir=" (assoc-ref %outputs "out")
"/etc") "/etc")
"EXOSIP2_LIBS=-leXosip2" "EXOSIP2_LIBS=-leXosip2"
,(string-append "EXOSIP2_CFLAGS=-I" ,(string-append "EXOSIP2_CFLAGS=-I"
(assoc-ref %build-inputs "exosip") (assoc-ref %build-inputs "exosip")
"/include")))) "/include"))))
(inputs `(("ucommon" ,ucommon) (inputs `(("ucommon" ,ucommon)

View File

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

View File

@ -46,6 +46,6 @@
(description (description
"tmux is a terminal multiplexer: it enables a number of terminals (or "tmux is a terminal multiplexer: it enables a number of terminals (or
windows), each running a separate program, to be created, accessed, and 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.") continue running in the background, then later reattached.")
(license isc))) (license isc)))

View File

@ -31,7 +31,7 @@
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (uri
(string-append "http://laurikari.net/tre/" name "-" version (string-append "http://laurikari.net/tre/" name "-" version
".tar.bz2")) ".tar.bz2"))
(sha256 (sha256
@ -52,6 +52,6 @@
(synopsis "Approximate regex matching library and agrep utility") (synopsis "Approximate regex matching library and agrep utility")
(description "Superset of the POSIX regex API, enabling approximate (description "Superset of the POSIX regex API, enabling approximate
matching. Also ships a version of the agrep utility which behaves similar to 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") (home-page "http://laurikari.net/tre")
(license bsd-2))) (license bsd-2)))

View File

@ -64,7 +64,7 @@
(home-page "http://www.gnu.org/software/unrtf") (home-page "http://www.gnu.org/software/unrtf")
(synopsis "Convert Rich Text Format documents to other formats") (synopsis "Convert Rich Text Format documents to other formats")
(description (description
"GNU UnRTF converts text documents from RTF to HTML, LaTeX, or troff. "GNU UnRTF converts text documents from RTF to HTML, LaTeX, or troff.
It supports changes in font characteristics, underlines and strikethroughs, It supports changes in font characteristics, underlines and strikethroughs,
superscripts and subscripts, and more.") superscripts and subscripts, and more.")
(license gpl2+))) (license gpl2+)))

View File

@ -791,7 +791,7 @@ code control system SCCS. This allows old code still under that system to be
accessed and migrated on modern systems.") accessed and migrated on modern systems.")
(license gpl3+))) (license gpl3+)))
;; This package can unfortunately work only in -TEST mode, since Aegis ;; This package can unfortunately work only in -TEST mode, since Aegis
;; requires that it is installed setuid root. ;; requires that it is installed setuid root.
(define-public aegis (define-public aegis
(package (package
@ -799,7 +799,7 @@ accessed and migrated on modern systems.")
(version "4.24") (version "4.24")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://sourceforge/aegis/aegis-" (uri (string-append "mirror://sourceforge/aegis/aegis-"
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
@ -822,17 +822,17 @@ accessed and migrated on modern systems.")
("groff" ,groff) ("groff" ,groff)
("perl" ,perl) ("perl" ,perl)
;; Various tests require the following: ;; Various tests require the following:
("cvs" ,cvs) ("cvs" ,cvs)
("flex" ,flex) ("flex" ,flex)
("cook" ,cook) ("cook" ,cook)
("subversion" ,subversion) ("subversion" ,subversion)
("rcs" ,rcs) ("rcs" ,rcs)
("ed" ,ed))) ("ed" ,ed)))
(arguments (arguments
`(#:configure-flags (list "--with-no-aegis-configured" `(#:configure-flags (list "--with-no-aegis-configured"
"--sharedstatedir=/var/com/aegis") "--sharedstatedir=/var/com/aegis")
#:parallel-build? #f ; There are some nasty racy rules in the Makefile. #:parallel-build? #f ; There are some nasty racy rules in the Makefile.
#:phases #:phases
(alist-cons-before (alist-cons-before
'configure 'pre-conf 'configure 'pre-conf
(lambda _ (lambda _

View File

@ -1275,7 +1275,7 @@ and custom quantization matrices.")
(define-public livestreamer (define-public livestreamer
(package (package
(name "livestreamer") (name "livestreamer")
(version "1.12.1") (version "1.12.2")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -1284,7 +1284,7 @@ and custom quantization matrices.")
(file-name (string-append "livestreamer-" version ".tar.gz")) (file-name (string-append "livestreamer-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1dhgk8v8q1h3km4g5jc0cmjsxdaa2d456fvdb2wk7hmxmmwbqm9j")))) "1fp3d3z2grb1ls97smjkraazpxnvajda2d1g1378s6gzmda2jvjd"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
'(#:tests? #f)) ; tests rely on external web servers '(#: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 for creating secure point-to-point or site-to-site connections in routed or
bridged configurations and remote access facilities. It uses a custom bridged configurations and remote access facilities. It uses a custom
security protocol that utilizes SSL/TLS for key exchange. It is capable of 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))) (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 domain verification, finds the longest public part of a given domain, finds
the shortest private part of a given domain, works with international the shortest private part of a given domain, works with international
domains (UTF-8 and IDNA2008 Punycode), is thread-safe, and handles IDNA2008 domains (UTF-8 and IDNA2008 Punycode), is thread-safe, and handles IDNA2008
UTS#46") UTS#46.")
(license l:x11))) (license l:x11)))
(define-public tidy (define-public tidy
@ -433,7 +433,7 @@ used to validate and fix HTML data.")
;; All of the below are used to generate the documentation ;; All of the below are used to generate the documentation
;; (Should they be propagated inputs of asciidoc ??) ;; (Should they be propagated inputs of asciidoc ??)
(native-inputs `(("asciidoc" ,asciidoc) (native-inputs `(("asciidoc" ,asciidoc)
("libxml2" ,libxml2) ("libxml2" ,libxml2)
("docbook-xml" ,docbook-xml) ("docbook-xml" ,docbook-xml)
("docbook-xsl" ,docbook-xsl) ("docbook-xsl" ,docbook-xsl)
("libxslt" ,libxslt))) ("libxslt" ,libxslt)))
@ -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") (home-page "http://search.cpan.org/dist/Catalyst-Plugin-Authentication")
(synopsis "Infrastructure plugin for the Catalyst authentication framework") (synopsis "Infrastructure plugin for the Catalyst authentication framework")
(description "The authentication plugin provides generic user support for (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 who they claim to be), and authorization (allowing the user to do what the
system authorises them to do).") system authorises them to do).")
(license (package-license perl)))) (license (package-license perl))))
@ -1148,7 +1148,7 @@ cookie mechanism.")
("perl-path-class" ,perl-path-class))) ("perl-path-class" ,perl-path-class)))
(home-page (home-page
"http://search.cpan.org/dist/Catalyst-Plugin-Session-Store-FastMmap") "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 (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 storage plugin for Catalyst that uses an mmap'ed file to act as a shared
memory interprocess cache. It is based on Cache::FastMmap.") 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") (synopsis "Download data in many formats")
(description "The purpose of this module is to provide a method for (description "The purpose of this module is to provide a method for
downloading data into many supportable formats. For example, downloading a 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)))) (license (package-license perl))))
(define-public perl-catalyst-view-json (define-public perl-catalyst-view-json
@ -1567,13 +1567,13 @@ for files and urls.")
(synopsis "Perl locale encoding determination") (synopsis "Perl locale encoding determination")
(description (description
"The POSIX locale system is used to specify both the language "The POSIX locale system is used to specify both the language
conventions requested by the user and the preferred character set to consume conventions requested by the user and the preferred character set to
and output. The Encode::Locale module looks up the charset and encoding consume and output. The Encode::Locale module looks up the charset and
(called a CODESET in the locale jargon) and arranges for the Encode module encoding (called a CODESET in the locale jargon) and arranges for the
to know this encoding under the name \"locale\". It means bytes obtained Encode module to know this encoding under the name \"locale\". It means
from the environment can be converted to Unicode strings by calling bytes obtained from the environment can be converted to Unicode strings
Encode::encode(locale => $bytes) and converted back again with by calling Encode::encode(locale => $bytes) and converted back again
Encode::decode(locale => $string).") with Encode::decode(locale => $string).")
(home-page "http://search.cpan.org/~gaas/Encode-Locale/"))) (home-page "http://search.cpan.org/~gaas/Encode-Locale/")))
(define-public perl-file-listing (define-public perl-file-listing
@ -2298,7 +2298,7 @@ or to multiple server ports.")
`(("perl-io-socket-ssl" ,perl-io-socket-ssl))) `(("perl-io-socket-ssl" ,perl-io-socket-ssl)))
(home-page "http://search.cpan.org/dist/Net-SMTP-SSL") (home-page "http://search.cpan.org/dist/Net-SMTP-SSL")
(synopsis "SSL support for Net::SMTP") (synopsis "SSL support for Net::SMTP")
(description "SSL support for Net::SMTP") (description "SSL support for Net::SMTP.")
(license (package-license perl)))) (license (package-license perl))))
(define-public perl-plack (define-public perl-plack

View File

@ -56,7 +56,7 @@
(synopsis "Non-interactive command-line utility for downloading files") (synopsis "Non-interactive command-line utility for downloading files")
(description (description
"GNU Wget is a non-interactive tool for fetching files using the HTTP, "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 wild cards, supports proxies and cookies, and it can convert absolute links
in downloaded documents to relative links.") in downloaded documents to relative links.")
(license gpl3+))) ; some files are under GPLv2+ (license gpl3+))) ; some files are under GPLv2+

View File

@ -79,9 +79,9 @@
(synopsis "Lexical database for the English language") (synopsis "Lexical database for the English language")
(description (description
"WordNet® is a large lexical database of English. Nouns, verbs, "WordNet® is a large lexical database of English. Nouns, verbs,
adjectives and adverbs are grouped into sets of cognitive synonyms adjectives and adverbs are grouped into sets of cognitive synonyms (synsets),
(synsets), each expressing a distinct concept. Synsets are interlinked by each expressing a distinct concept. Synsets are interlinked by means of
means of conceptual-semantic and lexical relations. The resulting network of conceptual-semantic and lexical relations. The resulting network of
meaningfully related words and concepts can be navigated with the browser. meaningfully related words and concepts can be navigated with the browser.
WordNet is also freely and publicly available for download. WordNet's WordNet is also freely and publicly available for download. WordNet's
structure makes it a useful tool for computational linguistics and natural 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 "Wmctrl allows to interact with an X window manager that is compatible
with the EWMH/NetWM specification. It can query the window manager for with the EWMH/NetWM specification. It can query the window manager for
information, and request for certain window management actions (resize and 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+))) (license license:gpl2+)))
(define-public scrot (define-public scrot

View File

@ -157,7 +157,7 @@ storage system.")
(synopsis "Widgets library for Xfce") (synopsis "Widgets library for Xfce")
(description (description
"Libxfce4ui is the replacement of the old libxfcegui4 library. It is used "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+))) (license lgpl2.0+)))
(define-public exo (define-public exo
@ -497,7 +497,7 @@ fast.")
"Thunar-volman is an extension for the Thunar File Manager, which enables "Thunar-volman is an extension for the Thunar File Manager, which enables
automatic management of removable drives and media. For example, if automatic management of removable drives and media. For example, if
thunar-volman is installed and configured properly, and you plug in your 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.") and import the new pictures from your camera.")
(license gpl2+))) (license gpl2+)))

View File

@ -318,12 +318,12 @@ incorporated technology from Skype's SILK codec and Xiph.Org's CELT codec.")
"ftp://ftp.mozilla.org/pub/mozilla.org/opus/opus-tools-" "ftp://ftp.mozilla.org/pub/mozilla.org/opus/opus-tools-"
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0fk4nknvl111k89j5yckmyrh6b2wvgyhrqfncp7rig3zikbkv1xi")))) "0fk4nknvl111k89j5yckmyrh6b2wvgyhrqfncp7rig3zikbkv1xi"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
;; The package developers misuse pkg-config such that it doesn't work ;; The package developers misuse pkg-config such that it doesn't work
;; when cross compiling. Therefore we avoid it completly and set the ;; when cross compiling. Therefore we avoid it completly and set the
;; necessary flags ourselves. ;; necessary flags ourselves.
`(#:configure-flags (list (string-append "CFLAGS=-I" `(#:configure-flags (list (string-append "CFLAGS=-I"
(assoc-ref %build-inputs "libogg") (assoc-ref %build-inputs "libogg")
@ -333,11 +333,11 @@ incorporated technology from Skype's SILK codec and Xiph.Org's CELT codec.")
(inputs `(("libogg" ,libogg) (inputs `(("libogg" ,libogg)
("opus" ,opus) ("opus" ,opus)
("flac" ,flac))) ("flac" ,flac)))
(synopsis "Command line utilities to encode, inspect, and decode .opus (synopsis
files") "Command line utilities to encode, inspect, and decode .opus files")
(description "Opus is a royalty-free, highly versatile audio codec. (description "Opus is a royalty-free, highly versatile audio codec.
Opus-tools provide command line utilities for creating, inspecting and Opus-tools provide command line utilities for creating, inspecting and
decoding .opus files") decoding .opus files.")
(license license:bsd-3) (license license:bsd-3)
(home-page "http://www.opus-codec.org"))) (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)))) (file-type 'regular))))
(search-paths native-search-paths) (search-paths native-search-paths)
(description (description
"Libxml2 is the XML C parser and toolkit developed for the Gnome project "Libxml2 is the XML C parser and toolkit developed for the Gnome
(but it is usable outside of the Gnome platform).") project (but it is usable outside of the Gnome platform).")
(license license:x11))) (license license:x11)))
(define-public python-libxml2 (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 system linux) ; 'pam-service', etc.
#:use-module (gnu packages admin) #:use-module (gnu packages admin)
#:use-module ((gnu packages linux) #: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) #:use-module ((gnu packages base)
#:select (canonical-package glibc)) #:select (canonical-package glibc))
#:use-module (gnu packages package-management) #:use-module (gnu packages package-management)
@ -739,11 +739,11 @@ item of @var{packages}."
(call-with-output-file (call-with-output-file
(string-append rules.d "/90-kvm.rules") (string-append rules.d "/90-kvm.rules")
(lambda (port) (lambda (port)
;; FIXME: As a workaround for ;; Build users are part of the "kvm" group, so we
;; <http://bugs.gnu.org/18994>, make /dev/kvm 666 ;; can fearlessly make /dev/kvm 660 (see
;; instead of 660. ;; <http://bugs.gnu.org/18994>, for background.)
(display "\ (display "\
KERNEL==\"kvm\", GROUP=\"kvm\", MODE=\"0666\"\n" port)))) KERNEL==\"kvm\", GROUP=\"kvm\", MODE=\"0660\"\n" port))))
#:modules '((guix build utils)))) #:modules '((guix build utils))))
(define* (udev-service #:key (udev eudev) (rules '())) (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 ;; 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 ;; used, so enable them by default. The FUSE and ALSA rules are
;; less critical, but handy. ;; 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 ;;; base.scm ends here

View File

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

View File

@ -37,6 +37,7 @@
file-system-options file-system-options
file-system-check? file-system-check?
file-system-create-mount-point? file-system-create-mount-point?
file-system-dependencies
file-system->spec file-system->spec
string->uuid string->uuid
@ -97,7 +98,10 @@
(check? file-system-check? ; Boolean (check? file-system-check? ; Boolean
(default #t)) (default #t))
(create-mount-point? file-system-create-mount-point? ; Boolean (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) (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 "Return true if FS has the 'needed-for-boot?' flag set, or if it's the root
@ -153,8 +157,10 @@ UUID representation."
((_ str) ((_ str)
(string? (syntax->datum #'str)) (string? (syntax->datum #'str))
;; A literal string: do the conversion at expansion time. ;; A literal string: do the conversion at expansion time.
(with-syntax ((bv (string->uuid (syntax->datum #'str)))) (let ((bv (string->uuid (syntax->datum #'str))))
#''bv)) (unless bv
(syntax-violation 'uuid "invalid UUID" s))
(datum->syntax #'str bv)))
((_ str) ((_ str)
#'(string->uuid str))))) #'(string->uuid str)))))
@ -231,21 +237,26 @@ UUID representation."
(flags '(read-only bind-mount)))) (flags '(read-only bind-mount))))
(define %control-groups (define %control-groups
(cons (file-system (let ((parent (file-system
(device "cgroup") (device "cgroup")
(mount-point "/sys/fs/cgroup") (mount-point "/sys/fs/cgroup")
(type "tmpfs") (type "tmpfs")
(check? #f)) (check? #f))))
(map (lambda (subsystem) (cons parent
(file-system (map (lambda (subsystem)
(device "cgroup") (file-system
(mount-point (string-append "/sys/fs/cgroup/" subsystem)) (device "cgroup")
(type "cgroup") (mount-point (string-append "/sys/fs/cgroup/" subsystem))
(check? #f) (type "cgroup")
(options subsystem) (check? #f)
(create-mount-point? #t))) (options subsystem)
'("cpuset" "cpu" "cpuacct" "memory" "devices" "freezer" (create-mount-point? #t)
"blkio" "perf_event" "hugetlb"))))
;; 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 (define %base-file-systems
;; List of basic file systems to be mounted. Note that /proc and /sys are ;; 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 (with-directory-excursion %root
(zero? (system* "tar" "--xz" "--format=gnu" (zero? (system* "tar" "--xz" "--format=gnu"
"--owner=root:0" "--group=root:0" "--owner=root:0" "--group=root:0"
"--mtime=@0" ;for files in /var/guix
"--check-links" "--check-links"
"-cvf" #$output "-cvf" #$output
;; Avoid adding / and /var to the tarball, ;; 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) (guix-service #:authorize-hydra-key? #t)
;; Start udev so that useful device nodes are available. ;; Start udev so that useful device nodes are available.
;; Use device-mapper rules for cryptsetup & co. ;; Use device-mapper rules for cryptsetup & co; enable the CRDA for
(udev-service #:rules (list lvm2)) ;; regulations-compliant WiFi access.
(udev-service #:rules (list lvm2 crda))
;; Add the 'cow-store' service, which users have to start manually ;; Add the 'cow-store' service, which users have to start manually
;; since it takes the installation directory as an argument. ;; 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'. # Adjust the prompt depending on whether we're in 'guix environment'.
if [ -n \"$GUIX_ENVIRONMENT\" ] if [ -n \"$GUIX_ENVIRONMENT\" ]
then then
export PS1='\\u@\\h \\w\\ [env]$ ' export PS1='\\u@\\h \\w [env]\\$ '
else else
export PS1='\\u@\\h \\w\\$ ' export PS1='\\u@\\h \\w\\$ '
fi fi

View File

@ -493,7 +493,8 @@ exec " #$qemu "/bin/" #$(qemu-command (%current-system))
#~(" -kernel " #$(operating-system-kernel os) "/bzImage \ #~(" -kernel " #$(operating-system-kernel os) "/bzImage \
-initrd " #$os-drv "/initrd \ -initrd " #$os-drv "/initrd \
-append \"" #$(if graphic? "" "console=ttyS0 ") -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 #$(common-qemu-options image
(map file-system-mapping-source (map file-system-mapping-source
(cons %store-mapping mappings))) (cons %store-mapping mappings)))

View File

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

View File

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

View File

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

View File

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

View File

@ -32,6 +32,7 @@
cddl1.0 cddl1.0
cecill-c cecill-c
artistic2.0 clarified-artistic artistic2.0 clarified-artistic
copyleft-next
cpl1.0 cpl1.0
epl1.0 epl1.0
expat 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/" "http://gianluca.dellavedova.org/2011/01/03/clarified-artistic-license/"
"https://www.gnu.org/licenses/license-list.html#ArtisticLicense2")) "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 (define cpl1.0
(license "CPL 1.0" (license "CPL 1.0"
"http://directory.fsf.org/wiki/License:CPLv1.0" "http://directory.fsf.org/wiki/License:CPLv1.0"

View File

@ -307,22 +307,6 @@ RX."
((<) #t) ((<) #t)
(else #f))))) (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) (define (upgradeable? name current-version current-path)
"Return #t if there's a version of package NAME newer than CURRENT-VERSION, "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 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 "Generate a narinfo key/value string for STORE-PATH using the details in
PATH-INFO. The narinfo is signed with KEY." PATH-INFO. The narinfo is signed with KEY."
(let* ((url (string-append "nar/" (basename store-path))) (let* ((url (string-append "nar/" (basename store-path)))
(hash (bytevector->base32-string (hash (bytevector->nix-base32-string
(path-info-hash path-info))) (path-info-hash path-info)))
(size (path-info-nar-size path-info)) (size (path-info-nar-size path-info))
(references (string-join (references (string-join

View File

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

View File

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

View File

@ -62,6 +62,7 @@
show-manifest-transaction show-manifest-transaction
call-with-error-handling call-with-error-handling
with-error-handling with-error-handling
leave-on-EPIPE
read/eval read/eval
read/eval-package-expression read/eval-package-expression
location->string location->string
@ -430,6 +431,22 @@ interpreted."
(leave (_ "~a: ~a~%") proc (leave (_ "~a: ~a~%") proc
(apply format #f format-string format-args)))))) (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 (define %guix-user-module
;; Module in which user expressions are evaluated. ;; Module in which user expressions are evaluated.
;; Compute lazily to avoid circularity with (guix gexp). ;; 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'. # all of them should be listed here.) Strings of the tools are in 'po/guix'.
gnu/packages/abiword.scm gnu/packages/abiword.scm
gnu/packages/aspell.scm gnu/packages/aspell.scm
gnu/packages/audio.scm
gnu/packages/backup.scm gnu/packages/backup.scm
gnu/packages/base.scm gnu/packages/base.scm
gnu/packages/bittorrent.scm gnu/packages/bittorrent.scm
@ -16,6 +17,8 @@ gnu/packages/games.scm
gnu/packages/gcc.scm gnu/packages/gcc.scm
gnu/packages/geeqie.scm gnu/packages/geeqie.scm
gnu/packages/gettext.scm gnu/packages/gettext.scm
gnu/packages/gimp.scm
gnu/packages/gnome.scm
gnu/packages/gnuzilla.scm gnu/packages/gnuzilla.scm
gnu/packages/gtk.scm gnu/packages/gtk.scm
gnu/packages/guile.scm gnu/packages/guile.scm
@ -26,6 +29,7 @@ gnu/packages/jemalloc.scm
gnu/packages/key-mon.scm gnu/packages/key-mon.scm
gnu/packages/less.scm gnu/packages/less.scm
gnu/packages/lesstif.scm gnu/packages/lesstif.scm
gnu/packages/libreoffice.scm
gnu/packages/linux.scm gnu/packages/linux.scm
gnu/packages/lout.scm gnu/packages/lout.scm
gnu/packages/messaging.scm gnu/packages/messaging.scm

View File

@ -40,6 +40,16 @@
(bytevector=? (uuid "4dab5feb-d176-45de-b287-9b0a6e4c01cb") (bytevector=? (uuid "4dab5feb-d176-45de-b287-9b0a6e4c01cb")
(string->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) (test-end)

View File

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