Merge branch 'master' into python-tests

This commit is contained in:
Marius Bakke 2017-02-13 22:35:05 +01:00
commit 424b1ae769
No known key found for this signature in database
GPG Key ID: A2A06DF2A33A54FA
294 changed files with 16198 additions and 3376 deletions

View File

@ -52,6 +52,8 @@
(eval . (put 'with-derivation-narinfo 'scheme-indent-function 1)) (eval . (put 'with-derivation-narinfo 'scheme-indent-function 1))
(eval . (put 'with-derivation-substitute 'scheme-indent-function 2)) (eval . (put 'with-derivation-substitute 'scheme-indent-function 2))
(eval . (put 'mlambda 'scheme-indent-function 1))
(eval . (put 'mlambdaq 'scheme-indent-function 1))
(eval . (put 'syntax-parameterize 'scheme-indent-function 1)) (eval . (put 'syntax-parameterize 'scheme-indent-function 1))
(eval . (put 'with-monad 'scheme-indent-function 1)) (eval . (put 'with-monad 'scheme-indent-function 1))
(eval . (put 'mbegin 'scheme-indent-function 1)) (eval . (put 'mbegin 'scheme-indent-function 1))

3
.gitignore vendored
View File

@ -11,6 +11,7 @@
/INSTALL /INSTALL
/aclocal.m4 /aclocal.m4
/autom4te.cache /autom4te.cache
/build-aux/ar-lib
/build-aux/compile /build-aux/compile
/build-aux/config.guess /build-aux/config.guess
/build-aux/config.rpath /build-aux/config.rpath
@ -128,4 +129,4 @@ stamp-h[0-9]
tmp tmp
/doc/os-config-lightweight-desktop.texi /doc/os-config-lightweight-desktop.texi
/nix/scripts/download /nix/scripts/download
/etc/indent-package.el /etc/indent-code.el

View File

@ -40,11 +40,12 @@ Marius Bakke <mbakke@fastmail.com> <m.bakke@warwick.ac.uk>
Mathieu Lirzin <mthl@gnu.org> <mthl@openmailbox.org> Mathieu Lirzin <mthl@gnu.org> <mthl@openmailbox.org>
Mathieu Lirzin <mthl@gnu.org> <mathieu.lirzin@openmailbox.org> Mathieu Lirzin <mthl@gnu.org> <mathieu.lirzin@openmailbox.org>
Nikita Karetnikov <nikita@karetnikov.org> <nikita.karetnikov@gmail.com> Nikita Karetnikov <nikita@karetnikov.org> <nikita.karetnikov@gmail.com>
ng0 <ng0@libertad.pw> <ng0@we.make.ritual.n0.is> ng0 <contact.ng0@cryptolab.net>
ng0 <ng0@libertad.pw> <ngillmann@runbox.com> ng0 <contact.ng0@cryptolab.net> <ng0@we.make.ritual.n0.is>
ng0 <ng0@libertad.pw> <niasterisk@grrlz.net> ng0 <contact.ng0@cryptolab.net> <ngillmann@runbox.com>
ng0 <ng0@libertad.pw> <ng@niasterisk.space> ng0 <contact.ng0@cryptolab.net> <niasterisk@grrlz.net>
ng0 <ng0@libertad.pw> ng0 <contact.ng0@cryptolab.net> <ng@niasterisk.space>
ng0 <contact.ng0@cryptolab.net> <ng0@libertad.pw>
Pjotr Prins <pjotr.guix@thebird.nl> <pjotr.public01@thebird.nl> Pjotr Prins <pjotr.guix@thebird.nl> <pjotr.public01@thebird.nl>
Pjotr Prins <pjotr.guix@thebird.nl> <pjotr.public12@thebird.nl> Pjotr Prins <pjotr.guix@thebird.nl> <pjotr.public12@thebird.nl>
Pjotr Prins <pjotr.guix@thebird.nl> <pjotr.public12@email> Pjotr Prins <pjotr.guix@thebird.nl> <pjotr.public12@email>

View File

@ -3,7 +3,7 @@
#+TITLE: Hacking GNU Guix and Its Incredible Distro #+TITLE: Hacking GNU Guix and Its Incredible Distro
Copyright © 2012, 2013, 2014, 2016 Ludovic Courtès <ludo@gnu.org> Copyright © 2012, 2013, 2014, 2016 Ludovic Courtès <ludo@gnu.org>
Copyright © 2015 Mathieu Lirzin <mthl@openmailbox.org> Copyright © 2015, 2017 Mathieu Lirzin <mthl@gnu.org>
Copyright © 2017 Leo Famulari <leo@famulari.name> Copyright © 2017 Leo Famulari <leo@famulari.name>
Copying and distribution of this file, with or without modification, Copying and distribution of this file, with or without modification,
@ -14,7 +14,7 @@ Copyright © 2017 Leo Famulari <leo@famulari.name>
See the manual for useful hacking informations, either by running See the manual for useful hacking informations, either by running
info -f doc/guix.info "(guix) Contributing" info -f doc/guix.info "Contributing"
or by checking the [[http://www.gnu.org/software/guix/manual/guix.html#Contributing][web copy of the manual]]. or by checking the [[http://www.gnu.org/software/guix/manual/guix.html#Contributing][web copy of the manual]].

View File

@ -1,5 +1,5 @@
# GNU Guix --- Functional package management for GNU # GNU Guix --- Functional package management for GNU
# Copyright © 2012, 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org> # Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
# Copyright © 2013 Andreas Enge <andreas@enge.fr> # Copyright © 2013 Andreas Enge <andreas@enge.fr>
# Copyright © 2015 Alex Kost <alezost@gmail.com> # Copyright © 2015 Alex Kost <alezost@gmail.com>
# Copyright © 2016 Mathieu Lirzin <mthl@gnu.org> # Copyright © 2016 Mathieu Lirzin <mthl@gnu.org>
@ -39,6 +39,7 @@ MODULES = \
guix/pk-crypto.scm \ guix/pk-crypto.scm \
guix/pki.scm \ guix/pki.scm \
guix/combinators.scm \ guix/combinators.scm \
guix/memoization.scm \
guix/utils.scm \ guix/utils.scm \
guix/sets.scm \ guix/sets.scm \
guix/modules.scm \ guix/modules.scm \
@ -63,6 +64,7 @@ MODULES = \
guix/build-system/ant.scm \ guix/build-system/ant.scm \
guix/build-system/cargo.scm \ guix/build-system/cargo.scm \
guix/build-system/cmake.scm \ guix/build-system/cmake.scm \
guix/build-system/dub.scm \
guix/build-system/emacs.scm \ guix/build-system/emacs.scm \
guix/build-system/asdf.scm \ guix/build-system/asdf.scm \
guix/build-system/glib-or-gtk.scm \ guix/build-system/glib-or-gtk.scm \
@ -87,6 +89,7 @@ MODULES = \
guix/build/download.scm \ guix/build/download.scm \
guix/build/cargo-build-system.scm \ guix/build/cargo-build-system.scm \
guix/build/cmake-build-system.scm \ guix/build/cmake-build-system.scm \
guix/build/dub-build-system.scm \
guix/build/emacs-build-system.scm \ guix/build/emacs-build-system.scm \
guix/build/asdf-build-system.scm \ guix/build/asdf-build-system.scm \
guix/build/git.scm \ guix/build/git.scm \
@ -125,6 +128,7 @@ MODULES = \
guix/import/cabal.scm \ guix/import/cabal.scm \
guix/import/cran.scm \ guix/import/cran.scm \
guix/import/hackage.scm \ guix/import/hackage.scm \
guix/import/stackage.scm \
guix/import/elpa.scm \ guix/import/elpa.scm \
guix/scripts.scm \ guix/scripts.scm \
guix/scripts/download.scm \ guix/scripts/download.scm \
@ -146,6 +150,7 @@ MODULES = \
guix/scripts/import/gnu.scm \ guix/scripts/import/gnu.scm \
guix/scripts/import/nix.scm \ guix/scripts/import/nix.scm \
guix/scripts/import/hackage.scm \ guix/scripts/import/hackage.scm \
guix/scripts/import/stackage.scm \
guix/scripts/import/elpa.scm \ guix/scripts/import/elpa.scm \
guix/scripts/environment.scm \ guix/scripts/environment.scm \
guix/scripts/publish.scm \ guix/scripts/publish.scm \

2
README
View File

@ -42,7 +42,7 @@ When `--disable-daemon' was passed, you instead need the following:
See the manual for the installation instructions, either by running See the manual for the installation instructions, either by running
info -f doc/guix.info "(guix) Installation" info -f doc/guix.info "Installation"
or by checking the [[http://www.gnu.org/software/guix/manual/guix.html#Installation][web copy of the manual]]. or by checking the [[http://www.gnu.org/software/guix/manual/guix.html#Installation][web copy of the manual]].

View File

@ -5,6 +5,7 @@ AC_MSG_RESULT([$guix_build_daemon])
dnl C++ environment. This macro must be used unconditionnaly. dnl C++ environment. This macro must be used unconditionnaly.
AC_PROG_CXX AC_PROG_CXX
AM_PROG_AR
AC_LANG([C++]) AC_LANG([C++])
if test "x$guix_build_daemon" = "xyes"; then if test "x$guix_build_daemon" = "xyes"; then

View File

@ -236,6 +236,15 @@ dnl Emacs (optional), for 'etc/indent-package.el'.
AC_PATH_PROG([EMACS], [emacs], [/usr/bin/emacs]) AC_PATH_PROG([EMACS], [emacs], [/usr/bin/emacs])
AC_SUBST([EMACS]) AC_SUBST([EMACS])
case "$storedir" in
/gnu/store)
;;
*)
AC_MSG_WARN([Using a store directory other than '/gnu/store' will prevent you])
AC_MSG_WARN([from downloading substitutes from gnu.org.])
;;
esac
AC_CONFIG_FILES([Makefile AC_CONFIG_FILES([Makefile
po/guix/Makefile.in po/guix/Makefile.in
po/packages/Makefile.in po/packages/Makefile.in
@ -245,6 +254,6 @@ AC_CONFIG_FILES([scripts/guix], [chmod +x scripts/guix])
AC_CONFIG_FILES([test-env:build-aux/test-env.in], [chmod +x test-env]) AC_CONFIG_FILES([test-env:build-aux/test-env.in], [chmod +x test-env])
AC_CONFIG_FILES([pre-inst-env:build-aux/pre-inst-env.in], AC_CONFIG_FILES([pre-inst-env:build-aux/pre-inst-env.in],
[chmod +x pre-inst-env]) [chmod +x pre-inst-env])
AC_CONFIG_FILES([etc/indent-package.el], [chmod +x etc/indent-package.el]) AC_CONFIG_FILES([etc/indent-code.el], [chmod +x etc/indent-code.el])
AC_OUTPUT AC_OUTPUT

View File

@ -256,12 +256,17 @@ If you do not use Emacs, please make sure to let your editor knows these
rules. To automatically indent a package definition, you can also run: rules. To automatically indent a package definition, you can also run:
@example @example
./etc/indent-package.el gnu/packages/@var{file}.scm @var{package} ./etc/indent-code.el gnu/packages/@var{file}.scm @var{package}
@end example @end example
@noindent @noindent
This automatically indents the definition of @var{package} in This automatically indents the definition of @var{package} in
@file{gnu/packages/@var{file}.scm} by running Emacs in batch mode. @file{gnu/packages/@var{file}.scm} by running Emacs in batch mode. To
indent a whole file, omit the second argument:
@example
./etc/indent-code.el gnu/services/@var{file}.scm
@end example
We require all top-level procedures to carry a docstring. This We require all top-level procedures to carry a docstring. This
requirement can be relaxed for simple private procedures in the requirement can be relaxed for simple private procedures in the
@ -277,7 +282,19 @@ keyword parameters for procedures that take more than four parameters.
Development is done using the Git distributed version control system. Development is done using the Git distributed version control system.
Thus, access to the repository is not strictly necessary. We welcome Thus, access to the repository is not strictly necessary. We welcome
contributions in the form of patches as produced by @code{git contributions in the form of patches as produced by @code{git
format-patch} sent to the @email{guix-devel@@gnu.org, mailing list}. format-patch} sent to the @email{guix-patches@@gnu.org} mailing list.
This mailing list is backed by a Debbugs instance accessible at
@uref{https://bugs.gnu.org/guix-patches}, which allows us to keep track
of submissions. Each message sent to that mailing list gets a new
tracking number assigned; people can then follow up on the submission by
sending email to @code{@var{NNN}@@debbugs.gnu.org}, where @var{NNN} is
the tracking number. When sending a patch series, please first send one
message to @email{guix-patches@@gnu.org}, and then send subsequent
patches to @email{@var{NNN}@@debbugs.gnu.org} to make sure they are kept
together. See @uref{https://debbugs.gnu.org/Advanced.html, the Debbugs
documentation}, for more information.
Please write commit logs in the ChangeLog format (@pxref{Change Logs,,, Please write commit logs in the ChangeLog format (@pxref{Change Logs,,,
standards, GNU Coding Standards}); you can check the commit history for standards, GNU Coding Standards}); you can check the commit history for
examples. examples.
@ -374,7 +391,7 @@ or a package update along with fixes to that package.
@item @item
Please follow our code formatting rules, possibly running the Please follow our code formatting rules, possibly running the
@command{etc/indent-package.el} script to do that automatically for you @command{etc/indent-code.el} script to do that automatically for you
(@pxref{Formatting Code}). (@pxref{Formatting Code}).
@end enumerate @end enumerate

View File

@ -20,7 +20,7 @@ Copyright @copyright{} 2014, 2015, 2016 Alex Kost@*
Copyright @copyright{} 2015, 2016 Mathieu Lirzin@* Copyright @copyright{} 2015, 2016 Mathieu Lirzin@*
Copyright @copyright{} 2014 Pierre-Antoine Rault@* Copyright @copyright{} 2014 Pierre-Antoine Rault@*
Copyright @copyright{} 2015 Taylan Ulrich Bayırlı/Kammer@* Copyright @copyright{} 2015 Taylan Ulrich Bayırlı/Kammer@*
Copyright @copyright{} 2015, 2016 Leo Famulari@* Copyright @copyright{} 2015, 2016, 2017 Leo Famulari@*
Copyright @copyright{} 2015, 2016 Ricardo Wurmus@* Copyright @copyright{} 2015, 2016 Ricardo Wurmus@*
Copyright @copyright{} 2016 Ben Woodcroft@* Copyright @copyright{} 2016 Ben Woodcroft@*
Copyright @copyright{} 2016 Chris Marusich@* Copyright @copyright{} 2016 Chris Marusich@*
@ -30,7 +30,9 @@ Copyright @copyright{} 2016 ng0@*
Copyright @copyright{} 2016 Jan Nieuwenhuizen@* Copyright @copyright{} 2016 Jan Nieuwenhuizen@*
Copyright @copyright{} 2016 Julien Lepiller@* Copyright @copyright{} 2016 Julien Lepiller@*
Copyright @copyright{} 2016 Alex ter Weele@* Copyright @copyright{} 2016 Alex ter Weele@*
Copyright @copyright{} 2017 Clément Lassieur Copyright @copyright{} 2017 Clément Lassieur@*
Copyright @copyright{} 2017 Mathieu Othacehe@*
Copyright @copyright{} 2017 Federico Beffa
Permission is granted to copy, distribute and/or modify this document Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or under the terms of the GNU Free Documentation License, Version 1.3 or
@ -208,6 +210,7 @@ Services
* Messaging Services:: Messaging services. * Messaging Services:: Messaging services.
* Kerberos Services:: Kerberos services. * Kerberos Services:: Kerberos services.
* Web Services:: Web servers. * Web Services:: Web servers.
* VPN Services:: VPN daemons.
* Network File System:: NFS related services. * Network File System:: NFS related services.
* Continuous Integration:: The Cuirass service. * Continuous Integration:: The Cuirass service.
* Miscellaneous Services:: Other services. * Miscellaneous Services:: Other services.
@ -450,6 +453,7 @@ If your host distro uses the Upstart init system:
@example @example
# ln -s ~root/.guix-profile/lib/upstart/system/guix-daemon.conf /etc/init/ # ln -s ~root/.guix-profile/lib/upstart/system/guix-daemon.conf /etc/init/
# initctl reload-configuration
# start guix-daemon # start guix-daemon
@end example @end example
@ -1684,6 +1688,20 @@ of packages:
(list guile-2.0 "debug"))) (list guile-2.0 "debug")))
@end example @end example
@findex specification->package+output
In this example we have to know which modules define the @code{emacs}
and @code{guile-2.0} variables to provide the right
@code{use-package-modules} line, which can be cumbersome. We can
instead provide regular package specifications and let
@code{specification->package-output} look up the corresponding package
objects, like this:
@example
(packages->manifest
(map (compose list specification->package+output)
'("emacs" "guile@@2.0" "guile@@2.0:debug")))
@end example
@item --roll-back @item --roll-back
@cindex rolling back @cindex rolling back
@cindex undoing transactions @cindex undoing transactions
@ -2273,11 +2291,14 @@ traverses @emph{all the files in the store}, this command can take a
long time, especially on systems with a slow disk drive. long time, especially on systems with a slow disk drive.
@cindex repairing the store @cindex repairing the store
@cindex corruption, recovering from
Using @option{--verify=repair} or @option{--verify=contents,repair} Using @option{--verify=repair} or @option{--verify=contents,repair}
causes the daemon to try to repair corrupt store items by fetching causes the daemon to try to repair corrupt store items by fetching
substitutes for them (@pxref{Substitutes}). Because repairing is not substitutes for them (@pxref{Substitutes}). Because repairing is not
atomic, and thus potentially dangerous, it is available only to the atomic, and thus potentially dangerous, it is available only to the
system administrator. system administrator. A lightweight alternative, when you know exactly
which items in the store are corrupt, is @command{guix build --repair}
(@pxref{Invoking guix build}).
@item --optimize @item --optimize
@cindex deduplication @cindex deduplication
@ -2317,7 +2338,9 @@ instance, when user @code{root} runs @command{guix pull}, this has no
effect on the version of Guix that user @code{alice} sees, and vice effect on the version of Guix that user @code{alice} sees, and vice
versa@footnote{Under the hood, @command{guix pull} updates the versa@footnote{Under the hood, @command{guix pull} updates the
@file{~/.config/guix/latest} symbolic link to point to the latest Guix, @file{~/.config/guix/latest} symbolic link to point to the latest Guix,
and the @command{guix} command loads code from there.}. and the @command{guix} command loads code from there. Currently, the
only way to roll back an invocation of @command{guix pull} is to
manually update this symlink to point to the previous Guix.}.
The @command{guix pull} command is usually invoked with no arguments, The @command{guix pull} command is usually invoked with no arguments,
but it supports the following options: but it supports the following options:
@ -2332,6 +2355,20 @@ Download the source tarball of Guix from @var{url}.
By default, the tarball is taken from its canonical address at By default, the tarball is taken from its canonical address at
@code{gnu.org}, for the stable branch of Guix. @code{gnu.org}, for the stable branch of Guix.
With some Git servers, this can be used to deploy any version of Guix.
For example, to download and deploy version 0.12.0 of Guix from the
canonical Git repo:
@example
guix pull --url=http://git.savannah.gnu.org/cgit/guix.git/snapshot/v0.12.0.tar.gz
@end example
It can also be used to deploy arbitrary Git revisions:
@example
guix pull --url=http://git.savannah.gnu.org/cgit/guix.git/snapshot/74d862e8a.tar.gz
@end example
@item --bootstrap @item --bootstrap
Use the bootstrap Guile to build the latest Guix. This option is only Use the bootstrap Guile to build the latest Guix. This option is only
useful to Guix developers. useful to Guix developers.
@ -3257,6 +3294,49 @@ specified with the @code{#:glib} parameter.
Both phases are executed after the @code{install} phase. Both phases are executed after the @code{install} phase.
@end defvr @end defvr
@defvr {Scheme Variable} ocaml-build-system
This variable is exported by @code{(guix build-sytem ocaml)}. It implements
a build procedure for @uref{https://ocaml.org, OCaml} packages, which consists
of choosing the correct set of commands to run for each package. OCaml
packages can expect many different commands to be run. This build system will
try some of them.
When the package has a @file{setup.ml} file present at the top-level, it will
run @code{ocaml setup.ml -configure}, @code{ocaml setup.ml -build} and
@code{ocaml setup.ml -install}. The build system will assume that this file
was generated by @uref{http://oasis.forge.ocamlcore.org/, OASIS} and will take
care of setting the prefix and enabling tests if they are not disabled. You
can pass configure and build flags with the @code{#:configure-flags} and
@code{#:build-flags}. The @code{#:test-flags} key can be passed to change the
set of flags used to enable tests. The @code{#:use-make?} key can be used to
bypass this system in the build and install phases.
When the package has a @file{configure} file, it is assumed that it is a
hand-made configure script that requires a different argument format than
in the @code{gnu-build-system}. You can add more flags with the
@code{#:configure-flags} key.
When the package has a @file{Makefile} file (or @code{#:use-make?} is
@code{#t}), it will be used and more flags can be passed to the build and
install phases with the @code{#:make-flags} key.
Finally, some packages do not have these files and use a somewhat standard
location for its build system. In that case, the build system will run
@code{ocaml pkg/pkg.ml} or @code{ocaml pkg/build.ml} and take care of
providing the path to the required findlib module. Additional flags can
be passed via the @code{#:build-flags} key. Install is taken care of by
@command{opam-installer}. In this case, the @code{opam} package must
be added to the @code{native-inputs} field of the package definition.
Note that most OCaml packages assume they will be installed in the same
directory as OCaml, which is not what we want in guix. In particular, they
will install @file{.so} files in their module's directory, which is usually
fine because it is in the OCaml compiler directory. In guix though, these
libraries cannot be found and we use @code{CAML_LD_LIBRARY_PATH}. This
variable points to @file{lib/ocaml/site-lib/stubslibs} and this is where
@file{.so} libraries should be installed.
@end defvr
@defvr {Scheme Variable} python-build-system @defvr {Scheme Variable} python-build-system
This variable is exported by @code{(guix build-system python)}. It This variable is exported by @code{(guix build-system python)}. It
implements the more or less standard build procedure used by Python implements the more or less standard build procedure used by Python
@ -3358,6 +3438,16 @@ Which Haskell compiler is used can be specified with the @code{#:haskell}
parameter which defaults to @code{ghc}. parameter which defaults to @code{ghc}.
@end defvr @end defvr
@defvr {Scheme Variable} dub-build-system
This variable is exported by @code{(guix build-system dub)}. It
implements the Dub build procedure used by D packages, which
involves running @code{dub build} and @code{dub run}.
Installation is done by copying the files manually.
Which D compiler is used can be specified with the @code{#:ldc}
parameter which defaults to @code{ldc}.
@end defvr
@defvr {Scheme Variable} emacs-build-system @defvr {Scheme Variable} emacs-build-system
This variable is exported by @code{(guix build-system emacs)}. It This variable is exported by @code{(guix build-system emacs)}. It
implements an installation procedure similar to the packaging system implements an installation procedure similar to the packaging system
@ -4477,7 +4567,7 @@ guix build --quiet --keep-going \
@var{package-or-derivation} may be either the name of a package found in @var{package-or-derivation} may be either the name of a package found in
the software distribution such as @code{coreutils} or the software distribution such as @code{coreutils} or
@code{coreutils-8.20}, or a derivation such as @code{coreutils@@8.20}, or a derivation such as
@file{/gnu/store/@dots{}-coreutils-8.19.drv}. In the former case, a @file{/gnu/store/@dots{}-coreutils-8.19.drv}. In the former case, a
package with the corresponding name (and optionally version) is searched package with the corresponding name (and optionally version) is searched
for among the GNU distribution modules (@pxref{Package Modules}). for among the GNU distribution modules (@pxref{Package Modules}).
@ -4858,6 +4948,14 @@ When used in conjunction with @option{--keep-failed}, the differing
output is kept in the store, under @file{/gnu/store/@dots{}-check}. output is kept in the store, under @file{/gnu/store/@dots{}-check}.
This makes it easy to look for differences between the two results. This makes it easy to look for differences between the two results.
@item --repair
@cindex repairing store items
@cindex corruption, recovering from
Attempt to repair the specified store items, if they are corrupt, by
re-downloading or rebuilding them.
This operation is not atomic and thus restricted to @code{root}.
@item --derivations @item --derivations
@itemx -d @itemx -d
Return the derivation paths, not the output paths, of the given Return the derivation paths, not the output paths, of the given
@ -5253,6 +5351,34 @@ package name by an at-sign and a version number as in the following example:
guix import hackage mtl@@2.1.3.1 guix import hackage mtl@@2.1.3.1
@end example @end example
@item stackage
@cindex stackage
The @code{stackage} importer is a wrapper around the @code{hackage} one.
It takes a package name, looks up the package version included in a
long-term support (LTS) @uref{https://www.stackage.org, Stackage}
release and uses the @code{hackage} importer to retrieve its metadata.
Note that it is up to you to select an LTS release compatible with the
GHC compiler used by Guix.
Specific command-line options are:
@table @code
@item --no-test-dependencies
@itemx -t
Do not include dependencies required only by the test suites.
@item --lts-version=@var{version}
@itemx -r @var{version}
@var{version} is the desired LTS release version. If omitted the latest
release is used.
@end table
The command below imports metadata for the @code{HTTP} Haskell package
included in the LTS Stackage release version 7.18:
@example
guix import stackage --lts-version=7.18 HTTP
@end example
@item elpa @item elpa
@cindex elpa @cindex elpa
Import metadata from an Emacs Lisp Package Archive (ELPA) package Import metadata from an Emacs Lisp Package Archive (ELPA) package
@ -5417,6 +5543,8 @@ the updater for @uref{https://rubygems.org, RubyGems} packages.
the updater for @uref{https://github.com, GitHub} packages. the updater for @uref{https://github.com, GitHub} packages.
@item hackage @item hackage
the updater for @uref{https://hackage.haskell.org, Hackage} packages. the updater for @uref{https://hackage.haskell.org, Hackage} packages.
@item stackage
the updater for @uref{https://www.stackage.org, Stackage} packages.
@item crate @item crate
the updater for @uref{https://crates.io, Crates} packages. the updater for @uref{https://crates.io, Crates} packages.
@end table @end table
@ -5629,7 +5757,7 @@ single output for a package that could easily be split (@pxref{Packages
with Multiple Outputs}). Such are the typical issues that with Multiple Outputs}). Such are the typical issues that
@command{guix size} can highlight. @command{guix size} can highlight.
The command can be passed a package specification such as @code{gcc-4.8} The command can be passed a package specification such as @code{gcc@@4.8}
or @code{guile:debug}, or a file name in the store. Consider this or @code{guile:debug}, or a file name in the store. Consider this
example: example:
@ -6048,7 +6176,7 @@ guix environment --ad-hoc -e '(@@ (gnu) %base-packages)'
starts a shell with all the GuixSD base packages available. starts a shell with all the GuixSD base packages available.
The above commands only the use default output of the given packages. The above commands only use the default output of the given packages.
To select other outputs, two element tuples can be specified: To select other outputs, two element tuples can be specified:
@example @example
@ -6412,6 +6540,11 @@ The one option that matters is:
Consider @var{urls} the whitespace-separated list of substitute source Consider @var{urls} the whitespace-separated list of substitute source
URLs to compare to. URLs to compare to.
@item --verbose
@itemx -v
Show details about matches (identical contents) in addition to
information about mismatches.
@end table @end table
@node Invoking guix copy @node Invoking guix copy
@ -6917,6 +7050,11 @@ the partition layout you want:
cfdisk cfdisk
@end example @end example
If your disk uses the GUID Partition Table (GPT) format and you plan to
install BIOS-based GRUB (which is the default), make sure a BIOS Boot
Partition is available (@pxref{BIOS installation,,, grub, GNU GRUB
manual}).
Once you are done partitioning the target hard disk drive, you have to Once you are done partitioning the target hard disk drive, you have to
create a file system on the relevant partition(s)@footnote{Currently create a file system on the relevant partition(s)@footnote{Currently
GuixSD only supports ext4 and btrfs file systems. In particular, code GuixSD only supports ext4 and btrfs file systems. In particular, code
@ -6966,6 +7104,26 @@ mkswap /dev/sda2
swapon /dev/sda2 swapon /dev/sda2
@end example @end example
Alternatively, you may use a swap file. For example, assuming that in
the new system you want to use the file @file{/swapfile} as a swap file,
you would run@footnote{This example will work for many types of file
systems (e.g., ext4). However, for copy-on-write file systems (e.g.,
btrfs), the required steps may be different. For details, see the
manual pages for @command{mkswap} and @command{swapon}.}:
@example
# This is 10 GiB of swap space. Adjust "count" to change the size.
dd if=/dev/zero of=/mnt/swapfile bs=1MiB count=10240
# For security, make the file readable and writable only by root.
chmod 600 /mnt/swapfile
mkswap /mnt/swapfile
swapon /mnt/swapfile
@end example
Note that if you have encrypted the root partition and created a swap
file in its file system as described above, then the encryption also
protects the swap file, just like any other file in that file system.
@node Proceeding with the Installation @node Proceeding with the Installation
@subsection Proceeding with the Installation @subsection Proceeding with the Installation
@ -7068,8 +7226,8 @@ disk image, follow these steps:
@enumerate @enumerate
@item @item
First, retrieve the GuixSD installation image as described previously First, retrieve and decompress the GuixSD installation image as
(@pxref{USB Stick Installation}). described previously (@pxref{USB Stick Installation}).
@item @item
Create a disk image that will hold the installed system. To make a Create a disk image that will hold the installed system. To make a
@ -7086,7 +7244,7 @@ Boot the USB installation image in an VM:
@example @example
qemu-system-x86_64 -m 1024 -smp 1 \ qemu-system-x86_64 -m 1024 -smp 1 \
-net default -net nic,model=virtio -boot menu=on \ -net user -net nic,model=virtio -boot menu=on \
-drive file=guixsd.img \ -drive file=guixsd.img \
-drive file=guixsd-usb-install-@value{VERSION}.@var{system} -drive file=guixsd-usb-install-@value{VERSION}.@var{system}
@end example @end example
@ -7419,9 +7577,12 @@ A list of file systems. @xref{File Systems}.
@item @code{swap-devices} (default: @code{'()}) @item @code{swap-devices} (default: @code{'()})
@cindex swap devices @cindex swap devices
A list of strings identifying devices to be used for ``swap space'' A list of strings identifying devices or files to be used for ``swap
(@pxref{Memory Concepts,,, libc, The GNU C Library Reference Manual}). space'' (@pxref{Memory Concepts,,, libc, The GNU C Library Reference
For example, @code{'("/dev/sda3")}. Manual}). For example, @code{'("/dev/sda3")} or @code{'("/swapfile")}.
It is possible to specify a swap file in a file system on a mapped
device, provided that the necessary device mapping and file system are
also specified. @xref{Mapped Devices} and @ref{File Systems}.
@item @code{users} (default: @code{%base-user-accounts}) @item @code{users} (default: @code{%base-user-accounts})
@itemx @code{groups} (default: @var{%base-groups}) @itemx @code{groups} (default: @var{%base-groups})
@ -7764,6 +7925,13 @@ and use it as follows:
(type luks-device-mapping)) (type luks-device-mapping))
@end example @end example
@cindex swap encryption
It is also desirable to encrypt swap space, since swap space may contain
sensitive data. One way to accomplish that is to use a swap file in a
file system on a device mapped via LUKS encryption. In this way, the
swap file is encrypted because the entire device is encrypted.
@xref{Preparing for Installation,,Disk Partitioning}, for an example.
A RAID device formed of the partitions @file{/dev/sda1} and @file{/dev/sdb1} A RAID device formed of the partitions @file{/dev/sda1} and @file{/dev/sdb1}
may be declared as follows: may be declared as follows:
@ -8115,6 +8283,7 @@ declaration.
* Messaging Services:: Messaging services. * Messaging Services:: Messaging services.
* Kerberos Services:: Kerberos services. * Kerberos Services:: Kerberos services.
* Web Services:: Web servers. * Web Services:: Web servers.
* VPN Services:: VPN daemons.
* Network File System:: NFS related services. * Network File System:: NFS related services.
* Continuous Integration:: The Cuirass service. * Continuous Integration:: The Cuirass service.
* Miscellaneous Services:: Other services. * Miscellaneous Services:: Other services.
@ -8144,6 +8313,50 @@ this:
@end example @end example
@end defvr @end defvr
@defvr {Scheme Variable} special-files-service-type
This is the service that sets up ``special files'' such as
@file{/bin/sh}; an instance of it is part of @code{%base-services}.
The value associated with @code{special-files-service-type} services
must be a list of tuples where the first element is the ``special file''
and the second element is its target. By default it is:
@cindex @file{/bin/sh}
@cindex @file{sh}, in @file{/bin}
@example
`(("/bin/sh" ,(file-append @var{bash} "/bin/sh")))
@end example
@cindex @file{/usr/bin/env}
@cindex @file{env}, in @file{/usr/bin}
If you want to add, say, @code{/usr/bin/env} to your system, you can
change it to:
@example
`(("/bin/sh" ,(file-append @var{bash} "/bin/sh"))
("/usr/bin/env" ,(file-append @var{coreutils} "/bin/env")))
@end example
Since this is part of @code{%base-services}, you can use
@code{modify-services} to customize the set of special files
(@pxref{Service Reference, @code{modify-services}}). But the simple way
to add a special file is @i{via} the @code{extra-special-file} procedure
(see below.)
@end defvr
@deffn {Scheme Procedure} extra-special-file @var{file} @var{target}
Use @var{target} as the ``special file'' @var{file}.
For example, adding the following lines to the @code{services} field of
your operating system declaration leads to a @file{/usr/bin/env}
symlink:
@example
(extra-special-file "/usr/bin/env"
(file-append coreutils "/bin/env"))
@end example
@end deffn
@deffn {Scheme Procedure} host-name-service @var{name} @deffn {Scheme Procedure} host-name-service @var{name}
Return a service that sets the host name to @var{name}. Return a service that sets the host name to @var{name}.
@end deffn @end deffn
@ -8690,11 +8903,21 @@ Return a service that runs @var{dhcp}, a Dynamic Host Configuration
Protocol (DHCP) client, on all the non-loopback network interfaces. Protocol (DHCP) client, on all the non-loopback network interfaces.
@end deffn @end deffn
@defvr {Scheme Variable} static-networking-service-type
This is the type for statically-configured network interfaces.
@c TODO Document <static-networking> data structures.
@end defvr
@deffn {Scheme Procedure} static-networking-service @var{interface} @var{ip} @ @deffn {Scheme Procedure} static-networking-service @var{interface} @var{ip} @
[#:netmask #f] [#:gateway #f] [#:name-servers @code{'()}] [#:netmask #f] [#:gateway #f] [#:name-servers @code{'()}]
Return a service that starts @var{interface} with address @var{ip}. If Return a service that starts @var{interface} with address @var{ip}. If
@var{netmask} is true, use it as the network mask. If @var{gateway} is true, @var{netmask} is true, use it as the network mask. If @var{gateway} is true,
it must be a string specifying the default network gateway. it must be a string specifying the default network gateway.
This procedure can be called several times, one for each network
interface of interest. Behind the scenes what it does is extend
@code{static-networking-service-type} with additional network interfaces
to handle.
@end deffn @end deffn
@cindex wicd @cindex wicd
@ -8712,11 +8935,41 @@ and @command{wicd-curses} user interfaces.
@end deffn @end deffn
@cindex NetworkManager @cindex NetworkManager
@deffn {Scheme Procedure} network-manager-service @
[#:network-manager @var{network-manager}] @defvr {Scheme Variable} network-manager-service-type
Return a service that runs NetworkManager, a network connection manager This is the service type for the
attempting to keep network connectivity active when available. @uref{https://wiki.gnome.org/Projects/NetworkManager, NetworkManager}
@end deffn service. The value for this service type is a
@code{network-manager-configuration} record.
@end defvr
@deftp {Data Type} network-manager-configuration
Data type representing the configuration of NetworkManager.
@table @asis
@item @code{network-manager} (default: @code{network-manager})
The NetworkManager package to use.
@item @code{dns} (default: @code{"default"})
Processing mode for DNS, which affects how NetworkManager uses the
@code{resolv.conf} configuration file.
@table @samp
@item default
NetworkManager will update @code{resolv.conf} to reflect the nameservers
provided by currently active connections.
@item dnsmasq
NetworkManager will run @code{dnsmasq} as a local caching nameserver,
using a "split DNS" configuration if you are connected to a VPN, and
then update @code{resolv.conf} to point to the local nameserver.
@item none
NetworkManager will not modify @code{resolv.conf}.
@end table
@end table
@end deftp
@cindex Connman @cindex Connman
@deffn {Scheme Procedure} connman-service @ @deffn {Scheme Procedure} connman-service @
@ -9011,6 +9264,23 @@ Boolean values @var{ipv4?} and @var{ipv6?} determine whether to use IPv4/IPv6
sockets. sockets.
@end deffn @end deffn
@deffn {Scheme Variable} openvswitch-service-type
This is the type of the @uref{http://www.openvswitch.org, Open vSwitch}
service, whose value should be an @code{openvswitch-configuration}
object.
@end deffn
@deftp {Data Type} openvswitch-configuration
Data type representing the configuration of Open vSwitch, a multilayer
virtual switch which is designed to enable massive network automation
through programmatic extension.
@table @asis
@item @code{package} (default: @var{openvswitch})
Package object of the Open vSwitch.
@end table
@end deftp
@node X Window @node X Window
@subsubsection X Window @subsubsection X Window
@ -9206,6 +9476,7 @@ makes the good ol' XlockMore usable.
@node Printing Services @node Printing Services
@subsubsection Printing Services @subsubsection Printing Services
@cindex printer support with CUPS
The @code{(gnu services cups)} module provides a Guix service definition The @code{(gnu services cups)} module provides a Guix service definition
for the CUPS printing service. To add printer support to a GuixSD for the CUPS printing service. To add printer support to a GuixSD
system, add a @code{cups-service} to the operating system definition: system, add a @code{cups-service} to the operating system definition:
@ -9226,13 +9497,17 @@ as GNOME's printer configuration services. By default, configuring a
CUPS service will generate a self-signed certificate if needed, for CUPS service will generate a self-signed certificate if needed, for
secure connections to the print server. secure connections to the print server.
One way you might want to customize CUPS is to enable or disable the web Suppose you want to enable the Web interface of CUPS and also add
interface. You can do that directly, like this: support for HP printers @i{via} the @code{hplip} package. You can do
that directly, like this (you need to use the @code{(gnu packages cups)}
module):
@example @example
(service cups-service-type (service cups-service-type
(cups-configuration (cups-configuration
(web-interface? #f))) (web-interface? #t)
(extensions
(list cups-filters hplip))))
@end example @end example
The available configuration parameters follow. Each parameter The available configuration parameters follow. Each parameter
@ -12277,6 +12552,7 @@ The @code{(gnu services web)} module provides the following service:
[#:log-directory ``/var/log/nginx''] @ [#:log-directory ``/var/log/nginx''] @
[#:run-directory ``/var/run/nginx''] @ [#:run-directory ``/var/run/nginx''] @
[#:server-list '()] @ [#:server-list '()] @
[#:upstream-list '()] @
[#:config-file @code{#f}] [#:config-file @code{#f}]
Return a service that runs @var{nginx}, the nginx web server. Return a service that runs @var{nginx}, the nginx web server.
@ -12288,8 +12564,10 @@ arguments should match what is in @var{config-file} to ensure that the
directories are created when the service is activated. directories are created when the service is activated.
As an alternative to using a @var{config-file}, @var{server-list} can be As an alternative to using a @var{config-file}, @var{server-list} can be
used to specify the list of @dfn{server blocks} required on the host. For used to specify the list of @dfn{server blocks} required on the host and
this to work, use the default value for @var{config-file}. @var{upstream-list} can be used to specify a list of @dfn{upstream
blocks} to configure. For this to work, use the default value for
@var{config-file}.
@end deffn @end deffn
@ -12331,6 +12609,11 @@ default server for connections matching no other server.
@item @code{root} (default: @code{"/srv/http"}) @item @code{root} (default: @code{"/srv/http"})
Root of the website nginx will serve. Root of the website nginx will serve.
@item @code{locations} (default: @code{'()})
A list of @dfn{nginx-location-configuration} or
@dfn{nginx-named-location-configuration} records to use within this
server block.
@item @code{index} (default: @code{(list "index.html")}) @item @code{index} (default: @code{(list "index.html")})
Index files to look for when clients ask for a directory. If it cannot be found, Index files to look for when clients ask for a directory. If it cannot be found,
Nginx will send the list of files in the directory. Nginx will send the list of files in the directory.
@ -12349,6 +12632,421 @@ Whether the server should add its configuration to response.
@end table @end table
@end deftp @end deftp
@node VPN Services
@subsubsection VPN Services
@cindex VPN (virtual private network)
@cindex virtual private network (VPN)
The @code{(gnu services vpn)} module provides services related to
@dfn{virtual private networks} (VPNs). It provides a @emph{client} service for
your machine to connect to a VPN, and a @emph{servire} service for your machine
to host a VPN. Both services use @uref{https://openvpn.net/, OpenVPN}.
@deffn {Scheme Procedure} openvpn-client-service @
[#:config (openvpn-client-configuration)]
Return a service that runs @command{openvpn}, a VPN daemon, as a client.
@end deffn
@deffn {Scheme Procedure} openvpn-server-service @
[#:config (openvpn-server-configuration)]
Return a service that runs @command{openvpn}, a VPN daemon, as a server.
Both can be run simultaneously.
@end deffn
@c %automatically generated documentation
Available @code{openvpn-client-configuration} fields are:
@deftypevr @code{openvpn-client-configuration} parameter package openvpn
The OpenVPN package.
@end deftypevr
@deftypevr @code{openvpn-client-configuration} parameter string pid-file
The OpenVPN pid file.
Defaults to @samp{"/var/run/openvpn/openvpn.pid"}.
@end deftypevr
@deftypevr @code{openvpn-client-configuration} parameter proto proto
The protocol (UDP or TCP) used to open a channel between clients and
servers.
Defaults to @samp{udp}.
@end deftypevr
@deftypevr @code{openvpn-client-configuration} parameter dev dev
The device type used to represent the VPN connection.
Defaults to @samp{tun}.
@end deftypevr
@deftypevr @code{openvpn-client-configuration} parameter string ca
The certificate authority to check connections against.
Defaults to @samp{"/etc/openvpn/ca.crt"}.
@end deftypevr
@deftypevr @code{openvpn-client-configuration} parameter string cert
The certificate of the machine the daemon is running on. It should be
signed by the authority given in @code{ca}.
Defaults to @samp{"/etc/openvpn/client.crt"}.
@end deftypevr
@deftypevr @code{openvpn-client-configuration} parameter string key
The key of the machine the daemon is running on. It must be the key whose
certificate is @code{cert}.
Defaults to @samp{"/etc/openvpn/client.key"}.
@end deftypevr
@deftypevr @code{openvpn-client-configuration} parameter boolean comp-lzo?
Whether to use the lzo compression algorithm.
Defaults to @samp{#t}.
@end deftypevr
@deftypevr @code{openvpn-client-configuration} parameter boolean persist-key?
Don't re-read key files across SIGUSR1 or --ping-restart.
Defaults to @samp{#t}.
@end deftypevr
@deftypevr @code{openvpn-client-configuration} parameter boolean persist-tun?
Don't close and reopen TUN/TAP device or run up/down scripts across
SIGUSR1 or --ping-restart restarts.
Defaults to @samp{#t}.
@end deftypevr
@deftypevr @code{openvpn-client-configuration} parameter number verbosity
Verbosity level.
Defaults to @samp{3}.
@end deftypevr
@deftypevr @code{openvpn-client-configuration} parameter tls-auth-client tls-auth
Add an additional layer of HMAC authentication on top of the TLS control
channel to protect against DoS attacks.
Defaults to @samp{#f}.
@end deftypevr
@deftypevr @code{openvpn-client-configuration} parameter key-usage verify-key-usage?
Whether to check the server certificate has server usage extension.
Defaults to @samp{#t}.
@end deftypevr
@deftypevr @code{openvpn-client-configuration} parameter bind bind?
Bind to a specific local port number.
Defaults to @samp{#f}.
@end deftypevr
@deftypevr @code{openvpn-client-configuration} parameter resolv-retry resolv-retry?
Retry resolving server address.
Defaults to @samp{#t}.
@end deftypevr
@deftypevr @code{openvpn-client-configuration} parameter openvpn-remote-list remote
A list of remote servers to connect to.
Defaults to @samp{()}.
Available @code{openvpn-remote-configuration} fields are:
@deftypevr @code{openvpn-remote-configuration} parameter string name
Server name.
Defaults to @samp{"my-server"}.
@end deftypevr
@deftypevr @code{openvpn-remote-configuration} parameter number port
Port number the server listens to.
Defaults to @samp{1194}.
@end deftypevr
@end deftypevr
@c %end of automatic openvpn-client documentation
@c %automatically generated documentation
Available @code{openvpn-server-configuration} fields are:
@deftypevr @code{openvpn-server-configuration} parameter package openvpn
The OpenVPN package.
@end deftypevr
@deftypevr @code{openvpn-server-configuration} parameter string pid-file
The OpenVPN pid file.
Defaults to @samp{"/var/run/openvpn/openvpn.pid"}.
@end deftypevr
@deftypevr @code{openvpn-server-configuration} parameter proto proto
The protocol (UDP or TCP) used to open a channel between clients and
servers.
Defaults to @samp{udp}.
@end deftypevr
@deftypevr @code{openvpn-server-configuration} parameter dev dev
The device type used to represent the VPN connection.
Defaults to @samp{tun}.
@end deftypevr
@deftypevr @code{openvpn-server-configuration} parameter string ca
The certificate authority to check connections against.
Defaults to @samp{"/etc/openvpn/ca.crt"}.
@end deftypevr
@deftypevr @code{openvpn-server-configuration} parameter string cert
The certificate of the machine the daemon is running on. It should be
signed by the authority given in @code{ca}.
Defaults to @samp{"/etc/openvpn/client.crt"}.
@end deftypevr
@deftypevr @code{openvpn-server-configuration} parameter string key
The key of the machine the daemon is running on. It must be the key whose
certificate is @code{cert}.
Defaults to @samp{"/etc/openvpn/client.key"}.
@end deftypevr
@deftypevr @code{openvpn-server-configuration} parameter boolean comp-lzo?
Whether to use the lzo compression algorithm.
Defaults to @samp{#t}.
@end deftypevr
@deftypevr @code{openvpn-server-configuration} parameter boolean persist-key?
Don't re-read key files across SIGUSR1 or --ping-restart.
Defaults to @samp{#t}.
@end deftypevr
@deftypevr @code{openvpn-server-configuration} parameter boolean persist-tun?
Don't close and reopen TUN/TAP device or run up/down scripts across
SIGUSR1 or --ping-restart restarts.
Defaults to @samp{#t}.
@end deftypevr
@deftypevr @code{openvpn-server-configuration} parameter number verbosity
Verbosity level.
Defaults to @samp{3}.
@end deftypevr
@deftypevr @code{openvpn-server-configuration} parameter tls-auth-server tls-auth
Add an additional layer of HMAC authentication on top of the TLS control
channel to protect against DoS attacks.
Defaults to @samp{#f}.
@end deftypevr
@deftypevr @code{openvpn-server-configuration} parameter number port
Specifies the port number on which the server listens.
Defaults to @samp{1194}.
@end deftypevr
@deftypevr @code{openvpn-server-configuration} parameter ip-mask server
An ip and mask specifying the subnet inside the virtual network.
Defaults to @samp{"10.8.0.0 255.255.255.0"}.
@end deftypevr
@deftypevr @code{openvpn-server-configuration} parameter cidr6 server-ipv6
A CIDR notation specifying the IPv6 subnet inside the virtual network.
Defaults to @samp{#f}.
@end deftypevr
@deftypevr @code{openvpn-server-configuration} parameter string dh
The Diffie-Hellman parameters file.
Defaults to @samp{"/etc/openvpn/dh2048.pem"}.
@end deftypevr
@deftypevr @code{openvpn-server-configuration} parameter string ifconfig-pool-persist
The file that records client IPs.
Defaults to @samp{"/etc/openvpn/ipp.txt"}.
@end deftypevr
@deftypevr @code{openvpn-server-configuration} parameter gateway redirect-gateway?
When true, the server will act as a gateway for its clients.
Defaults to @samp{#f}.
@end deftypevr
@deftypevr @code{openvpn-server-configuration} parameter boolean client-to-client?
When true, clients are alowed to talk to each other inside the VPN.
Defaults to @samp{#f}.
@end deftypevr
@deftypevr @code{openvpn-server-configuration} parameter keepalive keepalive
Causes ping-like messages to be sent back and forth over the link so
that each side knows when the other side has gone down. @code{keepalive}
requires a pair. The first element is the period of the ping sending,
and the second element is the timeout before considering the other side
down.
@end deftypevr
@deftypevr @code{openvpn-server-configuration} parameter number max-clients
The maximum number of clients.
Defaults to @samp{100}.
@end deftypevr
@deftypevr @code{openvpn-server-configuration} parameter string status
The status file. This file shows a small report on current connection.
It is trunkated and rewritten every minute.
Defaults to @samp{"/var/run/openvpn/status"}.
@end deftypevr
@deftypevr @code{openvpn-server-configuration} parameter openvpn-ccd-list client-config-dir
The list of configuration for some clients.
Defaults to @samp{()}.
Available @code{openvpn-ccd-configuration} fields are:
@deftypevr @code{openvpn-ccd-configuration} parameter string name
Client name.
Defaults to @samp{"client"}.
@end deftypevr
@deftypevr @code{openvpn-ccd-configuration} parameter ip-mask iroute
Client own network
Defaults to @samp{#f}.
@end deftypevr
@deftypevr @code{openvpn-ccd-configuration} parameter ip-mask ifconfig-push
Client VPN IP.
Defaults to @samp{#f}.
@end deftypevr
@end deftypevr
@c %end of automatic openvpn-server documentation
@deftp {Data Type} nginx-upstream-configuration
Data type representing the configuration of an nginx @code{upstream}
block. This type has the following parameters:
@table @asis
@item @code{name}
Name for this group of servers.
@item @code{servers}
Specify the addresses of the servers in the group. The address can be
specified as a IP address (e.g. @samp{127.0.0.1}), domain name
(e.g. @samp{backend1.example.com}) or a path to a UNIX socket using the
prefix @samp{unix:}. For addresses using an IP address or domain name,
the default port is 80, and a different port can be specified
explicitly.
@end table
@end deftp
@deftp {Data Type} nginx-location-configuration
Data type representing the configuration of an nginx @code{location}
block. This type has the following parameters:
@table @asis
@item @code{uri}
URI which this location block matches.
@anchor{nginx-location-configuration body}
@item @code{body}
Body of the location block, specified as a string. This can contain many
configuration directives. For example, to pass requests to a upstream
server group defined using an @code{nginx-upstream-configuration} block,
the following directive would be specified in the body @samp{proxy_pass
http://upstream-name;}.
@end table
@end deftp
@deftp {Data Type} nginx-named-location-configuration
Data type representing the configuration of an nginx named location
block. Named location blocks are used for request redirection, and not
used for regular request processing. This type has the following
parameters:
@table @asis
@item @code{name}
Name to identify this location block.
@item @code{body}
@xref{nginx-location-configuration body}, as the body for named location
blocks can be used in a similar way to the
@code{nginx-location-configuration body}. One restriction is that the
body of a named location block cannot contain location blocks.
@end table
@end deftp
@node Network File System @node Network File System
@subsubsection Network File System @subsubsection Network File System
@cindex NFS @cindex NFS
@ -12533,6 +13231,9 @@ Cuirass jobs.
Location of sqlite database which contains the build results and previously Location of sqlite database which contains the build results and previously
added specifications. added specifications.
@item @code{port} (default: @code{8080})
Port number used by the HTTP server.
@item @code{specifications} (default: @code{#~'()}) @item @code{specifications} (default: @code{#~'()})
A gexp (@pxref{G-Expressions}) that evaluates to a list of specifications, A gexp (@pxref{G-Expressions}) that evaluates to a list of specifications,
where a specification is an association list where a specification is an association list
@ -12547,6 +13248,10 @@ from source.
@item @code{one-shot?} (default: @code{#f}) @item @code{one-shot?} (default: @code{#f})
Only evaluate specifications and build derivations once. Only evaluate specifications and build derivations once.
@item @code{load-path} (default: @code{'()})
This allows users to define their own packages and make them visible to
cuirass as in @command{guix build} command.
@item @code{cuirass} (default: @code{cuirass}) @item @code{cuirass} (default: @code{cuirass})
The Cuirass package to use. The Cuirass package to use.
@end table @end table

View File

@ -1,5 +1,5 @@
# GNU Guix --- Functional package management for GNU # GNU Guix --- Functional package management for GNU
# Copyright © 2015, 2016 Ludovic Courtès <ludo@gnu.org> # Copyright © 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
# #
# This file is part of GNU Guix. # This file is part of GNU Guix.
# #
@ -26,7 +26,7 @@ _guix_complete_subcommand ()
local subcommands="$(${COMP_WORDS[0]} $command --help 2> /dev/null \ local subcommands="$(${COMP_WORDS[0]} $command --help 2> /dev/null \
| grep '^ [a-z]' \ | grep '^ [a-z]' \
| sed -e's/^ \+\([a-z-]\+\).*$/\1/g')" | sed -e's/^ \+\([a-z-]\+\).*$/\1/g')"
COMPREPLY=($(compgen -W "$subcommands" -- "${COMP_WORDS[${#COMP_WORDS[*]} - 1]}")) COMPREPLY=($(compgen -W "$subcommands" -- "${COMP_WORDS[$COMP_CWORD]}"))
} }
_guix_complete_available_package () _guix_complete_available_package ()
@ -113,6 +113,12 @@ _guix_complete_file ()
COMPREPLY=() COMPREPLY=()
} }
_guix_complete_pid ()
{
local pids="$(cd /proc; echo [0-9]*)"
COMPREPLY=($(compgen -W "$pids" -- "$1"))
}
declare _guix_subcommands declare _guix_subcommands
_guix_complete () _guix_complete ()
@ -154,11 +160,21 @@ _guix_complete ()
fi fi
elif _guix_is_command "system" elif _guix_is_command "system"
then then
_guix_complete_subcommand case $COMP_CWORD in
2) _guix_complete_subcommand;;
*) _guix_complete_file;; # TODO: restrict to *.scm
esac
elif _guix_is_command "container"
then
case $COMP_CWORD in
2) _guix_complete_subcommand;;
3) _guix_complete_pid "$word_at_point";;
*) _guix_complete_file;;
esac
elif _guix_is_command "import" elif _guix_is_command "import"
then then
_guix_complete_subcommand _guix_complete_subcommand
elif _guix_is_command "hash" elif _guix_is_command "hash" || _guix_is_command "gc"
then then
_guix_complete_file _guix_complete_file
else else

View File

@ -40,17 +40,29 @@ do
else else
if [ "$remote_sha" = $z40 ] if [ "$remote_sha" = $z40 ]
then then
# New branch, examine all commits # We are pushing a new branch. To prevent wasting too
range="$local_sha" # much time for this relatively rare case, we examine
# all commits since the first signed commit, rather than
# the full history. This check *will* fail, and the user
# will need to temporarily disable the hook to push the
# new branch.
range="e3d0fcbf7e55e8cbe8d0a1c5a24d73f341d7243b..$local_sha"
else else
# Update to existing branch, examine new commits # Update to existing branch, examine new commits
range="$remote_sha..$local_sha" range="$remote_sha..$local_sha"
fi fi
# Verify the signatures of all commits being pushed. # Verify the signatures of all commits being pushed.
git verify-commit $(git rev-list $range) >/dev/null 2>&1 ret=0
for commit in $(git rev-list $range)
exit $? do
if ! git verify-commit $commit >/dev/null 2>&1
then
printf "%s failed signature check\n" $commit
ret=1
fi
done
exit $ret
fi fi
done done

114
etc/indent-code.el.in Executable file
View File

@ -0,0 +1,114 @@
#!@EMACS@ --script
;;; indent-code.el --- Run Emacs to indent a package definition.
;; Copyright © 2017 Alex Kost <alezost@gmail.com>
;; Copyright © 2017 Ludovic Courtès <ludo@gnu.org>
;; This file is part of GNU Guix.
;; GNU Guix is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.
;; GNU Guix is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
;; along with this program. If not, see <http://www.gnu.org/licenses/>.
;;; Commentary:
;; This scripts indents the given file or package definition in the specified
;; file using Emacs.
;;; Code:
;; Load Scheme indentation rules from the current directory.
(with-temp-buffer
(scheme-mode)
(let ((default-directory (file-name-as-directory "."))
(enable-local-variables :all))
(hack-dir-local-variables)
(hack-local-variables-apply)))
;; Add indentation info for Scheme constructs that are not Guix-specific.
;; This is normally provided by Geiser but this file is for people who may not
;; be running Geiser, so we just copy it here (from 'geiser-syntax.el').
(defmacro guix-syntax--scheme-indent (&rest pairs)
`(progn ,@(mapcar (lambda (p)
`(put ',(car p) 'scheme-indent-function ',(cadr p)))
pairs)))
(guix-syntax--scheme-indent
(and-let* 1)
(case-lambda 0)
(catch defun)
(class defun)
(dynamic-wind 0)
(guard 1)
(let*-values 1)
(let-values 1)
(let/ec 1)
(letrec* 1)
(match 1)
(match-lambda 0)
(match-lambda* 0)
(match-let scheme-let-indent)
(match-let* 1)
(match-letrec 1)
(opt-lambda 1)
(parameterize 1)
(parameterize* 1)
(receive 2)
(require-extension 0)
(syntax-case 2)
(test-approximate 1)
(test-assert 1)
(test-eq 1)
(test-equal 1)
(test-eqv 1)
(test-group-with-cleanup 1)
(test-runner-on-bad-count! 1)
(test-runner-on-bad-end-name! 1)
(test-runner-on-final! 1)
(test-runner-on-group-begin! 1)
(test-runner-on-group-end! 1)
(test-runner-on-test-begin! 1)
(test-runner-on-test-end! 1)
(test-with-runner 1)
(unless 1)
(when 1)
(while 1)
(with-exception-handler 1)
(with-syntax 1))
(pcase command-line-args-left
(`(,file-name ,package-name)
;; Indent the definition of PACKAGE-NAME in FILE-NAME.
(find-file file-name)
(goto-char (point-min))
(if (re-search-forward (concat "^(define\\(-public\\) +"
package-name)
nil t)
(let ((indent-tabs-mode nil))
(beginning-of-defun)
(indent-sexp)
(save-buffer)
(message "Done!"))
(error "Package '%s' not found in '%s'"
package-name file-name)))
(`(,file-name)
;; Indent all of FILE-NAME.
(find-file file-name)
(let ((indent-tabs-mode nil))
(indent-region (point-min) (point-max))
(save-buffer)
(message "Done!")))
(x
(error "Usage: indent-code.el FILE [PACKAGE]")))
;;; indent-code.el ends here

View File

@ -1,53 +0,0 @@
#!@EMACS@ --script
;;; indent-package.el --- Run Emacs to indent a package definition.
;; Copyright © 2017 Alex Kost <alezost@gmail.com>
;; 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 this program. If not, see <http://www.gnu.org/licenses/>.
;;; Commentary:
;; This scripts indents the given package definition in the specified file
;; using Emacs.
;;; Code:
;; Load Scheme indentation rules from the current directory.
(with-temp-buffer
(scheme-mode)
(let ((default-directory (file-name-as-directory "."))
(enable-local-variables :all))
(hack-dir-local-variables)
(hack-local-variables-apply)))
(pcase command-line-args-left
(`(,file-name ,package-name)
(find-file file-name)
(goto-char (point-min))
(if (re-search-forward (concat "^(define\\(-public\\) +"
package-name)
nil t)
(let ((indent-tabs-mode nil))
(beginning-of-defun)
(indent-sexp)
(save-buffer)
(message "Done!"))
(error "Package '%s' not found in '%s'"
package-name file-name)))
(x
(error "Usage: indent-package.el FILE PACKAGE")))
;;; indent-package.el ends here

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
@ -25,9 +25,10 @@
#:use-module (srfi srfi-1) #:use-module (srfi srfi-1)
#:use-module (srfi srfi-26) #:use-module (srfi srfi-26)
#:export (activate-users+groups #:export (activate-users+groups
activate-user-home
activate-etc activate-etc
activate-setuid-programs activate-setuid-programs
activate-/bin/sh activate-special-files
activate-modprobe activate-modprobe
activate-firmware activate-firmware
activate-ptrace-attach activate-ptrace-attach
@ -84,16 +85,27 @@
(chmod file (logior #o600 (stat:perms stat))))) (chmod file (logior #o600 (stat:perms stat)))))
(define* (copy-account-skeletons home (define* (copy-account-skeletons home
#:optional (directory %skeleton-directory)) #:key
"Copy the account skeletons from DIRECTORY to HOME." (directory %skeleton-directory)
uid gid)
"Copy the account skeletons from DIRECTORY to HOME. When UID is an integer,
make it the owner of all the files created; likewise for GID."
(define (set-owner file)
(when (or uid gid)
(chown file (or uid -1) (or gid -1))))
(let ((files (scandir directory (negate dot-or-dot-dot?) (let ((files (scandir directory (negate dot-or-dot-dot?)
string<?))) string<?)))
(mkdir-p home) (mkdir-p home)
(set-owner home)
(for-each (lambda (file) (for-each (lambda (file)
(let ((target (string-append home "/" file))) (let ((target (string-append home "/" file)))
(copy-recursively (string-append directory "/" file) (copy-recursively (string-append directory "/" file)
target target
#:log (%make-void-port "w")) #:log (%make-void-port "w"))
(for-each set-owner
(find-files target (const #t)
#:directories? #t))
(make-file-writable target))) (make-file-writable target)))
files))) files)))
@ -220,7 +232,7 @@ numeric gid or #f."
#:supplementary-groups supplementary-groups #:supplementary-groups supplementary-groups
#:comment comment #:comment comment
#:home home #:home home
#:create-home? create-home? #:create-home? (and create-home? system?)
#:shell shell #:shell shell
#:password password) #:password password)
@ -268,6 +280,25 @@ numeric gid or #f."
(((names . _) ...) (((names . _) ...)
names))))) names)))))
(define (activate-user-home users)
"Create and populate the home directory of USERS, a list of tuples, unless
they already exist."
(define ensure-user-home
(match-lambda
((name uid group supplementary-groups comment home create-home?
shell password system?)
(unless (or (not home) (directory-exists? home))
(let* ((pw (getpwnam name))
(uid (passwd:uid pw))
(gid (passwd:gid pw)))
(mkdir-p home)
(chown home uid gid)
(unless system?
(copy-account-skeletons home
#:uid uid #:gid gid)))))))
(for-each ensure-user-home users))
(define (activate-etc etc) (define (activate-etc etc)
"Install ETC, a directory in the store, as the source of static files for "Install ETC, a directory in the store, as the source of static files for
/etc." /etc."
@ -352,10 +383,23 @@ copy SOURCE to TARGET."
(for-each make-setuid-program programs)) (for-each make-setuid-program programs))
(define (activate-/bin/sh shell) (define (activate-special-files special-files)
"Change /bin/sh to point to SHELL." "Install the files listed in SPECIAL-FILES. Each element of SPECIAL-FILES
(symlink shell "/bin/sh.new") is a pair where the first element is the name of the special file and the
(rename-file "/bin/sh.new" "/bin/sh")) second element is the name it should appear at, such as:
((\"/bin/sh\" \"/gnu/store/…-bash/bin/sh\")
(\"/usr/bin/env\" \"/gnu/store/…-coreutils/bin/env\"))
"
(define install-special-file
(match-lambda
((target file)
(let ((pivot (string-append target ".new")))
(mkdir-p (dirname target))
(symlink file pivot)
(rename-file pivot target)))))
(for-each install-special-file special-files))
(define (activate-modprobe modprobe) (define (activate-modprobe modprobe)
"Tell the kernel to use MODPROBE to load modules." "Tell the kernel to use MODPROBE to load modules."

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016, 2017 David Craven <david@craven.ch> ;;; Copyright © 2016, 2017 David Craven <david@craven.ch>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
@ -72,22 +72,33 @@
"Bind-mount SOURCE at TARGET." "Bind-mount SOURCE at TARGET."
(mount source target "" MS_BIND)) (mount source target "" MS_BIND))
(define (seek* fd/port offset whence)
"Like 'seek' but return -1 instead of throwing to 'system-error' upon
EINVAL. This makes it easier to catch cases like OFFSET being too large for
FD/PORT."
(catch 'system-error
(lambda ()
(seek fd/port offset whence))
(lambda args
(if (= EINVAL (system-error-errno args))
-1
(apply throw args)))))
(define (read-superblock device offset size magic?) (define (read-superblock device offset size magic?)
"Read a superblock of SIZE from OFFSET and DEVICE. Return the raw "Read a superblock of SIZE from OFFSET and DEVICE. Return the raw
superblock on success, and #f if no valid superblock was found. MAGIC? superblock on success, and #f if no valid superblock was found. MAGIC?
takes a bytevector and returns #t when it's a valid superblock." takes a bytevector and returns #t when it's a valid superblock."
(call-with-input-file device (call-with-input-file device
(lambda (port) (lambda (port)
(seek port offset SEEK_SET) (and (= offset (seek* port offset SEEK_SET))
(let ((block (make-bytevector size)))
(let ((block (make-bytevector size))) (match (get-bytevector-n! port block 0 (bytevector-length block))
(match (get-bytevector-n! port block 0 (bytevector-length block)) ((? eof-object?)
((? eof-object?) #f)
#f) ((? number? len)
((? number? len) (and (= len (bytevector-length block))
(and (= len (bytevector-length block)) (and (magic? block)
(and (magic? block) block)))))))))
block))))))))
(define (sub-bytevector bv start size) (define (sub-bytevector bv start size)
"Return a copy of the SIZE bytes of BV starting from offset START." "Return a copy of the SIZE bytes of BV starting from offset START."

View File

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 David Thompson <davet@gnu.org> ;;; Copyright © 2015 David Thompson <davet@gnu.org>
;;; Copyright © 2017 Ludovic Courtès <ludo@gnu.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -32,7 +33,8 @@
%namespaces %namespaces
run-container run-container
call-with-container call-with-container
container-excursion)) container-excursion
container-excursion*))
(define (user-namespace-supported?) (define (user-namespace-supported?)
"Return #t if user namespaces are supported on this system." "Return #t if user namespaces are supported on this system."
@ -128,13 +130,19 @@ for the process."
"/dev/fuse")) "/dev/fuse"))
;; Setup the container's /dev/console by bind mounting the pseudo-terminal ;; Setup the container's /dev/console by bind mounting the pseudo-terminal
;; associated with standard input. ;; associated with standard input when there is one.
(let ((in (current-input-port)) (let* ((in (current-input-port))
(console (scope "/dev/console"))) (tty (catch 'system-error
(when (isatty? in) (lambda ()
;; This call throws if IN does not correspond to a tty.
;; This is more reliable than 'isatty?'.
(ttyname in))
(const #f)))
(console (scope "/dev/console")))
(when tty
(touch console) (touch console)
(chmod console #o600) (chmod console #o600)
(bind-mount (ttyname in) console))) (bind-mount tty console)))
;; Setup standard input/output/error. ;; Setup standard input/output/error.
(symlink "/proc/self/fd" (scope "/dev/fd")) (symlink "/proc/self/fd" (scope "/dev/fd"))
@ -229,6 +237,8 @@ host user identifiers to map into the user namespace."
namespaces))) namespaces)))
(lambda args (lambda args
;; Forward the exception to the parent process. ;; Forward the exception to the parent process.
;; FIXME: SRFI-35 conditions and non-trivial objects
;; cannot be 'read' so they shouldn't be written as is.
(write args child) (write args child)
(primitive-exit 3)))) (primitive-exit 3))))
;; TODO: Manage capabilities. ;; TODO: Manage capabilities.
@ -318,3 +328,21 @@ return the exit status."
(match (waitpid pid) (match (waitpid pid)
((_ . status) ((_ . status)
(status:exit-val status)))))) (status:exit-val status))))))
(define (container-excursion* pid thunk)
"Like 'container-excursion', but return the return value of THUNK."
(match (pipe)
((in . out)
(match (container-excursion pid
(lambda ()
(close-port in)
(write (thunk) out)))
(0
(close-port out)
(let ((result (read in)))
(close-port in)
result))
(_ ;maybe PID died already
(close-port out)
(close-port in)
#f)))))

177
gnu/build/shepherd.scm Normal file
View File

@ -0,0 +1,177 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu build shepherd)
#:use-module (gnu system file-systems)
#:use-module (gnu build linux-container)
#:use-module (guix build utils)
#:use-module (srfi srfi-1)
#:use-module (ice-9 match)
#:export (make-forkexec-constructor/container))
;;; Commentary:
;;;
;;; This module provides extensions to the GNU Shepherd. In particular, it
;;; provides a helper to start services in a container.
;;;
;;; Code:
(define (clean-up file)
(when file
(catch 'system-error
(lambda ()
(delete-file file))
(lambda args
(unless (= ENOENT (system-error-errno args))
(apply throw args))))))
(define-syntax-rule (catch-system-error exp)
(catch 'system-error
(lambda ()
exp)
(const #f)))
(define (default-namespaces args)
;; Most daemons are here to talk to the network, and most of them expect to
;; run under a non-zero UID.
(fold delq %namespaces '(net user)))
(define* (default-mounts #:key (namespaces (default-namespaces '())))
(define (tmpfs directory)
(file-system
(device "none")
(title 'device)
(mount-point directory)
(type "tmpfs")
(check? #f)))
(define passwd
;; This is for processes in the default user namespace but living in a
;; different mount namespace, so that they can lookup users.
(file-system-mapping
(source "/etc/passwd") (target source)))
(define nscd-socket
(file-system-mapping
(source "/var/run/nscd") (target source)
(writable? #t)))
(append (cons (tmpfs "/tmp") %container-file-systems)
(let ((mappings `(,@(if (memq 'net namespaces)
'()
(cons nscd-socket
%network-file-mappings))
,@(if (and (memq 'mnt namespaces)
(not (memq 'user namespaces)))
(list passwd)
'())
,%store-mapping))) ;XXX: coarse-grain
(map file-system-mapping->bind-mount
(filter (lambda (mapping)
(file-exists? (file-system-mapping-source mapping)))
mappings)))))
;; XXX: Lazy-bind the Shepherd to avoid a compile-time dependency.
(module-autoload! (current-module)
'(shepherd service) '(read-pid-file exec-command))
(define* (read-pid-file/container pid pid-file #:key (max-delay 5))
"Read PID-FILE in the container namespaces of PID, which exists in a
separate mount and PID name space. Return the \"outer\" PID. "
(match (container-excursion* pid
(lambda ()
(read-pid-file pid-file
#:max-delay max-delay)))
(#f
(catch-system-error (kill pid SIGTERM))
#f)
((? integer? container-pid)
;; XXX: When COMMAND is started in a separate PID namespace, its
;; PID is always 1, but that's not what Shepherd needs to know.
pid)))
(define* (make-forkexec-constructor/container command
#:key
(namespaces
(default-namespaces args))
(mappings '())
(user #f)
(group #f)
(log-file #f)
pid-file
(pid-file-timeout 5)
(directory "/")
(environment-variables
(environ))
#:rest args)
"This is a variant of 'make-forkexec-constructor' that starts COMMAND in
NAMESPACES, a list of Linux namespaces such as '(mnt ipc). MAPPINGS is the
list of <file-system-mapping> to make in the case of a separate mount
namespace, in addition to essential bind-mounts such /proc."
(define container-directory
(match command
((program _ ...)
(string-append "/var/run/containers/" (basename program)))))
(define auto-mappings
`(,@(if log-file
(list (file-system-mapping
(source log-file)
(target source)
(writable? #t)))
'())))
(define mounts
(append (map file-system-mapping->bind-mount
(append auto-mappings mappings))
(default-mounts #:namespaces namespaces)))
(lambda args
(mkdir-p container-directory)
(when log-file
;; Create LOG-FILE so we can map it in the container.
(unless (file-exists? log-file)
(call-with-output-file log-file (const #t))))
(let ((pid (run-container container-directory
mounts namespaces 1
(lambda ()
(mkdir-p "/var/run")
(clean-up pid-file)
(clean-up log-file)
(exec-command command
#:user user
#:group group
#:log-file log-file
#:directory directory
#:environment-variables
environment-variables)))))
(if pid-file
(if (or (memq 'mnt namespaces) (memq 'pid namespaces))
(read-pid-file/container pid pid-file
#:max-delay pid-file-timeout)
(read-pid-file pid-file #:max-delay pid-file-timeout))
pid))))
;; Local Variables:
;; eval: (put 'container-excursion* 'scheme-indent-function 1)
;; End:
;;; shepherd.scm ends here

View File

@ -1,10 +1,10 @@
# GNU Guix --- Functional package management for GNU # GNU Guix --- Functional package management for GNU
# Copyright © 2012, 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org> # Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
# Copyright © 2013, 2014, 2015, 2016 Andreas Enge <andreas@enge.fr> # Copyright © 2013, 2014, 2015, 2016 Andreas Enge <andreas@enge.fr>
# Copyright © 2016 Mathieu Lirzin <mthl@gnu.org> # Copyright © 2016 Mathieu Lirzin <mthl@gnu.org>
# Copyright © 2013, 2014, 2015, 2016 Mark H Weaver <mhw@netris.org> # Copyright © 2013, 2014, 2015, 2016 Mark H Weaver <mhw@netris.org>
# Copyright © 2016 Chris Marusich <cmmarusich@gmail.com> # Copyright © 2016 Chris Marusich <cmmarusich@gmail.com>
# Copyright © 2016 Kei Kebreau <kei@openmailbox.org> # Copyright © 2016, 2017 Kei Kebreau <kei@openmailbox.org>
# Copyright © 2016 Rene Saavedra <rennes@openmailbox.org> # Copyright © 2016 Rene Saavedra <rennes@openmailbox.org>
# Copyright © 2016 Adonay "adfeno" Felipe Nogueira <https://libreplanet.org/wiki/User:Adfeno> <adfeno@openmailbox.org> # Copyright © 2016 Adonay "adfeno" Felipe Nogueira <https://libreplanet.org/wiki/User:Adfeno> <adfeno@openmailbox.org>
# Copyright © 2016, 2017 Ricardo Wurmus <rekado@elephly.net> # Copyright © 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
@ -64,6 +64,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/bittorrent.scm \ %D%/packages/bittorrent.scm \
%D%/packages/bison.scm \ %D%/packages/bison.scm \
%D%/packages/boost.scm \ %D%/packages/boost.scm \
%D%/packages/bootloaders.scm \
%D%/packages/bootstrap.scm \ %D%/packages/bootstrap.scm \
%D%/packages/busybox.scm \ %D%/packages/busybox.scm \
%D%/packages/c.scm \ %D%/packages/c.scm \
@ -78,6 +79,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/code.scm \ %D%/packages/code.scm \
%D%/packages/commencement.scm \ %D%/packages/commencement.scm \
%D%/packages/compression.scm \ %D%/packages/compression.scm \
%D%/packages/compton.scm \
%D%/packages/conkeror.scm \ %D%/packages/conkeror.scm \
%D%/packages/conky.scm \ %D%/packages/conky.scm \
%D%/packages/connman.scm \ %D%/packages/connman.scm \
@ -169,7 +171,6 @@ GNU_SYSTEM_MODULES = \
%D%/packages/graphics.scm \ %D%/packages/graphics.scm \
%D%/packages/graphviz.scm \ %D%/packages/graphviz.scm \
%D%/packages/groff.scm \ %D%/packages/groff.scm \
%D%/packages/grub.scm \
%D%/packages/gsasl.scm \ %D%/packages/gsasl.scm \
%D%/packages/gstreamer.scm \ %D%/packages/gstreamer.scm \
%D%/packages/gtk.scm \ %D%/packages/gtk.scm \
@ -199,6 +200,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/julia.scm \ %D%/packages/julia.scm \
%D%/packages/kde.scm \ %D%/packages/kde.scm \
%D%/packages/kde-frameworks.scm \ %D%/packages/kde-frameworks.scm \
%D%/packages/kerberos.scm \
%D%/packages/key-mon.scm \ %D%/packages/key-mon.scm \
%D%/packages/kodi.scm \ %D%/packages/kodi.scm \
%D%/packages/language.scm \ %D%/packages/language.scm \
@ -252,7 +254,6 @@ GNU_SYSTEM_MODULES = \
%D%/packages/mingw.scm \ %D%/packages/mingw.scm \
%D%/packages/mg.scm \ %D%/packages/mg.scm \
%D%/packages/microcom.scm \ %D%/packages/microcom.scm \
%D%/packages/mit-krb5.scm \
%D%/packages/moe.scm \ %D%/packages/moe.scm \
%D%/packages/monitoring.scm \ %D%/packages/monitoring.scm \
%D%/packages/mono.scm \ %D%/packages/mono.scm \
@ -317,6 +318,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/ratpoison.scm \ %D%/packages/ratpoison.scm \
%D%/packages/rdesktop.scm \ %D%/packages/rdesktop.scm \
%D%/packages/rdf.scm \ %D%/packages/rdf.scm \
%D%/packages/re2c.scm \
%D%/packages/readline.scm \ %D%/packages/readline.scm \
%D%/packages/regex.scm \ %D%/packages/regex.scm \
%D%/packages/rrdtool.scm \ %D%/packages/rrdtool.scm \
@ -339,7 +341,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/serveez.scm \ %D%/packages/serveez.scm \
%D%/packages/shells.scm \ %D%/packages/shells.scm \
%D%/packages/shellutils.scm \ %D%/packages/shellutils.scm \
%D%/packages/shishi.scm \ %D%/packages/simh.scm \
%D%/packages/skarnet.scm \ %D%/packages/skarnet.scm \
%D%/packages/skribilo.scm \ %D%/packages/skribilo.scm \
%D%/packages/slang.scm \ %D%/packages/slang.scm \
@ -372,7 +374,6 @@ GNU_SYSTEM_MODULES = \
%D%/packages/unrtf.scm \ %D%/packages/unrtf.scm \
%D%/packages/upnp.scm \ %D%/packages/upnp.scm \
%D%/packages/uucp.scm \ %D%/packages/uucp.scm \
%D%/packages/u-boot.scm \
%D%/packages/valgrind.scm \ %D%/packages/valgrind.scm \
%D%/packages/version-control.scm \ %D%/packages/version-control.scm \
%D%/packages/video.scm \ %D%/packages/video.scm \
@ -424,6 +425,7 @@ GNU_SYSTEM_MODULES = \
%D%/services/spice.scm \ %D%/services/spice.scm \
%D%/services/ssh.scm \ %D%/services/ssh.scm \
%D%/services/version-control.scm \ %D%/services/version-control.scm \
%D%/services/vpn.scm \
%D%/services/web.scm \ %D%/services/web.scm \
%D%/services/xorg.scm \ %D%/services/xorg.scm \
\ \
@ -449,6 +451,7 @@ GNU_SYSTEM_MODULES = \
%D%/build/linux-initrd.scm \ %D%/build/linux-initrd.scm \
%D%/build/linux-modules.scm \ %D%/build/linux-modules.scm \
%D%/build/marionette.scm \ %D%/build/marionette.scm \
%D%/build/shepherd.scm \
%D%/build/svg.scm \ %D%/build/svg.scm \
%D%/build/vm.scm \ %D%/build/vm.scm \
\ \
@ -457,7 +460,9 @@ GNU_SYSTEM_MODULES = \
%D%/tests/nfs.scm \ %D%/tests/nfs.scm \
%D%/tests/install.scm \ %D%/tests/install.scm \
%D%/tests/mail.scm \ %D%/tests/mail.scm \
%D%/tests/ssh.scm %D%/tests/messaging.scm \
%D%/tests/ssh.scm \
%D%/tests/web.scm
patchdir = $(guilemoduledir)/%D%/packages/patches patchdir = $(guilemoduledir)/%D%/packages/patches
@ -526,8 +531,6 @@ dist_patch_DATA = \
%D%/packages/patches/doc++-include-directives.patch \ %D%/packages/patches/doc++-include-directives.patch \
%D%/packages/patches/doc++-segfault-fix.patch \ %D%/packages/patches/doc++-segfault-fix.patch \
%D%/packages/patches/doxygen-test.patch \ %D%/packages/patches/doxygen-test.patch \
%D%/packages/patches/duplicity-piped-password.patch \
%D%/packages/patches/duplicity-test_selection-tmp.patch \
%D%/packages/patches/elfutils-tests-ptrace.patch \ %D%/packages/patches/elfutils-tests-ptrace.patch \
%D%/packages/patches/elixir-disable-failing-tests.patch \ %D%/packages/patches/elixir-disable-failing-tests.patch \
%D%/packages/patches/einstein-build.patch \ %D%/packages/patches/einstein-build.patch \
@ -575,6 +578,7 @@ dist_patch_DATA = \
%D%/packages/patches/gd-fix-truecolor-format-correction.patch \ %D%/packages/patches/gd-fix-truecolor-format-correction.patch \
%D%/packages/patches/gegl-CVE-2012-4433.patch \ %D%/packages/patches/gegl-CVE-2012-4433.patch \
%D%/packages/patches/geoclue-config.patch \ %D%/packages/patches/geoclue-config.patch \
%D%/packages/patches/ghc-dont-pass-linker-flags-via-response-files.patch \
%D%/packages/patches/ghostscript-CVE-2013-5653.patch \ %D%/packages/patches/ghostscript-CVE-2013-5653.patch \
%D%/packages/patches/ghostscript-CVE-2015-3228.patch \ %D%/packages/patches/ghostscript-CVE-2015-3228.patch \
%D%/packages/patches/ghostscript-CVE-2016-7976.patch \ %D%/packages/patches/ghostscript-CVE-2016-7976.patch \
@ -593,7 +597,6 @@ dist_patch_DATA = \
%D%/packages/patches/gmp-faulty-test.patch \ %D%/packages/patches/gmp-faulty-test.patch \
%D%/packages/patches/gnome-tweak-tool-search-paths.patch \ %D%/packages/patches/gnome-tweak-tool-search-paths.patch \
%D%/packages/patches/gnucash-price-quotes-perl.patch \ %D%/packages/patches/gnucash-price-quotes-perl.patch \
%D%/packages/patches/gnupg-test-segfault-on-32bit-arch.patch \
%D%/packages/patches/gobject-introspection-absolute-shlib-path.patch \ %D%/packages/patches/gobject-introspection-absolute-shlib-path.patch \
%D%/packages/patches/gobject-introspection-cc.patch \ %D%/packages/patches/gobject-introspection-cc.patch \
%D%/packages/patches/gobject-introspection-girepository.patch \ %D%/packages/patches/gobject-introspection-girepository.patch \
@ -602,6 +605,7 @@ dist_patch_DATA = \
%D%/packages/patches/grub-gets-undeclared.patch \ %D%/packages/patches/grub-gets-undeclared.patch \
%D%/packages/patches/grub-freetype.patch \ %D%/packages/patches/grub-freetype.patch \
%D%/packages/patches/gsl-test-i686.patch \ %D%/packages/patches/gsl-test-i686.patch \
%D%/packages/patches/gst-plugins-base-fix-test-on-32bit.patch \
%D%/packages/patches/guile-1.8-cpp-4.5.patch \ %D%/packages/patches/guile-1.8-cpp-4.5.patch \
%D%/packages/patches/guile-arm-fixes.patch \ %D%/packages/patches/guile-arm-fixes.patch \
%D%/packages/patches/guile-default-utf8.patch \ %D%/packages/patches/guile-default-utf8.patch \
@ -630,7 +634,6 @@ dist_patch_DATA = \
%D%/packages/patches/hdf-eos5-fortrantests.patch \ %D%/packages/patches/hdf-eos5-fortrantests.patch \
%D%/packages/patches/higan-remove-march-native-flag.patch \ %D%/packages/patches/higan-remove-march-native-flag.patch \
%D%/packages/patches/hop-linker-flags.patch \ %D%/packages/patches/hop-linker-flags.patch \
%D%/packages/patches/httpd-CVE-2016-8740.patch \
%D%/packages/patches/hydra-disable-darcs-test.patch \ %D%/packages/patches/hydra-disable-darcs-test.patch \
%D%/packages/patches/hypre-doc-tables.patch \ %D%/packages/patches/hypre-doc-tables.patch \
%D%/packages/patches/hypre-ldflags.patch \ %D%/packages/patches/hypre-ldflags.patch \
@ -645,7 +648,6 @@ dist_patch_DATA = \
%D%/packages/patches/jbig2dec-ignore-testtest.patch \ %D%/packages/patches/jbig2dec-ignore-testtest.patch \
%D%/packages/patches/jq-CVE-2015-8863.patch \ %D%/packages/patches/jq-CVE-2015-8863.patch \
%D%/packages/patches/kdbusaddons-kinit-file-name.patch \ %D%/packages/patches/kdbusaddons-kinit-file-name.patch \
%D%/packages/patches/khal-disable-failing-tests.patch \
%D%/packages/patches/khmer-use-libraries.patch \ %D%/packages/patches/khmer-use-libraries.patch \
%D%/packages/patches/kmod-module-directory.patch \ %D%/packages/patches/kmod-module-directory.patch \
%D%/packages/patches/kobodeluxe-paths.patch \ %D%/packages/patches/kobodeluxe-paths.patch \
@ -655,7 +657,10 @@ dist_patch_DATA = \
%D%/packages/patches/kobodeluxe-midicon-segmentation-fault.patch \ %D%/packages/patches/kobodeluxe-midicon-segmentation-fault.patch \
%D%/packages/patches/kobodeluxe-graphics-window-signed-char.patch \ %D%/packages/patches/kobodeluxe-graphics-window-signed-char.patch \
%D%/packages/patches/laby-make-install.patch \ %D%/packages/patches/laby-make-install.patch \
%D%/packages/patches/lcms-fix-out-of-bounds-read.patch \
%D%/packages/patches/ldc-disable-tests.patch \ %D%/packages/patches/ldc-disable-tests.patch \
%D%/packages/patches/ldc-1.1.0-disable-dmd-tests.patch \
%D%/packages/patches/ldc-1.1.0-disable-phobos-tests.patch \
%D%/packages/patches/liba52-enable-pic.patch \ %D%/packages/patches/liba52-enable-pic.patch \
%D%/packages/patches/liba52-link-with-libm.patch \ %D%/packages/patches/liba52-link-with-libm.patch \
%D%/packages/patches/liba52-set-soname.patch \ %D%/packages/patches/liba52-set-soname.patch \
@ -670,6 +675,11 @@ dist_patch_DATA = \
%D%/packages/patches/libdrm-symbol-check.patch \ %D%/packages/patches/libdrm-symbol-check.patch \
%D%/packages/patches/libepoxy-gl-null-checks.patch \ %D%/packages/patches/libepoxy-gl-null-checks.patch \
%D%/packages/patches/libevent-dns-tests.patch \ %D%/packages/patches/libevent-dns-tests.patch \
%D%/packages/patches/libevent-2.0-evdns-fix-remote-stack-overread.patch \
%D%/packages/patches/libevent-2.0-evdns-fix-searching-empty-hostnames.patch \
%D%/packages/patches/libevent-2.0-evutil-fix-buffer-overflow.patch \
%D%/packages/patches/libevent-2.1-dns-tests.patch \
%D%/packages/patches/libevent-2.1-skip-failing-test.patch \
%D%/packages/patches/libextractor-ffmpeg-3.patch \ %D%/packages/patches/libextractor-ffmpeg-3.patch \
%D%/packages/patches/libjxr-fix-function-signature.patch \ %D%/packages/patches/libjxr-fix-function-signature.patch \
%D%/packages/patches/libjxr-fix-typos.patch \ %D%/packages/patches/libjxr-fix-typos.patch \
@ -687,6 +697,7 @@ dist_patch_DATA = \
%D%/packages/patches/libtiff-CVE-2016-10092.patch \ %D%/packages/patches/libtiff-CVE-2016-10092.patch \
%D%/packages/patches/libtiff-CVE-2016-10093.patch \ %D%/packages/patches/libtiff-CVE-2016-10093.patch \
%D%/packages/patches/libtiff-CVE-2016-10094.patch \ %D%/packages/patches/libtiff-CVE-2016-10094.patch \
%D%/packages/patches/libtiff-CVE-2017-5225.patch \
%D%/packages/patches/libtiff-assertion-failure.patch \ %D%/packages/patches/libtiff-assertion-failure.patch \
%D%/packages/patches/libtiff-divide-by-zero-ojpeg.patch \ %D%/packages/patches/libtiff-divide-by-zero-ojpeg.patch \
%D%/packages/patches/libtiff-divide-by-zero-tiffcp.patch \ %D%/packages/patches/libtiff-divide-by-zero-tiffcp.patch \
@ -701,8 +712,6 @@ dist_patch_DATA = \
%D%/packages/patches/libtiff-tiffcp-underflow.patch \ %D%/packages/patches/libtiff-tiffcp-underflow.patch \
%D%/packages/patches/libtool-skip-tests2.patch \ %D%/packages/patches/libtool-skip-tests2.patch \
%D%/packages/patches/libunwind-CVE-2015-3239.patch \ %D%/packages/patches/libunwind-CVE-2015-3239.patch \
%D%/packages/patches/libupnp-CVE-2016-6255.patch \
%D%/packages/patches/libupnp-CVE-2016-8863.patch \
%D%/packages/patches/libvpx-CVE-2016-2818.patch \ %D%/packages/patches/libvpx-CVE-2016-2818.patch \
%D%/packages/patches/libwebp-CVE-2016-9085.patch \ %D%/packages/patches/libwebp-CVE-2016-9085.patch \
%D%/packages/patches/libwmf-CAN-2004-0941.patch \ %D%/packages/patches/libwmf-CAN-2004-0941.patch \
@ -721,6 +730,7 @@ dist_patch_DATA = \
%D%/packages/patches/libxml2-CVE-2016-5131.patch \ %D%/packages/patches/libxml2-CVE-2016-5131.patch \
%D%/packages/patches/libxslt-generated-ids.patch \ %D%/packages/patches/libxslt-generated-ids.patch \
%D%/packages/patches/libxslt-CVE-2016-4738.patch \ %D%/packages/patches/libxslt-CVE-2016-4738.patch \
%D%/packages/patches/libxt-guix-search-paths.patch \
%D%/packages/patches/linux-pam-no-setfsuid.patch \ %D%/packages/patches/linux-pam-no-setfsuid.patch \
%D%/packages/patches/lirc-localstatedir.patch \ %D%/packages/patches/lirc-localstatedir.patch \
%D%/packages/patches/llvm-for-extempore.patch \ %D%/packages/patches/llvm-for-extempore.patch \
@ -753,6 +763,8 @@ dist_patch_DATA = \
%D%/packages/patches/multiqc-fix-git-subprocess-error.patch \ %D%/packages/patches/multiqc-fix-git-subprocess-error.patch \
%D%/packages/patches/mumps-build-parallelism.patch \ %D%/packages/patches/mumps-build-parallelism.patch \
%D%/packages/patches/mupdf-build-with-openjpeg-2.1.patch \ %D%/packages/patches/mupdf-build-with-openjpeg-2.1.patch \
%D%/packages/patches/mupdf-mujs-CVE-2016-10132.patch \
%D%/packages/patches/mupdf-mujs-CVE-2016-10133.patch \
%D%/packages/patches/mupen64plus-ui-console-notice.patch \ %D%/packages/patches/mupen64plus-ui-console-notice.patch \
%D%/packages/patches/musl-CVE-2016-8859.patch \ %D%/packages/patches/musl-CVE-2016-8859.patch \
%D%/packages/patches/mutt-store-references.patch \ %D%/packages/patches/mutt-store-references.patch \
@ -766,6 +778,7 @@ dist_patch_DATA = \
%D%/packages/patches/ninja-zero-mtime.patch \ %D%/packages/patches/ninja-zero-mtime.patch \
%D%/packages/patches/node-9077.patch \ %D%/packages/patches/node-9077.patch \
%D%/packages/patches/nss-pkgconfig.patch \ %D%/packages/patches/nss-pkgconfig.patch \
%D%/packages/patches/ntfs-3g-CVE-2017-0358.patch \
%D%/packages/patches/nvi-assume-preserve-path.patch \ %D%/packages/patches/nvi-assume-preserve-path.patch \
%D%/packages/patches/nvi-dbpagesize-binpower.patch \ %D%/packages/patches/nvi-dbpagesize-binpower.patch \
%D%/packages/patches/nvi-db4.patch \ %D%/packages/patches/nvi-db4.patch \
@ -774,11 +787,13 @@ dist_patch_DATA = \
%D%/packages/patches/ocaml-CVE-2015-8869.patch \ %D%/packages/patches/ocaml-CVE-2015-8869.patch \
%D%/packages/patches/ocaml-Add-a-.file-directive.patch \ %D%/packages/patches/ocaml-Add-a-.file-directive.patch \
%D%/packages/patches/ocaml-findlib-make-install.patch \ %D%/packages/patches/ocaml-findlib-make-install.patch \
%D%/packages/patches/omake-fix-non-determinism.patch \
%D%/packages/patches/ola-readdir-r.patch \ %D%/packages/patches/ola-readdir-r.patch \
%D%/packages/patches/openexr-missing-samples.patch \ %D%/packages/patches/openexr-missing-samples.patch \
%D%/packages/patches/openjpeg-CVE-2016-5157.patch \ %D%/packages/patches/openjpeg-CVE-2016-5157.patch \
%D%/packages/patches/openjpeg-CVE-2016-7163.patch \ %D%/packages/patches/openjpeg-CVE-2016-7163.patch \
%D%/packages/patches/openjpeg-CVE-2016-9850-CVE-2016-9851.patch \ %D%/packages/patches/openjpeg-CVE-2016-9850-CVE-2016-9851.patch \
%D%/packages/patches/openjpeg-CVE-2016-9572-CVE-2016-9573.patch \
%D%/packages/patches/openjpeg-use-after-free-fix.patch \ %D%/packages/patches/openjpeg-use-after-free-fix.patch \
%D%/packages/patches/openocd-nrf52.patch \ %D%/packages/patches/openocd-nrf52.patch \
%D%/packages/patches/openssl-runpath.patch \ %D%/packages/patches/openssl-runpath.patch \
@ -786,6 +801,7 @@ dist_patch_DATA = \
%D%/packages/patches/openssl-c-rehash-in.patch \ %D%/packages/patches/openssl-c-rehash-in.patch \
%D%/packages/patches/orpheus-cast-errors-and-includes.patch \ %D%/packages/patches/orpheus-cast-errors-and-includes.patch \
%D%/packages/patches/ots-no-include-missing-file.patch \ %D%/packages/patches/ots-no-include-missing-file.patch \
%D%/packages/patches/p7zip-CVE-2016-9296.patch \
%D%/packages/patches/p7zip-remove-unused-code.patch \ %D%/packages/patches/p7zip-remove-unused-code.patch \
%D%/packages/patches/patchelf-page-size.patch \ %D%/packages/patches/patchelf-page-size.patch \
%D%/packages/patches/patchelf-rework-for-arm.patch \ %D%/packages/patches/patchelf-rework-for-arm.patch \
@ -849,6 +865,17 @@ dist_patch_DATA = \
%D%/packages/patches/python-pycrypto-CVE-2013-7459.patch \ %D%/packages/patches/python-pycrypto-CVE-2013-7459.patch \
%D%/packages/patches/python2-pygobject-2-gi-info-type-error-domain.patch \ %D%/packages/patches/python2-pygobject-2-gi-info-type-error-domain.patch \
%D%/packages/patches/python-pygpgme-fix-pinentry-tests.patch \ %D%/packages/patches/python-pygpgme-fix-pinentry-tests.patch \
%D%/packages/patches/qemu-CVE-2016-10155.patch \
%D%/packages/patches/qemu-CVE-2017-2615.patch \
%D%/packages/patches/qemu-CVE-2017-5525.patch \
%D%/packages/patches/qemu-CVE-2017-5526.patch \
%D%/packages/patches/qemu-CVE-2017-5552.patch \
%D%/packages/patches/qemu-CVE-2017-5578.patch \
%D%/packages/patches/qemu-CVE-2017-5579.patch \
%D%/packages/patches/qemu-CVE-2017-5667.patch \
%D%/packages/patches/qemu-CVE-2017-5856.patch \
%D%/packages/patches/qemu-CVE-2017-5898.patch \
%D%/packages/patches/qemu-CVE-2017-5931.patch \
%D%/packages/patches/qt4-ldflags.patch \ %D%/packages/patches/qt4-ldflags.patch \
%D%/packages/patches/quickswitch-fix-dmenu-check.patch \ %D%/packages/patches/quickswitch-fix-dmenu-check.patch \
%D%/packages/patches/rapicorn-isnan.patch \ %D%/packages/patches/rapicorn-isnan.patch \
@ -866,10 +893,12 @@ dist_patch_DATA = \
%D%/packages/patches/sed-hurd-path-max.patch \ %D%/packages/patches/sed-hurd-path-max.patch \
%D%/packages/patches/scheme48-tests.patch \ %D%/packages/patches/scheme48-tests.patch \
%D%/packages/patches/scotch-test-threading.patch \ %D%/packages/patches/scotch-test-threading.patch \
%D%/packages/patches/screen-CVE-2017-5618.patch \
%D%/packages/patches/sdl-libx11-1.6.patch \ %D%/packages/patches/sdl-libx11-1.6.patch \
%D%/packages/patches/seq24-rename-mutex.patch \ %D%/packages/patches/seq24-rename-mutex.patch \
%D%/packages/patches/serf-comment-style-fix.patch \ %D%/packages/patches/serf-comment-style-fix.patch \
%D%/packages/patches/serf-deflate-buckets-test-fix.patch \ %D%/packages/patches/serf-deflate-buckets-test-fix.patch \
%D%/packages/patches/shadow-4.4-su-snprintf-fix.patch \
%D%/packages/patches/slim-session.patch \ %D%/packages/patches/slim-session.patch \
%D%/packages/patches/slim-config.patch \ %D%/packages/patches/slim-config.patch \
%D%/packages/patches/slim-sigusr1.patch \ %D%/packages/patches/slim-sigusr1.patch \
@ -877,6 +906,9 @@ dist_patch_DATA = \
%D%/packages/patches/slim-login.patch \ %D%/packages/patches/slim-login.patch \
%D%/packages/patches/slurm-configure-remove-nonfree-contribs.patch \ %D%/packages/patches/slurm-configure-remove-nonfree-contribs.patch \
%D%/packages/patches/soprano-find-clucene.patch \ %D%/packages/patches/soprano-find-clucene.patch \
%D%/packages/patches/spice-CVE-2016-9577.patch \
%D%/packages/patches/spice-CVE-2016-9578-1.patch \
%D%/packages/patches/spice-CVE-2016-9578-2.patch \
%D%/packages/patches/steghide-fixes.patch \ %D%/packages/patches/steghide-fixes.patch \
%D%/packages/patches/superlu-dist-scotchmetis.patch \ %D%/packages/patches/superlu-dist-scotchmetis.patch \
%D%/packages/patches/swish-e-search.patch \ %D%/packages/patches/swish-e-search.patch \
@ -896,11 +928,12 @@ dist_patch_DATA = \
%D%/packages/patches/texi2html-i18n.patch \ %D%/packages/patches/texi2html-i18n.patch \
%D%/packages/patches/tidy-CVE-2015-5522+5523.patch \ %D%/packages/patches/tidy-CVE-2015-5522+5523.patch \
%D%/packages/patches/tinyxml-use-stl.patch \ %D%/packages/patches/tinyxml-use-stl.patch \
%D%/packages/patches/tipp10-fix-compiling.patch \
%D%/packages/patches/tipp10-remove-license-code.patch \
%D%/packages/patches/tk-find-library.patch \ %D%/packages/patches/tk-find-library.patch \
%D%/packages/patches/ttf2eot-cstddef.patch \ %D%/packages/patches/ttf2eot-cstddef.patch \
%D%/packages/patches/ttfautohint-source-date-epoch.patch \ %D%/packages/patches/ttfautohint-source-date-epoch.patch \
%D%/packages/patches/tophat-build-with-later-seqan.patch \ %D%/packages/patches/tophat-build-with-later-seqan.patch \
%D%/packages/patches/totem-debug-format-fix.patch \
%D%/packages/patches/tuxpaint-stamps-path.patch \ %D%/packages/patches/tuxpaint-stamps-path.patch \
%D%/packages/patches/unrtf-CVE-2016-10091.patch \ %D%/packages/patches/unrtf-CVE-2016-10091.patch \
%D%/packages/patches/unzip-CVE-2014-8139.patch \ %D%/packages/patches/unzip-CVE-2014-8139.patch \
@ -939,16 +972,16 @@ dist_patch_DATA = \
%D%/packages/patches/xf86-video-ark-remove-mibstore.patch \ %D%/packages/patches/xf86-video-ark-remove-mibstore.patch \
%D%/packages/patches/xf86-video-ast-remove-mibstore.patch \ %D%/packages/patches/xf86-video-ast-remove-mibstore.patch \
%D%/packages/patches/xf86-video-geode-glibc-2.20.patch \ %D%/packages/patches/xf86-video-geode-glibc-2.20.patch \
%D%/packages/patches/xf86-video-glint-remove-mibstore.patch \
%D%/packages/patches/xf86-video-i128-remove-mibstore.patch \ %D%/packages/patches/xf86-video-i128-remove-mibstore.patch \
%D%/packages/patches/xf86-video-intel-compat-api.patch \ %D%/packages/patches/xf86-video-intel-compat-api.patch \
%D%/packages/patches/xf86-video-intel-glibc-2.20.patch \ %D%/packages/patches/xf86-video-intel-glibc-2.20.patch \
%D%/packages/patches/xf86-video-mach64-glibc-2.20.patch \ %D%/packages/patches/xf86-video-mach64-glibc-2.20.patch \
%D%/packages/patches/xf86-video-nv-remove-mibstore.patch \
%D%/packages/patches/xf86-video-tga-remove-mibstore.patch \ %D%/packages/patches/xf86-video-tga-remove-mibstore.patch \
%D%/packages/patches/xfce4-panel-plugins.patch \ %D%/packages/patches/xfce4-panel-plugins.patch \
%D%/packages/patches/xfce4-session-fix-xflock4.patch \ %D%/packages/patches/xfce4-session-fix-xflock4.patch \
%D%/packages/patches/xfce4-settings-defaults.patch \ %D%/packages/patches/xfce4-settings-defaults.patch \
%D%/packages/patches/xinetd-fix-fd-leak.patch \
%D%/packages/patches/xinetd-CVE-2013-4342.patch \
%D%/packages/patches/xmodmap-asprintf.patch \ %D%/packages/patches/xmodmap-asprintf.patch \
%D%/packages/patches/libyaml-CVE-2014-9130.patch \ %D%/packages/patches/libyaml-CVE-2014-9130.patch \
%D%/packages/patches/zathura-plugindir-environment-variable.patch %D%/packages/patches/zathura-plugindir-environment-variable.patch

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2013 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2016 Alex Kost <alezost@gmail.com> ;;; Copyright © 2016 Alex Kost <alezost@gmail.com>
@ -24,6 +24,7 @@
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix ui) #:use-module (guix ui)
#:use-module (guix utils) #:use-module (guix utils)
#:use-module (guix memoization)
#:use-module (guix combinators) #:use-module (guix combinators)
#:use-module ((guix build utils) #:use-module ((guix build utils)
#:select ((package-name->name+version #:select ((package-name->name+version
@ -234,28 +235,27 @@ decreasing version order."
matching))))) matching)))))
(define find-newest-available-packages (define find-newest-available-packages
(memoize (mlambda ()
(lambda () "Return a vhash keyed by package names, and with
"Return a vhash keyed by package names, and with
associated values of the form associated values of the form
(newest-version newest-package ...) (newest-version newest-package ...)
where the preferred package is listed first." where the preferred package is listed first."
;; FIXME: Currently, the preferred package is whichever one ;; FIXME: Currently, the preferred package is whichever one
;; was found last by 'fold-packages'. Find a better solution. ;; was found last by 'fold-packages'. Find a better solution.
(fold-packages (lambda (p r) (fold-packages (lambda (p r)
(let ((name (package-name p)) (let ((name (package-name p))
(version (package-version p))) (version (package-version p)))
(match (vhash-assoc name r) (match (vhash-assoc name r)
((_ newest-so-far . pkgs) ((_ newest-so-far . pkgs)
(case (version-compare version newest-so-far) (case (version-compare version newest-so-far)
((>) (vhash-cons name `(,version ,p) r)) ((>) (vhash-cons name `(,version ,p) r))
((=) (vhash-cons name `(,version ,p ,@pkgs) r)) ((=) (vhash-cons name `(,version ,p ,@pkgs) r))
((<) r))) ((<) r)))
(#f (vhash-cons name `(,version ,p) r))))) (#f (vhash-cons name `(,version ,p) r)))))
vlist-null)))) vlist-null)))
(define (find-best-packages-by-name name version) (define (find-best-packages-by-name name version)
"If version is #f, return the list of packages named NAME with the highest "If version is #f, return the list of packages named NAME with the highest

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com> ;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014, 2015, 2016 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2014, 2015, 2016 Eric Bavier <bavier@member.fsf.org>
@ -12,7 +12,7 @@
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Peter Feigl <peter.feigl@nexoid.at> ;;; Copyright © 2016 Peter Feigl <peter.feigl@nexoid.at>
;;; Copyright © 2016 John J. Foerch <jjfoerch@earthlink.net> ;;; Copyright © 2016 John J. Foerch <jjfoerch@earthlink.net>
;;; Coypright © 2016 ng0 <ng0@we.make.ritual.n0.is> ;;; Coypright © 2016, 2017 ng0 <contact.ng0@cryptolab.net>
;;; Coypright © 2016 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Coypright © 2016 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Coypright © 2016 John Darrington <jmd@gnu.org> ;;; Coypright © 2016 John Darrington <jmd@gnu.org>
;;; ;;;
@ -75,7 +75,7 @@
#:use-module (gnu packages man) #:use-module (gnu packages man)
#:use-module (gnu packages autotools) #:use-module (gnu packages autotools)
#:use-module (gnu packages gnome) #:use-module (gnu packages gnome)
#:use-module (gnu packages mit-krb5) #:use-module (gnu packages kerberos)
#:use-module (gnu packages gtk)) #:use-module (gnu packages gtk))
(define-public aide (define-public aide
@ -270,40 +270,41 @@ client and server, a telnet client and server, and an rsh client and server.")
(define-public shadow (define-public shadow
(package (package
(name "shadow") (name "shadow")
(version "4.2.1") (version "4.4")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
"http://pkg-shadow.alioth.debian.org/releases/" "https://github.com/shadow-maint/shadow/releases/"
name "-" version ".tar.xz")) "download/" version "/shadow-" version ".tar.xz"))
(patches (search-patches "shadow-4.4-su-snprintf-fix.patch"))
(sha256 (sha256
(base32 (base32
"0h9x1zdbq0pqmygmc1x459jraiqw4gqz8849v268crk78z8r621v")))) "0g7hf55ar2pafg5g3ldx0fwzjk36wf4xb21p4ndanbjm3c2a9ab1"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
'(;; Assume System V `setpgrp (void)', which is the default on GNU '(;; Assume System V `setpgrp (void)', which is the default on GNU
;; variants (`AC_FUNC_SETPGRP' is not cross-compilation capable.) ;; variants (`AC_FUNC_SETPGRP' is not cross-compilation capable.)
#:configure-flags '("--with-libpam" "ac_cv_func_setpgrp_void=yes") #:configure-flags
'("--with-libpam" "ac_cv_func_setpgrp_void=yes")
#:phases (alist-cons-before #:phases
'build 'set-nscd-file-name (modify-phases %standard-phases
(lambda* (#:key inputs #:allow-other-keys) (add-before 'build 'set-nscd-file-name
;; Use the right file name for nscd. (lambda* (#:key inputs #:allow-other-keys)
(let ((libc (assoc-ref inputs "libc"))) ;; Use the right file name for nscd.
(substitute* "lib/nscd.c" (let ((libc (assoc-ref inputs "libc")))
(("/usr/sbin/nscd") (substitute* "lib/nscd.c"
(string-append libc "/sbin/nscd"))))) (("/usr/sbin/nscd")
(alist-cons-after (string-append libc "/sbin/nscd"))))))
'install 'remove-groups (add-after 'install 'remove-groups
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
;; Remove `groups', which is already provided by Coreutils. ;; Remove `groups', which is already provided by Coreutils.
(let* ((out (assoc-ref outputs "out")) (let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin")) (bin (string-append out "/bin"))
(man (string-append out "/share/man"))) (man (string-append out "/share/man")))
(delete-file (string-append bin "/groups")) (delete-file (string-append bin "/groups"))
(for-each delete-file (find-files man "^groups\\.")) (for-each delete-file (find-files man "^groups\\."))
#t)) #t))))))
%standard-phases))))
(inputs (if (string-suffix? "-linux" (inputs (if (string-suffix? "-linux"
(or (%current-target-system) (or (%current-target-system)
@ -471,7 +472,7 @@ connection alive.")
(bind-minor-version "9") (bind-minor-version "9")
(bind-patch-version "9") (bind-patch-version "9")
(bind-release-type "-P") ; for patch release, use "-P" (bind-release-type "-P") ; for patch release, use "-P"
(bind-release-version "5") ; for patch release, e.g. "4" (bind-release-version "6") ; for patch release, e.g. "6"
(bind-version (string-append bind-major-version (bind-version (string-append bind-major-version
"." "."
bind-minor-version bind-minor-version
@ -587,7 +588,7 @@ connection alive.")
"/bind-" bind-version ".tar.gz")) "/bind-" bind-version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1yn15chkfqf4d7961ip2x10jm27a9wqymz2xqh0a2g89arrirkaw")))) "1qf9j0nyqx0qy871mj22xh4dg0n1pqlv94lpiijb8vr7n7m3svhr"))))
;; When cross-compiling, we need the cross Coreutils and sed. ;; When cross-compiling, we need the cross Coreutils and sed.
;; Otherwise just use those from %FINAL-INPUTS. ;; Otherwise just use those from %FINAL-INPUTS.
@ -608,14 +609,14 @@ tools: server, client, and relay agent.")
(define-public libpcap (define-public libpcap
(package (package
(name "libpcap") (name "libpcap")
(version "1.7.4") (version "1.8.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "http://www.tcpdump.org/release/libpcap-" (uri (string-append "http://www.tcpdump.org/release/libpcap-"
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1c28ykkizd7jqgzrfkg7ivqjlqs9p6lygp26bsw2i0z8hwhi3lvs")))) "07jlhc66z76dipj4j5v3dig8x6h3k6cb36kmnmpsixf3zmlvqgb7"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs `(("bison" ,bison) ("flex" ,flex))) (native-inputs `(("bison" ,bison) ("flex" ,flex)))
(arguments '(#:configure-flags '("--with-pcap=linux") (arguments '(#:configure-flags '("--with-pcap=linux")
@ -633,14 +634,14 @@ network statistics collection, security monitoring, network debugging, etc.")
(define-public tcpdump (define-public tcpdump
(package (package
(name "tcpdump") (name "tcpdump")
(version "4.7.4") (version "4.9.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "http://www.tcpdump.org/release/tcpdump-" (uri (string-append "http://www.tcpdump.org/release/tcpdump-"
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1byr8w6grk08fsq0444jmcz9ar89lq9nf4mjq2cny0w9k8k21rbb")))) "0pjsxsy8l71i813sa934cwf1ryp9xbr7nxwsvnzavjdirchq3sga"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs `(("libpcap" ,libpcap) (inputs `(("libpcap" ,libpcap)
("openssl" ,openssl))) ("openssl" ,openssl)))
@ -1345,14 +1346,14 @@ of supported upstream metrics systems simultaneously.")
(define-public ansible (define-public ansible
(package (package
(name "ansible") (name "ansible")
(version "2.1.0.0") (version "2.2.1.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "ansible" version)) (uri (pypi-uri "ansible" version))
(sha256 (sha256
(base32 (base32
"1bfc2xiplpad6f2nwi48y0kps7xqnsll85dlz63cy8k5bysl6d20")))) "0gz9i30pdmkchi936ijy873k8di6fmf3v5rv551hxyf0hjkjx8b3"))))
(build-system python-build-system) (build-system python-build-system)
(native-inputs (native-inputs
`(("python2-pycrypto" ,python2-pycrypto) `(("python2-pycrypto" ,python2-pycrypto)
@ -1716,7 +1717,10 @@ throughput (in the same interval).")
(native-inputs (native-inputs
`(("python-mock" ,python-mock) `(("python-mock" ,python-mock)
("python-pytest" ,python-pytest) ("python-pytest" ,python-pytest)
("python-pytest-mock" ,python-pytest-mock))) ("python-pytest-mock" ,python-pytest-mock)
;; Requires setuptools >= 17.1 due to some features used, while our
;; python currently only includes 12.0. TODO: Remove this input.
("python-setuptools" ,python-setuptools)))
(home-page "https://github.com/nvbn/thefuck") (home-page "https://github.com/nvbn/thefuck")
(synopsis "Correct mistyped console command") (synopsis "Correct mistyped console command")
(description (description
@ -1927,3 +1931,65 @@ in order to be able to find it.
@item @command{sunxi-nand-image-builder}: Prepares raw NAND images. @item @command{sunxi-nand-image-builder}: Prepares raw NAND images.
@end enumerate") @end enumerate")
(license license:gpl2+))) (license license:gpl2+)))
(define-public sedsed
(package
(name "sedsed")
(version "1.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/aureliojargas/sedsed/"
"archive/v" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0139jkqvm8ipiwfj7k69ry2f9b1ffgpk79arpz4r7w9kf6h23bnh"))))
(build-system python-build-system)
(arguments
`(#:tests? #f ; No tests.
#:python ,python-2
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-sed-in
(lambda _
(substitute* "sedsed.py"
(("sedbin = 'sed'")
(string-append "sedbin = '" (which "sed") "'")))
#t))
(delete 'build)
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin")))
;; Just one file to copy around
(install-file "sedsed.py" bin)
#t)))
(add-after 'install 'symlink
;; Create 'sedsed' symlink to "sedsed.py".
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(sed (string-append bin "/sedsed"))
(sedpy (string-append bin "/sedsed.py")))
(symlink sedpy sed)
#t))))))
(home-page "http://aurelio.net/projects/sedsed")
(synopsis "Sed sed scripts")
(description
"@code{sedsed} can debug, indent, tokenize and HTMLize your sed(1) script.
In debug mode it reads your script and add extra commands to it. When
executed you can see the data flow between the commands, revealing all the
magic sed does on its internal buffers.
In indent mode your script is reformatted with standard spacing.
In tokenize mode you can see the elements of every command you use.
In HTMLize mode your script is converted to a beautiful colored HTML file,
with all the commands and parameters identified for your viewing pleasure.
With sedsed you can master any sed script. No more secrets, no more hidden
buffers.")
(license license:expat)))

View File

@ -202,7 +202,7 @@ GP2C, the GP to C compiler, translates GP scripts to PARI programs.")
(define-public giac-xcas (define-public giac-xcas
(package (package
(name "giac-xcas") (name "giac-xcas")
(version "1.2.2-103") (version "1.2.3-19")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
;; "~parisse/giac" is not used because the maintainer regularly ;; "~parisse/giac" is not used because the maintainer regularly
@ -214,7 +214,7 @@ GP2C, the GP to C compiler, translates GP scripts to PARI programs.")
"source/giac_" version ".tar.gz")) "source/giac_" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1qrhjw2sdvyv2x8fqs9isqv8rgldn448gfxbi7zbva8m5va5b3z1")))) "0asynsj0xcfdjn0vkyxdgdy3hfpr6gc9f92xxa1rmn7clbqmlk1y"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:phases `(#:phases

View File

@ -58,7 +58,7 @@ in FITS files.")
(define-public wcslib (define-public wcslib
(package (package
(name "wcslib") (name "wcslib")
(version "5.15") (version "5.16")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -66,7 +66,7 @@ in FITS files.")
"ftp://ftp.atnf.csiro.au/pub/software/wcslib/" name "-" version "ftp://ftp.atnf.csiro.au/pub/software/wcslib/" name "-" version
".tar.bz2")) ".tar.bz2"))
(sha256 (sha256
(base32 "1s2nig327g4bimd9xshlk11ww09a7mrjmsbpdcd8smsmn2kl1glb")))) (base32 "1vwrzkznpig2q40m11j12hsfqvsjz8z44l66pz5fkh6fy461w0zd"))))
(inputs (inputs
`(("cfitsio" ,cfitsio))) `(("cfitsio" ,cfitsio)))
(build-system gnu-build-system) (build-system gnu-build-system)

View File

@ -24,6 +24,7 @@
#:use-module (gnu packages) #:use-module (gnu packages)
#:use-module (gnu packages audio) #:use-module (gnu packages audio)
#:use-module (gnu packages base) #:use-module (gnu packages base)
#:use-module (gnu packages gettext)
#:use-module (gnu packages gtk) #:use-module (gnu packages gtk)
#:use-module (gnu packages linux) #:use-module (gnu packages linux)
#:use-module (gnu packages mp3) #:use-module (gnu packages mp3)
@ -38,20 +39,20 @@
(define-public audacity (define-public audacity
(package (package
(name "audacity") (name "audacity")
(version "2.1.0") (version "2.1.2")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://sourceforge/audacity/audacity/" version (uri (string-append "https://github.com/audacity/audacity/archive"
"/audacity-minsrc-" version ".tar.xz")) "/Audacity-" version ".zip"))
(sha256 (sha256
(base32 "1cs2w3fwqylpqmfwkvlgdx5lhclpckfil7pqibl37qlbnf4qvndh")) (base32 "1642i9d5cdmqzj6r0qdl2ldnqsvpb08znnczncysi72x6zpvb5qq"))
(patches (search-patches "audacity-fix-ffmpeg-binding.patch")))) (patches (search-patches "audacity-fix-ffmpeg-binding.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
;; TODO: Add portSMF and libwidgetextra once they're packaged. In-tree ;; TODO: Add portSMF and libwidgetextra once they're packaged. In-tree
;; versions shipping with Audacity are used for now. ;; versions shipping with Audacity are used for now.
`(("wxwidgets" ,wxwidgets-2) `(("wxwidgets" ,wxwidgets-gtk2)
("gtk" ,gtk+-2) ("gtk" ,gtk+-2)
("alsa-lib" ,alsa-lib) ("alsa-lib" ,alsa-lib)
("jack" ,jack-1) ("jack" ,jack-1)
@ -72,7 +73,8 @@
("lilv" ,lilv) ("lilv" ,lilv)
("portaudio" ,portaudio))) ("portaudio" ,portaudio)))
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config) `(("gettext" ,gettext-minimal) ;for msgfmt
("pkg-config" ,pkg-config)
("python" ,python-2) ("python" ,python-2)
("which" ,which))) ("which" ,which)))
(arguments (arguments

View File

@ -2102,19 +2102,15 @@ stretching and pitch scaling of audio. This package contains the library.")
(define-public wavpack (define-public wavpack
(package (package
(name "wavpack") (name "wavpack")
(version "4.70.0") (version "5.1.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "http://www.wavpack.com/" (uri (string-append "http://www.wavpack.com/"
name "-" version ".tar.bz2")) name "-" version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"191h8hv8qk72hfh1crg429i9yq3cminwqb249sy9zadbn1wy7b9c")))) "0i19c6krc0p9krwrqy9s5xahaafigqzxcn31piidmlaqadyn4f8r"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments
`(#:configure-flags
;; wavpack.pc.in lacks path substitution for 'exec_prefix'.
(list (string-append "--libdir=" %output "/lib"))))
(home-page "http://www.wavpack.com/") (home-page "http://www.wavpack.com/")
(synopsis "Hybrid lossless audio codec") (synopsis "Hybrid lossless audio codec")
(description (description

View File

@ -34,6 +34,7 @@
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages databases) #:use-module (gnu packages databases)
#:use-module (gnu packages dejagnu) #:use-module (gnu packages dejagnu)
#:use-module (gnu packages ftp)
#:use-module (gnu packages glib) #:use-module (gnu packages glib)
#:use-module (gnu packages gnupg) #:use-module (gnu packages gnupg)
#:use-module (gnu packages gperf) #:use-module (gnu packages gperf)
@ -52,7 +53,7 @@
(define-public duplicity (define-public duplicity
(package (package
(name "duplicity") (name "duplicity")
(version "0.6.26") (version "0.7.11")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -62,18 +63,19 @@
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0jh79syhr8n3l81jxlwsmwm1pklb4d923m2lgqbswyavh1fqmvwb")) "01zcq9cwn4pvj68rihgjvcdgccnxvz4jrba38sbv6nqz19cs2ixh"))))
(patches (search-patches "duplicity-piped-password.patch"
"duplicity-test_selection-tmp.patch"))))
(build-system python-build-system) (build-system python-build-system)
(native-inputs (native-inputs
`(("util-linux" ,util-linux))) ;setsid command, for the tests `(("util-linux" ,util-linux) ;setsid command, for the tests
("python-pexpect" ,python2-pexpect)
("mock" ,python2-mock)))
(propagated-inputs
`(("lockfile" ,python2-lockfile)
("urllib3" ,python2-urllib3)))
(inputs (inputs
`(("python" ,python-2) `(("librsync" ,librsync)
("librsync" ,librsync) ("lftp" ,lftp)
("mock" ,python2-mock) ;for testing ("gnupg" ,gnupg) ;gpg executable needed
("lockfile" ,python2-lockfile)
("gnupg" ,gnupg-1) ;gpg executable needed
("util-linux" ,util-linux) ;for setsid ("util-linux" ,util-linux) ;for setsid
("tzdata" ,tzdata))) ("tzdata" ,tzdata)))
(arguments (arguments
@ -81,6 +83,12 @@
#:test-target "test" #:test-target "test"
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-before
'build 'patch-source ; embed gpg store name
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "duplicity/gpginterface.py"
(("self.call = 'gpg'")
(string-append "self.call = '" (assoc-ref inputs "gnupg") "/bin/gpg'")))))
(add-before 'check 'check-setup (add-before 'check 'check-setup
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
(substitute* "testing/functional/__init__.py" (substitute* "testing/functional/__init__.py"

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Leo Famulari <leo@famulari.name> ;;; Copyright © 2015 Leo Famulari <leo@famulari.name>
;;; ;;;
@ -28,6 +28,9 @@
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix utils) #:use-module (guix utils)
#:use-module (guix gexp)
#:use-module (guix monads)
#:use-module (guix store)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:autoload (guix gnupg) (gnupg-verify*) #:autoload (guix gnupg) (gnupg-verify*)
#:autoload (guix hash) (port-sha256) #:autoload (guix hash) (port-sha256)
@ -38,7 +41,7 @@
(define (patch-url seqno) (define (patch-url seqno)
"Return the URL of Bash patch number SEQNO." "Return the URL of Bash patch number SEQNO."
(format #f "mirror://gnu/bash/bash-4.3-patches/bash43-~3,'0d" seqno)) (format #f "mirror://gnu/bash/bash-4.4-patches/bash44-~3,'0d" seqno))
(define (bash-patch seqno sha256) (define (bash-patch seqno sha256)
"Return the origin of Bash patch SEQNO, with expected hash SHA256" "Return the origin of Bash patch SEQNO, with expected hash SHA256"
@ -95,6 +98,7 @@ number/base32-hash tuples, directly usable in the 'patch-series' form."
(version "4.4")) (version "4.4"))
(package (package
(name "bash") (name "bash")
(replacement bash/fixed)
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -181,6 +185,7 @@ without modification.")
;; A stripped-down Bash for non-interactive use. ;; A stripped-down Bash for non-interactive use.
(package (inherit bash) (package (inherit bash)
(name "bash-minimal") (name "bash-minimal")
(replacement #f) ;not vulnerable to CVE-2017-5932 since it lacks completion
(inputs '()) ; no readline, no curses (inputs '()) ; no readline, no curses
;; No "include" output because there's no support for loadable modules. ;; No "include" output because there's no support for loadable modules.
@ -207,7 +212,8 @@ without modification.")
"ac_cv_func_dlopen=no" "ac_cv_func_dlopen=no"
,@(if (%current-target-system) ,@(if (%current-target-system)
'("bash_cv_job_control_missing=no") '("bash_cv_job_control_missing=no"
"bash_cv_getcwd_malloc=yes")
'()))) '())))
((#:phases phases) ((#:phases phases)
`(modify-phases ,phases `(modify-phases ,phases
@ -235,6 +241,43 @@ without modification.")
(delete-file-recursively (string-append out "/share")) (delete-file-recursively (string-append out "/share"))
#t)))))))))) #t))))))))))
(define* (url-fetch/reset-patch-level url hash-algo hash
#:optional name
#:key (system (%current-system)) guile)
"Fetch the Bash patch from URL and reset its 'PATCHLEVEL' definition so it
can apply to a patch-level 0 Bash."
(mlet* %store-monad ((name -> (or name (basename url)))
(patch (url-fetch url hash-algo hash
(string-append name ".orig")
#:system system
#:guile guile)))
(gexp->derivation name
(with-imported-modules '((guix build utils))
#~(begin
(use-modules (guix build utils))
(copy-file #$patch #$output)
(substitute* #$output
(("PATCHLEVEL [0-6]+")
"PATCHLEVEL 0"))))
#:guile-for-build guile
#:system system)))
(define bash/fixed ;CVE-2017-5932 (RCE with completion)
(package
(inherit bash)
(version "4.4.A") ;4.4.0 + patch #7
(replacement #f)
(source
(origin
(inherit (package-source bash))
(patches (cons (origin
(method url-fetch/reset-patch-level)
(uri (patch-url 7))
(sha256
(base32
"1bzdsnqaf05gdbqpsixhan8vygjxpcxlz1dd8d9f5jdznw3wq76y")))
(origin-patches (package-source bash))))))))
(define-public bash-completion (define-public bash-completion
(package (package
(name "bash-completion") (name "bash-completion")

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2016, 2017 Marius Bakke <mbakke@fastmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -22,12 +22,14 @@
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages linux)) #:use-module (gnu packages linux)
#:use-module (gnu packages maths)
#:use-module (gnu packages python))
(define-public fio (define-public fio
(package (package
(name "fio") (name "fio")
(version "2.15") (version "2.17")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -35,22 +37,47 @@
"fio-" version ".tar.bz2")) "fio-" version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"1ggma9c48717z2wz8j9f7jcgb3xqk8qawjl6c9hnabxxry94y130")))) "1kxgad5k2m7y637g3kq8jmhwzlg3c64w9ky7066c5l09bwb6l58h"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
'(#:tests? #f ; No tests. '(#:tests? #f ; No tests.
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after
'unpack 'patch-paths
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(gnuplot (string-append (assoc-ref inputs "gnuplot")
"/bin/gnuplot")))
(substitute* "tools/plot/fio2gnuplot"
(("/usr/share/fio") (string-append out "/share/fio"))
;; FIXME (upstream): The 'gnuplot' executable is used inline
;; in various os.system() calls mixed with *.gnuplot filenames.
(("; do gnuplot") (string-append "; do " gnuplot))
(("gnuplot mymath") (string-append gnuplot " mymath"))
(("gnuplot mygraph") (string-append gnuplot " mygraph")))
#t)))
(replace 'configure (replace 'configure
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
;; The configure script doesn't understand some of the ;; The configure script doesn't understand some of the
;; GNU options, so we can't use #:configure-flags. ;; GNU options, so we can't use #:configure-flags.
(let ((out (assoc-ref outputs "out"))) (let ((out (assoc-ref outputs "out")))
(zero? (system* "./configure" (zero? (system* "./configure"
(string-append "--prefix=" out))))))))) (string-append "--prefix=" out))))))
(add-after
'install 'wrap-python-scripts
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(wrap-program (string-append out "/bin/fiologparser_hist.py")
`("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH"))))
#t))))))
(inputs (inputs
`(("libaio" ,libaio) `(("libaio" ,libaio)
("zlib" ,zlib))) ("gnuplot" ,gnuplot)
("zlib" ,zlib)
("python-numpy" ,python2-numpy)
("python-pandas" ,python2-pandas)
("python" ,python-2)))
(home-page "https://github.com/axboe/fio") (home-page "https://github.com/axboe/fio")
(synopsis "Flexible I/O tester") (synopsis "Flexible I/O tester")
(description (description

View File

@ -468,6 +468,47 @@ frames} (ORFs) using ribosome profiling (ribo-seq) data. This package
provides the Ribotaper pipeline.") provides the Ribotaper pipeline.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public ribodiff
(package
(name "ribodiff")
(version "0.2.2")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/ratschlab/RiboDiff/"
"archive/v" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0wpbwmfv05wdjxv7ikm664f7s7p7cqr8jnw99zrda0q67rl50aaj"))))
(build-system python-build-system)
(arguments
`(#:python ,python-2
#:phases
(modify-phases %standard-phases
;; Generate an installable executable script wrapper.
(add-after 'unpack 'patch-setup.py
(lambda _
(substitute* "setup.py"
(("^(.*)packages=.*" line prefix)
(string-append line "\n"
prefix "scripts=['scripts/TE.py'],\n")))
#t)))))
(inputs
`(("python-numpy" ,python2-numpy)
("python-matplotlib" ,python2-matplotlib)
("python-scipy" ,python2-scipy)
("python-statsmodels" ,python2-statsmodels)))
(home-page "http://public.bmi.inf.ethz.ch/user/zhongy/RiboDiff/")
(synopsis "Detect translation efficiency changes from ribosome footprints")
(description "RiboDiff is a statistical tool that detects the protein
translational efficiency change from Ribo-Seq (ribosome footprinting) and
RNA-Seq data. It uses a generalized linear model to detect genes showing
difference in translational profile taking mRNA abundance into account. It
facilitates us to decipher the translational regulation that behave
independently with transcriptional regulation.")
(license license:gpl3+)))
(define-public bioawk (define-public bioawk
(package (package
(name "bioawk") (name "bioawk")
@ -2010,7 +2051,7 @@ identify enrichments with functional annotations of the genome.")
(define-public diamond (define-public diamond
(package (package
(name "diamond") (name "diamond")
(version "0.8.31") (version "0.8.34")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -2019,7 +2060,7 @@ identify enrichments with functional annotations of the genome.")
(file-name (string-append name "-" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0nh79f4rpgq8vmlga743r7vd0z0ik6spy34f7vfq0v9lcmvfr7xq")))) "0jvr34g346gbz7z1zb9bs0vplivm9p4cxk0lbzklvdpa7g236p39"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
'(#:tests? #f ; no "check" target '(#:tests? #f ; no "check" target
@ -2726,6 +2767,69 @@ several alignment strategies enable effective alignment of RNA-seq reads, in
particular, reads spanning multiple exons.") particular, reads spanning multiple exons.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public hisat2
(package
(name "hisat2")
(version "2.0.5")
(source
(origin
(method url-fetch)
;; FIXME: a better source URL is
;; (string-append "ftp://ftp.ccb.jhu.edu/pub/infphilo/hisat2"
;; "/downloads/hisat2-" version "-source.zip")
;; with hash "0lywnr8kijwsc2aw10dwxic0n0yvip6fl3rjlvc8zzwahamy4x7g"
;; but it is currently unavailable.
(uri "https://github.com/infphilo/hisat2/archive/cba6e8cb.tar.gz")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1mf2hdsyv7cd97xm9mp9a4qws02yrj95y6w6f6cdwnq0klp81r50"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no check target
#:make-flags (list "CC=gcc" "CXX=g++" "allall")
#:modules ((guix build gnu-build-system)
(guix build utils)
(srfi srfi-26))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'make-deterministic
(lambda _
(substitute* "Makefile"
(("`date`") "0"))
#t))
(delete 'configure)
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin/"))
(doc (string-append out "/share/doc/hisat2/")))
(for-each
(cut install-file <> bin)
(find-files "."
"hisat2(-(build|align|inspect)(-(s|l)(-debug)*)*)*$"))
(mkdir-p doc)
(install-file "doc/manual.inc.html" doc))
#t)))))
(native-inputs
`(("unzip" ,unzip) ; needed for archive from ftp
("perl" ,perl)
("pandoc" ,ghc-pandoc))) ; for documentation
(home-page "http://ccb.jhu.edu/software/hisat2/index.shtml")
(synopsis "Graph-based alignment of genomic sequencing reads")
(description "HISAT2 is a fast and sensitive alignment program for mapping
next-generation sequencing reads (both DNA and RNA) to a population of human
genomes (as well as to a single reference genome). In addition to using one
global @dfn{graph FM} (GFM) index that represents a population of human
genomes, HISAT2 uses a large set of small GFM indexes that collectively cover
the whole genome. These small indexes, combined with several alignment
strategies, enable rapid and accurate alignment of sequencing reads. This new
indexing scheme is called a @dfn{Hierarchical Graph FM index} (HGFM).")
;; HISAT2 contains files from Bowtie2, which is released under
;; GPLv2 or later. The HISAT2 source files are released under
;; GPLv3 or later.
(license license:gpl3+)))
(define-public hmmer (define-public hmmer
(package (package
(name "hmmer") (name "hmmer")
@ -3383,7 +3487,6 @@ that a read originated from a particular isoform.")
(version "3.8.1551") (version "3.8.1551")
(source (origin (source (origin
(method url-fetch/tarbomb) (method url-fetch/tarbomb)
(file-name (string-append name "-" version))
(uri (string-append (uri (string-append
"http://www.drive5.com/muscle/muscle_src_" "http://www.drive5.com/muscle/muscle_src_"
version ".tar.gz")) version ".tar.gz"))
@ -5148,17 +5251,41 @@ sequence.")
(supported-systems '("i686-linux" "x86_64-linux")) (supported-systems '("i686-linux" "x86_64-linux"))
(license license:bsd-3))) (license license:bsd-3)))
(define-public r-centipede
(package
(name "r-centipede")
(version "1.2")
(source (origin
(method url-fetch)
(uri (string-append "http://download.r-forge.r-project.org/"
"src/contrib/CENTIPEDE_" version ".tar.gz"))
(sha256
(base32
"1hsx6qgwr0i67fhy9257zj7s0ppncph2hjgbia5nn6nfmj0ax6l9"))))
(build-system r-build-system)
(home-page "http://centipede.uchicago.edu/")
(synopsis "Predict transcription factor binding sites")
(description
"CENTIPEDE applies a hierarchical Bayesian mixture model to infer regions
of the genome that are bound by particular transcription factors. It starts
by identifying a set of candidate binding sites, and then aims to classify the
sites according to whether each site is bound or not bound by a transcription
factor. CENTIPEDE is an unsupervised learning algorithm that discriminates
between two different types of motif instances using as much relevant
information as possible.")
(license (list license:gpl2+ license:gpl3+))))
(define-public r-vegan (define-public r-vegan
(package (package
(name "r-vegan") (name "r-vegan")
(version "2.4-1") (version "2.4-2")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "vegan" version)) (uri (cran-uri "vegan" version))
(sha256 (sha256
(base32 (base32
"0i0c7rc0nzgbysd1nlxzxd2rvy75qcnw3yc7nggzqjzzj5d7yzsd")))) "12wf64izrpq9z3ix7mgm5421mq0xsm8dw5qblvcrz452nfhjf5w9"))))
(build-system r-build-system) (build-system r-build-system)
(arguments (arguments
`(#:phases `(#:phases
@ -5610,7 +5737,7 @@ track. The database is exposed as a @code{TxDb} object.")
(define-public vsearch (define-public vsearch
(package (package
(name "vsearch") (name "vsearch")
(version "2.3.4") (version "2.4.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -5620,31 +5747,12 @@ track. The database is exposed as a @code{TxDb} object.")
(file-name (string-append name "-" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1xyraxmhyx62mxx8z7c8waygvcijwkh48ms1ar60w2cv2y2sn4al")) "007q9a50hdw4vs2iajabvbw7qccml4r8cbqzyi5ipkkf42jk3vnr"))
(modules '((guix build utils))) (patches (search-patches "vsearch-unbundle-cityhash.patch"))
(snippet (snippet
'(begin '(begin
;; Remove bundled cityhash and '-mtune=native'. ;; Remove bundled cityhash sources. The vsearch source is adjusted
(substitute* "src/Makefile.am" ;; for this in the patch.
(("^AM_CXXFLAGS=-I\\$\\{srcdir\\}/cityhash \
-O3 -mtune=native -Wall -Wsign-compare")
(string-append "AM_CXXFLAGS=-lcityhash"
" -O3 -Wall -Wsign-compare"))
(("^__top_builddir__bin_vsearch_SOURCES = city.h \\\\")
"__top_builddir__bin_vsearch_SOURCES = \\")
(("^city.h \\\\") "\\")
(("^citycrc.h \\\\") "\\")
(("^libcityhash_a.*") "")
(("noinst_LIBRARIES = libcpu_sse2.a libcpu_ssse3.a \
libcityhash.a")
"noinst_LIBRARIES = libcpu_sse2.a libcpu_ssse3.a")
(("__top_builddir__bin_vsearch_LDADD = libcpu_ssse3.a \
libcpu_sse2.a libcityhash.a")
"__top_builddir__bin_vsearch_LDADD = libcpu_ssse3.a \
libcpu_sse2.a -lcityhash"))
(substitute* "src/vsearch.h"
(("^\\#include \"city.h\"") "#include <city.h>")
(("^\\#include \"citycrc.h\"") "#include <citycrc.h>"))
(delete-file "src/city.h") (delete-file "src/city.h")
(delete-file "src/citycrc.h") (delete-file "src/citycrc.h")
(delete-file "src/city.cc") (delete-file "src/city.cc")
@ -6186,7 +6294,8 @@ names in their natural, rather than lexicographic, order.")
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
`(("r-limma" ,r-limma) `(("r-limma" ,r-limma)
("r-locfit" ,r-locfit))) ("r-locfit" ,r-locfit)
("r-statmod" ,r-statmod))) ;for estimateDisp
(home-page "http://bioinf.wehi.edu.au/edgeR") (home-page "http://bioinf.wehi.edu.au/edgeR")
(synopsis "EdgeR does empirical analysis of digital gene expression data") (synopsis "EdgeR does empirical analysis of digital gene expression data")
(description "This package can do differential expression analysis of (description "This package can do differential expression analysis of
@ -6746,6 +6855,37 @@ dependencies between GO terms can be implemented and applied.")
genome data packages and support for efficient SNP representation.") genome data packages and support for efficient SNP representation.")
(license license:artistic2.0))) (license license:artistic2.0)))
(define-public r-bsgenome-hsapiens-1000genomes-hs37d5
(package
(name "r-bsgenome-hsapiens-1000genomes-hs37d5")
(version "0.99.1")
(source (origin
(method url-fetch)
;; We cannot use bioconductor-uri here because this tarball is
;; located under "data/annotation/" instead of "bioc/".
(uri (string-append "http://www.bioconductor.org/packages/"
"release/data/annotation/src/contrib/"
"BSgenome.Hsapiens.1000genomes.hs37d5_"
version ".tar.gz"))
(sha256
(base32
"1cg0g5fqmsvwyw2p9hp2yy4ilk21jkbbrnpgqvb5c36ihjwvc7sr"))))
(properties
`((upstream-name . "BSgenome.Hsapiens.1000genomes.hs37d5")))
(build-system r-build-system)
;; As this package provides little more than a very large data file it
;; doesn't make sense to build substitutes.
(arguments `(#:substitutable? #f))
(propagated-inputs
`(("r-bsgenome" ,r-bsgenome)))
(home-page
"http://www.bioconductor.org/packages/BSgenome.Hsapiens.1000genomes.hs37d5/")
(synopsis "Full genome sequences for Homo sapiens")
(description
"This package provides full genome sequences for Homo sapiens from
1000genomes phase2 reference genome sequence (hs37d5), based on NCBI GRCh37.")
(license license:artistic2.0)))
(define-public r-impute (define-public r-impute
(package (package
(name "r-impute") (name "r-impute")
@ -7630,6 +7770,71 @@ for DNA and protein sequences. This package supports several sequence
kernels, including: gkmSVM, kmer-SVM, mismatch kernel and wildcard kernel.") kernels, including: gkmSVM, kmer-SVM, mismatch kernel and wildcard kernel.")
(license license:gpl2+))) (license license:gpl2+)))
(define-public r-tximport
(package
(name "r-tximport")
(version "1.2.0")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "tximport" version))
(sha256
(base32
"1k5a7dad6zqg936s17f6cmwgqp11x24z9zhxndsgwbscgpyhpcb0"))))
(build-system r-build-system)
(home-page "http://bioconductor.org/packages/tximport")
(synopsis "Import and summarize transcript-level estimates for gene-level analysis")
(description
"This package provides tools to import transcript-level abundance,
estimated counts and transcript lengths, and to summarize them into matrices
for use with downstream gene-level analysis packages. Average transcript
length, weighted by sample-specific transcript abundance estimates, is
provided as a matrix which can be used as an offset for different expression
of gene-level counts.")
(license license:gpl2+)))
(define-public r-rhdf5
(package
(name "r-rhdf5")
(version "2.18.0")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "rhdf5" version))
(sha256
(base32
"0pb04li55ysag30s7rap7nnivc0rqmgsmpj43kin0rxdabfn1w0k"))))
(build-system r-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'unpack-smallhdf5
(lambda* (#:key outputs #:allow-other-keys)
(system* "tar" "-xzvf"
"src/hdf5source/hdf5small.tgz" "-C" "src/" )
(substitute* "src/Makevars"
(("^.*cd hdf5source &&.*$") "")
(("^.*gunzip -dc hdf5small.tgz.*$") "")
(("^.*rm -rf hdf5.*$") "")
(("^.*mv hdf5source/hdf5 ..*$") ""))
(substitute* "src/hdf5/configure"
(("/bin/mv") "mv"))
#t)))))
(propagated-inputs
`(("r-zlibbioc" ,r-zlibbioc)))
(inputs
`(("perl" ,perl)
("zlib" ,zlib)))
(home-page "http://bioconductor.org/packages/rhdf5")
(synopsis "HDF5 interface to R")
(description
"This R/Bioconductor package provides an interface between HDF5 and R.
HDF5's main features are the ability to store and access very large and/or
complex datasets and a wide variety of metadata on mass storage (disk) through
a completely portable file format. The rhdf5 package is thus suited for the
exchange of large and/or complex datasets between R and other software
package, and for letting R applications work on datasets that are larger than
the available RAM.")
(license license:artistic2.0)))
(define-public emboss (define-public emboss
(package (package
(name "emboss") (name "emboss")
@ -7885,7 +8090,9 @@ replacement for strverscmp.")
("python-pyyaml" ,python-pyyaml) ("python-pyyaml" ,python-pyyaml)
("python-click" ,python-click) ("python-click" ,python-click)
("python-matplotlib" ,python-matplotlib) ("python-matplotlib" ,python-matplotlib)
("python-numpy" ,python-numpy))) ("python-numpy" ,python-numpy)
;; MultQC checks for the presence of nose at runtime.
("python-nose" ,python-nose)))
(home-page "http://multiqc.info") (home-page "http://multiqc.info")
(synopsis "Aggregate bioinformatics analysis reports") (synopsis "Aggregate bioinformatics analysis reports")
(description (description
@ -7984,3 +8191,382 @@ immunoprecipitation and target enrichment on small gene panels. Thereby,
CopywriteR constitutes a widely applicable alternative to available copy CopywriteR constitutes a widely applicable alternative to available copy
number detection tools.") number detection tools.")
(license license:gpl2))) (license license:gpl2)))
(define-public r-sva
(package
(name "r-sva")
(version "3.22.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "sva" version))
(sha256
(base32
"1wc1fjm6dzlsqqagm43y57w8jh8nsh0r0m8z1p6ximcb5gxqh7hn"))))
(build-system r-build-system)
(propagated-inputs
`(("r-genefilter" ,r-genefilter)))
(home-page "http://bioconductor.org/packages/sva")
(synopsis "Surrogate variable analysis")
(description
"This package contains functions for removing batch effects and other
unwanted variation in high-throughput experiment. It also contains functions
for identifying and building surrogate variables for high-dimensional data
sets. Surrogate variables are covariates constructed directly from
high-dimensional data like gene expression/RNA sequencing/methylation/brain
imaging data that can be used in subsequent analyses to adjust for unknown,
unmodeled, or latent sources of noise.")
(license license:artistic2.0)))
(define-public r-seqminer
(package
(name "r-seqminer")
(version "5.3")
(source
(origin
(method url-fetch)
(uri (cran-uri "seqminer" version))
(sha256
(base32
"0y0gc5lws3hdxasjb84m532ics6imb7qg9sl1zy62h503jh4j9gw"))))
(build-system r-build-system)
(inputs
`(("zlib" ,zlib)))
(home-page "http://seqminer.genomic.codes")
(synopsis "Read nucleotide sequence data (VCF, BCF, and METAL formats)")
(description
"This package provides tools to integrate nucleotide sequencing
data (variant call format, e.g. VCF or BCF) or meta-analysis results in R.")
;; Any version of the GPL is acceptable
(license (list license:gpl2+ license:gpl3+))))
(define-public r-raremetals2
(package
(name "r-raremetals2")
(version "0.1")
(source
(origin
(method url-fetch)
(uri (string-append "http://genome.sph.umich.edu/w/images/"
"b/b7/RareMETALS2_" version ".tar.gz"))
(sha256
(base32
"0z5ljcgvnm06ja9lm85a3cniq7slxcy37aqqkxrdidr79an5fs4s"))))
(properties `((upstream-name . "RareMETALS2")))
(build-system r-build-system)
(propagated-inputs
`(("r-seqminer" ,r-seqminer)
("r-mvtnorm" ,r-mvtnorm)
("r-compquadform" ,r-compquadform)
("r-getopt" ,r-getopt)))
(home-page "http://genome.sph.umich.edu/wiki/RareMETALS2")
(synopsis "Analyze gene-level association tests for binary trait")
(description
"The R package rareMETALS2 is an extension of the R package rareMETALS.
It was designed to meta-analyze gene-level association tests for binary trait.
While rareMETALS offers a near-complete solution for meta-analysis of
gene-level tests for quantitative trait, it does not offer the optimal
solution for binary trait. The package rareMETALS2 offers improved features
for analyzing gene-level association tests in meta-analyses for binary
trait.")
(license license:gpl3)))
(define-public r-maldiquant
(package
(name "r-maldiquant")
(version "1.16")
(source
(origin
(method url-fetch)
(uri (cran-uri "MALDIquant" version))
(sha256
(base32
"067xbmy10mpsvmv77g62chd7wwhdhcfn5hmp5fisbnz2h5rq0q60"))))
(properties `((upstream-name . "MALDIquant")))
(build-system r-build-system)
(home-page "http://cran.r-project.org/web/packages/MALDIquant")
(synopsis "Quantitative analysis of mass spectrometry data")
(description
"This package provides a complete analysis pipeline for matrix-assisted
laser desorption/ionization-time-of-flight (MALDI-TOF) and other
two-dimensional mass spectrometry data. In addition to commonly used plotting
and processing methods it includes distinctive features, namely baseline
subtraction methods such as morphological filters (TopHat) or the
statistics-sensitive non-linear iterative peak-clipping algorithm (SNIP), peak
alignment using warping functions, handling of replicated measurements as well
as allowing spectra with different resolutions.")
(license license:gpl3+)))
(define-public r-protgenerics
(package
(name "r-protgenerics")
(version "1.6.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "ProtGenerics" version))
(sha256
(base32
"0hb3vrrvfx6lcfalmjxm8dmigfmi5nba0pzjfgsrzd35c8mbfc6f"))))
(properties `((upstream-name . "ProtGenerics")))
(build-system r-build-system)
(home-page "https://github.com/lgatto/ProtGenerics")
(synopsis "S4 generic functions for proteomics infrastructure")
(description
"This package provides S4 generic functions needed by Bioconductor
proteomics packages.")
(license license:artistic2.0)))
(define-public r-mzr
(package
(name "r-mzr")
(version "2.8.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "mzR" version))
(sha256
(base32
"0ipmhg6l3pf648rdx5g2ha7l5ppd3cja6afxhdw76x8ga3633x0r"))))
(properties `((upstream-name . "mzR")))
(build-system r-build-system)
(inputs
`(("netcdf" ,netcdf)))
(propagated-inputs
`(("r-biobase" ,r-biobase)
("r-biocgenerics" ,r-biocgenerics)
("r-protgenerics" ,r-protgenerics)
("r-rcpp" ,r-rcpp)
("r-zlibbioc" ,r-zlibbioc)))
(home-page "https://github.com/sneumann/mzR/")
(synopsis "Parser for mass spectrometry data files")
(description
"The mzR package provides a unified API to the common file formats and
parsers available for mass spectrometry data. It comes with a wrapper for the
ISB random access parser for mass spectrometry mzXML, mzData and mzML files.
The package contains the original code written by the ISB, and a subset of the
proteowizard library for mzML and mzIdentML. The netCDF reading code has
previously been used in XCMS.")
(license license:artistic2.0)))
(define-public r-affyio
(package
(name "r-affyio")
(version "1.44.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "affyio" version))
(sha256
(base32
"1svsl4mpk06xm505pap913x69ywks99262krag8y4ygpllj7dfyy"))))
(build-system r-build-system)
(propagated-inputs
`(("r-zlibbioc" ,r-zlibbioc)))
(inputs
`(("zlib" ,zlib)))
(home-page "https://github.com/bmbolstad/affyio")
(synopsis "Tools for parsing Affymetrix data files")
(description
"This package provides routines for parsing Affymetrix data files based
upon file format information. The primary focus is on accessing the CEL and
CDF file formats.")
(license license:lgpl2.0+)))
(define-public r-affy
(package
(name "r-affy")
(version "1.52.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "affy" version))
(sha256
(base32
"1snq71ligf0wvaxa6zfrl13ydw0zfhspmhdyfk8q3ba3np4cz344"))))
(build-system r-build-system)
(propagated-inputs
`(("r-affyio" ,r-affyio)
("r-biobase" ,r-biobase)
("r-biocgenerics" ,r-biocgenerics)
("r-biocinstaller" ,r-biocinstaller)
("r-preprocesscore" ,r-preprocesscore)
("r-zlibbioc" ,r-zlibbioc)))
(home-page "http://bioconductor.org/packages/affy")
(synopsis "Methods for affymetrix oligonucleotide arrays")
(description
"This package contains functions for exploratory oligonucleotide array
analysis.")
(license license:lgpl2.0+)))
(define-public r-vsn
(package
(name "r-vsn")
(version "3.42.3")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "vsn" version))
(sha256
(base32
"0mgl0azys2g90simf8wx6jdwd7gyg3m4pf12n6w6507jixm2cg97"))))
(build-system r-build-system)
(propagated-inputs
`(("r-affy" ,r-affy)
("r-biobase" ,r-biobase)
("r-ggplot2" ,r-ggplot2)
("r-limma" ,r-limma)))
(home-page "http://bioconductor.org/packages/release/bioc/html/vsn.html")
(synopsis "Variance stabilization and calibration for microarray data")
(description
"The package implements a method for normalising microarray intensities,
and works for single- and multiple-color arrays. It can also be used for data
from other technologies, as long as they have similar format. The method uses
a robust variant of the maximum-likelihood estimator for an
additive-multiplicative error model and affine calibration. The model
incorporates data calibration step (a.k.a. normalization), a model for the
dependence of the variance on the mean intensity and a variance stabilizing
data transformation. Differences between transformed intensities are
analogous to \"normalized log-ratios\". However, in contrast to the latter,
their variance is independent of the mean, and they are usually more sensitive
and specific in detecting differential transcription.")
(license license:artistic2.0)))
(define-public r-mzid
(package
(name "r-mzid")
(version "1.12.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "mzID" version))
(sha256
(base32
"1zn896cpfvqp1qmq5c4vcj933hb8rxwb6gkck1wqvr7393rpqy1q"))))
(properties `((upstream-name . "mzID")))
(build-system r-build-system)
(propagated-inputs
`(("r-doparallel" ,r-doparallel)
("r-foreach" ,r-foreach)
("r-iterators" ,r-iterators)
("r-plyr" ,r-plyr)
("r-protgenerics" ,r-protgenerics)
("r-rcpp" ,r-rcpp)
("r-xml" ,r-xml)))
(home-page "http://bioconductor.org/packages/mzID")
(synopsis "Parser for mzIdentML files")
(description
"This package provides a parser for mzIdentML files implemented using the
XML package. The parser tries to be general and able to handle all types of
mzIdentML files with the drawback of having less pretty output than a vendor
specific parser.")
(license license:gpl2+)))
(define-public r-pcamethods
(package
(name "r-pcamethods")
(version "1.66.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "pcaMethods" version))
(sha256
(base32
"18mawhxw57pgpn87qha4mwki24gqja7wpqha8q496476vyap11xw"))))
(properties `((upstream-name . "pcaMethods")))
(build-system r-build-system)
(propagated-inputs
`(("r-biobase" ,r-biobase)
("r-biocgenerics" ,r-biocgenerics)
("r-rcpp" ,r-rcpp)))
(home-page "https://github.com/hredestig/pcamethods")
(synopsis "Collection of PCA methods")
(description
"This package provides Bayesian PCA, Probabilistic PCA, Nipals PCA,
Inverse Non-Linear PCA and the conventional SVD PCA. A cluster based method
for missing value estimation is included for comparison. BPCA, PPCA and
NipalsPCA may be used to perform PCA on incomplete data as well as for
accurate missing value estimation. A set of methods for printing and plotting
the results is also provided. All PCA methods make use of the same data
structure (pcaRes) to provide a common interface to the PCA results.")
(license license:gpl3+)))
(define-public r-msnbase
(package
(name "r-msnbase")
(version "2.0.2")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "MSnbase" version))
(sha256
(base32
"0jjjs29dcwsjaxzfqxy98ycpg3rwxzzchkj77my3cjgdc00sm66n"))))
(properties `((upstream-name . "MSnbase")))
(build-system r-build-system)
(propagated-inputs
`(("r-affy" ,r-affy)
("r-biobase" ,r-biobase)
("r-biocgenerics" ,r-biocgenerics)
("r-biocparallel" ,r-biocparallel)
("r-digest" ,r-digest)
("r-ggplot2" ,r-ggplot2)
("r-impute" ,r-impute)
("r-iranges" ,r-iranges)
("r-maldiquant" ,r-maldiquant)
("r-mzid" ,r-mzid)
("r-mzr" ,r-mzr)
("r-pcamethods" ,r-pcamethods)
("r-plyr" ,r-plyr)
("r-preprocesscore" ,r-preprocesscore)
("r-protgenerics" ,r-protgenerics)
("r-rcpp" ,r-rcpp)
("r-reshape2" ,r-reshape2)
("r-s4vectors" ,r-s4vectors)
("r-vsn" ,r-vsn)
("r-xml" ,r-xml)))
(home-page "https://github.com/lgatto/MSnbase")
(synopsis "Base functions and classes for MS-based proteomics")
(description
"This package provides basic plotting, data manipulation and processing
of mass spectrometry based proteomics data.")
(license license:artistic2.0)))
(define-public r-msnid
(package
(name "r-msnid")
(version "1.8.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "MSnID" version))
(sha256
(base32
"0fkk3za39cxi0jyxmagmycjdslr2xf6vg3ylz14jyffqi0blw9d5"))))
(properties `((upstream-name . "MSnID")))
(build-system r-build-system)
(propagated-inputs
`(("r-biobase" ,r-biobase)
("r-data-table" ,r-data-table)
("r-doparallel" ,r-doparallel)
("r-dplyr" ,r-dplyr)
("r-foreach" ,r-foreach)
("r-iterators" ,r-iterators)
("r-msnbase" ,r-msnbase)
("r-mzid" ,r-mzid)
("r-mzr" ,r-mzr)
("r-protgenerics" ,r-protgenerics)
("r-r-cache" ,r-r-cache)
("r-rcpp" ,r-rcpp)
("r-reshape2" ,r-reshape2)))
(home-page "http://bioconductor.org/packages/MSnID")
(synopsis "Utilities for LC-MSn proteomics identifications")
(description
"This package extracts @dfn{tandem mass spectrometry} (MS/MS) ID data
from mzIdentML (leveraging the mzID package) or text files. After collating
the search results from multiple datasets it assesses their identification
quality and optimize filtering criteria to achieve the maximum number of
identifications while not exceeding a specified false discovery rate. It also
contains a number of utilities to explore the MS/MS results and assess missed
and irregular enzymatic cleavages, mass measurement accuracy, etc.")
(license license:artistic2.0)))

View File

@ -2,9 +2,11 @@
;;; Copyright © 2014 Taylan Ulrich Bayirli/Kammer <taylanbayirli@gmail.com> ;;; Copyright © 2014 Taylan Ulrich Bayirli/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016 Leo Famulari <leo@famulari.name> ;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Tomáš Čech <sleep_walker@gnu.org> ;;; Copyright © 2016 Tomáš Čech <sleep_walker@gnu.org>
;;; Copyright © 2016 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2016 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Jelle Licht <jlicht@fsfe.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -24,11 +26,13 @@
(define-module (gnu packages bittorrent) (define-module (gnu packages bittorrent)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system python) #:use-module (guix build-system python)
#:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system glib-or-gtk)
#:use-module ((guix licenses) #:prefix l:) #:use-module ((guix licenses) #:prefix l:)
#:use-module (gnu packages adns) #:use-module (gnu packages adns)
#:use-module (gnu packages boost)
#:use-module (gnu packages check) #:use-module (gnu packages check)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages crypto) #:use-module (gnu packages crypto)
@ -170,6 +174,49 @@ XML-RPC over SCGI.")
(home-page "https://github.com/rakshasa/rtorrent") (home-page "https://github.com/rakshasa/rtorrent")
(license l:gpl2+))) (license l:gpl2+)))
(define-public tremc
(let ((commit "401f2303c9b5a6e2e7b0808617d794576d4aa29e")
(revision "0"))
(package
(name "tremc")
(version (string-append "0.9.0-" revision "." (string-take commit 7)))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/louipc/tremc.git")
(commit commit)))
(sha256
(base32
"1h2720zn35iggmf9av65g119b0bhskwm1ng0zbkjryaf38nfzpin"))))
(build-system python-build-system)
(arguments
`(#:tests? #f ; no test suite
#:phases
(modify-phases %standard-phases
;; The software is just a Python script that must be
;; copied into place.
(delete 'build)
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(man (string-append out "/share/man/man1"))
;; FIXME install zsh completions
(completions (string-append out "/etc/bash_completion.d")))
(install-file "tremc" bin)
(install-file "tremc.1" man)
(install-file
(string-append
"completion/bash/"
"transmission-remote-cli-bash-completion.sh")
completions)))))))
(synopsis "Console client for the Transmission BitTorrent daemon")
(description "Tremc is a console client, with a curses interface, for the
Transmission BitTorrent daemon.")
(home-page "https://github.com/louipc/tremc")
(license l:gpl3+))))
(define-public transmission-remote-cli (define-public transmission-remote-cli
(package (package
(name "transmission-remote-cli") (name "transmission-remote-cli")
@ -207,9 +254,11 @@ XML-RPC over SCGI.")
completions))))))) completions)))))))
(synopsis "Console client for the Transmission BitTorrent daemon") (synopsis "Console client for the Transmission BitTorrent daemon")
(description "Transmission-remote-cli is a console client, with a curses (description "Transmission-remote-cli is a console client, with a curses
interface, for the Transmission BitTorrent daemon.") interface, for the Transmission BitTorrent daemon. This package is no longer
maintained upstream.")
(home-page "https://github.com/fagga/transmission-remote-cli") (home-page "https://github.com/fagga/transmission-remote-cli")
(license l:gpl3+))) (license l:gpl3+)
(properties `((superseded . ,tremc)))))
(define-public aria2 (define-public aria2
(package (package
@ -326,3 +375,41 @@ the distributed hash table (DHT) and Peer Exchange. Hashing is multi-threaded
and will take advantage of multiple processor cores where possible.") and will take advantage of multiple processor cores where possible.")
(license (list l:public-domain ; sha1.*, used to build without OpenSSL (license (list l:public-domain ; sha1.*, used to build without OpenSSL
l:gpl2+)))) ; with permission to link with OpenSSL l:gpl2+)))) ; with permission to link with OpenSSL
(define-public libtorrent-rasterbar
(package
(name "libtorrent-rasterbar")
(version "1.0.10")
(source (origin
(method url-fetch)
(uri
(string-append
"https://github.com/arvidn/libtorrent/releases/download/libtorrent-"
"1_0_10" "/libtorrent-rasterbar-" version ".tar.gz"))
(sha256
(base32
"0gjcr892hzmcngvpw5bycjci4dk49v763lsnpvbwsjmim2ncwrd8"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
(list (string-append "--with-boost-libdir="
(assoc-ref %build-inputs "boost")
"/lib")
"--enable-python-binding"
"--enable-tests")
#:make-flags (list
(string-append "LDFLAGS=-Wl,-rpath="
(assoc-ref %outputs "out") "/lib"))))
(inputs `(("boost" ,boost)
("openssl" ,openssl)))
(native-inputs `(("python" ,python-2)
("pkg-config" ,pkg-config)))
(home-page "http://www.rasterbar.com/products/libtorrent/")
(synopsis "Feature complete BitTorrent implementation")
(description
"libtorrent-rasterbar is a feature complete C++ BitTorrent implementation
focusing on efficiency and scalability. It runs on embedded devices as well as
desktops.")
(license l:bsd-2)))

View File

@ -0,0 +1,332 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2016, 2017 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2016, 2017 Danny Milosavljevic <dannym@scratchpost.org>
;;; Copyright © 2016, 2017 David Craven <david@craven.ch>
;;;
;;; 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 bootloaders)
#:use-module (gnu packages)
#:use-module (gnu packages admin)
#:use-module ((gnu packages algebra) #:select (bc))
#:use-module (gnu packages assembly)
#:use-module (gnu packages flex)
#:use-module (gnu packages disk)
#:use-module (gnu packages bison)
#:use-module (gnu packages cdrom)
#:use-module (gnu packages cross-base)
#:use-module (gnu packages disk)
#:use-module (gnu packages flex)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages gettext)
#:use-module (gnu packages linux)
#:use-module (gnu packages man)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages perl)
#:use-module (gnu packages python)
#:use-module (gnu packages qemu)
#:use-module (gnu packages texinfo)
#:use-module (guix build-system gnu)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix utils))
(define unifont
;; GNU Unifont, <http://gnu.org/s/unifont>.
;; GRUB needs it for its graphical terminal, gfxterm.
(origin
(method url-fetch)
(uri
"http://unifoundry.com/pub/unifont-7.0.06/font-builds/unifont-7.0.06.bdf.gz")
(sha256
(base32
"0p2vhnc18cnbmb39vq4m7hzv4mhnm2l0a2s7gx3ar277fwng3hys"))))
(define-public grub
(package
(name "grub")
(version "2.02rc1")
(source (origin
(method url-fetch)
(uri (string-append
"ftp://alpha.gnu.org/gnu/grub/grub-"
"2.02~rc1"
".tar.xz"))
(file-name (string-append name "-" version ".tar.xz"))
(sha256
(base32
"0y02v19x9sb5jvj740f604vvi5j1rx8pily1jk0l64bdp7lkjlj4"))))
(build-system gnu-build-system)
(arguments
'(#:phases (modify-phases %standard-phases
(add-after 'unpack 'patch-stuff
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "grub-core/Makefile.in"
(("/bin/sh") (which "sh")))
;; Give the absolute file name of 'mdadm', used to
;; determine the root file system when it's a RAID
;; device. Failing to do that, 'grub-probe' silently
;; fails if 'mdadm' is not in $PATH.
(substitute* "grub-core/osdep/linux/getroot.c"
(("argv\\[0\\] = \"mdadm\"")
(string-append "argv[0] = \""
(assoc-ref inputs "mdadm")
"/sbin/mdadm\"")))
;; Make the font visible.
(copy-file (assoc-ref inputs "unifont") "unifont.bdf.gz")
(system* "gunzip" "unifont.bdf.gz")
#t)))))
(inputs
`(("gettext" ,gettext-minimal)
;; Depend on LVM2 for libdevmapper, used by 'grub-probe' and
;; 'grub-install' to recognize mapped devices (LUKS, etc.)
("lvm2" ,lvm2)
;; Depend on mdadm, which is invoked by 'grub-probe' and 'grub-install'
;; to determine whether the root file system is RAID.
("mdadm" ,mdadm)
("freetype" ,freetype)
;; ("libusb" ,libusb)
;; ("fuse" ,fuse)
("ncurses" ,ncurses)))
(native-inputs
`(("unifont" ,unifont)
("bison" ,bison)
("flex" ,flex)
("texinfo" ,texinfo)
("help2man" ,help2man)
;; Dependencies for the test suite. The "real" QEMU is needed here,
;; because several targets are used.
("parted" ,parted)
("qemu" ,qemu-minimal)
("xorriso" ,xorriso)))
(home-page "https://www.gnu.org/software/grub/")
(synopsis "GRand Unified Boot loader")
(description
"GRUB is a multiboot bootloader. It is used for initially loading the
kernel of an operating system and then transferring control to it. The kernel
then goes on to load the rest of the operating system. As a multiboot
bootloader, GRUB handles the presence of multiple operating systems installed
on the same computer; upon booting the computer, the user is presented with a
menu to select one of the installed operating systems.")
(license license:gpl3+)
(properties '((cpe-name . "grub2")))))
(define-public grub-efi
(package
(inherit grub)
(name "grub-efi")
(synopsis "GRand Unified Boot loader (UEFI version)")
(inputs
`(("efibootmgr" ,efibootmgr)
,@(package-inputs grub)))
(arguments
`(;; TODO: Tests need a UEFI firmware for qemu. There is one at
;; https://github.com/tianocore/edk2/tree/master/OvmfPkg .
;; Search for 'OVMF' in "tests/util/grub-shell.in".
#:tests? #f
,@(substitute-keyword-arguments (package-arguments grub)
((#:configure-flags flags ''())
`(cons "--with-platform=efi" ,flags))
((#:phases phases)
`(modify-phases ,phases
(add-after 'patch-stuff 'use-absolute-efibootmgr-path
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "grub-core/osdep/unix/platform.c"
(("efibootmgr")
(string-append (assoc-ref inputs "efibootmgr")
"/sbin/efibootmgr")))
#t)))))))))
(define-public syslinux
(let ((commit "bb41e935cc83c6242de24d2271e067d76af3585c"))
(package
(name "syslinux")
(version (git-version "6.04-pre" "1" commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/geneC/syslinux")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0k8dvafd6410kqxf3kyr4y8jzmpmrih6wbjqg6gklak7945yflrc"))))
(build-system gnu-build-system)
(native-inputs
`(("nasm" ,nasm)
("perl" ,perl)
("python-2" ,python-2)))
(inputs
`(("libuuid" ,util-linux)))
(arguments
`(#:parallel-build? #f
#:make-flags
(list (string-append "BINDIR=" %output "/bin")
(string-append "SBINDIR=" %output "/sbin")
(string-append "LIBDIR=" %output "/lib")
(string-append "INCDIR=" %output "/include")
(string-append "DATADIR=" %output "/share")
(string-append "MANDIR=" %output "/share/man")
"PERL=perl"
"bios")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-files
(lambda _
(substitute* (find-files "." "Makefile.*|ppmtolss16")
(("/bin/pwd") (which "pwd"))
(("/bin/echo") (which "echo"))
(("/usr/bin/perl") (which "perl")))
#t))
(delete 'configure)
(add-before 'build 'set-permissions
(lambda _
(zero? (system* "chmod" "a+w" "utils/isohybrid.in"))))
(replace 'check
(lambda _
(setenv "CC" "gcc")
(substitute* "tests/unittest/include/unittest/unittest.h"
;; Don't look up headers under /usr.
(("/usr/include/") ""))
(zero? (system* "make" "unittest")))))))
(home-page "http://www.syslinux.org")
(synopsis "Lightweight Linux bootloader")
(description "Syslinux is a lightweight Linux bootloader.")
(license (list license:gpl2+
license:bsd-3 ; gnu-efi/*
license:bsd-4 ; gnu-efi/inc/* gnu-efi/lib/*
;; Also contains:
license:expat license:isc license:zlib)))))
(define-public dtc
(package
(name "dtc")
(version "1.4.2")
(source (origin
(method url-fetch)
(uri (string-append
"https://www.kernel.org/pub/software/utils/dtc/"
"dtc-" version ".tar.xz"))
(sha256
(base32
"1b7si8niyca4wxbfah3qw4p4wli81mc1qwfhaswvrfqahklnwi8k"))))
(build-system gnu-build-system)
(native-inputs
`(("bison" ,bison)
("flex" ,flex)))
(arguments
`(#:make-flags
(list "CC=gcc"
(string-append "PREFIX=" (assoc-ref %outputs "out"))
"INSTALL=install")
#:phases
(modify-phases %standard-phases
(delete 'configure))))
(home-page "https://www.devicetree.org")
(synopsis "Compiles device tree source files")
(description "@command{dtc} compiles
@uref{http://elinux.org/Device_Tree_Usage, device tree source files} to device
tree binary files. These are board description files used by Linux and BSD.")
(license license:gpl2+)))
(define u-boot
(package
(name "u-boot")
(version "2017.01")
(source (origin
(method url-fetch)
(uri (string-append
"ftp://ftp.denx.de/pub/u-boot/"
"u-boot-" version ".tar.bz2"))
(sha256
(base32
"1wpc51jm3zyibgcr78jng2yksqvrya76bxgsr4pcyjrsz5sm2hkc"))))
(native-inputs
`(("bc" ,bc)
("dtc" ,dtc)
("python-2" ,python-2)))
(build-system gnu-build-system)
(home-page "http://www.denx.de/wiki/U-Boot/")
(synopsis "ARM bootloader")
(description "U-Boot is a bootloader used mostly for ARM boards. It
also initializes the boards (RAM etc).")
(license license:gpl2+)))
(define (make-u-boot-package board triplet)
"Returns a u-boot package for BOARD cross-compiled for TRIPLET."
(package
(inherit u-boot)
(name (string-append "u-boot-" (string-downcase board)))
(native-inputs
`(("cross-gcc" ,(cross-gcc triplet))
("cross-binutils" ,(cross-binutils triplet))
,@(package-native-inputs u-boot)))
(arguments
`(#:modules ((ice-9 ftw) (guix build utils) (guix build gnu-build-system))
#:test-target "test"
#:make-flags
(list "HOSTCC=gcc" (string-append "CROSS_COMPILE=" ,triplet "-"))
#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key outputs make-flags #:allow-other-keys)
(let ((config-name (string-append ,board "_defconfig")))
(if (file-exists? (string-append "configs/" config-name))
(zero? (apply system* "make" `(,@make-flags ,config-name)))
(begin
(display "Invalid board name. Valid board names are:")
(let ((suffix-len (string-length "_defconfig")))
(scandir "configs"
(lambda (file-name)
(when (string-suffix? "_defconfig" file-name)
(format #t
"- ~A\n"
(string-drop-right file-name
suffix-len))))))
#f)))))
(replace 'install
(lambda* (#:key outputs make-flags #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(libexec (string-append out "/libexec"))
(uboot-files (find-files "." ".*\\.(bin|efi|spl)$")))
(mkdir-p libexec)
(for-each
(lambda (file)
(let ((target-file (string-append libexec "/" file)))
(mkdir-p (dirname target-file))
(copy-file file target-file)))
uboot-files)))))))))
(define-public u-boot-vexpress
(make-u-boot-package "vexpress_ca9x4" "arm-linux-gnueabihf"))
(define-public u-boot-malta
(make-u-boot-package "malta" "mips64el-linux-gnuabi64"))
(define-public u-boot-beagle-bone-black
(make-u-boot-package "am335x_boneblack" "arm-linux-gnueabihf"))

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
@ -28,7 +28,7 @@
#:use-module ((guix store) #:select (add-to-store add-text-to-store)) #:use-module ((guix store) #:select (add-to-store add-text-to-store))
#:use-module ((guix derivations) #:select (derivation)) #:use-module ((guix derivations) #:select (derivation))
#:use-module ((guix utils) #:select (gnu-triplet->nix-system)) #:use-module ((guix utils) #:select (gnu-triplet->nix-system))
#:use-module (guix combinators) #:use-module (guix memoization)
#:use-module (srfi srfi-1) #:use-module (srfi srfi-1)
#:use-module (srfi srfi-26) #:use-module (srfi srfi-26)
#:use-module (ice-9 match) #:use-module (ice-9 match)
@ -131,30 +131,29 @@ successful, or false to signal an error."
(license gpl3+))) (license gpl3+)))
(define package-with-bootstrap-guile (define package-with-bootstrap-guile
(memoize (mlambda (p)
(lambda (p)
"Return a variant of P such that all its origins are fetched with "Return a variant of P such that all its origins are fetched with
%BOOTSTRAP-GUILE." %BOOTSTRAP-GUILE."
(define rewritten-input (define rewritten-input
(match-lambda (match-lambda
((name (? origin? o)) ((name (? origin? o))
`(,name ,(bootstrap-origin o))) `(,name ,(bootstrap-origin o)))
((name (? package? p) sub-drvs ...) ((name (? package? p) sub-drvs ...)
`(,name ,(package-with-bootstrap-guile p) ,@sub-drvs)) `(,name ,(package-with-bootstrap-guile p) ,@sub-drvs))
(x x))) (x x)))
(package (inherit p) (package (inherit p)
(source (match (package-source p) (source (match (package-source p)
((? origin? o) (bootstrap-origin o)) ((? origin? o) (bootstrap-origin o))
(s s))) (s s)))
(inputs (map rewritten-input (inputs (map rewritten-input
(package-inputs p))) (package-inputs p)))
(native-inputs (map rewritten-input (native-inputs (map rewritten-input
(package-native-inputs p))) (package-native-inputs p)))
(propagated-inputs (map rewritten-input (propagated-inputs (map rewritten-input
(package-propagated-inputs p))) (package-propagated-inputs p)))
(replacement (and=> (package-replacement p) (replacement (and=> (package-replacement p)
package-with-bootstrap-guile)))))) package-with-bootstrap-guile)))))
(define* (glibc-dynamic-linker (define* (glibc-dynamic-linker
#:optional (system (or (and=> (%current-target-system) #:optional (system (or (and=> (%current-target-system)

View File

@ -84,14 +84,13 @@ data units.")
(define-public khal (define-public khal
(package (package
(name "khal") (name "khal")
(version "0.8.4") (version "0.9.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "khal" version)) (uri (pypi-uri "khal" version))
(patches (search-patches "khal-disable-failing-tests.patch"))
(sha256 (sha256
(base32 (base32
"03vy4dp9n43w51mwqjjy08dr5nj7wxqnb085visz3j43vzm42p1f")))) "15rxjphjp46lz7gbs39d1ajd9flnhmhqicjh9bjpx3yi5xx4iawr"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
`(#:phases (modify-phases %standard-phases `(#:phases (modify-phases %standard-phases

View File

@ -3,7 +3,7 @@
;;; Copyright © 2013, 2014 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2013, 2014 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com> ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org> ;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2015, 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Alex Kost <alezost@gmail.com> ;;; Copyright © 2016 Alex Kost <alezost@gmail.com>
;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com>
;;; ;;;
@ -294,7 +294,7 @@ from an audio CD.")
(define-public abcde (define-public abcde
(package (package
(name "abcde") (name "abcde")
(version "2.7.2") (version "2.8.1")
(home-page "https://abcde.einval.com/") (home-page "https://abcde.einval.com/")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
@ -302,7 +302,7 @@ from an audio CD.")
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1pakpi41k8yd780mfp0snhia6mmwjwxk9lcrq6gynimch8b8hfda")) "0f9bjs0phk23vry7gvh0cll9vl6kmc1y4fwwh762scfdvpbp3774"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(substitute* "Makefile" '(substitute* "Makefile"

View File

@ -180,13 +180,13 @@ format.")
(define-public cppcheck (define-public cppcheck
(package (package
(name "cppcheck") (name "cppcheck")
(version "1.76.1") (version "1.77")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://github.com/danmar/cppcheck/archive/" (uri (string-append "https://github.com/danmar/cppcheck/archive/"
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 "08pcawg36h850n4i794b2158jcv49f8a54dg3dikdkc1cwknwgjz")) (base32 "1fn26p0xvfrdbhxjhy6aqhkk63n3fvrdb2ygcn9wg4vaandhmbkn"))
(file-name (string-append name "-" version ".tar.gz")))) (file-name (string-append name "-" version ".tar.gz"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(home-page "http://cppcheck.sourceforge.net") (home-page "http://cppcheck.sourceforge.net")

View File

@ -2,6 +2,7 @@
;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2016, 2017 Mathieu Lirzin <mthl@gnu.org> ;;; Copyright © 2016, 2017 Mathieu Lirzin <mthl@gnu.org>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -186,8 +187,8 @@ their dependencies.")
(license l:gpl3+)))) (license l:gpl3+))))
(define-public cuirass (define-public cuirass
(let ((commit "d0a5801e397335bb44d8033e5deddf02c1cc99c2") (let ((commit "f695c79eb3b93a0432901844c8ede16de39b8d07")
(revision "3")) (revision "4"))
(package (package
(name "cuirass") (name "cuirass")
(version (string-append "0.0.1-" revision "." (string-take commit 7))) (version (string-append "0.0.1-" revision "." (string-take commit 7)))
@ -199,7 +200,7 @@ their dependencies.")
(file-name (string-append name "-" version)) (file-name (string-append name "-" version))
(sha256 (sha256
(base32 (base32
"0sa94dgp9w6av7i0a570fv9a9yq03jkxdrm5d75h6szsp1kiyw2i")))) "1zsj3l85d8jq7h9a0zfb2w5pyvlwkirgvis4bv60syhbpblfvmri"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
'(#:phases '(#:phases

View File

@ -3,6 +3,7 @@
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -190,43 +191,30 @@ COCOMO model or user-provided parameters.")
(define-public the-silver-searcher (define-public the-silver-searcher
(package (package
(name "the-silver-searcher") (name "the-silver-searcher")
(version "0.32.0") (version "1.0.2")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
"https://github.com/ggreer/the_silver_searcher/archive/" "http://geoff.greer.fm/ag/releases/the_silver_searcher-"
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1k543cjpignwvy8avhchz8pkqrqcgcryps36ycy8mz2w5rbhicn5")) "0v54himv65w294l0k4lhdyc6kvpgijn8b9g5356479fzy7hphjkg"))))
(file-name (string-append name "-" version ".tar.gz"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("autoconf" ,autoconf) `(("pkg-config" ,pkg-config)))
("automake" ,automake)
("libtool" ,libtool)
("pkg-config" ,pkg-config)))
(inputs (inputs
`(("pcre" ,pcre) `(("pcre" ,pcre)
("xz" ,xz) ("xz" ,xz)
("zlib" ,zlib))) ("zlib" ,zlib)))
(arguments
`(#:phases
;; There is no configure yet, so let's create it, but let configure and
;; make do the work in later phases.
(alist-cons-before 'configure 'autoconf
(lambda _
(substitute* "build.sh"
(("./configure") "true")
(("make -j4") "true"))
(zero? (system* "sh" "build.sh")))
%standard-phases)))
(home-page "http://geoff.greer.fm/ag/") (home-page "http://geoff.greer.fm/ag/")
(synopsis "Fast code searching tool") (synopsis "Fast code searching tool")
(description (description
"The silver searcher, or 'ag', is tool for quickly searching through "The Silver Searcher (@command{ag}) is a tool for quickly searching large
files, but compared to grep is much faster and respects files like .gitignore, numbers of files. It's intended primarily for source code repositories, and
.hgignore, etc.") respects files like @file{.gitignore} and @file{.hgignore}. It's also an order
of magnitude faster than its inspiration, @command{ack}, and less specialised
tools such as @command{grep}.")
(license license:asl2.0))) (license license:asl2.0)))
(define-public trio (define-public trio

View File

@ -7,13 +7,14 @@
;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 Leo Famulari <leo@famulari.name> ;;; Copyright © 2015 Leo Famulari <leo@famulari.name>
;;; Copyright © 2015 Jeff Mickey <j@codemac.net> ;;; Copyright © 2015 Jeff Mickey <j@codemac.net>
;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2015, 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com> ;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
;;; Copyright © 2016 Danny Milosavljevic <dannym@scratchpost.org> ;;; Copyright © 2016 Danny Milosavljevic <dannym@scratchpost.org>
;;; Copyright © 2016 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2016, 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2016 David Craven <david@craven.ch> ;;; Copyright © 2016 David Craven <david@craven.ch>
;;; Copyright © 2016 Kei Kebreau <kei@openmailbox.org> ;;; Copyright © 2016 Kei Kebreau <kei@openmailbox.org>
;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 ng0 <contact.ng0@cryptolab.net>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -38,6 +39,7 @@
#:use-module (guix git-download) #:use-module (guix git-download)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system perl) #:use-module (guix build-system perl)
#:use-module (guix build-system python)
#:use-module (gnu packages) #:use-module (gnu packages)
#:use-module (gnu packages assembly) #:use-module (gnu packages assembly)
#:use-module (gnu packages autotools) #:use-module (gnu packages autotools)
@ -45,7 +47,9 @@
#:use-module (gnu packages base) #:use-module (gnu packages base)
#:use-module (gnu packages perl) #:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages valgrind) #:use-module (gnu packages valgrind)
#:use-module (ice-9 match)
#:use-module ((srfi srfi-1) #:select (last))) #:use-module ((srfi srfi-1) #:select (last)))
(define-public zlib (define-public zlib
@ -361,6 +365,44 @@ LZO is written in ANSI C. Both the source code and the compressed data
format are designed to be portable across platforms.") format are designed to be portable across platforms.")
(license license:gpl2+))) (license license:gpl2+)))
(define-public python-lzo
(package
(name "python-lzo")
(version "1.11")
(source
(origin
(method url-fetch)
(uri (pypi-uri "python-lzo" version))
(sha256
(base32
"11p3ifg14p086byhhin6azx5svlkg8dzw2b5abixik97xd6fm81q"))))
(build-system python-build-system)
(arguments
`(#:test-target "check"
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-setuppy
(lambda _
(substitute* "setup.py"
(("include_dirs.append\\(.*\\)")
(string-append "include_dirs.append('"
(assoc-ref %build-inputs "lzo")
"/include/lzo"
"')")))
#t)))))
(inputs
`(("lzo" ,lzo)))
(home-page "https://github.com/jd-boyd/python-lzo")
(synopsis "Python bindings for the LZO data compression library")
(description
"Python-LZO provides Python bindings for LZO, i.e. you can access
the LZO library from your Python scripts thereby compressing ordinary
Python strings.")
(license license:gpl2+)))
(define-public python2-lzo
(package-with-python2 python-lzo))
(define-public lzop (define-public lzop
(package (package
(name "lzop") (name "lzop")
@ -632,6 +674,31 @@ time for compression ratio.")
;; line interface programs (lz4, fullbench, fuzzer, datagen) are GPL2+. ;; line interface programs (lz4, fullbench, fuzzer, datagen) are GPL2+.
(license (list license:bsd-2 license:gpl2+)))) (license (list license:bsd-2 license:gpl2+))))
(define-public python-lz4
(package
(name "python-lz4")
(version "0.8.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "lz4" version))
(sha256
(base32
"1irad4sq4hdr30fr53smvv3zzk4rddcf9b4jx19w8s9xsxhr1x3b"))))
(build-system python-build-system)
(native-inputs
`(("python-nose" ,python-nose)))
(home-page "https://github.com/python-lz4/python-lz4")
(synopsis "LZ4 Bindings for Python")
(description
"This package provides python bindings for the lz4 compression library
by Yann Collet. The project contains bindings for the LZ4 block format and
the LZ4 frame format.")
(license license:bsd-3)))
(define-public python2-lz4
(package-with-python2 python-lz4))
(define-public squashfs-tools (define-public squashfs-tools
(package (package
(name "squashfs-tools") (name "squashfs-tools")
@ -923,7 +990,8 @@ for most inputs, but the resulting compressed files are anywhere from 20% to
(delete-file-recursively "CPP/7zip/Archive/Rar") (delete-file-recursively "CPP/7zip/Archive/Rar")
(delete-file-recursively "CPP/7zip/Compress/Rar") (delete-file-recursively "CPP/7zip/Compress/Rar")
#t)) #t))
(patches (search-patches "p7zip-remove-unused-code.patch")))) (patches (search-patches "p7zip-CVE-2016-9296.patch"
"p7zip-remove-unused-code.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:make-flags `(#:make-flags
@ -1001,3 +1069,62 @@ handles the 7z format which features very high compression ratios.")
(description "gzstream is a small library for providing zlib (description "gzstream is a small library for providing zlib
functionality in a C++ iostream.") functionality in a C++ iostream.")
(license license:lgpl2.1+))) (license license:lgpl2.1+)))
(define-public zpaq
(package
(name "zpaq")
(version "7.15")
(source
(origin
(method url-fetch/zipbomb)
(uri (string-append "http://mattmahoney.net/dc/zpaq"
(string-delete #\. version) ".zip"))
(sha256
(base32
"066l94yyladlfzri877nh2dhkvspagjn3m5bmv725fmhkr9c4pp8"))
(modules '((guix build utils)))
(snippet
;; Delete irrelevant pre-compiled binaries.
'(for-each delete-file (find-files "." "\\.exe$")))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(delete 'configure)) ; no configure script
#:make-flags
(list
(string-append "CPPFLAGS=-Dunix"
,(match (or (%current-target-system)
(%current-system))
("x86_64-linux" "")
("i686-linux" "")
(_ " -DNOJIT")))
;; These should be safe, lowest-common-denominator instruction sets,
;; allowing for some optimisation while remaining reproducible.
(string-append "CXXFLAGS=-O3 -DNDEBUG"
,(match (or (%current-target-system)
(%current-system))
("x86_64-linux" " -march=nocona -mtune=generic")
("i686-linux" " -march=i686 -mtune=generic")
("armhf-linux" " -mtune=generic-armv7-a")
(_ "")))
(string-append "PREFIX="
(assoc-ref %outputs "out")))))
(native-inputs
`(("perl" ,perl))) ; for pod2man
(home-page "http://mattmahoney.net/dc/zpaq.html")
(synopsis "Incremental journaling archiver")
(description "ZPAQ is a command-line archiver for realistic situations with
many duplicate and already compressed files. It backs up only those files
modified since the last update. All previous versions remain untouched and can
be independently recovered. Identical files are only stored once (known as
@dfn{de-duplication}). Archives can also be encrypted.
ZPAQ is intended to back up user data, not entire operating systems. It ignores
owner and group IDs, ACLs, extended attributes, or special file types like
devices, sockets, or named pipes. It does not follow or restore symbolic links
or junctions, and always follows hard links.")
(license (list license:public-domain
;; libzpaq.cpp contains a mix of public-domain and
;; expat-licenced (or MIT) code.
license:expat))))

106
gnu/packages/compton.scm Normal file
View File

@ -0,0 +1,106 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017 José Miguel Sánchez García <jmi2k@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 compton)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (gnu packages docbook)
#:use-module (gnu packages documentation)
#:use-module (gnu packages gl)
#:use-module (gnu packages glib)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages textutils)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg))
(define-public compton
(let ((upstream-version "0.1_beta2"))
(package
(name "compton")
(version (string-filter (char-set-complement (char-set #\_))
upstream-version))
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/chjj/" name "/archive/v"
upstream-version ".tar.gz"))
(sha256
(base32
"02dhlqqcwnmlf2dxg7rd4lapgqahgndzixdkbpxicq9jawmdb73v"))
(file-name (string-append name "-" version "-checkout"))))
(build-system gnu-build-system)
(inputs
`(("dbus" ,dbus)
("docbook-xml" ,docbook-xml)
("libconfig" ,libconfig)
("libx11" ,libx11)
("libxcomposite" ,libxcomposite)
("libxdamage" ,libxdamage)
("libxext" ,libxext)
("libxfixes" ,libxfixes)
("libxinerama" ,libxinerama)
("libxml2" ,libxml2)
("libxrandr" ,libxrandr)
("libxrender" ,libxrender)
("libxslt" ,libxslt)
("mesa" ,mesa)
("xprop" ,xprop)
("xwininfo" ,xwininfo)))
(native-inputs
`(("asciidoc" ,asciidoc)
("libdrm" ,libdrm)
("pkg-config" ,pkg-config)
("python" ,python)
("xproto" ,xproto)))
(arguments
`(#:make-flags (list
"CC=gcc"
"NO_REGEX_PCRE=1" ; pcre makes build fail
(string-append "PREFIX=" (assoc-ref %outputs "out")))
#:tests? #f ; no tests
#:phases
(modify-phases %standard-phases
(delete 'configure))))
(home-page "https://github.com/chjj/compton")
(synopsis "Compositor for X11")
(description
"Compton is a compositor for the Xorg display server and a for of
xcompmgr-dana, which implements some changes like:
@itemize
@item OpenGL backend (@command{--backend glx}), in addition to the old X Render
backend.
@item Inactive window transparency (@command{-i}) and dimming
(@command{--inactive-dim}).
@item Menu transparency (@command{-m}, thanks to Dana).
@item Shadows are now enabled for argb windows, e.g terminals with transparency
@item Removed serverside shadows (and simple compositing) to clean the code,
the only option that remains is clientside shadows.
@item Configuration files (see the man page for more details).
@item Colored shadows (@command{--shadow-[red/green/blue]}).
@item A new fade system.
@item VSync support (not always working).
@item Blur of background of transparent windows, window color inversion (bad in
performance).
@item Some more options...
@end itemize\n")
(license license:expat))))

View File

@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 David Thompson <davet@gnu.org> ;;; Copyright © 2014 David Thompson <davet@gnu.org>
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016 Leo Famulari <leo@famulari.name> ;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox> ;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox>
;;; Copyright © 2016 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2016 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is> ;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is>
@ -378,3 +378,39 @@ no man page, refer to the home page for usage details.")
storage files: it can be operated from commandline and it can integrate with a storage files: it can be operated from commandline and it can integrate with a
user's graphical desktop.") user's graphical desktop.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public scrypt
(package
(name "scrypt")
(version "1.2.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.tarsnap.com/scrypt/scrypt-"
version ".tgz"))
(sha256
(base32
"1m39hpfby0fdjam842773i5w7pa0qaj7f0r22jnchxsj824vqm0p"))))
(build-system gnu-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
(add-after 'unpack 'patch-command-invocations
(lambda _
(substitute* "Makefile.in"
(("command -p") ""))
#t))
(add-after 'install 'install-docs
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref %outputs "out"))
(misc (string-append out "/share/doc/scrypt")))
(install-file "FORMAT" misc)
#t))))))
(inputs
`(("openssl" ,openssl)))
(home-page "https://www.tarsnap.com/scrypt.html")
(synopsis "Memory-hard encryption tool based on scrypt")
(description "This packages provides a simple password-based encryption
utility as a demonstration of the @code{scrypt} key derivation function.
@code{Scrypt} is designed to be far more resistant against hardware brute-force
attacks than alternative functions such as @code{PBKDF2} or @code{bcrypt}.")
(license license:bsd-2)))

View File

@ -3,6 +3,7 @@
;;; Copyright © 2015, 2016 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2015, 2016 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Danny Milosavljevic <dannym@scratchpost.org> ;;; Copyright © 2016 Danny Milosavljevic <dannym@scratchpost.org>
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -51,6 +52,7 @@
(define-public cups-filters (define-public cups-filters
(package (package
(name "cups-filters") (name "cups-filters")
(replacement cups-filters/fixed)
(version "1.13.1") (version "1.13.1")
(source(origin (source(origin
(method url-fetch) (method url-fetch)
@ -133,6 +135,13 @@ filters for the PDF-centric printing workflow introduced by OpenPrinting.")
license:lgpl2.0+ license:lgpl2.0+
license:expat)))) license:expat))))
(define mupdf/fixed-instead-of-mupdf
(package-input-rewriting `((,mupdf . ,(@@ (gnu packages pdf) mupdf/fixed)))))
;;; Fix CVE-2016-10132 and CVE-2016-10133. See mupdf/fixed for more information.
(define cups-filters/fixed
(mupdf/fixed-instead-of-mupdf cups-filters))
;; CUPS on non-MacOS systems requires cups-filters. Since cups-filters also ;; CUPS on non-MacOS systems requires cups-filters. Since cups-filters also
;; depends on CUPS libraries and binaries, cups-minimal has been added to ;; depends on CUPS libraries and binaries, cups-minimal has been added to
;; satisfy this dependency. ;; satisfy this dependency.

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2013, 2014, 2015, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2016 Leo Famulari <leo@famulari.name> ;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
;;; ;;;
@ -21,7 +21,7 @@
(define-module (gnu packages cyrus-sasl) (define-module (gnu packages cyrus-sasl)
#:use-module (gnu packages) #:use-module (gnu packages)
#:use-module (gnu packages databases) #:use-module (gnu packages databases)
#:use-module (gnu packages mit-krb5) #:use-module (gnu packages kerberos)
#:use-module (gnu packages tls) #:use-module (gnu packages tls)
#:use-module ((guix licenses) #:prefix license:) #:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages) #:use-module (guix packages)

View File

@ -13,6 +13,8 @@
;;; Copyright © 2016 David Craven <david@craven.ch> ;;; Copyright © 2016 David Craven <david@craven.ch>
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2016 Andy Patterson <ajpatter@uwaterloo.ca> ;;; Copyright © 2016 Andy Patterson <ajpatter@uwaterloo.ca>
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -31,37 +33,37 @@
(define-module (gnu packages databases) (define-module (gnu packages databases)
#:use-module (gnu packages) #:use-module (gnu packages)
#:use-module (gnu packages algebra)
#:use-module (gnu packages autotools) #:use-module (gnu packages autotools)
#:use-module (gnu packages avahi) #:use-module (gnu packages avahi)
#:use-module (gnu packages base)
#:use-module (gnu packages bash) #:use-module (gnu packages bash)
#:use-module (gnu packages bison)
#:use-module (gnu packages boost) #:use-module (gnu packages boost)
#:use-module (gnu packages crypto)
#:use-module (gnu packages gettext)
#:use-module (gnu packages glib)
#:use-module (gnu packages perl)
#:use-module (gnu packages language)
#:use-module (gnu packages linux)
#:use-module (gnu packages tcl)
#:use-module (gnu packages tls)
#:use-module (gnu packages compression)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages readline)
#:use-module (gnu packages emacs)
#:use-module (gnu packages check) #:use-module (gnu packages check)
#:use-module (gnu packages algebra) #:use-module (gnu packages compression)
#:use-module (gnu packages crypto)
#:use-module (gnu packages curl) #:use-module (gnu packages curl)
#:use-module (gnu packages cyrus-sasl) #:use-module (gnu packages cyrus-sasl)
#:use-module (gnu packages emacs)
#:use-module (gnu packages gettext)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnupg) #:use-module (gnu packages gnupg)
#:use-module (gnu packages python)
#:use-module (gnu packages pcre)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages rdf)
#:use-module (gnu packages xml)
#:use-module (gnu packages bison)
#:use-module (gnu packages jemalloc) #:use-module (gnu packages jemalloc)
#:use-module ((guix licenses) #:use-module (gnu packages language)
#:select (gpl2 gpl3 gpl3+ lgpl2.1+ lgpl3+ x11-style non-copyleft #:use-module (gnu packages linux)
bsd-2 bsd-3 public-domain)) #:use-module (gnu packages ncurses)
#:use-module (gnu packages parallel)
#:use-module (gnu packages pcre)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages popt)
#:use-module (gnu packages python)
#:use-module (gnu packages rdf)
#:use-module (gnu packages readline)
#:use-module (gnu packages tcl)
#:use-module (gnu packages tls)
#:use-module (gnu packages xml)
#:use-module ((guix licenses) #:prefix license:) #:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix download) #:use-module (guix download)
@ -116,7 +118,7 @@
(synopsis "Clustered RDF storage and query engine") (synopsis "Clustered RDF storage and query engine")
(description "4store is a RDF/SPARQL store written in C, supporting (description "4store is a RDF/SPARQL store written in C, supporting
either single machines or networked clusters.") either single machines or networked clusters.")
(license gpl3+))) (license license:gpl3+)))
(define-public gdbm (define-public gdbm
(package (package
@ -138,7 +140,7 @@ either single machines or networked clusters.")
"GDBM is a library for manipulating hashed databases. It is used to "GDBM is a library for manipulating hashed databases. It is used to
store key/value pairs in a file in a manner similar to the Unix dbm library store key/value pairs in a file in a manner similar to the Unix dbm library
and provides interfaces to the traditional file format.") and provides interfaces to the traditional file format.")
(license gpl3+))) (license license:gpl3+)))
(define-public bdb (define-public bdb
(package (package
@ -190,8 +192,9 @@ and provides interfaces to the traditional file format.")
(description (description
"Berkeley DB is an embeddable database allowing developers the choice of "Berkeley DB is an embeddable database allowing developers the choice of
SQL, Key/Value, XML/XQuery or Java Object storage for their data model.") SQL, Key/Value, XML/XQuery or Java Object storage for their data model.")
(license (non-copyleft "file://LICENSE" ;; Starting with version 6, BDB is distributed under AGPL3. Many individual
"See LICENSE in the distribution.")) ;; files are covered by the 3-clause BSD license.
(license (list license:agpl3+ license:bsd-3))
(home-page (home-page
"http://www.oracle.com/us/products/database/berkeley-db/overview/index.html"))) "http://www.oracle.com/us/products/database/berkeley-db/overview/index.html")))
@ -199,6 +202,8 @@ SQL, Key/Value, XML/XQuery or Java Object storage for their data model.")
(package (inherit bdb) (package (inherit bdb)
(name "bdb") (name "bdb")
(version "5.3.28") (version "5.3.28")
(license (license:non-copyleft "file://LICENSE"
"See LICENSE in the distribution."))
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "http://download.oracle.com/berkeley-db/db-" (uri (string-append "http://download.oracle.com/berkeley-db/db-"
@ -207,6 +212,44 @@ SQL, Key/Value, XML/XQuery or Java Object storage for their data model.")
(base32 (base32
"0a1n5hbl7027fbz5lm0vp0zzfp1hmxnz14wx3zl9563h83br5ag0")))))) "0a1n5hbl7027fbz5lm0vp0zzfp1hmxnz14wx3zl9563h83br5ag0"))))))
(define-public leveldb
(package
(name "leveldb")
(version "1.19")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/google/leveldb"
"/archive/v" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"00jjgs9xlwycfkg0xd7n1rj6v9zrx7xc7hann6zalrjyhap18ykx"))))
(build-system gnu-build-system)
(arguments
'(#:make-flags (list "CC=gcc")
#:phases
(modify-phases %standard-phases
(delete 'configure)
(replace 'install
;; There is no install target, so we do it here.
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(lib (string-append out "/lib"))
(include (string-append out "/include")))
(for-each (lambda (file)
(install-file file lib))
(find-files "out-shared" "^libleveldb\\.so.*$"))
(copy-recursively "include" include)
#t))))))
(inputs
`(("snappy" ,snappy)))
(home-page "http://leveldb.org/")
(synopsis "Fast key-value storage library")
(description
"LevelDB is a fast key-value storage library that provides an ordered
mapping from string keys to string values.")
(license license:bsd-3)))
(define-public mysql (define-public mysql
(package (package
(name "mysql") (name "mysql")
@ -280,12 +323,12 @@ SQL, Key/Value, XML/XQuery or Java Object storage for their data model.")
"MySQL is a fast, reliable, and easy to use relational database "MySQL is a fast, reliable, and easy to use relational database
management system that supports the standardized Structured Query management system that supports the standardized Structured Query
Language.") Language.")
(license gpl2))) (license license:gpl2)))
(define-public mariadb (define-public mariadb
(package (package
(name "mariadb") (name "mariadb")
(version "10.1.20") (version "10.1.21")
(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/"
@ -293,7 +336,7 @@ Language.")
name "-" version ".tar.gz")) name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1fd0kfw94iyprf0466kjw5mwmj4ky0i997lz6499jkb79pr86kn2")))) "144lcm5awcf0k6a7saqfr4p2kg8r5wbdhdm4cmn2m8hyg1an70as"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
'(#:configure-flags '(#:configure-flags
@ -348,19 +391,19 @@ Language.")
(description (description
"MariaDB is a multi-user and multi-threaded SQL database server, designed "MariaDB is a multi-user and multi-threaded SQL database server, designed
as a drop-in replacement of MySQL.") as a drop-in replacement of MySQL.")
(license gpl2))) (license license:gpl2)))
(define-public postgresql (define-public postgresql
(package (package
(name "postgresql") (name "postgresql")
(version "9.5.5") (version "9.5.6")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://ftp.postgresql.org/pub/source/v" (uri (string-append "https://ftp.postgresql.org/pub/source/v"
version "/postgresql-" version ".tar.bz2")) version "/postgresql-" version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"157kf6mdazmxfmd11f0akya2xcz6sfgprn7yqc26dpklps855ih2")))) "0bz1b9r249ffjfvldaiah2g78ccwq30ddh8hdvlq61z26inmz7mv"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:phases `(#:phases
@ -384,7 +427,34 @@ stored procedures (in multiple languages). It includes most SQL:2008 data
types, including INTEGER, NUMERIC, BOOLEAN, CHAR, VARCHAR, DATE, INTERVAL, and types, including INTEGER, NUMERIC, BOOLEAN, CHAR, VARCHAR, DATE, INTERVAL, and
TIMESTAMP. It also supports storage of binary large objects, including TIMESTAMP. It also supports storage of binary large objects, including
pictures, sounds, or video.") pictures, sounds, or video.")
(license (x11-style "file://COPYRIGHT")))) (license (license:x11-style "file://COPYRIGHT"))))
(define-public qdbm
(package
(name "qdbm")
(version "1.8.78")
(source
(origin
(method url-fetch)
(uri (string-append "http://fallabs.com/" name "/"
name "-" version ".tar.gz"))
(sha256
(base32
"0gmpvhn02pkq280ffmn4da1g4mdr1xxz7l80b7y4n7km1mrzwrml"))))
(build-system gnu-build-system)
(arguments
`( #:configure-flags (list (string-append "LDFLAGS=-Wl,-rpath="
(assoc-ref %outputs "out")
"/lib"))))
(home-page "http://fallabs.com/qdbm")
(synopsis "Key-value database")
(description "QDBM is a library of routines for managing a
database. The database is a simple data file containing key-value
pairs. Every key and value is serial bytes with variable length.
Binary data as well as character strings can be used as a key or a
value. There is no concept of data tables or data types. Records are
organized in a hash table or B+ tree.")
(license license:lgpl2.1+)))
(define-public recutils (define-public recutils
(package (package
@ -440,9 +510,97 @@ manipulating text-based, human-editable databases. Despite being text-based,
databases created with Recutils carry all of the expected features such as databases created with Recutils carry all of the expected features such as
unique fields, primary keys, time stamps and more. Many different field unique fields, primary keys, time stamps and more. Many different field
types are supported, as is encryption.") types are supported, as is encryption.")
(license gpl3+) (license license:gpl3+)
(home-page "http://www.gnu.org/software/recutils/"))) (home-page "http://www.gnu.org/software/recutils/")))
(define-public rocksdb
(package
(name "rocksdb")
(version "5.1.2")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/facebook/rocksdb"
"/archive/v" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1qdbs13al7g45xc2j44wzx0ywrg32q1gsdhk5j6j4952xg91rfmh"))
(modules '((guix build utils)))
(snippet
'(begin
;; TODO: unbundle gtest.
(delete-file "build_tools/gnu_parallel")
#t))))
(build-system gnu-build-system)
(arguments
'(#:make-flags (list "CC=gcc"
;; Make the resulting library position-independent so the
;; static version can be included in shared objects.
"EXTRA_CXXFLAGS=-fPIC"
(string-append "INSTALL_PATH="
(assoc-ref %outputs "out")))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-Makefile
(lambda _
(substitute* "Makefile"
(("build_tools/gnu_parallel") "parallel")
(("#!/bin/sh") (string-append "#!" (which "sh"))))
#t))
(delete 'configure)
(add-before 'check 'disable-failing-tests
(lambda _
(substitute* "Makefile"
;; These tests reliably fail due to "Too many open files".
(("^[[:blank:]]+env_test[[:blank:]]+\\\\") "\\")
(("^[[:blank:]]+persistent_cache_test[[:blank:]]+\\\\") "\\"))
#t))
(add-after
'check 'build-release-libraries
;; The 'check' target depends on the default target which is compiled
;; with debug symbols. The 'install' target depends on shared and
;; static release targets so we build them here for clarity.
;; TODO: Add debug output.
(lambda* (#:key (make-flags '()) #:allow-other-keys)
;; Prevent the build from adding machine-specific optimizations.
;; This does not work if passed as a make flag...
(setenv "PORTABLE" "1")
(and (zero? (apply system* "make" "static_lib" make-flags))
(zero? (apply system* "make" "shared_lib" make-flags)))))
(add-after 'install 'delete-static-library
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(lib (string-append out "/lib")))
(for-each (lambda (file)
(delete-file file))
(find-files lib "\\.l?a$"))
#t))))))
(native-inputs
`(("parallel" ,parallel)
("perl" ,perl)
("procps" ,procps)
("python" ,python-2)
("which" ,which)))
(inputs
`(("bzip2" ,bzip2)
("gflags" ,gflags)
("jemalloc" ,jemalloc)
("lz4" ,lz4)
("snappy" ,snappy)
("zlib" ,zlib)))
(home-page "http://rocksdb.org/")
(synopsis "Persistent key-value store for fast storage")
(description
"RocksDB is a library that forms the core building block for a fast
key-value server, especially suited for storing data on flash drives. It
has a @dfn{Log-Structured-Merge-Database} (LSM) design with flexible tradeoffs
between @dfn{Write-Amplification-Factor} (WAF), @dfn{Read-Amplification-Factor}
(RAF) and @dfn{Space-Amplification-Factor} (SAF). It has multi-threaded
compactions, making it specially suitable for storing multiple terabytes of
data in a single database. RocksDB is partially based on @code{LevelDB}.")
;; RocksDB is BSD-3 and the JNI adapter is Apache 2.0.
(license (list license:bsd-3 license:asl2.0))))
(define-public sparql-query (define-public sparql-query
(package (package
(name "sparql-query") (name "sparql-query")
@ -502,7 +660,7 @@ edit previous queries, even across sessions. It can be used non-interactively,
for example from a shell script.") for example from a shell script.")
;; Some files (like scan-sparql.c) contain a GPLv3+ license header, while ;; Some files (like scan-sparql.c) contain a GPLv3+ license header, while
;; others (like sparql-query.c) contain a GPLv2+ license header. ;; others (like sparql-query.c) contain a GPLv2+ license header.
(license (list gpl3+)))) (license (list license:gpl3+))))
(define-public sqlite (define-public sqlite
(package (package
@ -556,7 +714,7 @@ for example from a shell script.")
zero-configuration, transactional SQL database engine. SQLite is the most zero-configuration, transactional SQL database engine. SQLite is the most
widely deployed SQL database engine in the world. The source code for SQLite widely deployed SQL database engine in the world. The source code for SQLite
is in the public domain.") is in the public domain.")
(license public-domain))) (license license:public-domain)))
(define-public sqlite-3.15.1 (define-public sqlite-3.15.1
(package (inherit sqlite) (package (inherit sqlite)
@ -613,7 +771,7 @@ is in the public domain.")
and BSD's DB except that it allows multiple simultaneous writers and uses and BSD's DB except that it allows multiple simultaneous writers and uses
locking internally to keep writers from trampling on each other. TDB is also locking internally to keep writers from trampling on each other. TDB is also
extremely small.") extremely small.")
(license lgpl3+))) (license license:lgpl3+)))
(define-public perl-dbi (define-public perl-dbi
(package (package
@ -958,7 +1116,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 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")))
@ -986,7 +1144,7 @@ self-contained, serverless, zero-configuration, transactional NoSQL
database engine. UnQLite is a document store database similar to database engine. UnQLite is a document store database similar to
MongoDB, Redis, CouchDB, etc. as well as a standard Key/Value store MongoDB, Redis, CouchDB, etc. as well as a standard Key/Value store
similar to BerkeleyDB, LevelDB, etc.") similar to BerkeleyDB, LevelDB, etc.")
(license bsd-2))) (license license:bsd-2)))
(define-public redis (define-public redis
(package (package
@ -1014,7 +1172,7 @@ similar to BerkeleyDB, LevelDB, etc.")
supports many data structures including strings, hashes, lists, sets, sorted supports many data structures including strings, hashes, lists, sets, sorted
sets, bitmaps and hyperloglogs.") sets, bitmaps and hyperloglogs.")
(home-page "http://redis.io/") (home-page "http://redis.io/")
(license bsd-3))) (license license:bsd-3)))
(define-public kyotocabinet (define-public kyotocabinet
(package (package
@ -1041,12 +1199,12 @@ sets, bitmaps and hyperloglogs.")
"Kyoto Cabinet is a standalone file-based database that supports Hash "Kyoto Cabinet is a standalone file-based database that supports Hash
and B+ Tree data storage models. It is a fast key-value lightweight and B+ Tree data storage models. It is a fast key-value lightweight
database and supports many programming languages. It is a NoSQL database.") database and supports many programming languages. It is a NoSQL database.")
(license gpl3+))) (license license:gpl3+)))
(define-public wiredtiger (define-public wiredtiger
(package (package
(name "wiredtiger") (name "wiredtiger")
(version "2.8.0") (version "2.9.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -1054,7 +1212,7 @@ database and supports many programming languages. It is a NoSQL database.")
version ".tar.bz2")) version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"1qh7y5paisdxq19jgg81ld7i32lz920n5k30hdpxnr8ll9c4hgjr")))) "0krwnb2zfbhvjaskwl875qzd3y626s84zcciq2mxr5c5riw3yh6s"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
'(#:configure-flags '("--enable-lz4" "--enable-zlib") '(#:configure-flags '("--enable-lz4" "--enable-zlib")
@ -1077,7 +1235,7 @@ row-oriented storage (where all columns of a row are stored together),
column-oriented storage (where columns are stored in groups, allowing for column-oriented storage (where columns are stored in groups, allowing for
more efficient access and storage of column subsets) and log-structured merge more efficient access and storage of column subsets) and log-structured merge
trees (LSM), for sustained throughput under random insert workloads.") trees (LSM), for sustained throughput under random insert workloads.")
(license gpl3) ; or GPL-2 (license license:gpl3) ; or GPL-2
;; configure.ac: WiredTiger requires a 64-bit build. ;; configure.ac: WiredTiger requires a 64-bit build.
(supported-systems '("x86_64-linux" "mips64el-linux")))) (supported-systems '("x86_64-linux" "mips64el-linux"))))
@ -1245,3 +1403,31 @@ development.")
;; test/crypto.test are licensed under a 3-clause BSD license. All other ;; test/crypto.test are licensed under a 3-clause BSD license. All other
;; source files are in the public domain. ;; source files are in the public domain.
(license (list license:public-domain license:bsd-3)))) (license (list license:public-domain license:bsd-3))))
(define-public python-pyodbc-c
(package
(name "python-pyodbc-c")
(version "3.1.4")
(source
(origin
(method url-fetch)
(uri (string-append "https://gitlab.com/daym/pyodbc-c/repository/"
"archive.tar.gz?ref=v" version))
(sha256
(base32
"05aq2297k779xidmxcwkrrxjvj1bh2q7d9a1rcjv6zr15y764ga9"))
(file-name (string-append name "-" version ".tar.gz"))))
(build-system python-build-system)
(inputs
`(("unixodbc" ,unixodbc)))
(arguments
`(;; No unit tests exist.
#:tests? #f))
(home-page "https://github.com/mkleehammer/pyodbc")
(synopsis "Python ODBC Library")
(description "@code{python-pyodbc-c} provides a Python DB-API driver
for ODBC.")
(license (license:x11-style "file://LICENSE.TXT"))))
(define-public python2-pyodbc-c
(package-with-python2 python-pyodbc-c))

View File

@ -28,7 +28,7 @@
(define-public datamash (define-public datamash
(package (package
(name "datamash") (name "datamash")
(version "1.1.0") (version "1.1.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -36,7 +36,7 @@
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1c2bj0jrm4fxkf0ykxkzgyk1l9s0idqm8rbzmk3n9pgldb4arrd9")))) "06w0pc828qsabmrlh7bc2zwc823xzxy89paaf37f6bipsyrij222"))))
(native-inputs (native-inputs
`(("which" ,which) ;for tests `(("which" ,which) ;for tests
("perl" ,perl))) ;for help2man ("perl" ,perl))) ;for help2man

View File

@ -6,7 +6,7 @@
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2016 Roel Janssen <roel@gnu.org> ;;; Copyright © 2016 Roel Janssen <roel@gnu.org>
;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2016, 2017 Marius Bakke <mbakke@fastmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -45,6 +45,7 @@
#:use-module (gnu packages readline) #:use-module (gnu packages readline)
#:use-module (gnu packages guile) #:use-module (gnu packages guile)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages vim)
#:use-module (gnu packages xml)) #:use-module (gnu packages xml))
(define-public parted (define-public parted
@ -154,7 +155,7 @@ tables.")
(define-public ddrescue (define-public ddrescue
(package (package
(name "ddrescue") (name "ddrescue")
(version "1.21") (version "1.22")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -162,9 +163,9 @@ tables.")
version ".tar.lz")) version ".tar.lz"))
(sha256 (sha256
(base32 (base32
"1b71hb42lh33y9843nd1mxlwkk9qh9ajvnz6ivzd1jq9lav4x7ph")))) "19qhx9ggkkjl0g3a88g501wmybkj1y4n5lm5kp0km0blh0p7p189"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(home-page "http://www.gnu.org/software/ddrescue/ddrescue.html") (home-page "https://www.gnu.org/software/ddrescue/ddrescue.html")
(synopsis "Data recovery utility") (synopsis "Data recovery utility")
(native-inputs `(("lzip" ,lzip))) (native-inputs `(("lzip" ,lzip)))
(description (description
@ -177,7 +178,7 @@ to recover data more efficiently by only reading the necessary blocks.")
(define-public dosfstools (define-public dosfstools
(package (package
(name "dosfstools") (name "dosfstools")
(version "4.0") (version "4.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -186,12 +187,13 @@ to recover data more efficiently by only reading the necessary blocks.")
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1bvxbv1w6vhbx0nx7ygp700wq5k2hjv0hm7w0kz1x7amaf4p6dwh")))) "0wy13i3i4x2bw1hf5m4fd0myh61f9bcrs035fdlf6gyc1jksrcp6"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:make-flags (list (string-append "PREFIX=" %output) `(#:make-flags (list (string-append "PREFIX=" %output)
"CC=gcc") "CC=gcc")))
#:tests? #f)) ;no tests (native-inputs
`(("xxd" ,vim))) ; for tests
(home-page "https://github.com/dosfstools/dosfstools") (home-page "https://github.com/dosfstools/dosfstools")
(synopsis "Utilities for making and checking MS-DOS FAT file systems") (synopsis "Utilities for making and checking MS-DOS FAT file systems")
(description (description

View File

@ -29,13 +29,13 @@
(define-public python-django (define-public python-django
(package (package
(name "python-django") (name "python-django")
(version "1.10.3") (version "1.10.5")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "Django" version)) (uri (pypi-uri "Django" version))
(sha256 (sha256
(base32 (base32
"0c4c8zs7kzb0bdlpy4vlzv6va26dbazr32h91rldf6waxs6z14kg")))) "12szjsmnfhh2yr54sfynyjr8vl0q9gb6qak3ayqcifcinrs97f0d"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
'(#:phases '(#:phases

View File

@ -28,6 +28,7 @@
#:use-module (gnu packages base) #:use-module (gnu packages base)
#:use-module (gnu packages databases) #:use-module (gnu packages databases)
#:use-module (gnu packages crypto) #:use-module (gnu packages crypto)
#:use-module (gnu packages glib)
#:use-module (gnu packages groff) #:use-module (gnu packages groff)
#:use-module (gnu packages libevent) #:use-module (gnu packages libevent)
#:use-module (gnu packages linux) #:use-module (gnu packages linux)
@ -53,11 +54,16 @@
(base32 (base32
"15lzih6671gh9knzpl8mxchiml7z5lfqzr7jm2r0rjhrxs6nk4jb")))) "15lzih6671gh9knzpl8mxchiml7z5lfqzr7jm2r0rjhrxs6nk4jb"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
`(("dbus" ,dbus)))
(arguments (arguments
`(#:phases `(#:phases
(alist-delete 'configure %standard-phases) (alist-delete 'configure %standard-phases)
#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")) #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out"))
"CC=gcc") "CC=gcc"
"COPTS=\"-DHAVE_DBUS\"")
;; No 'check' target. ;; No 'check' target.
#:tests? #f)) #:tests? #f))
(home-page "http://www.thekelleys.org.uk/dnsmasq/doc.html") (home-page "http://www.thekelleys.org.uk/dnsmasq/doc.html")
@ -76,7 +82,7 @@ and BOOTP/TFTP for network booting of diskless machines.")
(define-public bind (define-public bind
(package (package
(name "bind") (name "bind")
(version "9.10.4-P5") (version "9.10.4-P6")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -84,7 +90,7 @@ and BOOTP/TFTP for network booting of diskless machines.")
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1sqg7wg05h66vdjc8j215r04f8pg7lphkb93nsqxvzhk6r0ppi49")))) "0rgffdm0h6dks0np4h9q4kd8nyb3azrdxw2skqnjzd8ws78vzpx1"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(outputs `("out" "utils")) (outputs `("out" "utils"))
(inputs (inputs
@ -140,7 +146,7 @@ high-volume and high-reliability applications. The name BIND stands for
(define-public dnscrypt-proxy (define-public dnscrypt-proxy
(package (package
(name "dnscrypt-proxy") (name "dnscrypt-proxy")
(version "1.8.1") (version "1.9.4")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -148,7 +154,7 @@ high-volume and high-reliability applications. The name BIND stands for
"dnscrypt-proxy-" version ".tar.bz2")) "dnscrypt-proxy-" version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"1dz0knslf7ysc2xx33ljrdlqyr4b0fpm9ifrwvwgcjaxgh94l7m8")) "07piwsjczamwvdpv1585kg4awqakip51bwsm8nqi6bljww4agx7x"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
;; Delete bundled libltdl. XXX: This package also bundles ;; Delete bundled libltdl. XXX: This package also bundles

View File

@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016 Danny Milosavljevic <dannym@scratchpost.org> ;;; Copyright © 2016 Danny Milosavljevic <dannym@scratchpost.org>
;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -138,3 +139,56 @@ of categories with some of the activities available in that category.
@end enumerate @end enumerate
") ")
(license license:gpl3+))) (license license:gpl3+)))
(define-public tipp10
(package
(name "tipp10")
(version "2.1.0")
(source (origin
(method url-fetch)
;; guix download is not able to handle the download links on the
;; home-page, which use '<meta http-equiv="refresh" …>'
(uri (string-append "mirror://debian/pool/main/"
"t/tipp10/tipp10_2.1.0.orig.tar.gz"))
(sha256
(base32
"0d387b404j88gsv6kv0rb7wxr23v5g5vl6s5l7602x8pxf7slbbx"))
(patches (search-patches "tipp10-fix-compiling.patch"
"tipp10-remove-license-code.patch"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ; packages has no tests
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'disable-new-version-check
(lambda _
;; Make new version check to default to false.
;; TODO: Remove the checkbox from the dialog and the check itself
(substitute* '("widget/settingspages.cpp" "widget/mainwindow.cpp")
(("settings.value(\"check_new_version\", true)")
"settings.value(\"check_new_version\", false)"))
#t))
(replace 'configure
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
;; Make program honor $PREFIX
(substitute* "tipp10.pro"
(("\\.path = /usr/") (string-append ".path = " out "/")))
(substitute* "def/defines.h"
(("\"/usr/") (string-append "\"" out "/")))
;; Recreate Makefile
(zero? (system* "qmake"))))))))
(inputs
`(("qt4" ,qt-4)
("sqlite" ,sqlite)))
(home-page "https://www.tipp10.com/")
(synopsis "Touch typing tutor")
(description "Tipp10 is a touch typing tutor. The ingenious thing about
the software is its intelligence feature: characters that are mistyped are
repeated more frequently. Beginners will find their way around right away so
they can start practicing without a hitch.
Useful support functions and an extensive progress tracker, topical lessons
and the ability to create your own practice lessons make learning to type
easy.")
(license license:gpl2)))

View File

@ -1,10 +1,10 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Taylan Ulrich Bayirli/Kammer <taylanbayirli@gmail.com> ;;; Copyright © 2014 Taylan Ulrich Bayirli/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014, 2015, 2016, 2017 Alex Kost <alezost@gmail.com> ;;; Copyright © 2014, 2015, 2016, 2017 Alex Kost <alezost@gmail.com>
;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch> ;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016 Chris Marusich <cmmarusich@gmail.com> ;;; Copyright © 2016 Chris Marusich <cmmarusich@gmail.com>
;;; Copyright © 2015, 2016 Christopher Allan Webber <cwebber@dustycloud.org> ;;; Copyright © 2015, 2016 Christopher Allan Webber <cwebber@dustycloud.org>
;;; Copyright © 2016 humanitiesNerd <catonano@gmail.com> ;;; Copyright © 2016 humanitiesNerd <catonano@gmail.com>
@ -12,11 +12,14 @@
;;; Copyright © 2016 David Thompson <davet@gnu.org> ;;; Copyright © 2016 David Thompson <davet@gnu.org>
;;; Copyright © 2016 Matthew Jordan <matthewjordandevops@yandex.com> ;;; Copyright © 2016 Matthew Jordan <matthewjordandevops@yandex.com>
;;; Copyright © 2016 Roel Janssen <roel@gnu.org> ;;; Copyright © 2016 Roel Janssen <roel@gnu.org>
;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is> ;;; Copyright © 2016, 2017 ng0 <contact.ng0@cryptolab.net>
;;; Copyright © 2016 Alex Griffin <a@ajgrf.com> ;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2016 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2016, 2017 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2016 Alex Vong <alexvong1995@gmail.com> ;;; Copyright © 2016 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2016 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2016 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2017 Christopher Baines <mail@cbaines.net>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -46,6 +49,7 @@
#:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system trivial) #:use-module (guix build-system trivial)
#:use-module (gnu packages) #:use-module (gnu packages)
#:use-module (gnu packages code)
#:use-module (gnu packages guile) #:use-module (gnu packages guile)
#:use-module (gnu packages gtk) #:use-module (gnu packages gtk)
#:use-module (gnu packages gnome) #:use-module (gnu packages gnome)
@ -106,7 +110,18 @@
(find-files "." "loaddefs\\.el$") (find-files "." "loaddefs\\.el$")
;; This is the only "autoloads" file that ;; This is the only "autoloads" file that
;; does not have "*loaddefs.el" name. ;; does not have "*loaddefs.el" name.
'("eshell/esh-groups.el"))))))) '("eshell/esh-groups.el")))
;; Make sure Tramp looks for binaries in the right places on
;; remote GuixSD machines, where 'getconf PATH' returns
;; something bogus.
(substitute* "net/tramp-sh.el"
;; Patch the line after "(defcustom tramp-remote-path".
(("\\(tramp-default-remote-path")
(format #f "(tramp-default-remote-path ~s ~s ~s ~s "
"~/.guix-profile/bin" "~/.guix-profile/sbin"
"/run/current-system/profile/bin"
"/run/current-system/profile/sbin")))))))
(build-system glib-or-gtk-build-system) (build-system glib-or-gtk-build-system)
(arguments (arguments
`(#:phases `(#:phases
@ -398,7 +413,7 @@ configuration files, such as .gitattributes, .gitignore, and .git/config.")
(define-public emacs-with-editor (define-public emacs-with-editor
(package (package
(name "emacs-with-editor") (name "emacs-with-editor")
(version "2.5.9") (version "2.5.10")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -407,7 +422,7 @@ configuration files, such as .gitattributes, .gitignore, and .git/config.")
(file-name (string-append name "-" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0znfznyqr360ryi7za9szbz1l5236v2cig25s4k7kkw0w8828xzh")))) "0lsxa1hghybkzvqhqvvym3hxbyp9vjcnnpb9j800z0vyhbnlka67"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(propagated-inputs (propagated-inputs
`(("emacs-dash" ,emacs-dash))) `(("emacs-dash" ,emacs-dash)))
@ -423,7 +438,7 @@ on stdout instead of using a socket as the Emacsclient does.")
(define-public magit (define-public magit
(package (package
(name "magit") (name "magit")
(version "2.10.0") (version "2.10.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -431,7 +446,7 @@ on stdout instead of using a socket as the Emacsclient does.")
version "/" name "-" version ".tar.gz")) version "/" name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1w74vy46z922kfs7gjkrng7wjpi481calpasqmjzpn3hqvgsd5d1")))) "1a3gsarl0zrk1dydqn93kx7pnwm7pb7av7g17pj5m7b7kc66k7jv"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs `(("texinfo" ,texinfo) (native-inputs `(("texinfo" ,texinfo)
("emacs" ,emacs-minimal))) ("emacs" ,emacs-minimal)))
@ -967,6 +982,7 @@ provides an optional IDE-like error list.")
("mpg321" ,mpg321) ("mpg321" ,mpg321)
("taglib" ,taglib) ("taglib" ,taglib)
("mp3info" ,mp3info))) ("mp3info" ,mp3info)))
(properties '((upstream-name . "emms")))
(synopsis "Emacs Multimedia System") (synopsis "Emacs Multimedia System")
(description (description
"EMMS is the Emacs Multimedia System. It is a small front-end which "EMMS is the Emacs Multimedia System. It is a small front-end which
@ -1066,6 +1082,44 @@ like. It can be linked with various Emacs mail clients (Message and Mail
mode, Rmail, Gnus, MH-E, and VM). BBDB is fully customizable.") mode, Rmail, Gnus, MH-E, and VM). BBDB is fully customizable.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public emacs-ag
(package
(name "emacs-ag")
(version "0.47")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/Wilfred/ag.el/archive/"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1rlmp6wnyhqfg86dbz17r914msp58favn4kd4yrdwyia265a4lar"))))
(build-system emacs-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'install 'patch-exec-paths
(lambda* (#:key inputs #:allow-other-keys)
(emacs-substitute-variables "ag.el"
("ag-executable"
(string-append (assoc-ref inputs "the-silver-searcher")
"/bin/ag")))
#t)))))
(inputs
`(("the-silver-searcher" ,the-silver-searcher)))
(propagated-inputs
`(("dash" ,emacs-dash)
("s" ,emacs-s)))
(home-page "https://github.com/Wilfred/ag.el")
(synopsis "Front-end for ag (the-silver-searcher) for Emacs")
(description "This package provides the ability to use the silver
searcher, a code searching tool, sometimes abbreviated to @code{ag}. Features
include version control system awareness, use of Perl compatible regular
expressions, editing the search results directly and searching file names
rather than the contents of files.")
(license license:gpl3+)))
(define-public emacs-async (define-public emacs-async
(package (package
(name "emacs-async") (name "emacs-async")
@ -1090,7 +1144,7 @@ as a library for other Emacs packages.")
(define-public emacs-auctex (define-public emacs-auctex
(package (package
(name "emacs-auctex") (name "emacs-auctex")
(version "11.88.6") (version "11.90.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -1100,7 +1154,7 @@ as a library for other Emacs packages.")
".tar")) ".tar"))
(sha256 (sha256
(base32 (base32
"1pmki8hdjjikxlvip3pzi350bln3gcimr27yjf0xfwjvnp5hh9nc")))) "04nsndwcf0dimgc2p1yzzrymc36amzdnjg0158nxplmjkzdp28gy"))))
(build-system emacs-build-system) (build-system emacs-build-system)
;; We use 'emacs' because AUCTeX requires dbus at compile time ;; We use 'emacs' because AUCTeX requires dbus at compile time
;; ('emacs-minimal' does not provide dbus). ;; ('emacs-minimal' does not provide dbus).
@ -1391,6 +1445,29 @@ allows easily move between them.")
strings.") strings.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public emacs-sx
(package
(name "emacs-sx")
(version "0.4")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/vermiculus/sx.el/"
"archive/v" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1w0xghfljqg31axcnv8gzlrd8pw25nji6idnrhflq0af9qh1dw03"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-markdown-mode" ,emacs-markdown-mode)
("let-alist" ,let-alist)))
(home-page "https://github.com/vermiculus/sx.el/")
(synopsis "Emacs StackExchange client")
(description
"Emacs StackExchange client. Ask and answer questions on
Stack Overflow, Super User, and other StackExchange sites.")
(license license:gpl3+)))
(define-public emacs-f (define-public emacs-f
(package (package
(name "emacs-f") (name "emacs-f")
@ -1440,6 +1517,26 @@ Git, Mercurial, Subversion and Bazaar are supported, and many parts of the
display and behaviour is easily customisable.") display and behaviour is easily customisable.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public emacs-git-timemachine
(package
(name "emacs-git-timemachine")
(version "3.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/pidu/git-timemachine/"
"archive/" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1l4g0r69wfrnjsywv03v4bpdd53byg6zdx6mzabfxyymss3kvisa"))))
(build-system emacs-build-system)
(home-page "https://github.com/pidu/git-timemachine")
(synopsis "Step through historic versions of Git-controlled files")
(description "This package enables you to step through historic versions
of files under Git version control from within Emacs.")
(license license:gpl3+)))
(define-public emacs-el-mock (define-public emacs-el-mock
(package (package
(name "emacs-el-mock") (name "emacs-el-mock")
@ -1714,6 +1811,27 @@ evaluated in the browser, just like Emacs does with an inferior Lisp process
in Lisp modes.") in Lisp modes.")
(license license:unlicense))) (license license:unlicense)))
(define-public emacs-stripe-buffer
(package
(name "emacs-stripe-buffer")
(version "0.2.5")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/sabof/stripe-buffer/"
"archive/" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1p515dq7raly5hw94kiwm3vzsfih0d8af622q4ipvvljsm98aiik"))))
(build-system emacs-build-system)
(home-page "https://github.com/sabof/stripe-buffer/")
(synopsis "Add stripes to list buffers")
(description
"This Emacs package adds faces to add stripes to list buffers and org
tables.")
(license license:gpl2+)))
(define-public emacs-rich-minority (define-public emacs-rich-minority
(package (package
(name "emacs-rich-minority") (name "emacs-rich-minority")
@ -2703,14 +2821,14 @@ be removed from the front. This type of data structure is sometimes called an
(define-public emacs-spinner (define-public emacs-spinner
(package (package
(name "emacs-spinner") (name "emacs-spinner")
(version "1.7.1") (version "1.7.3")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/spinner-" (uri (string-append "https://elpa.gnu.org/packages/spinner-"
version ".el")) version ".el"))
(sha256 (sha256
(base32 (base32
"1fmwzdih0kbyvs8bn38mpm4sbs2mikqy2vdykfy9g20wpa8vb681")))) "19kp1mmndbmw11sgvv2ggfjl4pyf5zrsbh3871f0965pw9z8vahd"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(home-page "https://github.com/Malabarba/spinner.el") (home-page "https://github.com/Malabarba/spinner.el")
(synopsis "Emacs mode-line spinner for operations in progress") (synopsis "Emacs mode-line spinner for operations in progress")
@ -2722,14 +2840,14 @@ ongoing operations.")
(define-public emacs-seq (define-public emacs-seq
(package (package
(name "emacs-seq") (name "emacs-seq")
(version "2.15") (version "2.19")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/seq-" (uri (string-append "https://elpa.gnu.org/packages/seq-"
version ".tar")) version ".tar"))
(sha256 (sha256
(base32 (base32
"09wi1765bmn7i8fg6ajjfaxgs4ipc42d58zx2fdqpidrdg9c7q73")))) "11hb7is6a4h1lscjcfrzh576j0g3m5yjydn16s6x5bxp5gsr6zha"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(home-page "https://elpa.gnu.org/packages/seq.html") (home-page "https://elpa.gnu.org/packages/seq.html")
(synopsis "Sequence manipulation functions for Emacs") (synopsis "Sequence manipulation functions for Emacs")
@ -3292,14 +3410,14 @@ passive voice.")
(define-public emacs-org (define-public emacs-org
(package (package
(name "emacs-org") (name "emacs-org")
(version "20161224") (version "20170124")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "http://elpa.gnu.org/packages/org-" (uri (string-append "http://elpa.gnu.org/packages/org-"
version ".tar")) version ".tar"))
(sha256 (sha256
(base32 (base32
"0b10bjypn0w5ja776f8sxl1qpvb61iyz1n3c74jx6fqwypv7dmgi")))) "0mcnjwvily0xv1xl11dj18lg38llvrxja2j9mwn6vql8n5y1srxi"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(home-page "http://orgmode.org/") (home-page "http://orgmode.org/")
(synopsis "Outline-based notes management and organizer") (synopsis "Outline-based notes management and organizer")
@ -3541,3 +3659,134 @@ Streams are implemented as delayed evaluation of cons cells.")
(description "This package provides expression based interactive search (description "This package provides expression based interactive search
procedures for emacs-lisp-mode.") procedures for emacs-lisp-mode.")
(license license:gpl3+)))) (license license:gpl3+))))
(define-public emacs-ht
(package
(name "emacs-ht")
(version "2.1")
(source
(origin
(method url-fetch)
(uri (string-append
"https://github.com/Wilfred/ht.el/archive/"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1lpba36kzxcc966fvsbrfpy8ah9gnvay0yk26gbyjil0rggrbqzj"))))
(build-system emacs-build-system)
(propagated-inputs `(("emacs-dash" ,emacs-dash)))
(home-page "https://github.com/Wilfred/ht.el")
(synopsis "Hash table library for Emacs")
(description
"This package simplifies the use of hash tables in elisp. It also
provides functions to convert hash tables from and to alists and plists.")
(license license:gpl3+)))
(define-public emacs-log4e
(package
(name "emacs-log4e")
(version "0.3.0")
(source
(origin
(method url-fetch)
(uri (string-append
"https://github.com/aki2o/log4e/archive/v"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0nbdpbw353snda3v19l9hsm6gimppwnpxj18amm350bm81lyim2g"))))
(build-system emacs-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'remove-tests
;; Guile builder complains about null characters in some
;; strings of test files. Remove "test" directory (it is not
;; needed anyway).
(lambda _
(delete-file-recursively "test"))))))
(home-page "https://github.com/aki2o/log4e")
(synopsis "Logging framework for elisp")
(description
"This package provides a logging framework for elisp. It allows
you to deal with multiple log levels.")
(license license:gpl3+)))
(define-public emacs-gntp
(package
(name "emacs-gntp")
(version "0.1")
(source
(origin
(method url-fetch)
(uri (string-append
"https://github.com/tekai/gntp.el/archive/v"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"16c1dfkia9yhl206bdhjr3b8kfvqcqr38jl5lq8qsyrrzsnmghny"))))
(build-system emacs-build-system)
(home-page "https://github.com/tekai/gntp.el")
(synopsis "Growl Notification Protocol for Emacs")
(description
"This package implements the Growl Notification Protocol GNTP
described at @uref{http://www.growlforwindows.com/gfw/help/gntp.aspx}.
It is incomplete as it only lets you send but not receive
notifications.")
(license license:bsd-3)))
(define-public emacs-alert
(package
(name "emacs-alert")
(version "1.2")
(source
(origin
(method url-fetch)
(uri (string-append
"https://github.com/jwiegley/alert/archive/v"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1693kck3k2iz5zhpmxwqyafxm68hr6gzs60lkxd3j1wlp2c9fwyr"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-gntp" ,emacs-gntp)
("emacs-log4e" ,emacs-log4e)))
(home-page "https://github.com/jwiegley/alert")
(synopsis "Growl-style notification system for Emacs")
(description
"Alert is a Growl-workalike for Emacs which uses a common notification
interface and multiple, selectable \"styles\", whose use is fully
customizable by the user.")
(license license:gpl2+)))
(define-public emacs-mu4e-alert
(package
(name "emacs-mu4e-alert")
(version "0.4")
(source
(origin
(method url-fetch)
(uri (string-append
"https://github.com/iqbalansari/mu4e-alert/archive/v"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1m63vyb2v5r9swmqv56q80jca8172nk5vaxl7bcm5zbfs8zsvr4b"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-alert" ,emacs-alert)
("emacs-s" ,emacs-s)
("emacs-ht" ,emacs-ht)))
(home-page "https://github.com/iqbalansari/mu4e-alert")
(synopsis "Desktop notification for mu4e")
(description
"This package provides desktop notifications for mu4e.
Additionally it can display the number of unread emails in the
mode-line.")
(license license:gpl3+)))

View File

@ -259,7 +259,6 @@ featuring various improvements and bug fixes.")))
(version "2.0-18Sep92") (version "2.0-18Sep92")
(source (origin (source (origin
(method url-fetch/tarbomb) (method url-fetch/tarbomb)
(file-name (string-append name "-" version ".tar.gz"))
(uri (string-append "http://www.rle.mit.edu/cpg/codes/" (uri (string-append "http://www.rle.mit.edu/cpg/codes/"
name "-" version ".tgz")) name "-" version ".tgz"))
(sha256 (sha256

View File

@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Tomáš Čech <sleep_walker@suse.cz> ;;; Copyright © 2015 Tomáš Čech <sleep_walker@suse.cz>
;;; Copyright © 2015 Daniel Pimentel <d4n1@member.fsf.org> ;;; Copyright © 2015 Daniel Pimentel <d4n1@member.fsf.org>
;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2015, 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -146,7 +146,7 @@ removable devices or support for multimedia.")
(define-public terminology (define-public terminology
(package (package
(name "terminology") (name "terminology")
(version "0.9.1") (version "1.0.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (uri
@ -154,13 +154,13 @@ removable devices or support for multimedia.")
"terminology/terminology-" version ".tar.xz")) "terminology/terminology-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1kwv9vkhngdm5v38q93xpcykghnyawhjjcb5bgy0p89gpbk7mvpc")))) "1x4j2q4qqj10ckbka0zaq2r2zm66ff1x791kp8slv1ff7fw45vdz"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config))) `(("pkg-config" ,pkg-config)))
(inputs (inputs
`(("efl" ,efl))) `(("efl" ,efl)))
(home-page "https://www.enlightenment.org") (home-page "https://www.enlightenment.org/about-terminology")
(synopsis "Powerful terminal emulator based on EFL") (synopsis "Powerful terminal emulator based on EFL")
(description (description
"Terminology is fast and feature rich terminal emulator. It is solely "Terminology is fast and feature rich terminal emulator. It is solely

View File

@ -85,3 +85,39 @@
Pinyin, Quwei and some table-based (Wubi, Cangjie, Erbi, etc.) input methods Pinyin, Quwei and some table-based (Wubi, Cangjie, Erbi, etc.) input methods
built-in.") built-in.")
(license gpl2+))) (license gpl2+)))
(define-public fcitx-configtool
(package
(name "fcitx-configtool")
(version "0.4.8")
(source (origin
(method url-fetch)
(uri (string-append "https://download.fcitx-im.org/fcitx-configtool/"
name "-" version ".tar.xz"))
(sha256
(base32
"1vaim0namw58bfafbvws1vgd4010p19zwqfbx6bd1zi5sgchdg0f"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags
(list "-DENABLE_GTK2=ON"
"-DENABLE_GTK3=ON")
#:tests? #f)) ; No tests.
(native-inputs
`(("glib:bin" ,glib "bin")
("pkg-config" ,pkg-config)))
(inputs
`(("fcitx" ,fcitx)
("dbus-glib" ,dbus-glib)
("gettext" ,gettext-minimal)
("gtk2" ,gtk+-2)
("gtk3" ,gtk+)
("iso-codes" ,iso-codes)))
(home-page "https://fcitx-im.org/wiki/Configtool")
(synopsis "Graphic Fcitx configuration tool")
(description
"Fcitx is an input method framework with extension support. It has
Pinyin, Quwei and some table-based (Wubi, Cangjie, Erbi, etc.) input methods
built-in. This package provides GTK version of the graphic configuration
tool of Fcitx.")
(license gpl2+)))

View File

@ -3,6 +3,7 @@
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Alex Griffin <a@ajgrf.com> ;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com> ;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2017 Carlo Zancanaro <carlo@zancanaro.id.au>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -26,6 +27,7 @@
#:use-module (guix build utils) #:use-module (guix build utils)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system cmake) #:use-module (guix build-system cmake)
#:use-module (guix build-system python)
#:use-module (gnu packages base) #:use-module (gnu packages base)
#:use-module (gnu packages boost) #:use-module (gnu packages boost)
#:use-module (gnu packages databases) #:use-module (gnu packages databases)
@ -240,3 +242,52 @@ allow to do that off the ERiC library (which is proprietary however).
It's not clear at the moment whether one day it will be possible to It's not clear at the moment whether one day it will be possible to
do so.") do so.")
(license license:agpl3+))) (license license:agpl3+)))
(define-public electrum
(package
(name "electrum")
(version "2.7.12")
(source
(origin
(method url-fetch)
(uri (string-append "https://download.electrum.org/"
version "/Electrum-"
version ".tar.gz"))
(sha256
(base32
"0vxdfl208if7mdsnva1jg37bnay2dsz3ww157aqwcv1j6512fi1n"))
(modules '((guix build utils)))
(snippet
'(begin
;; Delete the bundled dependencies.
(delete-file-recursively "packages")
#t))))
(build-system python-build-system)
(inputs
`(("python-slowaes" ,python2-slowaes)
("python-sip" ,python2-sip)
("python-pyqt" ,python2-pyqt-4)
("python-ecdsa" ,python2-ecdsa)
("python-pbkdf2" ,python2-pbkdf2)
("python-requests" ,python2-requests)
("python-qrcode" ,python2-qrcode)
("python-protobuf" ,python2-protobuf)
("python-dnspython" ,python2-dnspython)
("python-jsonrpclib" ,python2-jsonrpclib)))
(arguments
`(#:python ,python-2
#:phases
(modify-phases %standard-phases
(add-before 'build 'patch-home
(lambda* (#:key outputs #:allow-other-keys)
(substitute* "setup.py"
(("~/.local/share")
(string-append (assoc-ref outputs "out") "/local/share"))))))))
(home-page "https://electrum.org/")
(synopsis "Bitcoin wallet")
(description
"Electrum is a lightweight Bitcoin client, based on a client-server
protocol. It supports Simple Payment Verification (SPV) and deterministic key
generation from a seed. Your secret keys are encrypted and are never sent to
other machines/servers. Electrum does not download the Bitcoin blockchain.")
(license license:expat)))

View File

@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2017 David Craven <david@craven.ch>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -18,17 +19,21 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages firmware) (define-module (gnu packages firmware)
#:use-module (guix licenses) #:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix git-download) #:use-module (guix git-download)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (gnu packages) #:use-module (gnu packages)
#:use-module (gnu packages admin)
#:use-module (gnu packages assembly)
#:use-module (gnu packages bison) #:use-module (gnu packages bison)
#:use-module (gnu packages cmake) #:use-module (gnu packages cmake)
#:use-module (gnu packages cross-base) #:use-module (gnu packages cross-base)
#:use-module (gnu packages flex) #:use-module (gnu packages flex)
#:use-module (gnu packages perl)) #:use-module (gnu packages linux)
#:use-module (gnu packages perl)
#:use-module (gnu packages python))
(define-public ath9k-htc-firmware (define-public ath9k-htc-firmware
(package (package
@ -85,7 +90,7 @@
"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 (license:non-copyleft "http://directory.fsf.org/wiki/License:ClearBSD"))))
(define-public b43-tools (define-public b43-tools
(let ((commit "8dce53297966b31b6c70a7a03c2433978dd9f288") (let ((commit "8dce53297966b31b6c70a7a03c2433978dd9f288")
@ -143,7 +148,7 @@ Linux-libre.")
"The b43 firmware tools is a collection of firmware extractor, "The b43 firmware tools is a collection of firmware extractor,
assembler, disassembler, and debugging tools for the Linux kernel b43 wireless assembler, disassembler, and debugging tools for the Linux kernel b43 wireless
driver.") driver.")
(license gpl2)))) (license license:gpl2))))
(define-public openfwwf-firmware (define-public openfwwf-firmware
(package (package
@ -173,4 +178,125 @@ driver.")
"This is firmware from Open FirmWare for WiFi networks (OpenFWWF) for the "This is firmware from Open FirmWare for WiFi networks (OpenFWWF) for the
Broadcom/AirForce chipset BCM43xx with Wireless-Core Revision 5. It is used Broadcom/AirForce chipset BCM43xx with Wireless-Core Revision 5. It is used
by the b43-open driver of Linux-libre.") by the b43-open driver of Linux-libre.")
(license gpl2))) (license license:gpl2)))
(define-public seabios
(package
(name "seabios")
(version "1.10.1")
(source (origin
(method url-fetch)
(uri (string-append "https://code.coreboot.org/p/seabios/downloads/get/"
"seabios-" version ".tar.gz"))
(sha256
(base32
"1jyjl719drnl1v0gf0l5q6qjjmkyqcqkka6s28dfdi0yqsxdsqsh"))))
(build-system gnu-build-system)
(native-inputs
`(("python-2" ,python-2)))
(arguments
`(#:tests? #f ; No check target.
#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda _
(setenv "CC" "gcc")
#t))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(fmw (string-append out "/share/firmware")))
(mkdir-p fmw)
(copy-file "out/bios.bin" (string-append fmw "/bios.bin"))))))))
(home-page "https://www.seabios.org/SeaBIOS")
(synopsis "x86 BIOS implementation")
(description "SeaBIOS is an open source implementation of a 16bit x86 BIOS.
SeaBIOS can run in an emulator or it can run natively on X86 hardware with the
use of coreboot.")
;; Dual licensed.
(license (list license:gpl3+ license:lgpl3+
;; src/fw/acpi-dsdt.dsl is lgpl2
license:lgpl2.1
;; src/fw/lzmadecode.c and src/fw/lzmadecode.h are lgpl3+ and
;; cpl with a linking exception.
license:cpl1.0))))
;; OVMF is part of the edk2 source tree.
(define edk2-commit "13a50a6fe1dcfa6600c38456ee24e0f9ecf51b5f")
(define edk2-version (git-version "20170116" "1" edk2-commit))
(define edk2-origin
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/tianocore/edk2")
(commit edk2-commit)))
(file-name (git-file-name "edk2" edk2-version))
(sha256
(base32
"1gy2332kdqk8bjzpcsripx10896rbvgl0ic7r344kmpiwdgm948b"))))
(define-public ovmf
(package
(name "ovmf")
(version edk2-version)
(source edk2-origin)
(build-system gnu-build-system)
(native-inputs
`(("acpica" ,acpica)
("nasm" ,nasm)
("python-2" ,python-2)
("util-linux" ,util-linux)))
(arguments
`(#:tests? #f ; No check target.
#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda _
(let* ((cwd (getcwd))
(tools (string-append cwd "/BaseTools"))
(bin (string-append tools "/BinWrappers/PosixLike")))
(setenv "WORKSPACE" cwd)
(setenv "EDK_TOOLS_PATH" tools)
(setenv "PATH" (string-append (getenv "PATH") ":" bin))
(system* "bash" "edksetup.sh" "BaseTools")
(substitute* "Conf/target.txt"
(("^TARGET[ ]*=.*$") "TARGET = RELEASE\n")
(("^TOOL_CHAIN_TAG[ ]*=.*$") "TOOL_CHAIN_TAG = GCC49\n")
(("^MAX_CONCURRENT_THREAD_NUMBER[ ]*=.*$")
(format #f "MAX_CONCURRENT_THREAD_NUMBER = ~a~%"
(number->string (parallel-job-count)))))
;; Build build support.
(setenv "BUILD_CC" "gcc")
(zero? (system* "make" "-C" (string-append tools "/Source/C"))))))
(add-after 'build 'build-ia32
(lambda _
(substitute* "Conf/target.txt"
(("^TARGET_ARCH[ ]*=.*$") "TARGET_ARCH = IA32\n")
(("^ACTIVE_PLATFORM[ ]*=.*$")
"ACTIVE_PLATFORM = OvmfPkg/OvmfPkgIa32.dsc\n"))
(zero? (system* "build"))))
(add-after 'build 'build-x64
(lambda _
(substitute* "Conf/target.txt"
(("^TARGET_ARCH[ ]*=.*$") "TARGET_ARCH = X64\n")
(("^ACTIVE_PLATFORM[ ]*=.*$")
"ACTIVE_PLATFORM = OvmfPkg/OvmfPkgX64.dsc\n"))
(zero? (system* "build"))))
(delete 'build)
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(fmw (string-append out "/share/firmware")))
(mkdir-p fmw)
(copy-file "Build/OvmfIa32/RELEASE_GCC49/FV/OVMF.fd"
(string-append fmw "/ovmf_ia32.bin"))
(copy-file "Build/OvmfX64/RELEASE_GCC49/FV/OVMF.fd"
(string-append fmw "/ovmf_x64.bin")))
#t)))))
(supported-systems '("x86_64-linux" "i686-linux"))
(home-page "http://www.tianocore.org")
(synopsis "UEFI firmware for QEMU")
(description "OVMF is an EDK II based project to enable UEFI support for
Virtual Machines. OVMF contains a sample UEFI firmware for QEMU and KVM.")
(license (list license:expat
license:bsd-2 license:bsd-3 license:bsd-4))))

View File

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2014, 2017 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014 Joshua Grant <tadni@riseup.net> ;;; Copyright © 2014 Joshua Grant <tadni@riseup.net>
;;; Copyright © 2014 Alex Kost <alezost@gmail.com> ;;; Copyright © 2014 Alex Kost <alezost@gmail.com>
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com> ;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
@ -15,6 +15,8 @@
;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2016 Toni Reina <areina@riseup.net> ;;; Copyright © 2016 Toni Reina <areina@riseup.net>
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 José Miguel Sánchez García <jmi2k@openmailbox.com>
;;; Copyright © 2017 Alex Griffin <a@ajgrf.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -37,11 +39,13 @@
#:use-module ((guix licenses) #:prefix license:) #:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system trivial) #:use-module (guix build-system trivial)
#:use-module (gnu packages base) #:use-module (gnu packages base)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages fontutils) #:use-module (gnu packages fontutils)
#:use-module (gnu packages golang)
#:use-module (gnu packages perl) #:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
#:use-module (gnu packages python) #:use-module (gnu packages python)
@ -241,7 +245,7 @@ package provides the TrueType (TTF) files.")
(define-public font-cantarell (define-public font-cantarell
(package (package
(name "font-abattis-cantarell") (name "font-abattis-cantarell")
(version "0.0.24") (version "0.0.25")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnome/sources/cantarell-fonts/" (uri (string-append "mirror://gnome/sources/cantarell-fonts/"
@ -249,7 +253,7 @@ package provides the TrueType (TTF) files.")
"/cantarell-fonts-" version ".tar.xz")) "/cantarell-fonts-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0r4jnc2x9yncf40lixjb1pqgpq8rzbi2fz33pshlqzjgx2d69bcw")))) "0zvkd8cm1cg2919v1js9qmzwa02sjl7qajj3gcvgqvai1fm2i8hl"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(home-page "https://wiki.gnome.org/Projects/CantarellFonts") (home-page "https://wiki.gnome.org/Projects/CantarellFonts")
(synopsis "Cantarell sans-serif typeface") (synopsis "Cantarell sans-serif typeface")
@ -504,6 +508,49 @@ ko (Korean) locales for @code{fontconfig}.")
;; GPLv2 with font embedding exception ;; GPLv2 with font embedding exception
(license license:gpl2))) (license license:gpl2)))
(define-public font-wqy-microhei
(package
(name "font-wqy-microhei")
(version "0.2.0-beta")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/wqy/wqy-microhei/"
version "/wqy-microhei-" version ".tar.gz"))
(sha256
(base32
"0gi1yxqph8xx869ichpzzxvx6y50wda5hi77lrpacdma4f0aq0i8"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
#:builder
(begin
(use-modules (guix build utils))
(let ((PATH (string-append (assoc-ref %build-inputs "tar") "/bin:"
(assoc-ref %build-inputs "gzip") "/bin"))
(font-dir (string-append (assoc-ref %outputs "out")
"/share/fonts/wenquanyi")))
(mkdir-p font-dir)
(setenv "PATH" PATH)
(system* "tar" "xvf" (assoc-ref %build-inputs "source"))
(install-file "wqy-microhei/wqy-microhei.ttc" font-dir)))))
(native-inputs
`(("gzip" ,gzip)
("tar" ,tar)))
(home-page "http://wenq.org/wqy2/")
(synopsis "CJK font")
(description
"WenQuanYi Micro Hei is a Sans-Serif style (also known as Hei, Gothic or
Dotum among the Chinese/Japanese/Korean users) high quality CJK outline font.
It was derived from \"Droid Sans Fallback\" and \"Droid Sans\" released by
Google Inc. This font contains all the unified CJK Han glyphs in the range of
U+4E00-U+9FC3 defined in Unicode Standard 5.1, together with many other
languages unicode blocks, including Latins, Extended Latins, Hanguls and
Kanas. The font file is extremely compact (~4M) compared with most known CJK
fonts.")
;; This font is licensed under Apache2.0 or GPLv3 with font embedding
;; exceptions.
(license license:gpl3)))
(define-public font-tex-gyre (define-public font-tex-gyre
(package (package
(name "font-tex-gyre") (name "font-tex-gyre")
@ -714,8 +761,7 @@ display all Unicode symbols.")
(mkdir-p font-dir) (mkdir-p font-dir)
(chdir "roboto-hinted") (chdir "roboto-hinted")
(for-each (lambda (ttf) (for-each (lambda (ttf)
(copy-file ttf (install-file ttf font-dir))
(string-append font-dir "/" ttf)))
(find-files "." "\\.ttf$")))))) (find-files "." "\\.ttf$"))))))
(home-page "https://github.com/google/roboto") (home-page "https://github.com/google/roboto")
(synopsis "The Roboto family of fonts") (synopsis "The Roboto family of fonts")
@ -951,3 +997,196 @@ designed to work well in user interface environments.")
(synopsis "Mozilla's monospace font") (synopsis "Mozilla's monospace font")
(description "This is the typeface used by Mozilla in Firefox OS.") (description "This is the typeface used by Mozilla in Firefox OS.")
(license license:silofl1.1))) (license license:silofl1.1)))
(define-public font-awesome
(package
(name "font-awesome")
(version "4.7.0")
(source (origin
(method url-fetch)
(uri (string-append "http://fontawesome.io/assets/"
name "-" version ".zip"))
(sha256
(base32
"1frhmw41lnnm9rda2zs202pvfi5vzlrsw4xfp4mswl0qgws61mcd"))))
(build-system trivial-build-system)
(native-inputs
`(("unzip" ,unzip)))
(arguments
`(#:modules ((guix build utils))
#:builder (begin
(use-modules (guix build utils))
(let* ((font-dir (string-append %output
"/share/fonts/opentype"))
(source (assoc-ref %build-inputs "source"))
(src-otf-file (string-append "font-awesome-"
,version
"/fonts/FontAwesome.otf"))
(dest-otf-file (string-append font-dir "/FontAwesome.otf"))
(unzip (assoc-ref %build-inputs "unzip")))
(setenv "PATH" (string-append unzip "/bin"))
(mkdir-p font-dir)
(system* "unzip" source "-d" ".")
(copy-file src-otf-file dest-otf-file)))))
(home-page "http://fontawesome.io")
(synopsis "Font that contains a rich iconset")
(description
"Font Awesome is a full suite of pictographic icons for easy scalable
vector graphics.")
(license license:silofl1.1)))
(define-public font-comic-neue
(package
(name "font-comic-neue")
(version "2.3")
(source (origin
(method url-fetch)
(uri (string-append
"http://www.comicneue.com/comic-neue-" version ".zip"))
(sha256
(base32
"1695hkpd8kqnr2a88p8xs496slgzxjjkzpa9aa33ml3pnh7519zk"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
#:builder (begin
(use-modules (guix build utils))
(let ((font-dir (string-append %output
"/share/fonts/truetype"))
(source (assoc-ref %build-inputs "source"))
(unzip (string-append (assoc-ref %build-inputs "unzip")
"/bin/unzip")))
(mkdir-p font-dir)
(system* unzip source)
(with-directory-excursion
(string-append "Web")
(for-each (lambda (ttf)
(install-file ttf font-dir))
(find-files "." "\\.ttf$")))))))
(native-inputs `(("unzip" ,unzip)))
(home-page "http://www.comicneue.com/")
(synopsis "Font that fixes the shortcomings of Comic Sans")
(description
"Comic Neue is a font that attempts to create a respectable casual
typeface, by mimicking Comic Sans while fixing its most obvious shortcomings.")
(license license:silofl1.1)))
(define-public font-iosevka
(package
(name "font-iosevka")
(version "1.11.0")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/be5invis/Iosevka/releases/download/v"
version "/iosevka-pack-" version ".zip"))
(sha256
(base32
"0d8prdk7s5z94sdfd0y92cvqq531yqrlg7hnadbnhd7fs9jqr5hj"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
#:builder (begin
(use-modules (guix build utils))
(let ((font-dir (string-append %output
"/share/fonts/truetype"))
(source (assoc-ref %build-inputs "source"))
(unzip (string-append (assoc-ref %build-inputs "unzip")
"/bin/unzip")))
(mkdir-p font-dir)
(system* unzip "-d" font-dir source)))))
(native-inputs `(("unzip" ,unzip)))
(home-page "https://be5invis.github.io/Iosevka/")
(synopsis "Coders' typeface, built from code")
(description
"Iosevka is a slender monospace sans-serif or slab-serif typeface inspired
by Pragmata Pro, M+, and PF DIN Mono, designed to be the ideal font for
programming. Iosevka is completely generated from its source code.")
(license (list license:silofl1.1 ; build artifacts (i.e. the fonts)
license:bsd-3)))) ; supporting code
(define-public font-go
(let ((commit "b7f8df6bc082334698d4505fb85fa05e99156b72")
(revision "1"))
(package
(name "font-go")
(version (string-append "20161115-" revision "." (string-take commit 7)))
(source (origin
(file-name (string-append "go-image-" version "-checkout"))
(method git-fetch)
(uri (git-reference
(url "https://go.googlesource.com/image")
(commit commit)))
(sha256
(base32
"1ywxs6dmcyzwwsmnan3qqza7znprnbvmdi260x6sjmydz6dyq2zs"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
#:builder (begin
(use-modules (guix build utils))
(let ((font-dir (string-append %output
"/share/fonts/truetype"))
(source (assoc-ref %build-inputs "source")))
(mkdir-p font-dir)
(with-directory-excursion
(string-append source "/font/gofont/ttfs")
(for-each (lambda (ttf)
(install-file ttf font-dir))
(find-files "." "\\.ttf$")))))))
(home-page "https://blog.golang.org/go-fonts")
(synopsis "The Go font family")
(description
"The Go font family is a set of WGL4 TrueType fonts from the Bigelow &
Holmes type foundry, released under the same license as the Go programming
language. It includes a set of proportional, sans-serif fonts, and a set of
monospace, slab-serif fonts.")
(license (package-license go-1.4)))))
(define-public font-google-material-design-icons
(package
(name "font-google-material-design-icons")
(version "3.0.1")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/google/material-design-icons/archive/"
version ".tar.gz"))
(sha256
(base32
"183n0qv3q8w6n27libarq1fhc4mqv2d3sasbfmbn7x9r5pw9c6ga"))
(file-name (string-append name "-" version ".tar.gz"))))
(build-system trivial-build-system)
(native-inputs
`(("tar" ,tar)
("gzip" ,gzip)))
(arguments
`(#:modules ((guix build utils))
#:builder (begin
(use-modules (guix build utils))
(let* ((font-dir (string-append %output
"/share/fonts/truetype"))
(source (assoc-ref %build-inputs "source"))
(font-filename "MaterialIcons-Regular.ttf")
(src-ttf-file (string-append "material-design-icons-"
,version
"/iconfont/"
font-filename))
(dest-ttf-file (string-append font-dir font-filename))
(gzip (assoc-ref %build-inputs "gzip"))
(tar (assoc-ref %build-inputs "tar")))
(setenv "PATH" (string-append gzip "/bin:"
tar "/bin:"))
(system* "tar" "xf" source)
(mkdir-p font-dir)
(copy-file src-ttf-file dest-ttf-file)))))
(home-page "http://google.github.io/material-design-icons")
(synopsis "Icon font of Google Material Design icons")
(description
"Material design system icons are simple, modern, friendly, and sometimes
quirky. Each icon is created using our design guidelines to depict in simple
and minimal forms the universal concepts used commonly throughout a UI.
Ensuring readability and clarity at both large and small sizes, these icons
have been optimized for beautiful display on all common platforms and display
resolutions.")
(license license:asl2.0)))

View File

@ -5,8 +5,9 @@
;;; Copyright © 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2015, 2016, 2017 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> ;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Kei Kebreau <kei@openmailbox.org> ;;; Copyright © 2016 Kei Kebreau <kei@openmailbox.org>
;;; Copyright © 2017 Mark H Weaver <mhw@netris.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -87,14 +88,14 @@ freedesktop.org project.")
(define-public libinput (define-public libinput
(package (package
(name "libinput") (name "libinput")
(version "1.5.3") (version "1.6.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://freedesktop.org/software/libinput/" (uri (string-append "https://freedesktop.org/software/libinput/"
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1qx623nyr49sxv49ilb0j85skgk1dhkr82vd577ywyjf7d96q84i")))) "0cjq4mjqx8c7iiign330s34dvpw38rlv8byaxlx68p3kim8lylxp"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("cairo" ,cairo) `(("cairo" ,cairo)
@ -750,14 +751,14 @@ messaging clients such as Empathy, GNOME Shell or KDE Telepathy.")
(define-public telepathy-mission-control (define-public telepathy-mission-control
(package (package
(name "telepathy-mission-control") (name "telepathy-mission-control")
(version "5.16.3") (version "5.16.4")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://telepathy.freedesktop.org/releases/" (uri (string-append "https://telepathy.freedesktop.org/releases/"
name "/" name "-" version ".tar.bz2")) name "/" name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0zcbx69k0d3p2pjh3g7sa3q2zkd5xchxkqsmlfn3fwxaz0pmsmvi")))) "1jz6wwgsfxixha6ys2hbzbk5faqnj9kh2m5qdlgx5anqgandsscp"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc. `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.

View File

@ -36,23 +36,19 @@
(define-public lftp (define-public lftp
(package (package
(name "lftp") (name "lftp")
(version "4.7.4") (version "4.7.5")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
;; XXX: Downloads from main site redirects to 'get.html' and ;; See https://lftp.tech/get.html for mirrors.
;; returns HTTP 200, leading Guix to download that instead. (uri (list (string-append "https://lftp.tech/ftp/lftp-"
;; Try official mirror first. See:
;; https://github.com/lavv17/lftp/issues/299 and
;; https://lftp.tech/get.html (mirror list)
(uri (list (string-append "ftp://ftp.st.ryukoku.ac.jp/pub/network/"
"ftp/lftp/lftp-" version ".tar.xz")
(string-append "https://lftp.tech/ftp/lftp-"
version ".tar.xz") version ".tar.xz")
(string-append "https://lftp.tech/ftp/old/lftp-" (string-append "https://lftp.tech/ftp/old/lftp-"
version ".tar.xz"))) version ".tar.xz")
(string-append "ftp://ftp.st.ryukoku.ac.jp/pub/network/"
"ftp/lftp/lftp-" version ".tar.xz")))
(sha256 (sha256
(base32 (base32
"0b6r1gbpazvml1hvfjm2ccsfxibrjrm3fir912j6kxxn538w8rxz")))) "1n6h3y5jz1rxlx7ap46vykgm0q2rvzr7c5s5ry5l32z3lbmwbdak"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config))) `(("pkg-config" ,pkg-config)))

View File

@ -10,20 +10,21 @@
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015, 2016 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2015, 2016 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com> ;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com>
;;; Copyright © 2015 Christopher Allan Webber <cwebber@dustycloud.org> ;;; Copyright © 2015, 2017 Christopher Allan Webber <cwebber@dustycloud.org>
;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015, 2016 Alex Kost <alezost@gmail.com> ;;; Copyright © 2015, 2016, 2017 Alex Kost <alezost@gmail.com>
;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org> ;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com> ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2016 Rodger Fox <thylakoid@openmailbox.org> ;;; Copyright © 2016 Rodger Fox <thylakoid@openmailbox.org>
;;; Copyright © 2016 Manolis Fragkiskos Ragkousis <manolis837@gmail.com> ;;; Copyright © 2016 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is> ;;; Copyright © 2016, 2017 ng0 <contact.ng0@cryptolab.net>
;;; Copyright © 2016 Albin Söderqvist <albin@fripost.org> ;;; Copyright © 2016 Albin Söderqvist <albin@fripost.org>
;;; Copyright © 2016 Kei Kebreau <kei@openmailbox.org> ;;; Copyright © 2016 Kei Kebreau <kei@openmailbox.org>
;;; Copyright © 2016 Alex Griffin <a@ajgrf.com> ;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2016 Steve Webber <webber.sl@gmail.com> ;;; Copyright © 2016 Steve Webber <webber.sl@gmail.com>
;;; Copyright © 2017 Adonay "adfeno" Felipe Nogueira <https://libreplanet.org/wiki/User:Adfeno> <adfeno@openmailbox.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -104,6 +105,7 @@
#:use-module (gnu packages xdisorg) #:use-module (gnu packages xdisorg)
#:use-module (gnu packages tls) #:use-module (gnu packages tls)
#:use-module (gnu packages pcre) #:use-module (gnu packages pcre)
#:use-module (gnu packages cyrus-sasl)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system haskell) #:use-module (guix build-system haskell)
#:use-module (guix build-system python) #:use-module (guix build-system python)
@ -176,22 +178,23 @@ scriptable with Guile.")
(define-public abbaye (define-public abbaye
(package (package
(name "abbaye") (name "abbaye")
(version "1.13") (version "2.0.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://storage.googleapis.com/" (uri (string-append "https://github.com/nevat/abbayedesmorts-gpl/"
"google-code-archive-downloads/v2/code.google.com/" "archive/v" version ".tar.gz"))
"abbaye-for-linux/abbaye-for-linux-src-" (file-name (string-append name "-" version ".tar.gz"))
version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1wgvckgqa2084rbskxif58wbb83xbas8s1i8s7d57xbj08ryq8rk")))) "1a67b0hq6271dd7pvwndjq29cwn2n8gawwz17xafa3k1hrhf8vw3"))
(modules '((guix build utils)))
(snippet
;; Unbundle fonts.
'(delete-file-recursively "fonts"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
'(#:modules ((ice-9 match) '(#:make-flags '("CC=gcc")
(guix build gnu-build-system)
(guix build utils))
#:phases (modify-phases %standard-phases #:phases (modify-phases %standard-phases
(add-after 'set-paths 'set-sdl-paths (add-after 'set-paths 'set-sdl-paths
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
@ -201,10 +204,8 @@ scriptable with Guile.")
(add-after 'patch-source-shebangs 'patch-makefile (add-after 'patch-source-shebangs 'patch-makefile
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
;; Replace /usr with package output directory. ;; Replace /usr with package output directory.
(for-each (lambda (file) (substitute* "Makefile"
(substitute* file (("/usr") (assoc-ref outputs "out")))))
(("/usr") (assoc-ref outputs "out"))))
'("makefile" "src/pantallas.c" "src/comun.h"))))
(add-before 'install 'make-install-dirs (add-before 'install 'make-install-dirs
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(let ((prefix (assoc-ref outputs "out"))) (let ((prefix (assoc-ref outputs "out")))
@ -216,15 +217,66 @@ scriptable with Guile.")
(delete 'configure)) (delete 'configure))
#:tests? #f)) ;; No check target. #:tests? #f)) ;; No check target.
(native-inputs `(("pkg-config" ,pkg-config))) (native-inputs `(("pkg-config" ,pkg-config)))
(inputs `(("sdl-union" ,(sdl-union)))) (inputs `(("sdl-union" ,(sdl-union (list sdl2 sdl2-image sdl2-mixer)))))
(home-page "http://code.google.com/p/abbaye-for-linux/") (home-page "https://github.com/nevat/abbayedesmorts-gpl")
(synopsis "GNU/Linux port of the indie game \"l'Abbaye des Morts\"") (synopsis "GNU/Linux port of the indie game \"l'Abbaye des Morts\"")
(description "L'Abbaye des Morts is a 2D platform game set in 13th century (description "L'Abbaye des Morts is a 2D platform game set in 13th century
France. The Cathars, who preach about good Christian beliefs, were being France. The Cathars, who preach about good Christian beliefs, were being
expelled by the Catholic Church out of the Languedoc region in France. One of expelled by the Catholic Church out of the Languedoc region in France. One of
them, called Jean Raymond, found an old church in which to hide, not knowing them, called Jean Raymond, found an old church in which to hide, not knowing
that beneath its ruins lay buried an ancient evil.") that beneath its ruins lay buried an ancient evil.")
(license license:gpl3+))) (license license:gpl3)))
(define-public angband
(package
(name "angband")
(version "4.0.5")
(source
(origin
(method url-fetch)
(uri (string-append "http://rephial.org/downloads/4.0/"
"angband-" version ".tar.gz"))
(sha256
(base32
"0lpq2kms7hp421vrasx2bkkn9w08kr581ldwik3v0hlq6h7rlxhd"))
(modules '((guix build utils)))
(snippet
;; So, some of the sounds/graphics/tilesets are under different
;; licenses... some of them even nonfree! This is a console-only
;; version of this package so we just remove them.
;; In the future, if someone tries to make a graphical variant of
;; this package, they can deal with that mess themselves. :)
'(begin
(for-each
(lambda (subdir)
(let ((lib-subdir (string-append "lib/" subdir)))
(delete-file-recursively lib-subdir)))
'("fonts" "icons" "sounds" "tiles"))
(substitute* "lib/Makefile"
;; And don't try to invoke makefiles in the directories we removed
(("gamedata customize help screens fonts tiles sounds icons user")
"gamedata customize help screens user"))))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ;no check target
#:configure-flags (list (string-append "--bindir=" %output "/bin"))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'autogen.sh
(lambda _
(substitute* "acinclude.m4"
(("ncursesw5-config") "ncursesw6-config"))
(zero? (system* "sh" "autogen.sh")))))))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)))
(inputs `(("ncurses" ,ncurses)))
(home-page "http://rephial.org/")
(synopsis "Dungeon exploration roguelike")
(description "Angband is a Classic dungeon exploration roguelike. Explore
the depths below Angband, seeking riches, fighting monsters, and preparing to
fight Morgoth, the Lord of Darkness.")
(license license:gpl2)))
(define-public pingus (define-public pingus
(package (package
@ -942,7 +994,7 @@ Protocol).")
(define-public extremetuxracer (define-public extremetuxracer
(package (package
(name "extremetuxracer") (name "extremetuxracer")
(version "0.7.3") (version "0.7.4")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -950,7 +1002,7 @@ Protocol).")
version "/etr-" version ".tar.xz")) version "/etr-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1lg3z7jhzmsjym53qss8mbydny8hafwjnfsc7x91hrr9zrkwblly")))) "0d2j4ybdjmimg67v2fndgahgq4fvgz3fpfb3a4l1ar75n6hy776s"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config))) `(("pkg-config" ,pkg-config)))
@ -1254,7 +1306,7 @@ is programmed in Haskell.")
(define-public manaplus (define-public manaplus
(package (package
(name "manaplus") (name "manaplus")
(version "1.6.12.24") (version "1.7.1.21")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -1262,7 +1314,7 @@ is programmed in Haskell.")
version "/manaplus-" version ".tar.xz")) version "/manaplus-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1g64pid26vcv1ay002bzz6ymabwrmy3wmklywpcgpvrhynm6f2cq")))) "0q9hk9jgz5jja1mmba5iafxwavk6991kjpmdxdkgbam0hk15pqmz"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
'(#:configure-flags '(#:configure-flags
@ -2159,42 +2211,45 @@ http://lavachat.symlynx.com/unix/")
(define-public red-eclipse (define-public red-eclipse
(let ((data-sources (let ((data-sources
'(("acerspyro" "0hqwa3b65l8mz73mcdsvrwbc14mrx1qn52073p5zh69pqd0mlfi0") '(("acerspyro" "0zmg78scrfdv33h7vszqvzylcqjwg7d5b0j2riav3rjfh326j8xx")
("actors" "0v87wifqwam5j6vsiidmcvw22i51h9h4skgwhi511mxkwryrp26h") ("actors" "0l00rsvppqzdpsikm5qpj38jiygirszxlzay2nxp4g4n2qjq0m4a")
("appleflap" "0bkh1v125dwd5jhb4rrc1sl0jdlbb2ib53ihbxa66x1p8l27aklw") ("appleflap" "0jhfr7f13hk3nswwxqc4jajriipr6zz6j63v955nv4sgxs7lzbjd")
("blendbrush" "1wh88fshsy492kjvadql2ik1q5pqgcj84jz0hc93ngag8xibxhfi") ("blendbrush" "1nk0zaisbqf2khrivq8ls6z2lnh6d51m133m2ppxk7k4c9gq1imq")
("caustics" "0pc5bnd4fmxh06cm3h8045wgiy894f9x5a943n28gymdyql7q4f6") ("caustics" "1hq08k476wayi0kmk4ps8h6jr75yinq04f1r2p8r79xsdpxq9my5")
("crosshairs" "1w9acqhxw5nm690862msl5jjbk8qlizxm1vv7p95lgm7q7pg0yxx") ("crosshairs" "1gmrmjm7i7n9py0qrzamk7ygi63yx1mr2pp6iwz2vwngprl03n8m")
("elyvisions" "04q31lp5jm8b9crf81s6k1jvrn90i1ay3s6vk103iv8g4amsfhdx") ("dziq" "0gr36ydrv8syjxv7w9dw3ix8waaq201fzxr0klkqp260p8xp215s")
("fonts" "1rsfk2d9xk0aaazvrcxk4z5n2cnys7pixadh521mv7zrxbx2d95x") ("elyvisions" "05syxlpsap6nfwxnnd0ls7qj1p4vhw2jxi41pi5inwpfifapfphz")
("freezurbern" "0b2xg5x79yxanr30dhw3zr6dsc6x9w7v7aghbh9kp292j31l280m") ("fonts" "184syks602xc657q08973w5ji50x5zssvd4vp2q2ig8m68iyr51c")
("john" "07pgjg1rxl3bmwriy2yl3g63nnryjws8jl0ry1cza3p9wd59f8rz") ("freezurbern" "020gpgcpy4rqjd9d18npfm96j8f02jcjnccbxcgzk1yb58y687ya")
("jojo" "0lkzd5pwfqan1gaaz22r5iz4z2nq8dkzycddwa0cxavmq8qmj281") ("john" "0hj5kwlb2gb0gsnl9bk7dkqlk8r7vxcw8gxpgrb3kfn8d9cwcb7k")
("jwin" "0mnyp1inhabw56mw5wkhfd4k6z0lvyhr6cjj6hnj3bz2dip2y2zm") ("jojo" "0fij06040r7s5p7jksxm7wxi9jqwkhhm8iywys0dagk8j2wcbvsz")
("luckystrike" "1d89xnvahmzlgm0bjh3zhf02vxx1q16b70x2cihbl05dic1v75pr") ("jwin" "0ysfynjvypc8dszf7rsvk02jgw8fmsli49vy2xpm83zpkrqpddgf")
("maps" "19gy8kl7w2llsklym32hnlnd05z2dhq5dhdxhq5ss5na67skv5by") ("luckystrike" "1bm0xdqjv35ry5xwbzw3a3v1xf2gj1jwfg29nyl6w3ch0h6crr11")
("mayhem" "1si2gnsf732ml8ygkhg27ckvic9wafqmkgq0ab1ifpfpy606sa8d") ("maps" "0c9d1zxmpnngwhchzw6xb6cf84cx8xyycmdqcvyhamrd95d96qma")
("mikeplus64" "0l48czyglbc0d4ack8xz9imarb6r4l29krq0mf3ld7yrxbc296vr") ("mayhem" "133pdql7ari159skd9qdmw0p1m73x32d1v6jswkz0xwk8vgxmkil")
("misc" "0fri1l3i1s1pzvr7aah4a7d9h2i877c21x184z80v4jpqv4228f3") ("mikeplus64" "1d5npn9wlw0mviz9vhzzcsj98jvfh1wbvlh1nyqfj4ws5nfxhs7x")
("nobiax" "1jv2yv2qj9qbxhaj1nd70v5142dpg074gkkh3bw2anchi8pzyhs8") ("misc" "19x2ps6yxnfrz0xdhqdwncaq25ds7i4w2l8sdfi95yh2r7c5k1qn")
("particles" "0gwj6m5197gpwddqb3pwlkaiafgfszqysaz2h1bx60qzh5crgsf9") ("nieb" "15029nipl92cb0jbh46z00k51hf3jk4v05pwx266b6b11bapdz0c")
("philipk" "0ngccscmvlgc2z96vira7phr87f65l4v7immbl697zmc5fda6k68") ("nobiax" "0k9apim5z4ihd5ajmnbq4gyh24w872dv0mr5v8wqn31a8gxzahhp")
("projectiles" "1ig6dag5989rgwrhvmz7xz5q8gf5slgnda8h8zmiyhvrnal09hbp") ("particles" "06827r9pnhzjil381xiwcbc93v9nxin7qlr59yrvk9gdzxmklk9m")
("props" "0g3sgrlgmk9zrl67d9pa93hzb4xx3wwznfxa1h3wwilld0m7gzhx") ("philipk" "1l6fhl6qz471vjn05hvk29bm8dhwnzqbmi2hdylpa9k998nzkfc1")
("skyboxes" "0lvpzc741vkmy2rnra41ij91wq3pdl28xamy6vapq61mf44xmmvj") ("projectiles" "03ay8ik52n3vx723swqlnl5gpkzf1v1gadwj3zcnh43ch7nd2bqh")
("sounds" "0jmvvixcx7kv34sxjs4x7vqsyhir6l5av6b3lm8m8rsfi0sdvqml") ("props" "1yxz7gfmb79sqqrkyfdzp4ar9rf5f1kpfij4nrkk1l8vbw9liksc")
("textures" "1yx01k9yn2v1k79sa68wa51qw1zk03b8irkvxyd14ygibkicvgnb") ("skyboxes" "1mm98mhb6yhb006p1hlic91jcwjxhq79mblxciwbqqa9c5g4yki6")
("torley" "1286srp05nfjban6ca124njyil70gr7bm6aqn5p0vz0xr00l4dw5") ("snipergoth" "1vlpmwlg71g6l5b706gp82bc07i5bbw2zphzynm2fx49za0zdi44")
("trak" "1079fg2cbm95psxic3r63i94z3cnbf04wlid2hqnw308s9l9q36c") ("sounds" "156g5wh8cvdh6zr33haqm566sd28ylnzdf2h4pqzpxbb2i19vbfg")
("ulukai" "0yd80ivn51ya60m4cg4bw13wxgijkjagfgskdphy9adgsaqq9n7b") ("textures" "0wkhl5cgymr9kslzhksi83hs15rb0q01xvax5khi6b4dcl3mrmsh")
("unnamed" "0l21dhw7kbav59p7ysn6dr2sqzjivwxafml4023yznlhxx5fic4m") ("torley" "1xlag6ndjyqafl984n6d9zi96dv9aif7vrc2nvikc3iwgjwlbxav")
("vanities" "1aqi32lf7y64fv1y00mpixckjr9wj8p1prgyxjiv7s3hf5q7n2b3") ("trak" "12x9ix8zkqn9svy56qmdgj4x2814qh25f4srplgq691lqn9qjhvd")
("vegetation" "0253fdn5sxywrjb79krhvq2884almxpysn6dn0hi6ylpjzl78zrn") ("ulukai" "0gz1hd8hca2biskc85hw4jjacpsmqg9x4w6cwrka8x987xmc92k5")
("weapons" "0y2zsx6g6k9izshgix9id3y01hsisd88mp5zrlm5x9v8y0sf6kf8") ("unnamed" "09v8fjy6jqypm1i121kilg3z6zpw7dm0i4gxhd9b7ihprvzvy8r7")
("wicked" "0ib0325dn6vzpx3p4cr6bhg9qhj8c5s20xyzy88xjc3y2pazbdvx")))) ("vanities" "0m3vfq9l71pbb80qz4s3k8r5azmm158chqbw8snch09ymxm6h462")
("vegetation" "07yzm9lbzr624j4i652ny5p762p83gadg40c1k8gwff4y7yk55gn")
("weapons" "05fsp17gdrhjqdwia7rwdw9gcijaqwcnny8lf6krms43xmn8cj0x")
("wicked" "0jjgwzdibr5my369gwvmvbklpjlwq939zgf643rv0168xc087xb2"))))
(package (package
(name "red-eclipse") (name "red-eclipse")
(version "1.5.6") (version "1.5.8")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://github.com/red-eclipse/base" (uri (string-append "https://github.com/red-eclipse/base"
@ -2202,7 +2257,7 @@ http://lavachat.symlynx.com/unix/")
(file-name (string-append name "-" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1sv3xhng18sl655sd46lpmqbqz32h32s7nwz68bdr9z9w3iwkf66")))) "1ah92axwcai0fhgm7pvfb2dxvfdiwwyh8iqyiffndh6782hxz3bc"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:tests? #f ; no check target `(#:tests? #f ; no check target
@ -2789,7 +2844,7 @@ the GNU GPL.")
(define-public tintin++ (define-public tintin++
(package (package
(name "tintin++") (name "tintin++")
(version "2.01.1") (version "2.01.2")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://sourceforge.net/projects/tintin" (uri (string-append "https://sourceforge.net/projects/tintin"
@ -2797,7 +2852,7 @@ the GNU GPL.")
"/tintin" "-" version ".tar.gz")) "/tintin" "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"195wrfcys8yy953gdrl1gxryhjnx9lg1vqgxm3dyzm8bi18aa2yc")))) "13h39agyhlhm17zyqlb56bmbbxpimikyf5pana3gd3ylvqy1xq81"))))
(inputs (inputs
`(("gnutls" ,gnutls) `(("gnutls" ,gnutls)
("pcre" ,pcre) ("pcre" ,pcre)
@ -3068,3 +3123,69 @@ symbols, the game needs graphics to render the non-euclidean world.")
for Un*x systems with X11.") for Un*x systems with X11.")
(home-page "http://olofson.net/kobodl/") (home-page "http://olofson.net/kobodl/")
(license license:gpl2+))) (license license:gpl2+)))
(define-public freeciv
(package
(name "freeciv")
(version "2.5.6")
(source
(origin
(method url-fetch)
(uri (string-append
"http://download.gna.org/freeciv/"
"stable/freeciv-" version ".tar.bz2"))
(sha256
(base32
"16wrnsx5rmbz6rjs03bhy0vn20i6n6g73lx7fjpai98ixhzc5bfg"))))
(build-system gnu-build-system)
(inputs
`(("curl" ,curl)
("cyrus-sasl" ,cyrus-sasl)
("gtk+" ,gtk+)
("sdl-mixer" ,sdl-mixer)
("zlib" ,zlib)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "http://www.freeciv.org/")
(synopsis "Turn based empire building strategy game")
(description "Freeciv is a turn based empire building strategy game
inspired by the history of human civilization. The game commences in
prehistory and your mission is to lead your tribe from the Stone Age
to the Space Age.")
(license license:gpl2+)))
(define-public no-more-secrets
(package
(name "no-more-secrets")
(version "0.3.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/bartobri/no-more-secrets/"
"archive/v" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"038flwqr0kqv55im2v76xjn01zbvvkb3nzb5ridwm2kbnk9cgg4v"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f
#:make-flags (list "CC=gcc" "all-ncurses"
(string-append "prefix="
(assoc-ref %outputs "out")))
#:phases
(modify-phases %standard-phases
(delete 'configure))))
(inputs
`(("ncurses" ,ncurses)))
(home-page "https://github.com/bartobri/no-more-secrets")
(synopsis "Recreation of data decryption effect in \"Sneakers\"")
(description
"@code{No More Secrets} provides a command line tool called \"nms\"
that recreates the famous data decryption effect seen on screen in the 1992
movie \"Sneakers\".
This command works on piped data. Pipe any ASCII or UTF-8 text to nms, and
it will apply the hollywood effect, initially showing encrypted data, then
starting a decryption sequence to reveal the original plaintext characters.")
(license license:expat)))

View File

@ -25,16 +25,16 @@
(define-public gcal (define-public gcal
(package (package
(name "gcal") (name "gcal")
(version "4") (version "4.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnu/gcal/gcal-" (uri (string-append "mirror://gnu/gcal/gcal-"
version ".tar.xz")) version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0vpzz2pb6xf5wlwyqj9xa29yvx72zdmffb0fv54hdirfn5vciiar")))) "1av11zkfirbixn05hyq4xvilin0ncddfjqzc4zd9pviyp506rdci"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(home-page "http://www.gnu.org/software/gcal") (home-page "https://www.gnu.org/software/gcal")
(synopsis "Calculating and printing a wide variety of calendars") (synopsis "Calculating and printing a wide variety of calendars")
(description (description
"Gcal is a program to calculate and print calendars on the "Gcal is a program to calculate and print calendars on the

View File

@ -2,7 +2,7 @@
;;; Copyright © 2013, 2016 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2013, 2016 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015, 2016 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2015, 2016 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2016 Leo Famulari <leo@famulari.name> ;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -36,6 +36,7 @@
(define-public gd (define-public gd
(package (package
(name "gd") (name "gd")
(replacement gd-2.2.4)
;; Note: With libgd.org now pointing to github.com, genuine old ;; Note: With libgd.org now pointing to github.com, genuine old
;; tarballs are no longer available. Notably, versions 2.0.x are ;; tarballs are no longer available. Notably, versions 2.0.x are
@ -77,6 +78,32 @@ most common applications of GD involve website development.")
"See COPYING file in the distribution.")) "See COPYING file in the distribution."))
(properties '((cpe-name . "libgd"))))) (properties '((cpe-name . "libgd")))))
(define gd-2.2.4
(package
(inherit gd)
(version "2.2.4")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/libgd/libgd/releases/download/"
"gd-" version "/libgd-" version ".tar.xz"))
(patches (search-patches "gd-fix-gd2-read-test.patch"
"gd-fix-tests-on-i686.patch"))
(sha256
(base32
"1rp4v7n1dq38b92kl7gkvpvqqkw7nvdfnz6d5kip5klkxfki6zqk"))))
(arguments
`(#:phases
(modify-phases %standard-phases
;; This test is known to fail on i686-linux:
;; https://github.com/libgd/libgd/issues/359
;; TODO Replace this substitution with an upstream bug fix.
(add-after 'unpack 'disable-failing-test
(lambda _
(substitute* "tests/gdimagegrayscale/basic.c"
(("return gdNumFailures\\(\\)")
"return 0")))))))))
(define-public perl-gd (define-public perl-gd
(package (package
(name "perl-gd") (name "perl-gd")

View File

@ -37,14 +37,14 @@
(define-public gdb (define-public gdb
(package (package
(name "gdb") (name "gdb")
(version "7.12") (version "7.12.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnu/gdb/gdb-" (uri (string-append "mirror://gnu/gdb/gdb-"
version ".tar.xz")) version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"152g2qa8337cxif3lkvabjcxfd9jphfb2mza8f1p2c4bjk2z6kw3")))) "11ii260h1sd7v0bs3cz6d5l8gqxxgldry0md60ncjgixjw5nh1s6"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:tests? #f ; FIXME "make check" fails on single-processor systems. `(#:tests? #f ; FIXME "make check" fails on single-processor systems.

View File

@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016 Leo Famulari <leo@famulari.name> ;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016 Alex Griffin <a@ajgrf.com> ;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2017 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -19,8 +20,9 @@
(define-module (gnu packages geo) (define-module (gnu packages geo)
#:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system gnu)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix licenses) #:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix utils) #:use-module (guix utils)
#:use-module (gnu packages glib) #:use-module (gnu packages glib)
@ -30,6 +32,43 @@
#:use-module (gnu packages webkit) #:use-module (gnu packages webkit)
#:use-module (gnu packages xml)) #:use-module (gnu packages xml))
(define-public geos
(package
(name "geos")
(version "3.6.1")
(source (origin
(method url-fetch)
(uri (string-append "http://download.osgeo.org/geos/geos-"
version
".tar.bz2"))
(sha256
(base32
"1icz31kd5sml2kdxhjznvmv33zfr6nig9l0i6bdcz9q9g8x4wbja"))))
(build-system gnu-build-system)
(arguments `(#:phases
(modify-phases %standard-phases
(add-after
'unpack 'patch-test-shebangs
(lambda _
(substitute* '("tests/xmltester/testrunner.sh"
"tests/geostest/testrunner.sh")
(("/bin/sh") (which "sh")))
#t)))))
(inputs
`(("glib" ,glib)))
(home-page "https://geos.osgeo.org/")
(synopsis "Geometry Engine for Geographic Information Systems")
(description
"GEOS provides a spatial object model and fundamental geometric
functions. It is a C++ port of the Java Topology Suite (JTS). As such,
it aims to contain the complete functionality of JTS in C++. This
includes all the OpenGIS Simple Features for SQL spatial predicate
functions and spatial operators, as well as specific JTS enhanced
topology functions.")
(license (list license:lgpl2.1+ ; Main distribution.
license:zlib ; tests/xmltester/tinyxml/*
license:public-domain)))) ; include/geos/timeval.h
;;; FIXME GNOME Maps only runs within GNOME. On i3, it fails with this error: ;;; FIXME GNOME Maps only runs within GNOME. On i3, it fails with this error:
;;; (org.gnome.Maps:8568): GLib-GIO-ERROR **: Settings schema ;;; (org.gnome.Maps:8568): GLib-GIO-ERROR **: Settings schema
;;; 'org.gnome.desktop.interface' is not installed ;;; 'org.gnome.desktop.interface' is not installed
@ -92,4 +131,54 @@
the OpenStreetMap project. It can provide directions for walking, bicycling, the OpenStreetMap project. It can provide directions for walking, bicycling,
and driving.") and driving.")
(home-page "https://wiki.gnome.org/Apps/Maps") (home-page "https://wiki.gnome.org/Apps/Maps")
(license gpl2+))) (license license:gpl2+)))
(define-public proj.4
(package
(name "proj.4")
(version "4.9.3")
(source (origin
(method url-fetch)
(uri (string-append "http://download.osgeo.org/proj/proj-"
version ".tar.gz"))
(sha256
(base32
"1xw5f427xk9p2nbsj04j6m5zyjlyd66sbvl2bkg8hd1kx8pm9139"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-test-paths
(lambda _
(substitute* '("nad/test27"
"nad/test83"
"nad/testvarious"
"nad/testdatumfile"
"nad/testflaky"
"nad/testIGNF")
(("/bin/rm") (which "rm")))
#t))
;; Precision problems on i686 and other platforms. See:
;; https://web.archive.org/web/20151006134301/http://trac.osgeo.org/proj/ticket/255
;; Disable failing test.
(add-after 'patch-test-paths 'ignore-failing-tests
(lambda _
(substitute* '("nad/Makefile.in")
(("\tPROJ_LIB.*" all) (string-append "#" all)))
#t)))))
(inputs
`(("glib" ,glib)))
(home-page "http://proj4.org/")
(synopsis "Cartographic Projections Library")
(description
"Proj.4 is a library for converting coordinates between cartographic
projections.")
(license (list license:expat
;; src/PJ_patterson.c
license:asl2.0
;; src/geodesic.c/h
license:x11
;; Embedded EPSG database.
(license:non-copyleft "http://www.epsg.org/TermsOfUse")
;; cmake/*
license:boost1.0))))

View File

@ -39,6 +39,7 @@
(define-public lcms (define-public lcms
(package (package
(name "lcms") (name "lcms")
(replacement lcms/fixed)
(version "2.6") (version "2.6")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
@ -58,6 +59,14 @@ Consortium standard (ICC), approved as ISO 15076-1.")
(license license:x11) (license license:x11)
(home-page "http://www.littlecms.com/"))) (home-page "http://www.littlecms.com/")))
(define lcms/fixed
(package
(inherit lcms)
(source
(origin
(inherit (package-source lcms))
(patches (search-patches "lcms-fix-out-of-bounds-read.patch"))))))
(define-public libpaper (define-public libpaper
(package (package
(name "libpaper") (name "libpaper")

View File

@ -38,8 +38,7 @@
#:use-module (gnu packages pdf) #:use-module (gnu packages pdf)
#:use-module (gnu packages photo) #:use-module (gnu packages photo)
#:use-module (gnu packages python) #:use-module (gnu packages python)
#:use-module (gnu packages xorg) #:use-module (gnu packages xorg))
#:use-module (gnu packages imagemagick))
(define-public babl (define-public babl
(package (package
@ -102,7 +101,7 @@ provided as well as the framework to add new color models and data types.")
(("g_object_unref \\(buffer.\\);") "")) (("g_object_unref \\(buffer.\\);") ""))
(substitute* "tests/compositions/Makefile" (substitute* "tests/compositions/Makefile"
(("/bin/sh") (which "bash")))) (("/bin/sh") (which "sh"))))
%standard-phases))) %standard-phases)))
(inputs (inputs
`(("babl" ,babl) `(("babl" ,babl)

View File

@ -2,7 +2,7 @@
;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2013 Joshua Grant <tadni@riseup.net> ;;; Copyright © 2013 Joshua Grant <tadni@riseup.net>
;;; Copyright © 2014, 2016 David Thompson <davet@gnu.org> ;;; Copyright © 2014, 2016 David Thompson <davet@gnu.org>
;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2014, 2015, 2016, 2017 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is> ;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is>
;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016 David Thompson <davet@gnu.org> ;;; Copyright © 2016 David Thompson <davet@gnu.org>
@ -197,7 +197,7 @@ also known as DXTn or DXTC) for Mesa.")
(define-public mesa (define-public mesa
(package (package
(name "mesa") (name "mesa")
(version "13.0.2") (version "13.0.3")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -205,7 +205,7 @@ also known as DXTn or DXTC) for Mesa.")
version "/mesa-" version ".tar.xz")) version "/mesa-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1m8n8kd8kcs5ddyvldiw09wvpi5wwpfmmxlb87d63vgl8lk65vd6")) "03m4gc6qc50lb0ic06f83r3yl0x4lmj2zjq3sl60vl3nq7jqpanr"))
(patches (patches
(search-patches "mesa-wayland-egl-symbols-check-mips.patch")))) (search-patches "mesa-wayland-egl-symbols-check-mips.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)

View File

@ -2,7 +2,7 @@
;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org> ;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2014, 2015, 2016, 2017 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox.org> ;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox.org>
;;; ;;;
@ -30,6 +30,7 @@
#:use-module (guix build-system python) #:use-module (guix build-system python)
#:use-module (gnu packages) #:use-module (gnu packages)
#:use-module (gnu packages base) #:use-module (gnu packages base)
#:use-module (gnu packages backup)
#:use-module (gnu packages bison) #:use-module (gnu packages bison)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages enlightenment) #:use-module (gnu packages enlightenment)
@ -38,6 +39,8 @@
#:use-module (gnu packages gnome) #:use-module (gnu packages gnome)
#:use-module (gnu packages gtk) #:use-module (gnu packages gtk)
#:use-module (gnu packages libffi) #:use-module (gnu packages libffi)
#:use-module (gnu packages linux)
#:use-module (gnu packages nettle)
#:use-module (gnu packages pcre) #:use-module (gnu packages pcre)
#:use-module (gnu packages perl) #:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
@ -134,7 +137,7 @@ shared NFS home directories.")
(define glib (define glib
(package (package
(name "glib") (name "glib")
(version "2.48.2") (version "2.50.2")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnome/sources/" (uri (string-append "mirror://gnome/sources/"
@ -142,7 +145,7 @@ shared NFS home directories.")
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1x6kwrk1zyd3csv0ca3pmwc4bnkc33agn95cds15h6nbi4apappj")) "1xgvmiqbhla6grpmbidqs3bl6zrb9mjknfsh7r4hb3163xy76s5y"))
(patches (search-patches "glib-tests-timer.patch")))) (patches (search-patches "glib-tests-timer.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(outputs '("out" ; everything (outputs '("out" ; everything
@ -152,6 +155,7 @@ shared NFS home directories.")
`(("pcre" ,pcre))) ; in the Requires.private field of glib-2.0.pc `(("pcre" ,pcre))) ; in the Requires.private field of glib-2.0.pc
(inputs (inputs
`(("coreutils" ,coreutils) `(("coreutils" ,coreutils)
("util-linux" ,util-linux) ; for libmount
("libffi" ,libffi) ("libffi" ,libffi)
("zlib" ,zlib) ("zlib" ,zlib)
("tzdata" ,tzdata))) ; for tests/gdatetime.c ("tzdata" ,tzdata))) ; for tests/gdatetime.c
@ -279,14 +283,14 @@ dynamic loading, and an object system.")
(define gobject-introspection (define gobject-introspection
(package (package
(name "gobject-introspection") (name "gobject-introspection")
(version "1.48.0") (version "1.50.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnome/sources/" (uri (string-append "mirror://gnome/sources/"
"gobject-introspection/" (version-major+minor version) "gobject-introspection/" (version-major+minor version)
"/gobject-introspection-" version ".tar.xz")) "/gobject-introspection-" version ".tar.xz"))
(sha256 (sha256
(base32 "0xsqwxhfqzr79av89mg766kxpb2i41bd0vwspk01xjdzrnn5l9zs")) (base32 "1i9pccig8mv6qf0c1z8fcapays190nmr7j6pyc7cfhzmcv39fr8w"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(substitute* "tools/g-ir-tool-template.in" '(substitute* "tools/g-ir-tool-template.in"
@ -427,7 +431,7 @@ translated.")
(define dbus-glib (define dbus-glib
(package (package
(name "dbus-glib") (name "dbus-glib")
(version "0.106") (version "0.108")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (uri
@ -435,7 +439,7 @@ translated.")
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0in0i6v68ixcy0ip28i84hdczf10ykq9x682qgcvls6gdmq552dk")))) "0b307hw9j41npzr6niw1bs6ryp87m5yafg492gqwvsaj4dz0qd4z"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(propagated-inputs ; according to dbus-glib-1.pc (propagated-inputs ; according to dbus-glib-1.pc
`(("dbus" ,dbus) `(("dbus" ,dbus)
@ -482,7 +486,7 @@ has an ease of use unmatched by other C++ callback libraries.")
(define glibmm (define glibmm
(package (package
(name "glibmm") (name "glibmm")
(version "2.48.1") (version "2.50.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnome/sources/glibmm/" (uri (string-append "mirror://gnome/sources/glibmm/"
@ -490,7 +494,7 @@ has an ease of use unmatched by other C++ callback libraries.")
"/glibmm-" version ".tar.xz")) "/glibmm-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1pvw2mrm03p51p03179rb6fk9p42iykkwj1jcdv7jr265xymy8nw")))) "152yz5w0lx0y5j9ml72az7pc83p4l92bc0sb8whpcazldqy6wwnz"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:phases (alist-cons-before `(#:phases (alist-cons-before
@ -563,7 +567,7 @@ useful for C++.")
(define-public python-pygobject (define-public python-pygobject
(package (package
(name "python-pygobject") (name "python-pygobject")
(version "3.20.0") (version "3.22.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -572,7 +576,7 @@ useful for C++.")
"/pygobject-" version ".tar.xz")) "/pygobject-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0ikzh3l7g1gjh8jj8vg6mdvrb25svp63gxcam4m0i404yh0lgari")))) "1ryblpc4wbhxcwf7grgib4drrab5xi6p78ihhrx0zj7g13xrrch8"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("which" ,which) `(("which" ,which)
@ -663,7 +667,6 @@ many applications simultaneously.
This package provides the library for GLib applications.") This package provides the library for GLib applications.")
(license license:lgpl2.1+))) (license license:lgpl2.1+)))
(define-public dbus-c++ (define-public dbus-c++
(package (package
(name "dbus-c++") (name "dbus-c++")
@ -703,3 +706,46 @@ programming langauage. It also contains the utility
@command{dbuscxx-xml2cpp}.") @command{dbuscxx-xml2cpp}.")
(home-page "https://sourceforge.net/projects/dbus-cplusplus/") (home-page "https://sourceforge.net/projects/dbus-cplusplus/")
(license license:lgpl2.1+))) (license license:lgpl2.1+)))
(define-public appstream-glib
(package
(name "appstream-glib")
(version "0.6.7")
(source (origin
(method url-fetch)
(uri (string-append "https://people.freedesktop.org/~hughsient/"
"appstream-glib/releases/"
"appstream-glib-" version ".tar.xz"))
(sha256
(base32
"08mrf4k0jhnpdd4fig2grmi2vbxkgdhrwk0d0zq0j1wp5ip7arwp"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
`(("gdk-pixbuf" ,gdk-pixbuf)
("glib" ,glib)
("gtk+" ,gtk+)
("json-glib" ,json-glib)
("libarchive" ,libarchive)
("libsoup" ,libsoup)
("nettle" ,nettle)
("util-linux" ,util-linux)))
(arguments
`(#:configure-flags
'("--disable-firmware" "--disable-dep11")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-tests
(lambda _
(substitute* "libappstream-glib/as-self-test.c"
(("g_test_add_func.*as_test_store_local_appdata_func);") "")
(("g_test_add_func.*as_test_store_speed_appdata_func);") "")
(("g_test_add_func.*as_test_store_speed_desktop_func);") ""))
#t)))))
(home-page "https://github.com/hughsie/appstream-glib")
(synopsis "Library for reading and writing AppStream metadata")
(description "This library provides objects and helper methods to help
reading and writing @uref{https://www.freedesktop.org/wiki/Distributions/AppStream,AppStream}
metadata.")
(license license:lgpl2.1+)))

File diff suppressed because it is too large Load Diff

View File

@ -42,7 +42,7 @@
(define-public gnucash (define-public gnucash
(package (package
(name "gnucash") (name "gnucash")
(version "2.6.14") (version "2.6.15")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -50,7 +50,7 @@
version "/gnucash-" version ".tar.bz2")) version "/gnucash-" version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"0xcf2nl3v6zsablmla20v283x3r0jdpixcbp37mzap82lln4y51v")) "1bnvnv1sxv85bgpfklykbhymjl4sbfqc1z9as5ym97s3cf1fn68n"))
(patches (search-patches "gnucash-price-quotes-perl.patch")))) (patches (search-patches "gnucash-price-quotes-perl.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs

View File

@ -5,7 +5,7 @@
;;; Copyright © 2015 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2015 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2016 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016 ng0 <ng0@libertad.pw> ;;; Copyright © 2016, 2017 ng0 <contact.ng0@cryptolab.net>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -44,7 +44,9 @@
#:use-module (gnu packages libunistring) #:use-module (gnu packages libunistring)
#:use-module (gnu packages maths) #:use-module (gnu packages maths)
#:use-module (gnu packages multiprecision) #:use-module (gnu packages multiprecision)
#:use-module (gnu packages music)
#:use-module (gnu packages ncurses) #:use-module (gnu packages ncurses)
#:use-module (gnu packages package-management)
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
#:use-module (gnu packages perl) #:use-module (gnu packages perl)
#:use-module (gnu packages pulseaudio) #:use-module (gnu packages pulseaudio)
@ -87,13 +89,11 @@
;; The following dependencies are all optional, but should be ;; The following dependencies are all optional, but should be
;; available for maximum coverage: ;; available for maximum coverage:
;; * libmagic (file) ;; * libmagic (file)
;; * libmp4v2 ; package it ;; * librpm (rpm) ; investigate failure
;; * librpm ; package it
;; * libsmf ; package it
;; * libtidy ; package it
;; * libgif (giflib) ; investigate failure ;; * libgif (giflib) ; investigate failure
(inputs (inputs
`(("exiv2" ,exiv2) `(("exiv2" ,exiv2)
("bzip2" ,bzip2)
("flac" ,flac) ("flac" ,flac)
("ffmpeg" ,ffmpeg) ("ffmpeg" ,ffmpeg)
("file" ,file) ;libmagic, for the MIME plug-in ("file" ,file) ;libmagic, for the MIME plug-in
@ -106,17 +106,39 @@
("libjpeg" ,libjpeg) ("libjpeg" ,libjpeg)
("libltdl" ,libltdl) ("libltdl" ,libltdl)
("libmpeg2" ,libmpeg2) ("libmpeg2" ,libmpeg2)
("libmp4v2" ,libmp4v2)
("libsmf" ,libsmf)
("tidy-html" ,tidy-html)
("libogg" ,libogg) ("libogg" ,libogg)
("libtiff" ,libtiff) ("libtiff" ,libtiff)
("libvorbis" ,libvorbis) ("libvorbis" ,libvorbis)
("zlib" ,zlib))) ("zlib" ,zlib)))
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config))) `(("pkg-config" ,pkg-config)))
(outputs '("out"
"static")) ; 396 KiB .a files
(arguments (arguments
`(#:configure-flags `(#:configure-flags
(list (string-append "--with-ltdl=" (list (string-append "--with-ltdl="
(assoc-ref %build-inputs "libltdl"))) (assoc-ref %build-inputs "libltdl"))
#:parallel-tests? #f)) (string-append "--with-tidy="
(assoc-ref %build-inputs "tidy-html")))
#:parallel-tests? #f
#:phases
(modify-phases %standard-phases
(add-after 'install 'move-static-libraries
(lambda* (#:key outputs #:allow-other-keys)
;; Move static libraries to the "static" output.
(let* ((out (assoc-ref outputs "out"))
(lib (string-append out "/lib"))
(static (assoc-ref outputs "static"))
(slib (string-append static "/lib")))
(mkdir-p slib)
(for-each (lambda (file)
(install-file file slib)
(delete-file file))
(find-files lib "\\.a$"))
#t))))))
(synopsis "Library to extract meta-data from media files") (synopsis "Library to extract meta-data from media files")
(description (description
"GNU libextractor is a library for extracting metadata from files. It "GNU libextractor is a library for extracting metadata from files. It

View File

@ -217,18 +217,14 @@ compatible to GNU Pth.")
(define-public gnupg (define-public gnupg
(package (package
(name "gnupg") (name "gnupg")
(version "2.1.17") (version "2.1.18")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnupg/gnupg/gnupg-" version (uri (string-append "mirror://gnupg/gnupg/gnupg-" version
".tar.bz2")) ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"1js308b46ifx1gim0c9nivr5yxhans7iq1yvkf7zl2928gdm9p65")) "157rrv3ly9j2k0acz43nhiba5hfl6h7048jvj55wwqjmgsmnyk6h"))))
(patches
;; This fixes a test failure on 32bit. Remove for next version.
;; https://lists.gnu.org/archive/html/guix-devel/2016-12/msg00869.html
(search-patches "gnupg-test-segfault-on-32bit-arch.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config))) `(("pkg-config" ,pkg-config)))
@ -310,7 +306,7 @@ libskba (working with X.509 certificates and CMS data).")
(add-before 'configure 'patch-config-files (add-before 'configure 'patch-config-files
(lambda _ (lambda _
(substitute* "tests/openpgp/Makefile.in" (substitute* "tests/openpgp/Makefile.in"
(("/bin/sh") (which "bash"))) (("/bin/sh") (which "sh")))
#t)) #t))
(add-after 'install 'rename-v2-commands (add-after 'install 'rename-v2-commands
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
@ -349,7 +345,7 @@ libskba (working with X.509 certificates and CMS data).")
(add-after 'unpack 'patch-check-sh (add-after 'unpack 'patch-check-sh
(lambda _ (lambda _
(substitute* "checks/Makefile.in" (substitute* "checks/Makefile.in"
(("/bin/sh") (which "bash")))))))))) (("/bin/sh") (which "sh"))))))))))
(define-public gpgme (define-public gpgme
(package (package
@ -500,43 +496,36 @@ and signature functionality from Python programs.")
(package-with-python2 python-gnupg)) (package-with-python2 python-gnupg))
(define-public pius (define-public pius
;; pius 2.2.2 does not work with gpg-agent 2.1, so we take a newer (package
;; commit. When a new pius (> 2.2.2) is released, update this package (name "pius")
;; and delete this message. (version "2.2.3")
;; More info: https://github.com/jaymzh/pius/issues/46 (source (origin
(let ((commit "891687ccb3d232a1fc0e7da7d22572c0318644cb") (method url-fetch)
(base-version "2.2.2")) ; i.e. there were no releases (uri (string-append
; between BASE-VERSION and COMMIT "https://github.com/jaymzh/pius/releases/download/v"
(package version "/pius-" version ".tar.bz2"))
(name "pius") (sha256
(version (string-append base-version "-0." (base32
(string-take commit 7))) "0iy0gnms6lv9hpvk29313kc495a2f7pq2mg6ljxhy233vxsmjsk6"))))
(source (origin (build-system python-build-system)
(method git-fetch) (inputs `(("perl" ,perl) ;for 'pius-party-worksheet'
(uri (git-reference ("gpg" ,gnupg)))
(url "https://github.com/jaymzh/pius.git") (arguments
(commit commit))) `(#:tests? #f
(sha256 #:python ,python-2 ;uses the Python 2 'print' syntax
(base32 #:phases
"0m2na4bnf1rv0zpf404l9ga6pwyf7ijldp4lw5irgh7gkmpllxr3")))) (modify-phases %standard-phases
(build-system python-build-system) (add-before
(inputs `(("perl" ,perl) ;for 'pius-party-worksheet' 'build 'set-gpg-file-name
("gpg" ,gnupg))) (lambda* (#:key inputs outputs #:allow-other-keys)
(arguments (let* ((gpg (string-append (assoc-ref inputs "gpg")
`(#:tests? #f "/bin/gpg")))
#:python ,python-2 ;uses the Python 2 'print' syntax (substitute* "libpius/constants.py"
#:phases (("/usr/bin/gpg2") gpg))
(modify-phases %standard-phases #t))))))
(add-before (synopsis "Programs to simplify GnuPG key signing")
'build 'set-gpg-file-name (description
(lambda* (#:key inputs outputs #:allow-other-keys) "Pius (PGP Individual UID Signer) helps attendees of PGP keysigning
(let* ((gpg (string-append (assoc-ref inputs "gpg")
"/bin/gpg")))
(substitute* "libpius/constants.py"
(("/usr/bin/gpg2") gpg))))))))
(synopsis "Programs to simplify GnuPG key signing")
(description
"Pius (PGP Individual UID Signer) helps attendees of PGP keysigning
parties. It is the main utility and makes it possible to quickly and easily parties. It is the main utility and makes it possible to quickly and easily
sign each UID on a set of PGP keys. It is designed to take the pain out of sign each UID on a set of PGP keys. It is designed to take the pain out of
the sign-all-the-keys part of PGP Keysigning Party while adding security the sign-all-the-keys part of PGP Keysigning Party while adding security
@ -544,8 +533,8 @@ to the process.
pius-keyring-mgr and pius-party-worksheet help organisers of pius-keyring-mgr and pius-party-worksheet help organisers of
PGP keysigning parties.") PGP keysigning parties.")
(license license:gpl2) (license license:gpl2)
(home-page "https://www.phildev.net/pius/index.shtml")))) (home-page "https://www.phildev.net/pius/index.shtml")))
(define-public signing-party (define-public signing-party
(package (package
@ -573,7 +562,7 @@ PGP keysigning parties.")
(substitute* "keyanalyze/Makefile" (substitute* "keyanalyze/Makefile"
(("./configure") (string-append "./configure --prefix=" out))) (("./configure") (string-append "./configure --prefix=" out)))
(substitute* "keyanalyze/pgpring/configure" (substitute* "keyanalyze/pgpring/configure"
(("/bin/sh") (which "bash"))) (("/bin/sh") (which "sh")))
(substitute* "gpgwrap/Makefile" (substitute* "gpgwrap/Makefile"
(("\\} clean") (("\\} clean")
(string-append "} clean\ninstall:\n\tinstall -D bin/gpgwrap " (string-append "} clean\ninstall:\n\tinstall -D bin/gpgwrap "

View File

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015, 2016, 2017 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2014, 2015, 2016, 2017 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com> ;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
@ -36,7 +36,7 @@
#:use-module (gnu packages gnome) #:use-module (gnu packages gnome)
#:use-module (gnu packages libcanberra) #:use-module (gnu packages libcanberra)
#:use-module (gnu packages cups) #:use-module (gnu packages cups)
#:use-module (gnu packages mit-krb5) #:use-module (gnu packages kerberos)
#:use-module (gnu packages linux) #:use-module (gnu packages linux)
#:use-module (gnu packages perl) #:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
@ -342,19 +342,38 @@ standards.")
(mozilla-patch "icecat-CVE-2016-9893-pt7.patch" "9b78ab1e6d07" "19ib6bp96xk000ll40b8qxvizkncyzclz2rsb9w5fa42qs9978ff") (mozilla-patch "icecat-CVE-2016-9893-pt7.patch" "9b78ab1e6d07" "19ib6bp96xk000ll40b8qxvizkncyzclz2rsb9w5fa42qs9978ff")
(mozilla-patch "icecat-CVE-2016-9893-pt8.patch" "78ebf9c9dfb0" "1shgr4rk6r2zxr1qqk1j3qnnqzqxnbi093qhlrfh8q5q1ivqf6k1") (mozilla-patch "icecat-CVE-2016-9893-pt8.patch" "78ebf9c9dfb0" "1shgr4rk6r2zxr1qqk1j3qnnqzqxnbi093qhlrfh8q5q1ivqf6k1")
(mozilla-patch "icecat-CVE-2016-9893-pt9.patch" "a46a9f16823c" "0dwkyz3kcqnfcbhbfh2lss7s0yh87rgzb871qxx3x4ynyqph9mnz") (mozilla-patch "icecat-CVE-2016-9893-pt9.patch" "a46a9f16823c" "0dwkyz3kcqnfcbhbfh2lss7s0yh87rgzb871qxx3x4ynyqph9mnz")
(mozilla-patch "icecat-bug-1311687.patch" "6bc7cc7a33a6" "1wggcqv84n8mp7xps7hy4rwy61fkh45imfqzc0b46s3w5hyhypn2") (mozilla-patch "icecat-CVE-2017-5376.patch" "6bc7cc7a33a6" "1wggcqv84n8mp7xps7hy4rwy61fkh45imfqzc0b46s3w5hyhypn2")
(mozilla-patch "icecat-CVE-2016-9893-pt10.patch" "778f65148b40" "0j2a153sk0654vv2lnxjib4lwml3mlqn6vs46c2pp82iba8nyfrm") (mozilla-patch "icecat-CVE-2016-9893-pt10.patch" "778f65148b40" "0j2a153sk0654vv2lnxjib4lwml3mlqn6vs46c2pp82iba8nyfrm")
(mozilla-patch "icecat-CVE-2016-9895.patch" "94bd2b43c766" "10h0qpr6m9cqyqxxnkbb6mzb3cagavzlynkxgd7a4izyq1bv28rk") (mozilla-patch "icecat-CVE-2016-9895.patch" "94bd2b43c766" "10h0qpr6m9cqyqxxnkbb6mzb3cagavzlynkxgd7a4izyq1bv28rk")
(mozilla-patch "icecat-CVE-2016-9893-pt11.patch" "893de7431d51" "11gyik8mwipl6ipypkvdq519pw7ccbg0g0bnvxb7271n44cqqcq5") (mozilla-patch "icecat-CVE-2016-9893-pt11.patch" "893de7431d51" "11gyik8mwipl6ipypkvdq519pw7ccbg0g0bnvxb7271n44cqqcq5")
(mozilla-patch "icecat-bug-1323338.patch" "b21dee058b2c" "005khpimffqzas7slajid4dd2c15nyk7rjk6fsps87bgnx0gx0s4") (mozilla-patch "icecat-CVE-2017-5383-pt1.patch" "b21dee058b2c" "005khpimffqzas7slajid4dd2c15nyk7rjk6fsps87bgnx0gx0s4")
(mozilla-patch "icecat-bug-1258410-pt1.patch" "cd23c5d74be8" "1myzkpzg6pmjacjz8az06m9kz84in1mwsiaw5sgx47pm02598wm5") (mozilla-patch "icecat-bug-1258410-pt1.patch" "cd23c5d74be8" "1myzkpzg6pmjacjz8az06m9kz84in1mwsiaw5sgx47pm02598wm5")
(mozilla-patch "icecat-bug-1258410-pt2.patch" "b83594617d15" "171cqflc9jh47az96im1whwhyq4ayicspqsczsmn2x5ll9lqw5fq") (mozilla-patch "icecat-bug-1258410-pt2.patch" "b83594617d15" "171cqflc9jh47az96im1whwhyq4ayicspqsczsmn2x5ll9lqw5fq")
(mozilla-patch "icecat-bug-1322107.patch" "d6c6f5e4e641" "10x9f46ylm2q3i669hj1csd6agdm8w7xa0iln691z8ayg2hcrxdz") (mozilla-patch "icecat-CVE-2017-5380.patch" "d6c6f5e4e641" "10x9f46ylm2q3i669hj1csd6agdm8w7xa0iln691z8ayg2hcrxdz")
(mozilla-patch "icecat-bug-1285833.patch" "122f5fbfc563" "05pp2f4pg4j8a8pdgjhfrc8g2chhkhsarn9n8sbyag0fy3ig1cvd") (mozilla-patch "icecat-CVE-2017-5373-pt1.patch" "122f5fbfc563" "05pp2f4pg4j8a8pdgjhfrc8g2chhkhsarn9n8sbyag0fy3ig1cvd")
(mozilla-patch "icecat-bug-1297361.patch" "297c675ddadc" "1jc1b5i69vq1fvz3qfnnv52c9cj17bjbmfyzmqlw5ywna0wfvabz") (mozilla-patch "icecat-CVE-2017-5390.patch" "297c675ddadc" "1jc1b5i69vq1fvz3qfnnv52c9cj17bjbmfyzmqlw5ywna0wfvabz")
(mozilla-patch "icecat-bug-1325877.patch" "3cff736e3bb6" "1nxqwnl9zksvkfkmis7zica4xrhwfndjyy2sxc1dvrh9rshk1swq") (mozilla-patch "icecat-CVE-2017-5373-pt2.patch" "3cff736e3bb6" "1nxqwnl9zksvkfkmis7zica4xrhwfndjyy2sxc1dvrh9rshk1swq")
(mozilla-patch "icecat-bug-1285960.patch" "2732280adabc" "0zrpq3aybaw2yy38vs6883a4nw01x4kxn3lfqn9yhcgjvngmmyia") (mozilla-patch "icecat-CVE-2017-5373-pt3.patch" "2732280adabc" "0zrpq3aybaw2yy38vs6883a4nw01x4kxn3lfqn9yhcgjvngmmyia")
(mozilla-patch "icecat-bug-1325938.patch" "81c9fdbd96e8" "0scv1zyi4vbsjdsyj4w70n5jd50baq0dzw3qpxqf1n69nfb9k214"))) (mozilla-patch "icecat-CVE-2017-5373-pt4.patch" "81c9fdbd96e8" "0scv1zyi4vbsjdsyj4w70n5jd50baq0dzw3qpxqf1n69nfb9k214")
(mozilla-patch "icecat-CVE-2017-5373-pt5.patch" "a386ca6a3013" "1m1scz2pxzmg9wya8is5dcr3mgvkx3g1xlykgigmw2mqs5zcdg9s")
(mozilla-patch "icecat-CVE-2017-5373-pt6.patch" "0521b0e4707c" "1mv057p4hcvapibpbd9apryag19aiqdzafc6df2angl97m4mcbjx")
(mozilla-patch "icecat-bug-1290037.patch" "bf0dd9ae6807" "02iw5ngsvvij95arnn69a744d6si27g1x41ixg16l51dbn900b3r")
(mozilla-patch "icecat-bug-1322666.patch" "576f03e362c5" "0m88xs0jwhzx2lg12cvimxjknp7rpsvvhxxblhiqqjwnqip0pyc0")
(mozilla-patch "icecat-bug-1304266.patch" "4d82e7314a72" "1rrrw4rw0xv7c2myiypcqh1fk47rk3fvic79zh6m04bl3knclr1r")
(mozilla-patch "icecat-CVE-2017-5373-pt7.patch" "0617dd4b444d" "1ipags2cl2p521pm0qx110h5di2mgif6h1r3g8l9b0rc5m9b1y2j")
(mozilla-patch "icecat-CVE-2017-5375.patch" "ead08c2a6c57" "1nnnwdr7411xpz6n9j869g6sz447cq6xsmds9cw6d24iprcinp5m")
(mozilla-patch "icecat-CVE-2017-5378-pt1.patch" "c5e67d41bdd0" "05kwn5zv381lsiw9vbzm8fh6s1lddx47l8f4pwg487h9dj7vbdfq")
(mozilla-patch "icecat-CVE-2017-5373-pt8.patch" "2ce94f2ea797" "1yrnjqpafjns68z99s1m6jins3agid7c1z3v9qgk5xzfcddl31pn")
(mozilla-patch "icecat-CVE-2017-5373-pt9.patch" "e4ac8a66d3db" "1ggbh6nk005plm7kvp7qznbnlpidqkipxc5hlaqbjc3m0z9mypzl")
(mozilla-patch "icecat-CVE-2017-5386.patch" "8c171b75a0c6" "1cplkgwkhqvb62q7s8cya2drjdswnlicv5d9a60fxvnp6m7a3z02")
(mozilla-patch "icecat-CVE-2017-5383-pt2.patch" "79a31d8153bf" "0dzwk2hc741c0jr8xya4y8q59lk8mcgnvfdrdk0vzq1gby16b9zi")
(mozilla-patch "icecat-CVE-2017-5378-pt2.patch" "747085a1cd93" "0rpc8hl0jka4akdjnlwya4x9v4pqa1r5vc4pkmxsgvqpp2vkq4m2")
(mozilla-patch "icecat-bug-1331606.patch" "f0329536734b" "1br5shyfwp009y623wgjq60vhcp5k5zpzkgy4r3s5yrm5xyfcprf")
(mozilla-patch "icecat-bug-1328642.patch" "237c1ca6e035" "0808g5j17var6wv6ivj08i43fwkga9abmmgmz5w3hb8mhajkjw58")
(mozilla-patch "icecat-CVE-2017-5396.patch" "910ad552cbf5" "1qss3gc6n4myzwvwanc09xvyiq3hwhixn2xvpbk9xkfz2apdlfa6")
(mozilla-patch "icecat-bug-1312827.patch" "5c894801eb1e" "03xyjwx9rfx5w7q6wq9if83fcfgrlvvbyxpsawzxxgybnizyy7g8")
(mozilla-patch "icecat-bug-1191841.patch" "83ee87b301bd" "1kd9z4py372a2f1jg7jwvwri43vipf0k7lcvsg7b0cqr5p70zwcg")
(mozilla-patch "icecat-bug-1234317.patch" "eb6f18dbfe8d" "1dh3263fvg3dxav09g6fn41ax4q1jmwp5fk6pl6shn16mrfha1qq")))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin
@ -422,7 +441,7 @@ standards.")
("libgnome" ,libgnome) ("libgnome" ,libgnome)
("libjpeg-turbo" ,libjpeg-turbo) ("libjpeg-turbo" ,libjpeg-turbo)
("libxft" ,libxft) ("libxft" ,libxft)
("libevent" ,libevent) ("libevent" ,libevent-2.0)
("libxinerama" ,libxinerama) ("libxinerama" ,libxinerama)
("libxscrnsaver" ,libxscrnsaver) ("libxscrnsaver" ,libxscrnsaver)
("libxcomposite" ,libxcomposite) ("libxcomposite" ,libxcomposite)

View File

@ -1,161 +0,0 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages grub)
#:use-module (guix download)
#:use-module (guix packages)
#:use-module (guix utils)
#:use-module ((guix licenses) #:select (gpl3+))
#:use-module (guix build-system gnu)
#:use-module (gnu packages)
#:use-module (gnu packages flex)
#:use-module (gnu packages disk)
#:use-module (gnu packages bison)
#:use-module (gnu packages gettext)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages linux)
#:use-module (gnu packages qemu)
#:use-module (gnu packages man)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages cdrom))
(define unifont
;; GNU Unifont, <http://gnu.org/s/unifont>.
;; GRUB needs it for its graphical terminal, gfxterm.
(origin
(method url-fetch)
(uri
"http://unifoundry.com/pub/unifont-7.0.06/font-builds/unifont-7.0.06.bdf.gz")
(sha256
(base32
"0p2vhnc18cnbmb39vq4m7hzv4mhnm2l0a2s7gx3ar277fwng3hys"))))
(define-public grub
(package
(name "grub")
(version "2.02beta3")
(source (origin
(method url-fetch)
(uri (string-append
"ftp://alpha.gnu.org/gnu/grub/grub-"
"2.02~beta3"
".tar.xz"))
(file-name (string-append name "-" version ".tar.xz"))
(sha256
(base32
"18ddwnw0vxs7zigvah0g6a5z5vvlz0p8fjglxv1h59sjbrakvv1h"))))
(build-system gnu-build-system)
(arguments
'(;; Two warnings: suggest braces, signed/unsigned comparison.
#:configure-flags '("--disable-werror")
#:phases (modify-phases %standard-phases
(add-after 'unpack 'patch-stuff
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "grub-core/Makefile.in"
(("/bin/sh") (which "sh")))
;; Give the absolute file name of 'mdadm', used to
;; determine the root file system when it's a RAID
;; device. Failing to do that, 'grub-probe' silently
;; fails if 'mdadm' is not in $PATH.
(substitute* "grub-core/osdep/linux/getroot.c"
(("argv\\[0\\] = \"mdadm\"")
(string-append "argv[0] = \""
(assoc-ref inputs "mdadm")
"/sbin/mdadm\"")))
;; Make the font visible.
(copy-file (assoc-ref inputs "unifont") "unifont.bdf.gz")
(system* "gunzip" "unifont.bdf.gz")
;; We hit an assertion failure in
;; grub-core/tests/video_checksum.c, as reported at
;; <https://lists.gnu.org/archive/html/grub-devel/2016-07/msg00026.html>.
;; Disable this test for now.
(substitute* "tests/grub_func_test.in"
(("set -e") "exit 77\nset -e"))
#t)))))
(inputs
`(("gettext" ,gettext-minimal)
;; Depend on LVM2 for libdevmapper, used by 'grub-probe' and
;; 'grub-install' to recognize mapped devices (LUKS, etc.)
("lvm2" ,lvm2)
;; Depend on mdadm, which is invoked by 'grub-probe' and 'grub-install'
;; to determine whether the root file system is RAID.
("mdadm" ,mdadm)
("freetype" ,freetype)
;; ("libusb" ,libusb)
;; ("fuse" ,fuse)
("ncurses" ,ncurses)))
(native-inputs
`(("unifont" ,unifont)
("bison" ,bison)
("flex" ,flex)
("texinfo" ,texinfo)
("help2man" ,help2man)
;; Dependencies for the test suite. The "real" QEMU is needed here,
;; because several targets are used.
("parted" ,parted)
("qemu" ,qemu-minimal)
("xorriso" ,xorriso)))
(home-page "https://www.gnu.org/software/grub/")
(synopsis "GRand Unified Boot loader")
(description
"GRUB is a multiboot bootloader. It is used for initially loading the
kernel of an operating system and then transferring control to it. The kernel
then goes on to load the rest of the operating system. As a multiboot
bootloader, GRUB handles the presence of multiple operating systems installed
on the same computer; upon booting the computer, the user is presented with a
menu to select one of the installed operating systems.")
(license gpl3+)
(properties '((cpe-name . "grub2")))))
(define-public grub-efi
(package
(inherit grub)
(name "grub-efi")
(synopsis "GRand Unified Boot loader (UEFI version)")
(inputs
`(("efibootmgr" ,efibootmgr)
,@(package-inputs grub)))
(arguments
`(;; TODO: Tests need a UEFI firmware for qemu. There is one at
;; https://github.com/tianocore/edk2/tree/master/OvmfPkg .
;; Search for 'OVMF' in "tests/util/grub-shell.in".
#:tests? #f
,@(substitute-keyword-arguments (package-arguments grub)
((#:configure-flags flags) `(cons* "--with-platform=efi"
,flags))
((#:phases phases)
`(modify-phases ,phases
(add-after 'patch-stuff 'use-absolute-efibootmgr-path
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "grub-core/osdep/unix/platform.c"
(("efibootmgr")
(string-append (assoc-ref inputs "efibootmgr")
"/sbin/efibootmgr")))
#t)))))))))

View File

@ -21,7 +21,7 @@
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages libidn) #:use-module (gnu packages libidn)
#:use-module (gnu packages nettle) #:use-module (gnu packages nettle)
#:use-module (gnu packages shishi) #:use-module (gnu packages kerberos)
#:use-module (gnu packages tls) #:use-module (gnu packages tls)
#:use-module ((guix licenses) #:prefix license:) #:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages) #:use-module (guix packages)

View File

@ -98,7 +98,7 @@ arrays of data.")
(define-public gstreamer (define-public gstreamer
(package (package
(name "gstreamer") (name "gstreamer")
(version "1.10.2") (version "1.10.3")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -107,7 +107,7 @@ arrays of data.")
version ".tar.xz")) version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0rcd4ya4k99x6ngm9v78as7ql0rqibkwshc13lb4rjdszs0qw3hm")))) "0gdnxg5igbhnpjhrzp31w1ww95j805byqd6mj3x29wli54dxrfc5"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(outputs '("out" "doc")) (outputs '("out" "doc"))
(arguments (arguments
@ -146,7 +146,7 @@ This package provides the core library and elements.")
(define-public gst-plugins-base (define-public gst-plugins-base
(package (package
(name "gst-plugins-base") (name "gst-plugins-base")
(version "1.10.2") (version "1.10.3")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -154,7 +154,9 @@ This package provides the core library and elements.")
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"086yjwmp4fykcqkj6zqhwrk2z49981kl8x545vz2wvblrc7x9h7v")))) "040pifl4cgsqqz2si4s1y5khj3zwm39w21siagxwp805swbrcag6"))
(patches
(search-patches "gst-plugins-base-fix-test-on-32bit.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(outputs '("out" "doc")) (outputs '("out" "doc"))
(propagated-inputs (propagated-inputs
@ -201,7 +203,7 @@ for the GStreamer multimedia library.")
(define-public gst-plugins-good (define-public gst-plugins-good
(package (package
(name "gst-plugins-good") (name "gst-plugins-good")
(version "1.10.2") (version "1.10.3")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -210,7 +212,7 @@ for the GStreamer multimedia library.")
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"04rksbhjj2yz32g523cfabwqn2s3byd94dpbxghxr0p9ridk53qr")))) "0mar8ss8bvpz699ql4kgndvna8qsv7kj372py4435ffl6hzfj1sf"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
`(("aalib" ,aalib) `(("aalib" ,aalib)
@ -266,14 +268,14 @@ developers consider to have good quality code and correct functionality.")
(define-public gst-plugins-bad (define-public gst-plugins-bad
(package (package
(name "gst-plugins-bad") (name "gst-plugins-bad")
(version "1.10.2") (version "1.10.3")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://gstreamer.freedesktop.org/src/" (uri (string-append "https://gstreamer.freedesktop.org/src/"
name "/" name "-" version ".tar.xz")) name "/" name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0fisnnfpp3s8pbm6hjrfi4wjpq2da8c6w3ns9pjcg7590f9wm587")))) "1rwla1p57yzygb68z2xk5l5kvqzj5w3nxq0davkwk139zd8r6294"))))
(outputs '("out" "doc")) (outputs '("out" "doc"))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
@ -343,7 +345,7 @@ par compared to the rest.")
(define-public gst-plugins-ugly (define-public gst-plugins-ugly
(package (package
(name "gst-plugins-ugly") (name "gst-plugins-ugly")
(version "1.10.2") (version "1.10.3")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -351,7 +353,7 @@ par compared to the rest.")
name "/" name "-" version ".tar.xz")) name "/" name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"17gc2zd3v6spmm2d6912sqfcyyv5f2ghdhq31f5kx5mw5r6ds0zk")))) "1lkb8kznc9wxmhbp7k67b50y27nz8jp2x2flb91xzydz7b89f5f9"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
`(("gst-plugins-base" ,gst-plugins-base) `(("gst-plugins-base" ,gst-plugins-base)
@ -382,7 +384,7 @@ distribution problems in some jurisdictions, e.g. due to patent threats.")
(define-public gst-libav (define-public gst-libav
(package (package
(name "gst-libav") (name "gst-libav")
(version "1.10.2") (version "1.10.3")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -390,7 +392,7 @@ distribution problems in some jurisdictions, e.g. due to patent threats.")
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0g778j7w4vpbhwjzyrzpajvr26nxm6vqby84v8g1w1hz44v71pd3")))) "1aajayv63ardkbmcg7pnh2d87r067325a5wzinwihaw6n5jw2sws"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
'(#:configure-flags '("--with-system-libav") '(#:configure-flags '("--with-system-libav")
@ -420,7 +422,7 @@ compression formats through the use of the libav library.")
(define-public python-gst (define-public python-gst
(package (package
(name "python-gst") (name "python-gst")
(version "1.10.2") (version "1.10.3")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -428,7 +430,7 @@ compression formats through the use of the libav library.")
"gst-python-" version ".tar.xz")) "gst-python-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1sljnqkxf2ix6yzghrapw5irl0rbp8aa8w2hggk7i6d9js10ls71")))) "1s5437bnk0j5hfg2gwfwq4b68l6vj1lfskxh73v6ikp0vw32vymx"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
;; XXX: Factorize python-sitedir with python-build-system. ;; XXX: Factorize python-sitedir with python-build-system.

View File

@ -70,7 +70,7 @@
(define-public atk (define-public atk
(package (package
(name "atk") (name "atk")
(version "2.20.0") (version "2.22.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/" (uri (string-append "mirror://gnome/sources/" name "/"
@ -78,7 +78,7 @@
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1w1q29yfxcq67j7fyqrfm0l0n1vy4zn539c0sf4ga9d0qkv50fj9")))) "1dj47ndvspa7lghw1jvjhv3v08q5f9ab5rb395mcgjbl975gajfk"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(outputs '("out" "doc")) (outputs '("out" "doc"))
(arguments (arguments
@ -168,7 +168,7 @@ affine transformation (scale, rotation, shear, etc.).")
(define-public harfbuzz (define-public harfbuzz
(package (package
(name "harfbuzz") (name "harfbuzz")
(version "1.3.4") (version "1.4.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://www.freedesktop.org/software/" (uri (string-append "https://www.freedesktop.org/software/"
@ -176,7 +176,7 @@ affine transformation (scale, rotation, shear, etc.).")
version ".tar.bz2")) version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"0ava7y24797k5ps3ghq2ccjjds97ri1gx32v6546a6pgmpyad2ki")))) "1g8mndf0p0fzjfvxrprga84zvqq186gbddnw6wbna7cscfmpz8l5"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(outputs '("out" (outputs '("out"
"bin")) ; 160K, only hb-view depend on cairo "bin")) ; 160K, only hb-view depend on cairo
@ -206,7 +206,7 @@ affine transformation (scale, rotation, shear, etc.).")
(define-public pango (define-public pango
(package (package
(name "pango") (name "pango")
(version "1.40.1") (version "1.40.3")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnome/sources/pango/" (uri (string-append "mirror://gnome/sources/pango/"
@ -214,7 +214,7 @@ affine transformation (scale, rotation, shear, etc.).")
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0h0sbh0b5kh3lvrxrb82bs86rqakf33a9jakpv33lay7f90zayp2")))) "1lqi4yncw5q0v7g5makzxyp18g5cksqyld8m1wx0qli8wxf8pfmb"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(propagated-inputs (propagated-inputs
`(("cairo" ,cairo) `(("cairo" ,cairo)
@ -331,18 +331,17 @@ diagrams.")
(base32 (base32
"07hrabhpl6n8ajz10s0d960jdwndxs87szxyn428mpxi8cvpg1f5")))) "07hrabhpl6n8ajz10s0d960jdwndxs87szxyn428mpxi8cvpg1f5"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs
`(("gtk" ,gtk+-2)
;; These two are needed only to allow the tests to run successfully.
("xorg-server" ,xorg-server)
("shared-mime-info" ,shared-mime-info)))
(native-inputs (native-inputs
`(("intltool" ,intltool) `(("intltool" ,intltool)
("glib" ,glib "bin") ; for glib-genmarshal, etc. ("glib" ,glib "bin") ; for glib-genmarshal, etc.
("pkg-config" ,pkg-config))) ("pkg-config" ,pkg-config)
;; For testing.
("xorg-server" ,xorg-server)
("shared-mime-info" ,shared-mime-info)))
(propagated-inputs (propagated-inputs
;; As per the pkg-config file. ;; As per the pkg-config file.
`(("libxml2" ,libxml2))) `(("gtk" ,gtk+-2)
("libxml2" ,libxml2)))
(arguments (arguments
`(#:phases `(#:phases
;; Unfortunately, some of the tests in "make check" are highly dependent ;; Unfortunately, some of the tests in "make check" are highly dependent
@ -377,7 +376,7 @@ printing and other features typical of a source code editor.")
(define-public gtksourceview (define-public gtksourceview
(package (package
(name "gtksourceview") (name "gtksourceview")
(version "3.20.4") (version "3.22.2")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/" (uri (string-append "mirror://gnome/sources/" name "/"
@ -385,7 +384,7 @@ printing and other features typical of a source code editor.")
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"009xag7df07ngav2wzs0rdrrx4s2m6ahx93pxzc2p1pkbz4nl3ks")))) "0pmgff3p9q1z500aiqfn5l4mmij4yfi4qhq8fxscqc89vlql5s3c"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
'(#:phases '(#:phases
@ -425,8 +424,7 @@ highlighting and other features typical of a source code editor.")
(define-public gdk-pixbuf (define-public gdk-pixbuf
(package (package
(name "gdk-pixbuf") (name "gdk-pixbuf")
(version "2.34.0") (version "2.36.3")
(replacement gdk-pixbuf/fixed)
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/" (uri (string-append "mirror://gnome/sources/" name "/"
@ -434,7 +432,7 @@ highlighting and other features typical of a source code editor.")
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0yc8indbl3hf18z6x6kjg59xp9sngm1d8vmz4c7bs6g27qw5npnm")))) "1v1rssjd8p5s3lymsfhiq5mbs2pc0h1r6jd0asrwdbrign7i68sj"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
'(#:configure-flags '("--with-x11") '(#:configure-flags '("--with-x11")
@ -475,35 +473,11 @@ in the GNOME project.")
(license license:lgpl2.0+) (license license:lgpl2.0+)
(home-page "https://developer.gnome.org/gdk-pixbuf/"))) (home-page "https://developer.gnome.org/gdk-pixbuf/")))
(define gdk-pixbuf/fixed
(package (inherit gdk-pixbuf)
(name "gdk-pixbuf")
(version "2.36.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
(version-major+minor version) "/"
name "-" version ".tar.xz"))
(sha256
(base32
"1v1rssjd8p5s3lymsfhiq5mbs2pc0h1r6jd0asrwdbrign7i68sj"))))
(replacement #f)))
(define-syntax-rule (package/inherit p overrides ...)
"Like (package (inherit P) OVERRIDES ...), except that the same
transformation is done to the package replacement, if any. P must be a bare
identifier, and will be bound to either P or its replacement when evaluating
OVERRIDES."
(let loop ((p p))
(package (inherit p)
overrides ...
(replacement (and=> (package-replacement p) loop)))))
;; To build gdk-pixbuf with SVG support, we need librsvg, and librsvg depends ;; To build gdk-pixbuf with SVG support, we need librsvg, and librsvg depends
;; on gdk-pixbuf, so this new varibale. Also, librsvg adds 90MiB to the ;; on gdk-pixbuf, so this new varibale. Also, librsvg adds 90MiB to the
;; closure size. ;; closure size.
(define-public gdk-pixbuf+svg (define-public gdk-pixbuf+svg
(package/inherit gdk-pixbuf (package (inherit gdk-pixbuf)
(name "gdk-pixbuf+svg") (name "gdk-pixbuf+svg")
(inputs (inputs
`(("librsvg" ,librsvg) `(("librsvg" ,librsvg)
@ -531,7 +505,7 @@ OVERRIDES."
(define-public at-spi2-core (define-public at-spi2-core
(package (package
(name "at-spi2-core") (name "at-spi2-core")
(version "2.20.2") (version "2.22.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/" (uri (string-append "mirror://gnome/sources/" name "/"
@ -539,7 +513,7 @@ OVERRIDES."
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0hx12snd9as4cq99ka3bn056xdf13f87pd1ilp6177qk8ffxx948")))) "02n8ybhg8344mpjwvkhnzvr0qbvvl6ryi2q9irwhi0ri46ps6pj1"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(outputs '("out" "doc")) (outputs '("out" "doc"))
(arguments (arguments
@ -576,7 +550,7 @@ is part of the GNOME accessibility project.")
(define-public at-spi2-atk (define-public at-spi2-atk
(package (package
(name "at-spi2-atk") (name "at-spi2-atk")
(version "2.20.1") (version "2.22.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/" (uri (string-append "mirror://gnome/sources/" name "/"
@ -584,7 +558,7 @@ is part of the GNOME accessibility project.")
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"13mzfwra0izmkzn7dsdgy5zj19n8izp0wdy7w1yg9s0qx6aafn13")))) "1h8k271ad78smm41c9bmw5dc4gki0wfy324cn2g25svkp2zfvgg8"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
'(#:phases '(#:phases
@ -674,7 +648,9 @@ application suites.")
(define-public gtk+ (define-public gtk+
(package (inherit gtk+-2) (package (inherit gtk+-2)
(name "gtk+") (name "gtk+")
(version "3.20.9") ;; NOTE: When updating the version of 'gtk+', the hash of 'mate-themes' in
;; mate.scm will also need to be updated.
(version "3.22.6")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/" (uri (string-append "mirror://gnome/sources/" name "/"
@ -682,7 +658,7 @@ application suites.")
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"05xcwvy68p7f4hdhi4bgdm3aycvqqr4pr5kkkr8ba91l5yx0k9l3")) "0bqpx8825b1fdjmz14wq20zq58gq1yi1p5xjps8l6zqid8hmm9zb"))
(patches (search-patches "gtk3-respect-GUIX_GTK3_PATH.patch" (patches (search-patches "gtk3-respect-GUIX_GTK3_PATH.patch"
"gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch")))) "gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch"))))
(outputs '("out" "bin" "doc")) (outputs '("out" "bin" "doc"))
@ -1031,7 +1007,7 @@ toolkit.")
(define-public gtkmm (define-public gtkmm
(package (package
(name "gtkmm") (name "gtkmm")
(version "3.20.1") (version "3.22.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/" (uri (string-append "mirror://gnome/sources/" name "/"
@ -1039,7 +1015,7 @@ toolkit.")
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"04n631a127pyidaz82ypdy9syq1hzj636r32y9hyr9kcfnwf2785")))) "1x8l0ny6r3ym53z82q9d5fan4m9vi93xy3b3hj1hrclgc95lvnh5"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs `(("pkg-config" ,pkg-config) (native-inputs `(("pkg-config" ,pkg-config)
("glib" ,glib "bin") ;for 'glib-compile-resources' ("glib" ,glib "bin") ;for 'glib-compile-resources'
@ -1077,7 +1053,7 @@ extensive documentation, including API reference and a tutorial.")
(define-public gtkmm-2 (define-public gtkmm-2
(package (inherit gtkmm) (package (inherit gtkmm)
(name "gtkmm") (name "gtkmm")
(version "2.24.4") (version "2.24.5")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/" (uri (string-append "mirror://gnome/sources/" name "/"
@ -1085,7 +1061,7 @@ extensive documentation, including API reference and a tutorial.")
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1vpmjqv0aqb1ds0xi6nigxnhlr0c74090xzi15b92amlzkrjyfj4")))) "0wkbzvsx4kgw16f6xjdc1dz7f77ldngdila4yi5lw2zrgcxsb006"))))
(arguments (arguments
'(#:configure-flags '("CPPFLAGS=-std=c++11"))) ; required by libsigc++ '(#:configure-flags '("CPPFLAGS=-std=c++11"))) ; required by libsigc++
(native-inputs `(("pkg-config" ,pkg-config))) (native-inputs `(("pkg-config" ,pkg-config)))
@ -1221,7 +1197,7 @@ write GNOME applications.")
(define-public girara (define-public girara
(package (package
(name "girara") (name "girara")
(version "0.2.6") (version "0.2.7")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (uri
@ -1229,7 +1205,7 @@ write GNOME applications.")
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"03wsxj27hvcbs3x96nah7j3paclifwlfag8kdph4kldl48srp9pb")))) "1r9jbhf9n40zj4ddqv1q5spijpjm683nxg4hr5lnir4a551s7rlq"))))
(native-inputs `(("pkg-config" ,pkg-config) (native-inputs `(("pkg-config" ,pkg-config)
("gettext" ,gettext-minimal))) ("gettext" ,gettext-minimal)))
(inputs `(("gtk+" ,gtk+) (inputs `(("gtk+" ,gtk+)

View File

@ -27,7 +27,7 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages guile) (define-module (gnu packages guile)
#:use-module (guix licenses) #:use-module ((guix licenses) #:prefix license:)
#:use-module (gnu packages) #:use-module (gnu packages)
#:use-module (gnu packages aspell) #:use-module (gnu packages aspell)
#:use-module (gnu packages bash) #:use-module (gnu packages bash)
@ -55,6 +55,7 @@
#:use-module (gnu packages sdl) #:use-module (gnu packages sdl)
#:use-module (gnu packages maths) #:use-module (gnu packages maths)
#:use-module (gnu packages image) #:use-module (gnu packages image)
#:use-module (gnu packages version-control)
#:use-module (gnu packages xdisorg) #:use-module (gnu packages xdisorg)
#:use-module (gnu packages xorg) #:use-module (gnu packages xorg)
#:use-module (guix packages) #:use-module (guix packages)
@ -129,7 +130,7 @@ the Scheme language which can be easily embedded in other applications to
provide a convenient means of extending the functionality of the application provide a convenient means of extending the functionality of the application
without requiring the source code to be rewritten.") without requiring the source code to be rewritten.")
(home-page "http://www.gnu.org/software/guile/") (home-page "http://www.gnu.org/software/guile/")
(license lgpl2.0+))) (license license:lgpl2.0+)))
(define-public guile-2.0 (define-public guile-2.0
(package (package
@ -205,7 +206,7 @@ the Scheme language which can be easily embedded in other applications to
provide a convenient means of extending the functionality of the application provide a convenient means of extending the functionality of the application
without requiring the source code to be rewritten.") without requiring the source code to be rewritten.")
(home-page "http://www.gnu.org/software/guile/") (home-page "http://www.gnu.org/software/guile/")
(license lgpl3+))) (license license:lgpl3+)))
(define-public guile-2.0/fixed (define-public guile-2.0/fixed
;; A package of Guile 2.0 that's rarely changed. It is the one used ;; A package of Guile 2.0 that's rarely changed. It is the one used
@ -375,7 +376,7 @@ provides several tools for web development: database access, templating
frameworks, session management, URL-remapping for RESTful, page caching, and frameworks, session management, URL-remapping for RESTful, page caching, and
more.") more.")
(home-page "https://www.gnu.org/software/artanis/") (home-page "https://www.gnu.org/software/artanis/")
(license (list gpl3+ lgpl3+)))) ;dual license (license (list license:gpl3+ license:lgpl3+)))) ;dual license
(define-public guile-reader (define-public guile-reader
(package (package
@ -410,7 +411,7 @@ Guile-Readers approach is similar to Common Lisps “read table”, but
hopefully more powerful and flexible (for instance, one may instantiate as hopefully more powerful and flexible (for instance, one may instantiate as
many readers as needed).") many readers as needed).")
(home-page "http://www.nongnu.org/guile-reader/") (home-page "http://www.nongnu.org/guile-reader/")
(license gpl3+))) (license license:gpl3+)))
(define-public guile-ncurses (define-public guile-ncurses
(package (package
@ -451,7 +452,7 @@ many readers as needed).")
(description (description
"guile-ncurses provides Guile language bindings for the ncurses "guile-ncurses provides Guile language bindings for the ncurses
library.") library.")
(license lgpl3+))) (license license:lgpl3+)))
(define-public mcron (define-public mcron
(package (package
@ -475,7 +476,7 @@ library.")
tasks on a schedule, such as every hour or every Monday. Mcron is written in tasks on a schedule, such as every hour or every Monday. Mcron is written in
Guile, so its configuration can be written in Scheme; the original cron Guile, so its configuration can be written in Scheme; the original cron
format is also supported.") format is also supported.")
(license gpl3+))) (license license:gpl3+)))
(define-public mcron2 (define-public mcron2
;; This is mthl's mcron development branch, not yet merged in mcron. ;; This is mthl's mcron development branch, not yet merged in mcron.
@ -564,7 +565,7 @@ format is also supported.")
pure Scheme. The library can be used to read and write iCalendar data. pure Scheme. The library can be used to read and write iCalendar data.
The library is shipped with documentation in Info format and usage examples.") The library is shipped with documentation in Info format and usage examples.")
(license gpl3+))) (license license:gpl3+)))
(define-public guile-lib (define-public guile-lib
(package (package
@ -608,19 +609,19 @@ for Guile\".")
;; The whole is under GPLv3+, but some modules are under laxer ;; The whole is under GPLv3+, but some modules are under laxer
;; distribution terms such as LGPL and public domain. See `COPYING' for ;; distribution terms such as LGPL and public domain. See `COPYING' for
;; details. ;; details.
(license gpl3+))) (license license:gpl3+)))
(define-public guile-json (define-public guile-json
(package (package
(name "guile-json") (name "guile-json")
(version "0.5.0") (version "0.6.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://savannah/guile-json/guile-json-" (uri (string-append "mirror://savannah/guile-json/guile-json-"
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0l8a34l92nrdszy7ykycfvr8y0n0yi5qb3ccliycvpvf9mzk5n8d")) "1qmjg7lbgciw95fkdzvlp9f68vv17kdjky42ywfzd4ffzwww0lgc"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
;; Make sure everything goes under .../site/X.Y, like Guile's ;; Make sure everything goes under .../site/X.Y, like Guile's
@ -637,13 +638,16 @@ for Guile\".")
(home-page "http://savannah.nongnu.org/projects/guile-json/") (home-page "http://savannah.nongnu.org/projects/guile-json/")
(synopsis "JSON module for Guile") (synopsis "JSON module for Guile")
(description (description
"Guile-json supports parsing and building JSON documents according to the "Guile-JSON supports parsing and building JSON documents according to the
http:://json.org specification. These are the main features: specification. These are the main features:
- Strictly complies to http://json.org specification.
- Build JSON documents programmatically via macros. @itemize
- Unicode support for strings. @item Strictly complies to @uref{http://json.org, specification}.
- Allows JSON pretty printing.") @item Build JSON documents programmatically via macros.
(license lgpl3+))) @item Unicode support for strings.
@item Allows JSON pretty printing.
@end itemize\n")
(license license:lgpl3+)))
(define-public guile2.2-json (define-public guile2.2-json
(package-for-guile-2.2 guile-json)) (package-for-guile-2.2 guile-json))
@ -729,7 +733,7 @@ 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.")
(license expat))) (license license:expat)))
(define-public guile2.2-minikanren (define-public guile2.2-minikanren
(package-for-guile-2.2 guile-minikanren)) (package-for-guile-2.2 guile-minikanren))
@ -814,7 +818,7 @@ See http://minikanren.org/ for more on miniKanren generally.")
"Irregex is an s-expression based alternative to your classic "Irregex is an s-expression based alternative to your classic
string-based regular expressions. It implements SRFI 115 and is deeply string-based regular expressions. It implements SRFI 115 and is deeply
inspired by the SCSH regular expression system.") inspired by the SCSH regular expression system.")
(license bsd-3))) (license license:bsd-3)))
(define-public guile2.2-irregex (define-public guile2.2-irregex
(package-for-guile-2.2 guile-irregex)) (package-for-guile-2.2 guile-irregex))
@ -882,7 +886,10 @@ inspired by the SCSH regular expression system.")
(description (description
"Guile bindings to the GDBM key-value storage system, using "Guile bindings to the GDBM key-value storage system, using
Guile's foreign function interface.") Guile's foreign function interface.")
(license gpl3+))) (license license:gpl3+)))
(define-public guile2.2-gdbm-ffi
(package-for-guile-2.2 guile-gdbm-ffi))
(define-public guile-sqlite3 (define-public guile-sqlite3
(let ((commit "607721fe1174a299e45d457acacf94eefb964071")) (let ((commit "607721fe1174a299e45d457acacf94eefb964071"))
@ -890,8 +897,10 @@ Guile's foreign function interface.")
(name "guile-sqlite3") (name "guile-sqlite3")
(version (string-append "0.0-0." (string-take commit 7))) (version (string-append "0.0-0." (string-take commit 7)))
;; XXX: Gitorious being dead, this is not a reliable home page. ;; XXX: This used to be available read-only at
(home-page "https://www.gitorious.org/guile-sqlite3/guile-sqlite3.git/") ;; <https://www.gitorious.org/guile-sqlite3/guile-sqlite3.git/> but it
;; eventually disappeared, so we have our own copy here.
(home-page "https://notabug.org/civodul/guile-sqlite3.git")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -931,19 +940,19 @@ Guile's foreign function interface.")
(synopsis "Access SQLite databases from Guile") (synopsis "Access SQLite databases from Guile")
(description (description
"This package provides Guile bindings to the SQLite database system.") "This package provides Guile bindings to the SQLite database system.")
(license gpl3+)))) (license license:gpl3+))))
(define-public haunt (define-public haunt
(package (package
(name "haunt") (name "haunt")
(version "0.2") (version "0.2.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://files.dthompson.us/haunt/haunt-" (uri (string-append "https://files.dthompson.us/haunt/haunt-"
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1id83n8fs7jxys1d8jy70vylg8gzcvlw1y7hb41y3qxv5zi4671m")))) "1fpaf1vm6s7j13fs35barjh5yajcc2rc3pi8r7278wpgp4i2vs3w"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:modules ((ice-9 match) (ice-9 ftw) `(#:modules ((ice-9 match) (ice-9 ftw)
@ -973,13 +982,14 @@ Guile's foreign function interface.")
(inputs (inputs
`(("guile" ,guile-2.0))) `(("guile" ,guile-2.0)))
(propagated-inputs (propagated-inputs
`(("guile-reader" ,guile-reader))) `(("guile-reader" ,guile-reader)
("guile-commonmark" ,guile-commonmark)))
(synopsis "Functional static site generator") (synopsis "Functional static site generator")
(description "Haunt is a static site generator written in Guile (description "Haunt is a static site generator written in Guile
Scheme. Haunt features a functional build system and an extensible Scheme. Haunt features a functional build system and an extensible
interface for reading articles in any format.") interface for reading articles in any format.")
(home-page "http://haunt.dthompson.us") (home-page "http://haunt.dthompson.us")
(license gpl3+))) (license license:gpl3+)))
(define-public guile-config (define-public guile-config
(package (package
@ -1006,7 +1016,7 @@ parameter parsing using getopt-long; basic GNU command-line parameter
generation (--help, --usage, --version); automatic output generation for the generation (--help, --usage, --version); automatic output generation for the
above command-line parameters.") above command-line parameters.")
(home-page "https://github.com/a-sassmannshausen/guile-config") (home-page "https://github.com/a-sassmannshausen/guile-config")
(license agpl3+))) (license license:agpl3+)))
(define-public guile-redis (define-public guile-redis
(package (package
@ -1039,7 +1049,7 @@ above command-line parameters.")
(synopsis "Redis client library for Guile") (synopsis "Redis client library for Guile")
(description "Guile-redis provides a Scheme interface to the Redis (description "Guile-redis provides a Scheme interface to the Redis
key-value cache and store.") key-value cache and store.")
(license lgpl3+))) (license license:lgpl3+)))
(define-public guile2.2-redis (define-public guile2.2-redis
(package-for-guile-2.2 guile-redis)) (package-for-guile-2.2 guile-redis))
@ -1118,7 +1128,7 @@ key-value cache and store.")
(description "Wisp is a syntax for Guile which provides a Python-like (description "Wisp is a syntax for Guile which provides a Python-like
whitespace-significant language. It may be easier on the eyes for some whitespace-significant language. It may be easier on the eyes for some
users and in some situations.") users and in some situations.")
(license gpl3+))) (license license:gpl3+)))
(define-public guile-sly (define-public guile-sly
(package (package
@ -1153,7 +1163,7 @@ users and in some situations.")
features a functional reactive programming interface and live coding features a functional reactive programming interface and live coding
capabilities.") capabilities.")
(home-page "http://dthompson.us/pages/software/sly.html") (home-page "http://dthompson.us/pages/software/sly.html")
(license gpl3+))) (license license:gpl3+)))
(define-public g-wrap (define-public g-wrap
(package (package
@ -1191,7 +1201,7 @@ wrappers for C functions. Given a definition of the types and prototypes for
a given C interface, G-Wrap will automatically generate the C code that a given C interface, G-Wrap will automatically generate the C code that
provides access to that interface and its types from the Scheme level.") provides access to that interface and its types from the Scheme level.")
(home-page "http://www.nongnu.org/g-wrap/index.html") (home-page "http://www.nongnu.org/g-wrap/index.html")
(license lgpl2.1+))) (license license:lgpl2.1+)))
(define-public guile-dbi (define-public guile-dbi
(package (package
@ -1229,7 +1239,7 @@ provides access to that interface and its types from the Scheme level.")
SQL databases. Database programming with guile-dbi is generic in that the same SQL databases. Database programming with guile-dbi is generic in that the same
programming interface is presented regardless of which database system is used. programming interface is presented regardless of which database system is used.
It currently supports MySQL, Postgres and SQLite3.") It currently supports MySQL, Postgres and SQLite3.")
(license gpl2+))) (license license:gpl2+)))
(define-public guile-dbd-sqlite3 (define-public guile-dbd-sqlite3
(package (package
@ -1256,7 +1266,7 @@ It currently supports MySQL, Postgres and SQLite3.")
(description (description
"guile-dbi is a library for Guile that provides a convenient interface to "guile-dbi is a library for Guile that provides a convenient interface to
SQL databases. This package implements the interface for SQLite.") SQL databases. This package implements the interface for SQLite.")
(license gpl2+))) (license license:gpl2+)))
(define-public guile-xosd (define-public guile-xosd
(package (package
@ -1285,7 +1295,7 @@ SQL databases. This package implements the interface for SQLite.")
"Guile-XOSD provides Guile bindings for @code{libxosd}, "Guile-XOSD provides Guile bindings for @code{libxosd},
@uref{http://sourceforge.net/projects/libxosd/, the X On Screen Display @uref{http://sourceforge.net/projects/libxosd/, the X On Screen Display
library}.") library}.")
(license gpl3+))) (license license:gpl3+)))
(define-public guile-daemon (define-public guile-daemon
(package (package
@ -1310,7 +1320,7 @@ library}.")
"Guile-Daemon is a small Guile program that loads your initial "Guile-Daemon is a small Guile program that loads your initial
configuration file, and then reads and evaluates Guile expressions that configuration file, and then reads and evaluates Guile expressions that
you send to a FIFO file.") you send to a FIFO file.")
(license gpl3+))) (license license:gpl3+)))
(define-public guile-commonmark (define-public guile-commonmark
(package (package
@ -1346,7 +1356,7 @@ to transform a CommonMark document to SXML. guile-commonmark tries to closely
follow the @uref{http://commonmark.org/, CommonMark spec}, the main difference follow the @uref{http://commonmark.org/, CommonMark spec}, the main difference
is no support for parsing block and inline level HTML.") is no support for parsing block and inline level HTML.")
(home-page "https://github.com/OrangeShark/guile-commonmark") (home-page "https://github.com/OrangeShark/guile-commonmark")
(license lgpl3+))) (license license:lgpl3+)))
(define-public guile2.2-commonmark (define-public guile2.2-commonmark
(package-for-guile-2.2 guile-commonmark)) (package-for-guile-2.2 guile-commonmark))
@ -1429,7 +1439,7 @@ of the C programming language, to be used on bytevectors. C's type
system works on raw memory, and Guile works on bytevectors which are system works on raw memory, and Guile works on bytevectors which are
an abstraction over raw memory. It's also more powerful than the C an abstraction over raw memory. It's also more powerful than the C
type system, elevating types to first-class status.") type system, elevating types to first-class status.")
(license gpl3+))) (license license:gpl3+)))
(define-public guile-aspell (define-public guile-aspell
(package (package
@ -1465,7 +1475,7 @@ type system, elevating types to first-class status.")
(description (description
"guile-aspell is a Guile Scheme library for comparing a string against a "guile-aspell is a Guile Scheme library for comparing a string against a
dictionary and suggesting spelling corrections.") dictionary and suggesting spelling corrections.")
(license gpl3+))) (license license:gpl3+)))
(define-public guile-bash (define-public guile-bash
;; This project is currently retired. It was initially announced here: ;; This project is currently retired. It was initially announced here:
@ -1535,7 +1545,7 @@ enable -f ~/.guix-profile/lib/bash/libguile-bash.so scm
@end example @end example
and then run @command{scm example.scm}.") and then run @command{scm example.scm}.")
(license gpl3+)))) (license license:gpl3+))))
(define-public guile-8sync (define-public guile-8sync
(package (package
@ -1568,6 +1578,44 @@ and then run @command{scm example.scm}.")
library for GNU Guile based on the actor model. library for GNU Guile based on the actor model.
Note that 8sync is only available for Guile 2.2 (guile-next in Guix).") Note that 8sync is only available for Guile 2.2 (guile-next in Guix).")
(license lgpl3+))) (license license:lgpl3+)))
(define-public guile-git
(let ((revision "0")
(commit "969514aa7224217bc3c1a4c5312a9469ac5f13d5"))
(package
(name "guile-git")
(version (string-append "0.0-" revision "." (string-take commit 7)))
(home-page "https://gitlab.com/amirouche/guile-git")
(source (origin
(method git-fetch)
(uri (git-reference (url home-page) (commit commit)))
(sha256
(base32
"079l8y6pjkmahb4k6dfqh3hk34pg540rrl29aixyvv86w9bdfjil"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
'(#:phases (modify-phases %standard-phases
(add-after 'unpack 'bootstrap
(lambda _
(zero? (system* "autoreconf" "-vfi")))))
;; Test suite is not parallel-safe: the tests open same-named repos.
#:parallel-tests? #f))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("pkg-config" ,pkg-config)))
(inputs
`(("guile" ,guile-2.0)
("libgit2" ,libgit2)))
(propagated-inputs
`(("guile-bytestructures" ,guile-bytestructures)))
(synopsis "Guile bindings for libgit2")
(description
"This package provides Guile bindings to libgit2, a library to
manipulate repositories of the Git version control system.")
(license license:gpl3+))))
;;; guile.scm ends here ;;; guile.scm ends here

View File

@ -6,7 +6,7 @@
;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is> ;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016, 2017 David Craven <david@craven.ch> ;;; Copyright © 2016, 2017 David Craven <david@craven.ch>
;;; Copyright © 2017 Danny Milosavljevic <dannym@scratchpost.org> ;;; Copyright © 2017 Danny Milosavljevic <dannym@scratchpost.org>
;;; ;;;
@ -26,13 +26,13 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages haskell) (define-module (gnu packages haskell)
#:use-module (gnu packages)
#:use-module (gnu packages bootstrap) #:use-module (gnu packages bootstrap)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages elf) #:use-module (gnu packages elf)
#:use-module (gnu packages gcc) #:use-module (gnu packages gcc)
#:use-module (gnu packages ghostscript) #:use-module (gnu packages ghostscript)
#:use-module (gnu packages gl) #:use-module (gnu packages gl)
#:use-module (gnu packages libedit)
#:use-module (gnu packages libffi) #:use-module (gnu packages libffi)
#:use-module (gnu packages lua) #:use-module (gnu packages lua)
#:use-module (gnu packages maths) #:use-module (gnu packages maths)
@ -106,7 +106,6 @@
`(("gmp" ,gmp) `(("gmp" ,gmp)
("ncurses" ,ncurses) ("ncurses" ,ncurses)
("libffi" ,libffi) ("libffi" ,libffi)
("libedit" ,libedit)
("ghc-testsuite" ("ghc-testsuite"
,(origin ,(origin
(method url-fetch) (method url-fetch)
@ -267,14 +266,17 @@ interactive environment for the functional language Haskell.")
(define-public ghc-8 (define-public ghc-8
(package (package
(name "ghc") (name "ghc")
(version "8.0.1") (version "8.0.2")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://www.haskell.org/ghc/dist/" (uri (string-append "https://www.haskell.org/ghc/dist/"
version "/" name "-" version "-src.tar.xz")) version "/" name "-" version "-src.tar.xz"))
(sha256 (sha256
(base32 "1lniqy29djhjkddnailpaqhlqh4ld2mqvb1fxgxw1qqjhz6j1ywh")))) (base32 "1c8qc4fhkycynk4g1f9hvk53dj6a1vvqi6bklqznns6hw59m8qhi"))
(patches
(search-patches
"ghc-dont-pass-linker-flags-via-response-files.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(supported-systems '("i686-linux" "x86_64-linux")) (supported-systems '("i686-linux" "x86_64-linux"))
(outputs '("out" "doc")) (outputs '("out" "doc"))
@ -282,7 +284,6 @@ interactive environment for the functional language Haskell.")
`(("gmp" ,gmp) `(("gmp" ,gmp)
("ncurses" ,ncurses) ("ncurses" ,ncurses)
("libffi" ,libffi) ("libffi" ,libffi)
("libedit" ,libedit)
("ghc-testsuite" ("ghc-testsuite"
,(origin ,(origin
(method url-fetch) (method url-fetch)
@ -290,7 +291,7 @@ interactive environment for the functional language Haskell.")
"https://www.haskell.org/ghc/dist/" "https://www.haskell.org/ghc/dist/"
version "/" name "-" version "-testsuite.tar.xz")) version "/" name "-" version "-testsuite.tar.xz"))
(sha256 (sha256
(base32 "0lc1vjivkxn01aw3jg2gd7fmqb5pj7a5j987c7pn5r7caqv1cmxw")))))) (base32 "1wjc3x68l305bl1h1ijd3yhqp2vqj83lkp3kqbr94qmmkqlms8sj"))))))
(native-inputs (native-inputs
`(("perl" ,perl) `(("perl" ,perl)
("python" ,python-2) ; for tests ("python" ,python-2) ; for tests
@ -312,13 +313,6 @@ interactive environment for the functional language Haskell.")
;; then complains that they don't match. ;; then complains that they don't match.
#:build #f #:build #f
#:modules ((guix build gnu-build-system)
(guix build utils)
(guix build rpath)
(srfi srfi-26)
(srfi srfi-1))
#:imported-modules (,@%gnu-build-system-modules
(guix build rpath))
#:configure-flags #:configure-flags
(list (list
(string-append "--with-gmp-libraries=" (string-append "--with-gmp-libraries="
@ -366,19 +360,7 @@ interactive environment for the functional language Haskell.")
"testsuite/tests/programs/life_space_leak/life.test") "testsuite/tests/programs/life_space_leak/life.test")
(("/bin/sh") (which "sh")) (("/bin/sh") (which "sh"))
(("/bin/rm") "rm")) (("/bin/rm") "rm"))
#t)) #t)))))
;; the testsuite can't find shared libraries.
(add-before 'check 'configure-testsuite
(lambda* (#:key inputs #:allow-other-keys)
(let* ((gmp (assoc-ref inputs "gmp"))
(gmp-lib (string-append gmp "/lib"))
(ffi (assoc-ref inputs "libffi"))
(ffi-lib (string-append ffi "/lib"))
(ncurses (assoc-ref inputs "ncurses"))
(ncurses-lib (string-append ncurses "/lib")))
(setenv "LD_LIBRARY_PATH"
(string-append gmp-lib ":" ffi-lib ":" ncurses-lib))
#t))))))
(native-search-paths (list (search-path-specification (native-search-paths (list (search-path-specification
(variable "GHC_PACKAGE_PATH") (variable "GHC_PACKAGE_PATH")
(files (list (files (list
@ -1607,6 +1589,25 @@ UTF8 without truncation.")
environment variables.") environment variables.")
(license license:expat))) (license license:expat)))
(define-public ghc-setlocale
(package
(name "ghc-setlocale")
(version "1.0.0.4")
(source (origin
(method url-fetch)
(uri (string-append
"https://hackage.haskell.org/package/setlocale-"
version "/setlocale-" version ".tar.gz"))
(sha256
(base32
"1sd73zgpijr9xjdj5p562cmlcxmx5iff5k8xh9b6rpcgrgnnlf9j"))))
(build-system haskell-build-system)
(home-page "https://hackage.haskell.org/package/setlocale")
(synopsis "Haskell bindings to setlocale")
(description "This package provides Haskell bindings to the
@code{setlocale} C function.")
(license license:bsd-3)))
(define-public ghc-x11 (define-public ghc-x11
(package (package
(name "ghc-x11") (name "ghc-x11")
@ -2976,7 +2977,7 @@ writing to stdout and other handles.")
(define-public ghc-quickcheck-instances (define-public ghc-quickcheck-instances
(package (package
(name "ghc-quickcheck-instances") (name "ghc-quickcheck-instances")
(version "0.3.11") (version "0.3.12")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -2986,13 +2987,15 @@ writing to stdout and other handles.")
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"041s6963czs1pz0fc9cx17lgd6p83czqy2nxji7bhxqxwl2j15h2")))) "1wwvkzpams7i0j7nk5qj8vvhj8x5zcbgbgrpczszgvshva4bkmfx"))))
(build-system haskell-build-system) (build-system haskell-build-system)
(inputs (inputs
`(("ghc-old-time" ,ghc-old-time) `(("ghc-old-time" ,ghc-old-time)
("ghc-unordered-containers" ,ghc-unordered-containers) ("ghc-unordered-containers" ,ghc-unordered-containers)
("ghc-hashable" ,ghc-hashable) ("ghc-hashable" ,ghc-hashable)
("ghc-quickcheck" ,ghc-quickcheck) ("ghc-quickcheck" ,ghc-quickcheck)
("ghc-scientific" ,ghc-scientific)
("ghc-vector" ,ghc-vector)
("ghc-text" ,ghc-text))) ("ghc-text" ,ghc-text)))
(home-page (home-page
"https://github.com/aslatter/qc-instances") "https://github.com/aslatter/qc-instances")
@ -8162,4 +8165,33 @@ Rust syntax. It is intended to be useful for two different purposes:
files in Haskell.") files in Haskell.")
(license license:bsd-3))) (license license:bsd-3)))
(define-public ghc-hslogger
(package
(name "ghc-hslogger")
(version "1.2.10")
(source
(origin
(method url-fetch)
(uri (string-append "https://hackage.haskell.org/package/"
"hslogger-" version "/" "hslogger-"
version ".tar.gz"))
(sha256 (base32
"0as5gvlh6pi2gflakp695qnlizyyp059dqrhvjl4gjxalja6xjnp"))))
(build-system haskell-build-system)
(inputs
`(("ghc-mtl" ,ghc-mtl)
("ghc-network" ,ghc-network)
("ghc-directory", ghc-directory)
("ghc-old-locale" ,ghc-old-locale)
("ghc-process" ,ghc-process)))
(native-inputs
`(("ghc-hunit" ,ghc-hunit)))
(home-page "http://software.complete.org/hslogger")
(synopsis "Logging framework for Haskell, similar to Python's logging module")
(description "Hslogger lets each log message have a priority and source be
associated with it. The programmer can then define global handlers that route
or filter messages based on the priority and source. It also has a syslog
handler built in.")
(license license:bsd-3)))
;;; haskell.scm ends here ;;; haskell.scm ends here

View File

@ -4,6 +4,7 @@
;;; Copyright © 2015, 2016 Alex Kost <alezost@gmail.com> ;;; Copyright © 2015, 2016 Alex Kost <alezost@gmail.com>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 Alex Griffin <a@ajgrf.com> ;;; Copyright © 2017 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2017 ng0 <contact.ng0@cryptolab.net>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -25,6 +26,7 @@
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system cmake)
#:use-module (gnu packages autotools) #:use-module (gnu packages autotools)
#:use-module (gnu packages base) #:use-module (gnu packages base)
#:use-module (gnu packages curl) #:use-module (gnu packages curl)
@ -33,6 +35,7 @@
#:use-module (gnu packages gnome) #:use-module (gnu packages gnome)
#:use-module (gnu packages gtk) #:use-module (gnu packages gtk)
#:use-module (gnu packages image) #:use-module (gnu packages image)
#:use-module (gnu packages imagemagick)
#:use-module (gnu packages photo) #:use-module (gnu packages photo)
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
#:use-module (gnu packages xorg)) #:use-module (gnu packages xorg))
@ -205,3 +208,59 @@ your images. Among its features are:
@item Configurable mouse actions @item Configurable mouse actions
@end enumerate\n") @end enumerate\n")
(license license:gpl3+))) (license license:gpl3+)))
(define-public catimg
(package
(name "catimg")
(version "2.2.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/posva/catimg/archive"
"/v" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"14g90zwh2d3s13hgyxypx2vc0rj1g58l6zcxhgc84wsyxfxd6xpb"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ; No check target
#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key inputs #:allow-other-keys)
(let* ((magic (assoc-ref %build-inputs "imagemagick"))
(convert (string-append magic "/bin/convert")))
(substitute* "catimg"
;; By replacing "convert", we also replace the "convert"
;; in the message 'The version of convert is too old, don't
;; expect good results :('. This should not happen, but in
;; practice this error message should not affect us.
(("convert") convert))
#t)))
(replace 'build
(lambda _
(zero? (system* "cmake" "-D"
(string-append "CMAKE_INSTALL_PREFIX="
(assoc-ref %outputs "out"))
"."))
(zero? (system* "make"))))
(add-before 'install 'install-script
(lambda* (#:key outputs #:allow-other-keys)
;; The bashscript lacks an file extension, we have to rename
;; it so that the C program and the bash script can be happy
;; side by side.
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin")))
(install-file "catimg" bin)
(rename-file (string-append bin "/catimg")
(string-append bin "/catimg.sh"))
#t))))))
(inputs
`(("imagemagick" ,imagemagick))) ; For the bash script version
(home-page "https://github.com/posva/catimg")
(synopsis "Render images in the terminal")
(description
"Catimg is a little program that prints images in the terminal.
It supports JPEG, PNG and GIF formats.")
(license license:expat)))

View File

@ -312,7 +312,8 @@ collection of tools for doing simple manipulations of TIFF images.")
"libtiff-CVE-2016-10093.patch" "libtiff-CVE-2016-10093.patch"
"libtiff-divide-by-zero-tiffcp.patch" "libtiff-divide-by-zero-tiffcp.patch"
"libtiff-assertion-failure.patch" "libtiff-assertion-failure.patch"
"libtiff-CVE-2016-10094.patch")))))) "libtiff-CVE-2016-10094.patch"
"libtiff-CVE-2017-5225.patch"))))))
(define-public libwmf (define-public libwmf
(package (package
@ -497,7 +498,8 @@ error-resilience, a Java-viewer for j2k-images, ...")
(base32 (base32
"19yz4g0c45sm8y1z01j9djsrl1mkz3pmw7fykc6hkvrqymp7prsc")) "19yz4g0c45sm8y1z01j9djsrl1mkz3pmw7fykc6hkvrqymp7prsc"))
(patches (patches
(search-patches "openjpeg-CVE-2016-9850-CVE-2016-9851.patch")))))) (search-patches "openjpeg-CVE-2016-9850-CVE-2016-9851.patch"
"openjpeg-CVE-2016-9572-CVE-2016-9573.patch"))))))
(define-public openjpeg-1 (define-public openjpeg-1
(package (inherit openjpeg) (package (inherit openjpeg)

View File

@ -46,14 +46,14 @@
;; The 7 release series has an incompatible API, while the 6 series is still ;; The 7 release series has an incompatible API, while the 6 series is still
;; maintained. Don't update to 7 until we've made sure that the ImageMagick ;; maintained. Don't update to 7 until we've made sure that the ImageMagick
;; users are ready for the 7-series API. ;; users are ready for the 7-series API.
(version "6.9.7-3") (version "6.9.7-7")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://imagemagick/ImageMagick-" (uri (string-append "mirror://imagemagick/ImageMagick-"
version ".tar.xz")) version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"18cibh5rmxddwpsrpzjd4sbim80g5w36zhl8bw582nw39cs6f5w0")))) "02x463z31j449pfm8czb7jlpkd3nx4a3yyjxq3bhpjfq13i20d62"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:configure-flags '("--with-frozenpaths" "--without-gcc-arch") `(#:configure-flags '("--with-frozenpaths" "--without-gcc-arch")

View File

@ -4,6 +4,7 @@
;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 ng0 <ng0@libertad.pw> ;;; Copyright © 2016 ng0 <ng0@libertad.pw>
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -100,7 +101,7 @@ irssi, but graphical.")
(define-public irssi (define-public irssi
(package (package
(name "irssi") (name "irssi")
(version "1.0.0") (version "1.0.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://github.com/irssi/irssi/" (uri (string-append "https://github.com/irssi/irssi/"
@ -108,7 +109,7 @@ irssi, but graphical.")
version ".tar.xz")) version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1f2gmr5nynagwi4wx3yprhzfpg4ww6r7ff395b0a48d0qqgkr2ka")))) "1krw71n24mj4p3f5nhzj6kdi1kq9ssl53hrqyjpgz61m7wdcaa4l"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:phases `(#:phases
@ -140,14 +141,14 @@ SILC and ICB protocols via plugins.")
(define-public weechat (define-public weechat
(package (package
(name "weechat") (name "weechat")
(version "1.6") (version "1.7")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "http://weechat.org/files/src/weechat-" (uri (string-append "http://weechat.org/files/src/weechat-"
version ".tar.xz")) version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1qqnb9bdi15l30378rnmhf26ndacwi5hmq5vpz4lfyihk17xnryn")) "1crdwlxj5liik32svflfac0s87vm6p8xm208yndigzsbg8rli4sr"))
(patches (search-patches "weechat-python.patch")))) (patches (search-patches "weechat-python.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs `(("autoconf" ,autoconf) (native-inputs `(("autoconf" ,autoconf)
@ -180,14 +181,13 @@ SILC and ICB protocols via plugins.")
(add-before 'configure 'autogen (add-before 'configure 'autogen
(lambda _ (lambda _
(zero? (system* "./autogen.sh")))) (zero? (system* "./autogen.sh"))))
(add-before 'build 'set-python-file-name (add-after 'install 'wrap
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs outputs #:allow-other-keys)
(substitute* "src/plugins/python/weechat-python.c" (let ((out (assoc-ref outputs "out"))
(("python2_bin = weechat_python_get_python2_bin.*;") (py2 (assoc-ref inputs "python")))
(string-append "python2_bin = strdup (\"" (wrap-program (string-append out "/bin/weechat")
(assoc-ref inputs "python") `("PATH" ":" prefix (,(string-append py2 "/bin"))))
"/bin/python\");\n"))) #t))))))
#t)))))
(synopsis "Extensible chat client") (synopsis "Extensible chat client")
(description "WeeChat (Wee Enhanced Environment for Chat) is an (description "WeeChat (Wee Enhanced Environment for Chat) is an
Internet Relay Chat client, which is designed to be light and fast. Internet Relay Chat client, which is designed to be light and fast.

View File

@ -47,7 +47,7 @@
#:use-module (gnu packages wget) #:use-module (gnu packages wget)
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
#:use-module (gnu packages perl) #:use-module (gnu packages perl)
#:use-module (gnu packages mit-krb5) #:use-module (gnu packages kerberos)
#:use-module (gnu packages xml) #:use-module (gnu packages xml)
#:use-module (gnu packages xorg) #:use-module (gnu packages xorg)
#:use-module (gnu packages zip) #:use-module (gnu packages zip)
@ -337,7 +337,7 @@ build process and its dependencies, whereas Make uses Makefile format.")
(define-public icedtea-6 (define-public icedtea-6
(package (package
(name "icedtea") (name "icedtea")
(version "1.13.12") (version "1.13.13")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -345,7 +345,7 @@ build process and its dependencies, whereas Make uses Makefile format.")
version ".tar.xz")) version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1q5iqm3dzqj8w3dwj6qqhczkkrslrfhmn3110klfwq9kyi2nimj8")) "0bg9sb4f7qbq77c0zf9m17p47ga0kf0r9622g9p12ysg26jd1ksg"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(substitute* "Makefile.in" '(substitute* "Makefile.in"
@ -764,10 +764,10 @@ build process and its dependencies, whereas Make uses Makefile format.")
("openjdk6-src" ("openjdk6-src"
,(origin ,(origin
(method url-fetch) (method url-fetch)
(uri "https://java.net/downloads/openjdk6/openjdk-6-src-b40-22_aug_2016.tar.gz") (uri "https://java.net/downloads/openjdk6/openjdk-6-src-b41-04_jan_2017.tar.xz")
(sha256 (sha256
(base32 (base32
"01v4q7g9pa6w7m6yxply5yrin08jgv12fck665xnmp09bpxy8sa5")))) "058szix0j280g14jzajvsixx1j2dxmc10r848f5swpy6rr8x8d4f"))))
("lcms" ,lcms) ("lcms" ,lcms)
("zlib" ,zlib) ("zlib" ,zlib)
("gtk" ,gtk+-2) ("gtk" ,gtk+-2)
@ -953,7 +953,7 @@ build process and its dependencies, whereas Make uses Makefile format.")
,@(package-inputs icedtea-6)))))) ,@(package-inputs icedtea-6))))))
(define-public icedtea-8 (define-public icedtea-8
(let* ((version "3.2.0") (let* ((version "3.3.0")
(drop (lambda (name hash) (drop (lambda (name hash)
(origin (origin
(method url-fetch) (method url-fetch)
@ -962,7 +962,7 @@ build process and its dependencies, whereas Make uses Makefile format.")
"/icedtea8/" version "/" name ".tar.xz")) "/icedtea8/" version "/" name ".tar.xz"))
(sha256 (base32 hash)))))) (sha256 (base32 hash))))))
(package (inherit icedtea-7) (package (inherit icedtea-7)
(version "3.2.0") (version "3.3.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -970,7 +970,7 @@ build process and its dependencies, whereas Make uses Makefile format.")
version ".tar.xz")) version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"104g2x5nhnqqvx6x29phx5vlrhlqy7qax83b9bqj1y619irrg8gj")) "02vmxa6gc6gizcri1fy797qmmm9y77vgi7gy9pwkk4agcw4zyr5p"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(substitute* "Makefile.am" '(substitute* "Makefile.am"
@ -1040,31 +1040,31 @@ build process and its dependencies, whereas Make uses Makefile format.")
`(("jdk" ,icedtea-7 "jdk") `(("jdk" ,icedtea-7 "jdk")
("openjdk-src" ("openjdk-src"
,(drop "openjdk" ,(drop "openjdk"
"093r3vlmbdx78w9s6d8lv4q65i0s9wq6an6i2g2d1zaf0js4043c")) "0889n19w6rvpzxgmmk9hlgzdh9ya95qkc2ajgpnzr3h69g15nz48"))
("corba-drop" ("corba-drop"
,(drop "corba" ,(drop "corba"
"11r3h9snnj7m5bqnzc5ryd85igdv7xlwzs0zy24p9ii6gsc0f9lh")) "0qcb72hhlsjgp6h9wd048qgyc88b7lfnxyc51xfyav0nhpfjnj8r"))
("jaxp-drop" ("jaxp-drop"
,(drop "jaxp" ,(drop "jaxp"
"1mp6ps15jk8v4nnvkmbvkk7g35icdjv7892q2a4f7b268yjcgmk1")) "1vyc7dw10x5k45jmi348y8min6sg651ns12zzn30fjzhpfi36nds"))
("jaxws-drop" ("jaxws-drop"
,(drop "jaxws" ,(drop "jaxws"
"1fb5hikzzx8292nhdbp0snqn66fwnnv4rkjsk1zsjvrv4z5vk18j")) "1dki6p39z1ms94cjvj5hd9q75q75g244c0xib82pma3q74jg6hx4"))
("jdk-drop" ("jdk-drop"
,(drop "jdk" ,(drop "jdk"
"1if9c5grp0km7pyn4mhfwi2ynh3ix20l1fqbfcy68sl2py7psmcj")) "17czby3nylcglp7l3d90a4pz1izc1sslifv8hrmynm9hn4m9d3k8"))
("langtools-drop" ("langtools-drop"
,(drop "langtools" ,(drop "langtools"
"0kbah4h4pllk0gf50mp5f6720f5ci0ixqylccppb484hp95pblcl")) "1h4azc21k58g9gn2y686wrvn9ahgac0ii7jhrrrmb5c1kjs0y2qv"))
("hotspot-drop" ("hotspot-drop"
,(drop "hotspot" ,(drop "hotspot"
"1gqz9qqsi61838dj08s01sa51zlnkvrk3hy721211dhnmkvlzmwx")) "12bfgwhrjfhgj6a2dsysdwhirg0jx88pi44y7s8a1bdan1mp03r8"))
("nashorn-drop" ("nashorn-drop"
,(drop "nashorn" ,(drop "nashorn"
"04697l95g6y6n5dvy55k2040c6qp5hfz16qaibwzs594m3gzwwjz")) "0bg9r16jffc64fhyczn4jpx7bkfw7w62prw65mh66vshqk4lbh0f"))
("shenandoah-drop" ("shenandoah-drop"
,(drop "shenandoah" ,(drop "shenandoah"
"0k6h7jk5i98jnld2ivy4bhydmkzrp25c3l6gwhvczvrhn7mlbnfx")) "0abjlsvz669i06mlks28wnh11mm55y5613990pn5j7hfbw8a34q5"))
,@(fold alist-delete (package-native-inputs icedtea-7) ,@(fold alist-delete (package-native-inputs icedtea-7)
'("gcj" "openjdk-src" "corba-drop" "jaxp-drop" "jaxws-drop" '("gcj" "openjdk-src" "corba-drop" "jaxp-drop" "jaxws-drop"
"jdk-drop" "langtools-drop" "hotspot-drop"))))))) "jdk-drop" "langtools-drop" "hotspot-drop")))))))

View File

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Thomas Danckaert <post@thomasdanckaert.be> ;;; Copyright © 2016, 2017 Thomas Danckaert <post@thomasdanckaert.be>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -39,7 +39,7 @@
(define-public kdevelop (define-public kdevelop
(package (package
(name "kdevelop") (name "kdevelop")
(version "5.0.2") (version "5.0.3")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -48,7 +48,7 @@
version ".tar.xz")) version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0rl6csmzf14gf0r0mk7z2lj7cq8fggf5qmlbxq6j68vp2q0pj0cv")))) "00gn2c66pyd9qaa0zhn2lqam0zsg7fbyi13hk32wclxq73y8v98p"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(native-inputs (native-inputs
`(("extra-cmake-modules" ,extra-cmake-modules) `(("extra-cmake-modules" ,extra-cmake-modules)
@ -98,15 +98,18 @@
(let* ((out (assoc-ref outputs "out")) (let* ((out (assoc-ref outputs "out"))
(kdevplatform (assoc-ref inputs "kdevplatform")) (kdevplatform (assoc-ref inputs "kdevplatform"))
(kio (assoc-ref inputs "kio")) (kio (assoc-ref inputs "kio"))
(kcmutils (assoc-ref inputs "kcmutils"))
(qtquickcontrols (assoc-ref inputs "qtquickcontrols")) (qtquickcontrols (assoc-ref inputs "qtquickcontrols"))
(qtdeclarative (assoc-ref inputs "qtdeclarative")) (qtdeclarative (assoc-ref inputs "qtdeclarative"))
(plugins "/lib/plugins") (profile "$HOME/.guix-profile")
(qml "/qml")) (qml "/qml"))
(wrap-program (string-append out "/bin/kdevelop") (wrap-program (string-append out "/bin/kdevelop")
`("XDG_DATA_DIRS" ":" prefix
,(map (lambda (s) (string-append s "/share"))
(list profile out kdevplatform kcmutils)))
`("QT_PLUGIN_PATH" ":" prefix `("QT_PLUGIN_PATH" ":" prefix
(,(string-append out plugins) ,(map (lambda (s) (string-append s "/lib/plugins"))
,(string-append kdevplatform plugins) (list profile out kdevplatform kio)))
,(string-append kio plugins)))
`("QML2_IMPORT_PATH" ":" prefix `("QML2_IMPORT_PATH" ":" prefix
(,(string-append qtquickcontrols qml) (,(string-append qtquickcontrols qml)
,(string-append qtdeclarative qml)))))))))) ,(string-append qtdeclarative qml))))))))))
@ -145,14 +148,14 @@ for some KDevelop language plugins (Ruby, PHP, CSS...).")
(define-public kdevplatform (define-public kdevplatform
(package (package
(name "kdevplatform") (name "kdevplatform")
(version "5.0.2") (version "5.0.3")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://github.com/KDE/kdevplatform/archive/v" (uri (string-append "https://github.com/KDE/kdevplatform/archive/v"
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1m8c0ixv91diyy9bvq53d4jik4zrnf7bix7clad4ywxnlpcs4ahr")) "1k40wg08iwyswnpbs4bfh4yq38pp0qi78shjh4pf7yfa2kbid30j"))
(file-name (string-append name "-" version ".tar.gz")))) (file-name (string-append name "-" version ".tar.gz"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(native-inputs (native-inputs

187
gnu/packages/kerberos.scm Normal file
View File

@ -0,0 +1,187 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2012, 2013 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2012, 2017 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages kerberos)
#:use-module (gnu packages)
#:use-module (gnu packages bison)
#:use-module (gnu packages perl)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages libidn)
#:use-module (gnu packages linux)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages compression)
#:use-module (gnu packages databases)
#:use-module (gnu packages readline)
#:use-module (gnu packages tls)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix utils)
#:use-module (guix build-system gnu))
(define-public mit-krb5
(package
(name "mit-krb5")
(version "1.14.3")
(source (origin
(method url-fetch)
(uri (string-append "http://web.mit.edu/kerberos/dist/krb5/"
(version-major+minor version)
"/krb5-" version ".tar.gz"))
(sha256
(base32
"1jgjiyh1sp72lkxvk437lz5hzcibvw99jc4ihzfz03fg43aj0ind"))))
(build-system gnu-build-system)
(native-inputs
`(("bison" ,bison)
("perl" ,perl)))
(arguments
`(;; Work around "No rule to make target '../../include/gssapi/gssapi.h',
;; needed by 'authgss_prot.so'."
#:parallel-build? #f
;; Likewise with tests.
#:parallel-tests? #f
;; XXX: On 32-bit systems, 'kdb5_util' hangs on an fcntl/F_SETLKW call
;; while running the tests in 'src/tests'.
#:tests? ,(string=? (%current-system) "x86_64-linux")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'enter-source-directory
(lambda _
(chdir "src")
#t))
(add-before 'check 'pre-check
(lambda* (#:key inputs #:allow-other-keys)
(let ((perl (assoc-ref inputs "perl")))
(substitute* "plugins/kdb/db2/libdb2/test/run.test"
(("/bin/cat") (string-append perl "/bin/perl"))
(("D/bin/sh") (string-append "D" (which "bash")))
(("bindir=/bin/.") (string-append "bindir=" perl "/bin"))))
;; avoid service names since /etc/services is unavailable
(substitute* "tests/resolve/Makefile"
(("-p telnet") "-p 23"))
#t)))))
(synopsis "MIT Kerberos 5")
(description
"Massachusetts Institute of Technology implementation of Kerberos.
Kerberos is a network authentication protocol designed to provide strong
authentication for client/server applications by using secret-key
cryptography.")
(license (license:non-copyleft "file://NOTICE"
"See NOTICE in the distribution."))
(home-page "http://web.mit.edu/kerberos/")))
(define-public shishi
(package
(name "shishi")
(version "1.0.2")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnu/shishi/shishi-"
version ".tar.gz"))
(sha256
(base32
"032qf72cpjdfffq1yq54gz3ahgqf2ijca4vl31sfabmjzq9q370d"))))
(build-system gnu-build-system)
(native-inputs `(("pkg-config" ,pkg-config)))
(inputs
`(("gnutls" ,gnutls)
("libidn" ,libidn)
("linux-pam" ,linux-pam-1.2)
("zlib" ,zlib)
;; libgcrypt 1.6 fails because of the following test:
;; #include <gcrypt.h>
;; /* GCRY_MODULE_ID_USER was added in 1.4.4 and gc-libgcrypt.c
;; will fail on startup if we don't have 1.4.4 or later, so
;; test for it early. */
;; #if !defined GCRY_MODULE_ID_USER
;; error too old libgcrypt
;; #endif
("libgcrypt" ,libgcrypt-1.5)
("libtasn1" ,libtasn1)))
(home-page "http://www.gnu.org/software/shishi/")
(synopsis "Implementation of the Kerberos 5 network security system")
(description
"GNU Shishi is a free implementation of the Kerberos 5 network security
system. It is used to allow non-secure network nodes to communicate in a
secure manner through client-server mutual authentication via tickets.")
(license license:gpl3+)))
(define-public heimdal
(package
(name "heimdal")
(version "1.5.3")
(source (origin
(method url-fetch)
(uri (string-append "http://www.h5l.org/dist/src/heimdal-"
version ".tar.gz"))
(sha256
(base32
"19gypf9vzfrs2bw231qljfl4cqc1riyg0ai0xmm1nd1wngnpphma"))
(modules '((guix build utils)))
(snippet
'(substitute* "configure"
(("User=.*$") "User=Guix\n")
(("Date=.*$") "Date=2017\n")))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags (list
;; Work around a linker error.
"CFLAGS=-pthread"
;; Avoid 7 MiB of .a files.
"--disable-static"
;; Do not build libedit.
(string-append
"--with-readline-lib="
(assoc-ref %build-inputs "readline") "/lib")
(string-append
"--with-readline-include="
(assoc-ref %build-inputs "readline") "/include"))
#:phases (modify-phases %standard-phases
(add-before 'check 'skip-tests
(lambda _
;; The test simply runs 'ftp --version && ftp --help'
;; but that fails in the chroot because 'ftp' tries to
;; do a service lookup before printing the help/version.
(substitute* "appl/ftp/ftp/Makefile.in"
(("^CHECK_LOCAL =.*")
"CHECK_LOCAL = no-check-local\n"))
#t)))))
(native-inputs `(("e2fsprogs" ,e2fsprogs))) ;for 'compile_et'
(inputs `(("readline" ,readline)
("bdb" ,bdb)
("e2fsprogs" ,e2fsprogs))) ;for libcom_err
(home-page "http://www.h5l.org/")
(synopsis "Kerberos 5 network authentication")
(description
"Heimdal is an implementation of Kerberos 5 network authentication
service.")
(license license:bsd-3)))

View File

@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015, 2016 Roel Janssen <roel@gnu.org> ;;; Copyright © 2015, 2016 Roel Janssen <roel@gnu.org>
;;; Copyright © 2015 Pjotr Prins <pjotr.guix@thebird.nl> ;;; Copyright © 2015 Pjotr Prins <pjotr.guix@thebird.nl>
;;; Copyright © 2017 Frederick Muriithi <fredmanglis@gmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -27,6 +28,8 @@
#:use-module (gnu packages) #:use-module (gnu packages)
#:use-module (gnu packages base) #:use-module (gnu packages base)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages curl)
#:use-module (gnu packages gdb)
#:use-module (gnu packages libedit) #:use-module (gnu packages libedit)
#:use-module (gnu packages llvm) #:use-module (gnu packages llvm)
#:use-module (gnu packages python) #:use-module (gnu packages python)
@ -34,47 +37,44 @@
#:use-module (gnu packages zip)) #:use-module (gnu packages zip))
(define-public rdmd (define-public rdmd
(let ((commit "da0a2e0a379b08294015eec9d531f1e5dd4226f0")) (package
(package (name "rdmd")
(name "rdmd") (version "2.073.0")
(version (string-append "v2.070.0-1." (string-take commit 7))) (source (origin
(source (origin (method url-fetch)
(method git-fetch) (uri (string-append "https://github.com/dlang/tools/archive/v" version ".tar.gz"))
(uri (git-reference (file-name (string-append name "-" version ".tar.gz"))
(url "https://github.com/D-Programming-Language/tools.git") (sha256
(commit commit))) (base32
(file-name (string-append name "-" version "-checkout")) "01if3ivnb7g2myfhymp4d9346s4vmvcl82i1kxfs5iza45almh7v"))))
(sha256 (build-system gnu-build-system)
(base32 (arguments
"1pcx5lyqzrip86f4vv60x292rpvnwsq2hvl1znm9x9rn68f34m45")))) '(#:phases
(build-system gnu-build-system) (modify-phases %standard-phases
(arguments (delete 'configure)
'(#:phases (delete 'check) ; There is no Makefile, so there's no 'make check'.
(modify-phases %standard-phases (replace
(delete 'configure) 'build
(delete 'check) ; There is no Makefile, so there's no 'make check'. (lambda _
(replace (zero? (system* "ldc2" "rdmd.d"))))
'build (replace
(lambda _ 'install
(zero? (system* "ldc2" "rdmd.d")))) (lambda* (#:key outputs #:allow-other-keys)
(replace (let ((bin (string-append (assoc-ref outputs "out") "/bin")))
'install (install-file "rdmd" bin)))))))
(lambda* (#:key outputs #:allow-other-keys) (native-inputs
(let ((bin (string-append (assoc-ref outputs "out") "/bin"))) `(("ldc" ,ldc)))
(install-file "rdmd" bin))))))) (home-page "https://github.com/D-Programming-Language/tools/")
(native-inputs (synopsis "Specialized equivalent to 'make' for the D language")
`(("ldc" ,ldc))) (description
(home-page "https://github.com/D-Programming-Language/tools/") "rdmd is a companion to the dmd compiler that simplifies the typical
(synopsis "Specialized equivalent to 'make' for the D language")
(description
"rdmd is a companion to the dmd compiler that simplifies the typical
edit-compile-link-run or edit-make-run cycle to a rapid edit-run cycle. Like edit-compile-link-run or edit-make-run cycle to a rapid edit-run cycle. Like
make and other tools, rdmd uses the relative dates of the files involved to make and other tools, rdmd uses the relative dates of the files involved to
minimize the amount of work necessary. Unlike make, rdmd tracks dependencies minimize the amount of work necessary. Unlike make, rdmd tracks dependencies
and freshness without requiring additional information from the user.") and freshness without requiring additional information from the user.")
(license license:boost1.0)))) (license license:boost1.0)))
(define-public ldc (define-public ldc-bootstrap
(package (package
(name "ldc") (name "ldc")
(version "0.17.2") (version "0.17.2")
@ -171,3 +171,141 @@ latest DMD frontend and uses LLVM as backend.")
(license (list license:bsd-3 (license (list license:bsd-3
license:gpl2+ license:gpl2+
license:boost1.0)))) license:boost1.0))))
(define-public ldc
;; The phobos, druntime and dmd-testsuite dependencies do not have a newer
;; release than 1.1.0-beta4, hence the need to make use of the older-version
;; variable to hold this variable.
(let ((older-version "1.1.0"))
(package
(inherit ldc-bootstrap)
(name "ldc")
(version "1.1.0")
;; Beta version needed to compile various scientific tools that require
;; the newer beta versions, and won't compile successfully with the
;; older stable version.
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/ldc-developers/ldc/archive/v"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"10zkrmx9bcmhfxvgykm3fkjamzc8js96wm032bv0fyil5c9ja2y1"))))
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'unpack-submodule-sources
(lambda* (#:key inputs #:allow-other-keys)
(let ((unpack (lambda (source target)
(with-directory-excursion target
(zero? (system* "tar" "xvf"
(assoc-ref inputs source)
"--strip-components=1"))))))
(and (unpack "phobos-src" "runtime/phobos")
(unpack "druntime-src" "runtime/druntime")
(unpack "dmd-testsuite-src" "tests/d2/dmd-testsuite")))))
;; The 'patch-dmd2 step in ldc causes the build to fail since
;; dmd2/root/port.c no longer exists. Arguments needed to have
;; 'patch-dmd2 step removed, but retain everything else.
(add-after 'unpack-submodule-sources 'patch-phobos
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "runtime/phobos/std/process.d"
(("/bin/sh") (which "sh"))
(("echo") (which "echo")))
(substitute* "runtime/phobos/std/datetime.d"
(("/usr/share/zoneinfo/")
(string-append (assoc-ref inputs "tzdata") "/share/zoneinfo")))
(substitute* "tests/d2/dmd-testsuite/Makefile"
(("/bin/bash") (which "bash")))
#t)))))
(native-inputs
`(("llvm" ,llvm)
("clang" ,clang)
("ldc" ,ldc-bootstrap)
("python-lit" ,python-lit)
("python-wrapper" ,python-wrapper)
("unzip" ,unzip)
("gdb" ,gdb)
("phobos-src"
,(origin
(method url-fetch)
(uri (string-append
"https://github.com/ldc-developers/phobos/archive/ldc-v"
older-version ".tar.gz"))
(sha256
(base32
"0z5v55b9s1ppf0c2ivjq7sbmq688c37c92ihc3qwrbxnqvkkvrlk"))
;; This patch deactivates some tests that depend on network access
;; to pass. It also deactivates some tests that have some reliance
;; on timezone.
;;
;; For the network tests, there's an effort to get a version flag
;; added to deactivate these tests for distribution packagers
;; that is being pursued at
;; <https://forum.dlang.org/post/zmdbdgnzrxyvtpqafvyg@forum.dlang.org>.
;; It also deactivates a test that requires /root
(patches (search-patches "ldc-1.1.0-disable-phobos-tests.patch"))))
("druntime-src"
,(origin
(method url-fetch)
(uri (string-append
"https://github.com/ldc-developers/druntime/archive/ldc-v"
older-version ".tar.gz"))
(sha256
(base32
"07qvrqj6vgakd6qr4x5f70w6zwkzd1li5x8i1b5ywnds1z5lnfp6"))))
("dmd-testsuite-src"
,(origin
(method url-fetch)
(uri (string-append
"https://github.com/ldc-developers/dmd-testsuite/archive/ldc-v"
older-version ".tar.gz"))
(sha256
(base32
"12cak7yqmsgjlflx0dp6fwmwb9dac25amgi86n0bb95ard3547wy"))
;; Remove the gdb tests that fails with a "Error: No such file or
;; directory" error, despite the files being present in the debug
;; files left with the --keep-failed flag to guix build.
(patches (search-patches "ldc-1.1.0-disable-dmd-tests.patch")))))))))
(define-public ldc-beta ldc)
(define-public dub
(package
(name "dub")
(version "1.2.0")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/dlang/dub/archive/"
"v" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1sd8i1rvxc7y7kk0y6km5zyvaladc5zh56r6afj74ndd63dssv43"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; it would have tested itself by installing some packages (vibe etc)
#:phases
(modify-phases %standard-phases
(delete 'configure)
(replace 'build
(lambda _
(zero? (system* "./build.sh"))))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(outbin (string-append out "/bin")))
(mkdir-p outbin)
(install-file "bin/dub" outbin)
#t))))))
(inputs
`(("curl" ,curl)))
(native-inputs
`(("ldc" ,ldc)))
(home-page "https://code.dlang.org/getting_started")
(synopsis "DUB package manager")
(description "This package provides the D package manager.")
(license license:expat)))

View File

@ -3,6 +3,7 @@
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr> ;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr>
;;; Copyright © 2016 David Thompson <davet@gnu.org> ;;; Copyright © 2016 David Thompson <davet@gnu.org>
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -33,7 +34,7 @@
(define-public libevent (define-public libevent
(package (package
(name "libevent") (name "libevent")
(version "2.0.22") (version "2.1.8")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -41,13 +42,16 @@
version "-stable/libevent-" version "-stable.tar.gz")) version "-stable/libevent-" version "-stable.tar.gz"))
(sha256 (sha256
(base32 (base32
"18qz9qfwrkakmazdlwxvjmw8p76g70n3faikwvdwznns1agw9hki")) "1hhxnxlr0fsdv7bdmzsnhdz16fxf3jg2r6vyljcl3kj6pflcap4n"))
(patches (search-patches "libevent-dns-tests.patch")))) (patches (search-patches "libevent-2.1-dns-tests.patch"
;; XXX: Try removing this for > 2.1.8.
;; https://github.com/libevent/libevent/issues/452
"libevent-2.1-skip-failing-test.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
`(;; Dependencies used for the tests and for `event_rpcgen.py'. `(("python" ,python-2))) ; for 'event_rpcgen.py'
("which" ,which) (native-inputs
("python" ,python-wrapper))) `(("which" ,which)))
(home-page "http://libevent.org/") (home-page "http://libevent.org/")
(synopsis "Event notification library") (synopsis "Event notification library")
(description (description
@ -62,10 +66,28 @@ then add or remove events dynamically without having to change the event
loop.") loop.")
(license bsd-3))) (license bsd-3)))
(define-public libevent-2.0
(package
(inherit libevent)
(version "2.0.22")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/libevent/libevent/releases/download/release-"
version "-stable/libevent-" version "-stable.tar.gz"))
(sha256
(base32
"18qz9qfwrkakmazdlwxvjmw8p76g70n3faikwvdwznns1agw9hki"))
(patches (search-patches
"libevent-dns-tests.patch"
"libevent-2.0-evdns-fix-remote-stack-overread.patch"
"libevent-2.0-evutil-fix-buffer-overflow.patch"
"libevent-2.0-evdns-fix-searching-empty-hostnames.patch"))))))
(define-public libev (define-public libev
(package (package
(name "libev") (name "libev")
(version "4.23") (version "4.24")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "http://dist.schmorp.de/libev/Attic/libev-" (uri (string-append "http://dist.schmorp.de/libev/Attic/libev-"
@ -73,7 +95,7 @@ loop.")
".tar.gz")) ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0ynxxm7giy4hg3qp9q8wshqw1jla9sxbsbi2pwsdsl1v1hz79zn7")))) "08gqsza1czx0nf62nkk183jb0946yzjsymaacxbzdgcs8z9r6dcp"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(home-page "http://software.schmorp.de/pkg/libev.html") (home-page "http://software.schmorp.de/pkg/libev.html")
(synopsis "Event loop loosely modelled after libevent") (synopsis "Event loop loosely modelled after libevent")
@ -89,7 +111,7 @@ programs.")
(define-public libuv (define-public libuv
(package (package
(name "libuv") (name "libuv")
(version "1.9.0") (version "1.11.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://github.com/libuv/libuv/archive/v" (uri (string-append "https://github.com/libuv/libuv/archive/v"
@ -97,7 +119,7 @@ programs.")
(file-name (string-append name "-" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1sx5lahhg2w92y6mgyg7c7nrx2biyyxd5yiqkmq8n4w01lm2gf7q")))) "0yhw86011l2dg2prms0d86szygrix4pxpgnyzs7iljy2xk3fxivf"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
'(#:phases (alist-cons-after '(#:phases (alist-cons-after
@ -116,7 +138,7 @@ programs.")
;; libuv.pc is installed only when pkg-config is found. ;; libuv.pc is installed only when pkg-config is found.
("pkg-config" ,pkg-config))) ("pkg-config" ,pkg-config)))
(home-page "https://github.com/joyent/libuv") (home-page "https://github.com/libuv/libuv")
(synopsis "Library for asynchronous I/O") (synopsis "Library for asynchronous I/O")
(description (description
"libuv is a multi-platform support library with a focus on asynchronous "libuv is a multi-platform support library with a focus on asynchronous

View File

@ -19,6 +19,7 @@
(define-module (gnu packages libidn) (define-module (gnu packages libidn)
#:use-module (gnu packages) #:use-module (gnu packages)
#:use-module (gnu packages libunistring)
#:use-module (guix licenses) #:use-module (guix licenses)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix download) #:use-module (guix download)
@ -51,14 +52,16 @@ Java libraries.")
(define-public libidn2 (define-public libidn2
(package (package
(name "libidn2") (name "libidn2")
(version "0.11") (version "0.16")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "ftp://alpha.gnu.org/gnu/libidn/libidn2-" (uri (string-append "ftp://alpha.gnu.org/gnu/libidn/libidn2-"
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1zxzhzx14q2b1xkx746pz4lawvqd8d055yy84n52ndwb4pf7nfax")))) "13v8kh4d5nfkymai88zlw3h7k4x9khrpdpv97waf4ah8ykzrxb9g"))))
(inputs
`(("libunistring" ,libunistring)))
(build-system gnu-build-system) (build-system gnu-build-system)
(synopsis "Internationalized domain name library for IDNA2008") (synopsis "Internationalized domain name library for IDNA2008")
(description "Libidn2 is an internationalized domain library implementing (description "Libidn2 is an internationalized domain library implementing

View File

@ -26,17 +26,15 @@
(define-public libupnp (define-public libupnp
(package (package
(name "libupnp") (name "libupnp")
(version "1.6.20") (version "1.6.21")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://sourceforge/pupnp/pupnp/libUPnP%20" (uri (string-append "mirror://sourceforge/pupnp/pupnp/libUPnP%20"
version "/" name "-" version ".tar.bz2")) version "/" name "-" version ".tar.bz2"))
(patches (search-patches "libupnp-CVE-2016-6255.patch"
"libupnp-CVE-2016-8863.patch"))
(sha256 (sha256
(base32 (base32
"0qrsdsb1qm85hc4jy04qph895613d148f0x1mmk6z99y3q43fdgf")))) "16x3z6jg1krwyydmbd0z59z5c9x4pniaajmfmnp5pmx18q43qgxg"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
;; The tests require a network device capable of multicasting which is ;; The tests require a network device capable of multicasting which is

View File

@ -19,6 +19,9 @@
;;; Copyright © 2016 Rene Saavedra <rennes@openmailbox.org> ;;; Copyright © 2016 Rene Saavedra <rennes@openmailbox.org>
;;; Copyright © 2016 ng0 <ng0@libertad.pw> ;;; Copyright © 2016 ng0 <ng0@libertad.pw>
;;; Copyright © 2017 Leo Famulari <leo@famulari.name> ;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017 José Miguel Sánchez García <jmi2k@openmailbox.com>
;;; Copyright © 2017 Gábor Boskovits <boskovits@gmail.com>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -43,6 +46,7 @@
#:use-module (gnu packages attr) #:use-module (gnu packages attr)
#:use-module (gnu packages autotools) #:use-module (gnu packages autotools)
#:use-module (gnu packages base) #:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages bison) #:use-module (gnu packages bison)
#:use-module (gnu packages calendar) #:use-module (gnu packages calendar)
#:use-module (gnu packages check) #:use-module (gnu packages check)
@ -61,8 +65,10 @@
#:use-module (gnu packages gperf) #:use-module (gnu packages gperf)
#:use-module (gnu packages gtk) #:use-module (gnu packages gtk)
#:use-module (gnu packages libusb) #:use-module (gnu packages libusb)
#:use-module (gnu packages man)
#:use-module (gnu packages maths) #:use-module (gnu packages maths)
#:use-module (gnu packages ncurses) #:use-module (gnu packages ncurses)
#:use-module (gnu packages networking)
#:use-module (gnu packages perl) #:use-module (gnu packages perl)
#:use-module (gnu packages pciutils) #:use-module (gnu packages pciutils)
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
@ -332,28 +338,27 @@ It has been modified to remove all non-free binary blobs.")
(define %intel-compatible-systems '("x86_64-linux" "i686-linux")) (define %intel-compatible-systems '("x86_64-linux" "i686-linux"))
(define %linux-libre-version "4.9.9")
(define %linux-libre-hash "0grk94jym0wz581c7pimia0rszq4h2xqjmf818i4l4qrjd0bnqvk")
(define-public linux-libre (define-public linux-libre
(make-linux-libre "4.9.3" (make-linux-libre %linux-libre-version
"1jd2rz58lcha9ac35glr26lc6hfi49fvpiwshgpd6ygf4irrs82w" %linux-libre-hash
%intel-compatible-systems %intel-compatible-systems
#:configuration-file kernel-config)) #:configuration-file kernel-config))
(define-public linux-libre-4.4 (define-public linux-libre-4.4
(make-linux-libre "4.4.42" (make-linux-libre "4.4.48"
"1jd43yvycizgqdmwp9rpj7gpjy37mah8jlqaiskjb0hivyk495yz" "0g7ram0b5b7p0c6v5m5im6m5pwa348mhkhf67rs036lzvcw1bvyk"
%intel-compatible-systems %intel-compatible-systems
#:configuration-file kernel-config)) #:configuration-file kernel-config))
(define-public linux-libre-4.1 (define-public linux-libre-4.1
(make-linux-libre "4.1.37" (make-linux-libre "4.1.38"
"0q79cxmrz0j5wh7z1dc103q6q6qf7rqgjl7ka8lvn4vl32pr0kq1" "165kmzglhg63hn7y4q7r6cb2dpsljxiq1czvgyx0bkd1vd2bcvsa"
%intel-compatible-systems %intel-compatible-systems
#:configuration-file kernel-config)) #:configuration-file kernel-config))
;; Avoid rebuilding kernel variants when there is a minor version bump.
(define %linux-libre-version "4.9.3")
(define %linux-libre-hash "1jd2rz58lcha9ac35glr26lc6hfi49fvpiwshgpd6ygf4irrs82w")
(define-public linux-libre-arm-generic (define-public linux-libre-arm-generic
(make-linux-libre %linux-libre-version (make-linux-libre %linux-libre-version
%linux-libre-hash %linux-libre-hash
@ -1590,14 +1595,14 @@ system.")
(define-public kbd (define-public kbd
(package (package
(name "kbd") (name "kbd")
(version "2.0.3") (version "2.0.4")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://kernel.org/linux/utils/kbd/kbd-" (uri (string-append "mirror://kernel.org/linux/utils/kbd/kbd-"
version ".tar.xz")) version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0ppv953gn2zylcagr4z6zg5y2x93dxrml29plypg6xgbq3hrv2bs")) "124swm93dm4ca0pifgkrand3r9gvj3019d4zkfxsj9djpvv0mnaz"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin
@ -1758,14 +1763,14 @@ time.")
(define-public lvm2 (define-public lvm2
(package (package
(name "lvm2") (name "lvm2")
(version "2.02.166") (version "2.02.168")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "ftp://sources.redhat.com/pub/lvm2/releases/LVM2." (uri (string-append "ftp://sources.redhat.com/pub/lvm2/releases/LVM2."
version ".tgz")) version ".tgz"))
(sha256 (sha256
(base32 (base32
"150v0mawd2swdvypcmkjd3h3s4n5i1220h6sxx94a8jvp1kb0871")) "03b62hcsj9z37ckd8c21wwpm07s9zblq7grfh58yzcs1vp6x38r3"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin
@ -2465,7 +2470,7 @@ MPEG-2 and audio over Linux IEEE 1394.")
(define-public mdadm (define-public mdadm
(package (package
(name "mdadm") (name "mdadm")
(version "3.4") (version "4.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -2473,13 +2478,14 @@ MPEG-2 and audio over Linux IEEE 1394.")
version ".tar.xz")) version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0248v9f28mrbwabl94ck22gfim29sqhkf70wrpfi52nk4x3bxl17")))) "1ad3mma641946wn5lsllwf0lifw9lps34fv1nnkhyfpd9krffshx"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
`(("udev" ,eudev))) `(("udev" ,eudev)))
(arguments (arguments
`(#:make-flags (let ((out (assoc-ref %outputs "out"))) `(#:make-flags (let ((out (assoc-ref %outputs "out")))
(list "INSTALL=install" (list "CC=gcc"
"INSTALL=install"
"CHECK_RUN_DIR=0" "CHECK_RUN_DIR=0"
;; TODO: tell it where to find 'sendmail' ;; TODO: tell it where to find 'sendmail'
;; (string-append "MAILCMD=" <???> "/sbin/sendmail") ;; (string-append "MAILCMD=" <???> "/sbin/sendmail")
@ -2656,7 +2662,7 @@ is flexible, efficient and uses a modular implementation.")
(define-public fuse-exfat (define-public fuse-exfat
(package (package
(name "fuse-exfat") (name "fuse-exfat")
(version "1.2.5") (version "1.2.6")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -2664,7 +2670,7 @@ is flexible, efficient and uses a modular implementation.")
version "/" name "-" version ".tar.gz")) version "/" name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1i0sh0s6wnm4dqxli3drva871wgbbm57qjf592vnswna9hc6bvim")))) "1rvq4hapy2anal1vg1yidv4x8rg4iw5sxfwqixkw0q2qsxb54471"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config))) `(("pkg-config" ,pkg-config)))
@ -2723,7 +2729,7 @@ and copy/paste text in the console and in xterm.")
(define-public btrfs-progs (define-public btrfs-progs
(package (package
(name "btrfs-progs") (name "btrfs-progs")
(version "4.9") (version "4.9.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://kernel.org/linux/kernel/" (uri (string-append "mirror://kernel.org/linux/kernel/"
@ -2731,7 +2737,7 @@ and copy/paste text in the console and in xterm.")
"btrfs-progs-v" version ".tar.xz")) "btrfs-progs-v" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"18y88avadn4wb3xmczd6pfcjr7ik62dw4phk6fmkms2j8vmvl9z2")))) "1ppy2y9vypxw9awchari21yd3s2d7w2a9q3f4jq7dnjy5gyrnjj6"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(outputs '("out" (outputs '("out"
"static")) ; static versions of binaries in "out" (~16MiB!) "static")) ; static versions of binaries in "out" (~16MiB!)
@ -2902,6 +2908,7 @@ from userspace.")
(base32 (base32
"180y5y09h30ryf2vim8j30a2npwz1iv9ly5yjmh3wjdkwh2jrdyp")) "180y5y09h30ryf2vim8j30a2npwz1iv9ly5yjmh3wjdkwh2jrdyp"))
(modules '((guix build utils))) (modules '((guix build utils)))
(patches (search-patches "ntfs-3g-CVE-2017-0358.patch"))
(snippet (snippet
;; Install under $prefix. ;; Install under $prefix.
'(substitute* '("src/Makefile.in" "ntfsprogs/Makefile.in") '(substitute* '("src/Makefile.in" "ntfsprogs/Makefile.in")
@ -3116,14 +3123,14 @@ the default @code{nsswitch} and the experimental @code{umich_ldap}.")
(define-public mcelog (define-public mcelog
(package (package
(name "mcelog") (name "mcelog")
(version "147") (version "148")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://git.kernel.org/cgit/utils/cpu/mce/" (uri (string-append "https://git.kernel.org/cgit/utils/cpu/mce/"
"mcelog.git/snapshot/v" version ".tar.gz")) "mcelog.git/snapshot/v" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"10xxmqpd348ifbs7w8j0m53agp28r6imv237ha3kmhp632hmyf1d")) "1d5g09ndfsnl56vyhb5xw0zxspnh0f937biw3agqhdfbvw40j9jr"))
(file-name (string-append name "-" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
@ -3362,3 +3369,168 @@ monitoring tools for Linux. These include @code{mpstat}, @code{iostat},
@code{tapestat}, @code{cifsiostat}, @code{pidstat}, @code{sar}, @code{sadc}, @code{tapestat}, @code{cifsiostat}, @code{pidstat}, @code{sar}, @code{sadc},
@code{sadf} and @code{sa}.") @code{sadf} and @code{sa}.")
(license license:gpl2+))) (license license:gpl2+)))
(define-public light
(package
(name "light")
(version "1.0")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/haikarainen/" name
"/archive/v" version ".tar.gz"))
(sha256
(base32
"0r5gn6c0jcxknzybl6059dplxv46dpahchqq4gymrs7z8bp0hilp"))
(file-name (string-append name "-" version ".tar.gz"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f ; no tests
#:make-flags (list "CC=gcc"
(string-append "PREFIX=" %output))
#:phases
(modify-phases %standard-phases
(delete 'configure)
(add-after 'unpack 'patch-makefile
(lambda _
(substitute* "Makefile" (("chown") "#")))))))
(native-inputs
`(("help2man" ,help2man)))
(home-page "https://haikarainen.github.io/light")
(synopsis "GNU/Linux application to control backlights")
(description
"Light is a program to send commands to screen backlight controllers
under GNU/Linux. Features include:
@itemize
@item It does not rely on X.
@item Light can automatically figure out the best controller to use, making
full use of underlying hardware.
@item It is possible to set a minimum brightness value, as some controllers
set the screen to be pitch black at a vaĺue of 0 (or higher).
@end itemize
Light is the successor of lightscript.")
(license license:gpl3+)))
(define-public tlp
(package
(name "tlp")
(version "0.9")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/linrunner/"
(string-upcase name)
"/archive/" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0xksm8ar6dbq0azbfz8qs9yyzqg1j333lyd5znc074rz8inj4yw8"))))
(inputs `(("bash" ,bash)
("dbus" ,dbus)
("ethtool" ,ethtool)
("eudev" ,eudev)
("grep" ,grep)
("hdparm" ,hdparm)
("inetutils" ,inetutils)
("iw" ,iw)
("kmod" ,kmod)
("pciutils" ,pciutils)
("perl" ,perl)
("rfkill" ,rfkill)
("sed" ,sed)
("usbutils" ,usbutils)
("util-linux" ,util-linux)
("wireless-tools" ,wireless-tools)))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(delete 'configure)
(add-before 'build 'setenv
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(setenv "TLP_WITH_SYSTEMD" "0")
(setenv "TLP_NO_INIT" "1")
(setenv "TLP_NO_PMUTILS" "1")
(setenv "TLP_SBIN" (string-append out "/bin"))
(setenv "TLP_BIN" (string-append out "/bin"))
(setenv "TLP_TLIB" (string-append out "/share/tlp-pm"))
(setenv "TLP_ULIB" (string-append out "/lib/udev"))
(setenv "TLP_CONF" (string-append out "/etc/tlp"))
(setenv "TLP_SHCPL"
(string-append out "/share/bash-completion/completions"))
(setenv "TLP_MAN" (string-append out "/share/man")))))
(delete 'check)
(replace 'install
(lambda _
(system "make install-tlp install-man")))
(add-after 'install 'wrap
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((bin (string-append (assoc-ref outputs "out") "/bin"))
(bin-files (find-files bin ".*")))
(define (bin-directory input-name)
(string-append (assoc-ref inputs input-name) "/bin"))
(define (sbin-directory input-name)
(string-append (assoc-ref inputs input-name) "/sbin"))
(for-each (lambda (program)
(wrap-program program
`("PATH" ":" prefix
,(append
(map bin-directory '("bash"
"coreutils"
"dbus"
"eudev"
"grep"
"inetutils"
"kmod"
"perl"
"sed"
"usbutils"
"util-linux"))
(map sbin-directory '("ethtool"
"hdparm"
"iw"
"pciutils"
"rfkill"
"wireless-tools"))))))
bin-files)))))))
(home-page "http://linrunner.de/en/tlp/tlp.html")
(synopsis "Power management tool for Linux")
(description "TLP is a power management tool for Linux. It comes with
a default configuration already optimized for battery life. Nevertheless,
TLP is customizable to fulfil system requirements. TLP settings are applied
every time the power supply source is changed.")
;; 'COPYING' is a custom version that says that one file is GPLv3+ and the
;; rest is GPLv2+.
(license (list license:gpl2+ license:gpl3+))))
(define-public lshw
(package
(name "lshw")
(version "B.02.18")
(source (origin
(method url-fetch)
(uri (string-append "https://www.ezix.org/software/"
"files/lshw-" version
".tar.gz"))
(sha256
(base32
"0brwra4jld0d53d7jsgca415ljglmmx1l2iazpj4ndilr48yy8mf"))))
(build-system gnu-build-system)
(arguments
`(#:phases (modify-phases %standard-phases (delete 'configure))
#:tests? #f ; no tests
#:make-flags
(list (string-append "PREFIX=" (assoc-ref %outputs "out")))))
(synopsis "List hardware information")
(description
"@command{lshw} (Hardware Lister) is a small tool to provide
detailed information on the hardware configuration of the machine.
It can report exact memory configuration, firmware version, mainboard
configuration, CPU version and speed, cache configuration, bus speed,
and more on DMI-capable x86 or EFI (IA-64) systems and on some PowerPC
machines (PowerMac G4 is known to work).")
(home-page "https://www.ezix.org/project/wiki/HardwareLiSter")
(license license:gpl2+)))

View File

@ -756,14 +756,14 @@ from other CLXes around the net.")
(define-public sbcl-stumpwm (define-public sbcl-stumpwm
(package (package
(name "sbcl-stumpwm") (name "sbcl-stumpwm")
(version "0.9.9") (version "1.0.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
"https://github.com/stumpwm/stumpwm/archive/" "https://github.com/stumpwm/stumpwm/archive/"
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 "1fqabij4zcsqg1ywgdv2irp1ys23dwc8ms9ai55lb2i47hgv7z3x")) (base32 "1maxp98gh64az3d9vz9br6zdd6rc9fmj2imvax4by85g6kxvdz1i"))
(file-name (string-append "stumpwm-" version ".tar.gz")))) (file-name (string-append "stumpwm-" version ".tar.gz"))))
(build-system asdf-build-system/sbcl) (build-system asdf-build-system/sbcl)
(inputs `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre) (inputs `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre)

View File

@ -43,13 +43,13 @@
(define-public lua (define-public lua
(package (package
(name "lua") (name "lua")
(version "5.3.3") (version "5.3.4")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://www.lua.org/ftp/lua-" (uri (string-append "https://www.lua.org/ftp/lua-"
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 "18mcfbbmjyp8f2l9yy7n6dzk066nq6man0kpwly4bppphilc04si")) (base32 "0320a8dg3aci4hxla380dx1ifkw8gj4gbw5c4dz41g1kh98sm0gn"))
(patches (search-patches "lua-pkgconfig.patch" (patches (search-patches "lua-pkgconfig.patch"
"lua-liblua-so.patch")))) "lua-liblua-so.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)
@ -371,13 +371,13 @@ Notable examples are GTK+, GStreamer and Webkit.")
(define-public lua-lpeg (define-public lua-lpeg
(package (package
(name "lua-lpeg") (name "lua-lpeg")
(version "1.0.0") (version "1.0.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "http://www.inf.puc-rio.br/~roberto/lpeg/lpeg-" (uri (string-append "http://www.inf.puc-rio.br/~roberto/lpeg/lpeg-"
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 "13mz18s359wlkwm9d9iqlyyrrwjc6iqfpa99ai0icam2b3khl68h")))) (base32 "0sq25z3r324a324ky73izgq9mbf66j2xvjp0fxf227rwxalzgnb2"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:phases `(#:phases
@ -401,3 +401,60 @@ Notable examples are GTK+, GStreamer and Webkit.")
Grammars (PEGs).") Grammars (PEGs).")
(home-page "http://www.inf.puc-rio.br/~roberto/lpeg") (home-page "http://www.inf.puc-rio.br/~roberto/lpeg")
(license license:expat))) (license license:expat)))
(define-public lua5.2-lpeg
(package (inherit lua-lpeg)
(name "lua5.2-lpeg")
;; XXX: The arguments field is almost an exact copy of the field in
;; "lua-lpeg", except for the version string, which was derived from "lua"
;; and now is taken from "lua-5.2". See this discussion for context:
;; http://lists.gnu.org/archive/html/guix-devel/2017-01/msg02048.html
(arguments
`(#:phases
(modify-phases %standard-phases
(delete 'configure)
;; `make install` isn't available, so we have to do it manually
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(lua-version ,(version-major+minor (package-version lua-5.2))))
(install-file "lpeg.so"
(string-append out "/lib/lua/" lua-version))
(install-file "re.lua"
(string-append out "/share/lua/" lua-version))
#t))))
#:test-target "test"))
(inputs `(("lua", lua-5.2)))))
;; Lua 5.3 is not supported.
(define-public lua5.2-bitop
(package
(name "lua5.2-bitop")
(version "1.0.2")
(source (origin
(method url-fetch)
(uri (string-append "http://bitop.luajit.org/download/"
"LuaBitOp-" version ".tar.gz"))
(sha256
(base32
"16fffbrgfcw40kskh2bn9q7m3gajffwd2f35rafynlnd7llwj1qj"))))
(build-system gnu-build-system)
(arguments
`(#:test-target "test"
#:make-flags
(list "INSTALL=install -pD"
(string-append "INSTALLPATH=printf "
(assoc-ref %outputs "out")
"/lib/lua/"
,(version-major+minor (package-version lua-5.2))
"/bit/bit.so"))
#:phases
(modify-phases %standard-phases
(delete 'configure))))
(inputs `(("lua", lua-5.2)))
(home-page "http://bitop.luajit.org/index.html")
(synopsis "Bitwise operations on numbers for Lua")
(description
"Lua BitOp is a C extension module for Lua which adds bitwise operations
on numbers.")
(license license:expat)))

View File

@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Mathieu Lirzin <mthl@openmailbox.org> ;;; Copyright © 2015 Mathieu Lirzin <mthl@openmailbox.org>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 ng0 <contact.ng0@cryptolab.net>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -33,7 +34,7 @@
(define-public libfm (define-public libfm
(package (package
(name "libfm") (name "libfm")
(version "1.2.4") (version "1.2.5")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://sourceforge/pcmanfm/" (uri (string-append "mirror://sourceforge/pcmanfm/"
@ -41,7 +42,7 @@
"%29/LibFM/" name "-" version ".tar.xz")) "%29/LibFM/" name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0bsh4p7h2glhxf1cc1lvbxyb4qy0y1zsnl9izf7vrldkikrgc13q")))) "0nlvfwh09gbq8bkbvwnw6iqr918rrs9gc9ljb9pjspyg408bn1n7"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs `(("glib" ,glib) (inputs `(("glib" ,glib)
("gtk+" ,gtk+-2))) ("gtk+" ,gtk+-2)))
@ -143,16 +144,20 @@ toolkit. It allows users to monitor and control of running processes.")
(define-public lxterminal (define-public lxterminal
(package (package
(name "lxterminal") (name "lxterminal")
(version "0.2.0") (version "0.3.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://sourceforge/lxde/LXTerminal" (uri (string-append "mirror://sourceforge/lxde/LXTerminal"
"%20%28terminal%20emulator%29/LXTerminal%20" "%20%28terminal%20emulator%29/LXTerminal%20"
version "/" name "-" version ".tar.gz")) version "/" name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1brb506vmnncih8nyvlrckrrn6msbsvz2vwbm7bsqwigcnchwjqp")))) "1yf76s15zvfw0h42b0ay1slpq47khgjmcry8ki2z812zar9lchia"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments
`(;; Tests for "po" fail with "No rule to make target '../src/encoding.c'
;; needed by 'lxterminal.pot'. Stop."
#:tests? #f))
(inputs `(("gtk+" ,gtk+-2) (inputs `(("gtk+" ,gtk+-2)
("vte" ,vte/gtk+-2))) ("vte" ,vte/gtk+-2)))
(native-inputs `(("intltool" ,intltool) (native-inputs `(("intltool" ,intltool)
@ -168,7 +173,7 @@ performance, all instances of the terminal are sharing a single process.")
(define-public menu-cache (define-public menu-cache
(package (package
(name "menu-cache") (name "menu-cache")
(version "1.0.1") (version "1.0.2")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://sourceforge/lxde/" name "/" (uri (string-append "mirror://sourceforge/lxde/" name "/"
@ -176,7 +181,7 @@ performance, all instances of the terminal are sharing a single process.")
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0ngxvwfj9drabqi3lyzgpi0d0za6431sy2ijb010filrj54jdiqa")))) "1m8j40npykfcfqs43kc0fmksal2jfmfi8lnb3mq3xy1lvvrfv0vg"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs `(("glib" ,glib) (inputs `(("glib" ,glib)
("libfm" ,libfm-extra))) ("libfm" ,libfm-extra)))
@ -190,7 +195,7 @@ speed up the access to freedesktop.org defined application menus.")
(define-public pcmanfm (define-public pcmanfm
(package (package
(name "pcmanfm") (name "pcmanfm")
(version "1.2.4") (version "1.2.5")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://sourceforge/" name "/" (uri (string-append "mirror://sourceforge/" name "/"
@ -198,7 +203,7 @@ speed up the access to freedesktop.org defined application menus.")
"%29/PCManFM/" name "-" version ".tar.xz")) "%29/PCManFM/" name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"04z3vd9si24yi4c8calqncdpb9b6mbj4cs4f3fs86i6j05gvpk9q")))) "0rxdh0dfzc84l85c54blq42gczygq8adhr3l9hqzy1dp530cm1hc"))))
(build-system gnu-build-system) (build-system gnu-build-system)
;; (#:configure-flags '("--sysconfdir=/etc")) suggested in README. ;; (#:configure-flags '("--sysconfdir=/etc")) suggested in README.
(inputs `(("gtk+" ,gtk+-2) (inputs `(("gtk+" ,gtk+-2)

View File

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2014, 2015, 2017 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net> ;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
;;; Copyright © 2014 Sou Bunnbu <iyzsong@gmail.com> ;;; Copyright © 2014 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2014 Julien Lepiller <julien@lepiller.eu> ;;; Copyright © 2014 Julien Lepiller <julien@lepiller.eu>
@ -15,11 +15,12 @@
;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox.org> ;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox.org>
;;; Copyright © 2016 Alex Kost <alezost@gmail.com> ;;; Copyright © 2016 Alex Kost <alezost@gmail.com>
;;; Copyright © 2016 Troy Sankey <sankeytms@gmail.com> ;;; Copyright © 2016 Troy Sankey <sankeytms@gmail.com>
;;; Copyright © 2016 ng0 <ngillmann@runbox.com> ;;; Copyright © 2016, 2017 <contact.ng0@cryptolab.net>
;;; Copyright © 2016 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2016 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2016 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2016 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2016 John Darrington <jmd@gnu.org> ;;; Copyright © 2016 John Darrington <jmd@gnu.org>
;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -79,6 +80,7 @@
#:use-module (gnu packages flex) #:use-module (gnu packages flex)
#:use-module (gnu packages gdb) #:use-module (gnu packages gdb)
#:use-module (gnu packages man) #:use-module (gnu packages man)
#:use-module (gnu packages ruby)
#:use-module (gnu packages samba) #:use-module (gnu packages samba)
#:use-module (gnu packages screen) #:use-module (gnu packages screen)
#:use-module (gnu packages tls) #:use-module (gnu packages tls)
@ -86,11 +88,12 @@
#:use-module (gnu packages web) #:use-module (gnu packages web)
#:use-module (gnu packages xml) #:use-module (gnu packages xml)
#:use-module (gnu packages xorg) #:use-module (gnu packages xorg)
#:use-module (gnu packages docbook)
#:use-module ((guix licenses) #:use-module ((guix licenses)
#:select (gpl2 gpl2+ gpl3 gpl3+ lgpl2.1 lgpl2.1+ lgpl3+ #:select (gpl2 gpl2+ gpl3 gpl3+ lgpl2.1 lgpl2.1+ lgpl3+
non-copyleft (expat . license:expat) bsd-3 non-copyleft (expat . license:expat) bsd-3
public-domain bsd-4 isc (openssl . license:openssl) public-domain bsd-4 isc (openssl . license:openssl)
bsd-2)) bsd-2 x11-style))
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix git-download) #:use-module (guix git-download)
@ -247,10 +250,87 @@ aliasing facilities to work just as they would on normal mail.")
operating systems.") operating systems.")
(license gpl2+))) (license gpl2+)))
(define-public neomutt
(package
(inherit mutt)
(name "neomutt")
(version "20170113")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/" name "/" name
"/archive/" name "-" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0cqr77q263b5qcmdw6g0qixdpk6gmzgzpa03v226nr55v2ips9jg"))))
(inputs
`(("cyrus-sasl" ,cyrus-sasl)
("gdbm" ,gdbm)
("gpgme" ,gpgme)
("ncurses" ,ncurses)
("gnutls" ,gnutls)
("openssl" ,openssl) ;For smime
("perl" ,perl)
("libxslt" ,libxslt)
("libidn" ,libidn)
("libxml2" ,libxml2)
("docbook-xsl" ,docbook-xsl)
("notmuch" ,notmuch)))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("pkg-config" ,pkg-config)))
(arguments
`(#:configure-flags
(list "--enable-smtp"
"--enable-imap"
"--enable-pop"
"--enable-gpgme"
;; database, implies header caching
"--without-tokyocabinet"
"--without-qdbm"
"--without-bdb"
"--without-lmdb"
"--with-gdbm"
"--with-gnutls"
"--without-ssl"
"--with-sasl"
"--with-regex"
"--enable-smime"
"--enable-notmuch"
"--with-idn"
;; If we do not set this, neomutt wants to check
;; whether the path exists, which it does not
;; in the chroot. The workaround is this.
"--with-mailpath=/var/mail"
"--with-external-dotlock"
"--enable-nntp"
"--enable-compressed"
(string-append "--with-curses="
(assoc-ref %build-inputs "ncurses")))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'autoconf
(lambda _
(zero? (system* "sh" "autoreconf" "-vfi")))))))
(home-page "https://www.neomutt.org/")
(synopsis "Command-line mail reader based on Mutt")
(description
"NeoMutt is a command-line mail reader which is based on mutt.
It adds a large amount of features to mutt, and they all find their way
into mutt, so it is not a fork but a large set of feature patches.")))
(define-public gmime (define-public gmime
(package (package
(name "gmime") (name "gmime")
(version "2.6.20") (version "2.6.22")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnome/sources/gmime/" (uri (string-append "mirror://gnome/sources/gmime/"
@ -258,7 +338,7 @@ operating systems.")
"/gmime-" version ".tar.xz")) "/gmime-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0rfzbgsh8ira5p76kdghygl5i3fvmmx4wbw5rp7f8ajc4vxp18g0")))) "0fjmsphvz8srsmcdl4v13p2z4jp2migaybyny444hal4snbr0py2"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config) `(("pkg-config" ,pkg-config)
@ -327,7 +407,7 @@ and corrections. It is based on a Bayesian filter.")
(define-public offlineimap (define-public offlineimap
(package (package
(name "offlineimap") (name "offlineimap")
(version "7.0.12") (version "7.0.13")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://github.com/OfflineIMAP/offlineimap/" (uri (string-append "https://github.com/OfflineIMAP/offlineimap/"
@ -335,7 +415,7 @@ and corrections. It is based on a Bayesian filter.")
(file-name (string-append name "-" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1m1lp7wxnra8k7lsqc8xlm5giy3i89wvmp35jjb1gf4yslpddnkz")))) "1kl72wcxnxb4y5lm2f7ymwjsisnnpwb4w971ajkxlsiwjhzq8i7p"))))
(build-system python-build-system) (build-system python-build-system)
(native-inputs (native-inputs
`(("asciidoc" ,asciidoc) `(("asciidoc" ,asciidoc)
@ -377,6 +457,57 @@ can read the same mailbox from multiple computers. It supports IMAP as REMOTE
repository and Maildir/IMAP as LOCAL repository.") repository and Maildir/IMAP as LOCAL repository.")
(license gpl2+))) (license gpl2+)))
(define-public emacs-mew
(package
(name "emacs-mew")
(version "6.7")
(source (origin
(method url-fetch)
(uri (string-append "http://mew.org/Release/mew-"
version ".tar.gz"))
(sha256
(base32
"03fzky2kz73vgx4cbps2psbbnrgqgkk5q7jwfldisymkzr9iz03y"))))
(native-inputs
`(("emacs" ,emacs)))
(propagated-inputs
`(("ruby-sqlite3" ,ruby-sqlite3) ; optional for the database of messages
("ruby" ,ruby))) ; to set GEM_PATH so ruby-sqlite3 is found at runtime
(build-system gnu-build-system)
(arguments
(let ((elisp-dir "/share/emacs/site-lisp/guix.d/mew")
(icon-dir "/share/mew"))
`(#:modules ((guix build gnu-build-system)
(guix build utils)
(guix build emacs-utils))
#:imported-modules (,@%gnu-build-system-modules
(guix build emacs-utils))
#:configure-flags
(list (string-append "--with-elispdir=" %output ,elisp-dir)
(string-append "--with-etcdir=" %output ,icon-dir))
#:phases
(modify-phases %standard-phases
(add-after 'configure 'patch-mew-icon-directory
(lambda* (#:key outputs #:allow-other-keys)
(emacs-substitute-sexps "mew-key.el"
("(def.* mew-icon-directory"
`(progn
(add-to-list 'image-load-path 'mew-icon-directory)
,(string-append (assoc-ref outputs "out") ,icon-dir))))
#t))
(add-after 'install 'generate-autoloads
(lambda* (#:key outputs #:allow-other-keys)
(emacs-generate-autoloads
"mew" (string-append (assoc-ref outputs "out") ,elisp-dir))
#t)))
#:tests? #f)))
(home-page "http://www.mew.org")
(synopsis "Emacs e-mail client")
(description "Mew (Messaging in the Emacs World) is a user interface
for text messages, multimedia messages (MIME), news articles and
security functionality including PGP, S/MIME, SSH, and SSL.")
(license bsd-3)))
(define-public mu (define-public mu
(package (package
(name "mu") (name "mu")
@ -733,6 +864,27 @@ provides an API for C language. It's the low-level API used by MailCore and
MailCore 2.") MailCore 2.")
(license (non-copyleft "file://COPYING")))) (license (non-copyleft "file://COPYING"))))
(define-public compface
(package
(name "compface")
(version "1.5.2")
(source (origin
(method url-fetch)
(uri (string-append "https://ftp.heanet.ie/mirrors/"
"ftp.xemacs.org/aux/"
name "-" version ".tar.gz"))
(sha256
(base32
"09b89wg63hg502hsz592cd2h87wdprb1dq1k1y07n89hym2q56d6"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f))
(synopsis "Portrait image compressor")
(description "This packages takes your 48x48x1 portrait image and
compresses it.")
(home-page "http://www.cs.indiana.edu/pub/faces/")
(license (x11-style "file://README"))))
(define-public claws-mail (define-public claws-mail
(package (package
(name "claws-mail") (name "claws-mail")
@ -1536,10 +1688,10 @@ powerful user customization features.")
"contrib/mmuegel" "devtools/bin/configure.sh") "contrib/mmuegel" "devtools/bin/configure.sh")
(find-files "." ".*\\.m4") (find-files "." ".*\\.m4")
(find-files "." ".*\\.cf")) (find-files "." ".*\\.cf"))
(("/bin/sh") (which "bash"))) (("/bin/sh") (which "sh")))
(substitute* "devtools/bin/Build" (substitute* "devtools/bin/Build"
(("SHELL=/bin/sh") (string-append "SHELL=" (which "bash")))) (("SHELL=/bin/sh") (string-append "SHELL=" (which "sh"))))
#t)) #t))
(replace 'configure (replace 'configure
(lambda _ (lambda _
@ -1740,3 +1892,62 @@ the GNU Mailman 3 REST API.")
(define-public python2-mailmanclient (define-public python2-mailmanclient
(package-with-python2 python-mailmanclient)) (package-with-python2 python-mailmanclient))
(define-public mlmmj
(package
(name "mlmmj")
(version "1.2.19.0")
(source
(origin
(method url-fetch)
(uri (string-append "http://mlmmj.org/releases/mlmmj-"
version ".tar.bz2"))
(sha256
(base32
"1piwvcxkqadjwk5x8jicaiyz9nngmaj3w13ghdqgaki32xd7zk9v"))))
(build-system gnu-build-system)
(inputs
`(("perl" ,perl))) ; For "contrib/web/"
(native-inputs
`(("pkg-config" ,pkg-config)))
(arguments
`(#:configure-flags
;; mlmmj-receive-strip is a replacement for mlmmj-receive
;; It opens the files control/mimedeny and control/mimestrip to get a list
;; of mimetypes for parts of multipart/mime messages that should be denied
;; or stripped. The parts then get stripped directly when the mail is
;; received. mlmmj-receive-strip also appends an extra header
;; X-ThisMailContainsUnwantedMimeParts: Y when the mail contains unwanted
;; mime parts
(list "--enable-receive-strip")
#:phases
(modify-phases %standard-phases
(add-before 'install 'install-contrib
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(share (string-append out "/share/mlmmj"))
(contrib (string-append share "/contrib/web"))
(texts (string-append share "/listtexts")))
(copy-recursively "contrib/web/" contrib)
(copy-recursively "listtexts" texts)
(rename-file texts (string-append share "/texts"))
#t))))))
(home-page "http://mlmmj.org")
(synopsis "Mailing list managing made joyful")
(description
"Mlmmj is a simple and slim mailing list manager (MLM) inspired by ezmlm.
It works with many different Mail Transport Agents (MTAs) and is simple for a
system adminstrator to install, configure and integrate with other software.
As it uses very few resources, and requires no daemons, it is ideal for
installation on systems where resources are limited. Its features include:
@enumerate
@item Archive, Custom headers / footer,
@item Fully automated bounce handling (similar to ezmlm),
@item Complete requeueing functionality, Moderation functionality, Subject prefix,
@item Subscribers only posting, Regular expression access control,
@item Functionality to retrieve old posts, Web interface, Digests,
@item No-mail subscription, VERP support,
@item Delivery Status Notification (RFC1891) support,
@item Rich and customisable texts for automated operations.
@end enumerate\n")
(license license:expat)))

View File

@ -70,7 +70,7 @@
".tar.xz")) ".tar.xz"))
(sha256 (sha256
(base32 (base32
"12p6xvqs8smbk9nivi43089fiw1jbb3g9836arr0sksmmziklnvy")))) "1gsfzrcbwp7835pbilk7cvda8hjsf9g3gl4llbm61y9j7a4x2kn6"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config) `(("pkg-config" ,pkg-config)

View File

@ -12,9 +12,11 @@
;;; Copyright © 2015 Fabian Harfert <fhmgufs@web.de> ;;; Copyright © 2015 Fabian Harfert <fhmgufs@web.de>
;;; Copyright © 2016 Roel Janssen <roel@gnu.org> ;;; Copyright © 2016 Roel Janssen <roel@gnu.org>
;;; Copyright © 2016 Kei Kebreau <kei@openmailbox.org> ;;; Copyright © 2016 Kei Kebreau <kei@openmailbox.org>
;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2016, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016 Leo Famulari <leo@famulari.name> ;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016 Thomas Danckaert <post@thomasdanckaert.be> ;;; Copyright © 2016 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2017 Paul Garlick <pgarlick@tourbillion-technology.com>
;;; Copyright © 2017 ng0 <contact.ng0@cryptolab.net>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -37,6 +39,7 @@
#:use-module ((guix licenses) #:prefix license:) #:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix utils) #:use-module (guix utils)
#:use-module (guix build utils) #:use-module (guix build utils)
#:use-module (guix build-system cmake) #:use-module (guix build-system cmake)
@ -252,7 +255,7 @@ numbers.")
(define-public glpk (define-public glpk
(package (package
(name "glpk") (name "glpk")
(version "4.60") (version "4.61")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -260,13 +263,13 @@ numbers.")
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"15z2ymzqhxwss6wgdj5f7vkyqlqdsjgrvm0x871kmlx0n0664mhk")))) "1adbvwiaqrv9pql9ry3lhn2vfsxnff2vh4fs477d90kpfx0xwrlq"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
`(("gmp" ,gmp))) `(("gmp" ,gmp)))
(arguments (arguments
`(#:configure-flags '("--with-gmp"))) `(#:configure-flags '("--with-gmp")))
(home-page "http://www.gnu.org/software/glpk/") (home-page "https://www.gnu.org/software/glpk/")
(synopsis "GNU Linear Programming Kit, supporting the MathProg language") (synopsis "GNU Linear Programming Kit, supporting the MathProg language")
(description (description
"GLPK is a C library for solving large-scale linear programming (LP), "GLPK is a C library for solving large-scale linear programming (LP),
@ -310,7 +313,7 @@ integer programming problems and computes Markov bases for statistics.")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "ftp://ftp.ifor.math.ethz.ch/pub/fukuda/cdd/cddlib-" (uri (string-append "ftp://ftp.math.ethz.ch/users/fukudak/cdd/cddlib-"
(string-delete #\. version) ".tar.gz")) (string-delete #\. version) ".tar.gz"))
(sha256 (sha256
(base32 (base32
@ -953,17 +956,72 @@ Work may be performed both at the interactive command-line as well as via
script files.") script files.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public opencascade-oce
(package
(name "opencascade-oce")
(version "0.17.2")
(source
(origin
(method url-fetch)
(uri (string-append
"https://github.com/tpaviot/oce/archive/OCE-"
version
".tar.gz"))
(sha256
(base32
"0vpmnb0k5y2f7lpmwx9pg9yfq24zjvnsak5alzacncfm1hv9b6cd"))))
(build-system cmake-build-system)
(arguments
'(#:configure-flags
(list "-DOCE_TESTING:BOOL=ON"
"-DOCE_USE_TCL_TEST_FRAMEWORK:BOOL=ON"
"-DOCE_DRAW:BOOL=ON"
(string-append "-DOCE_INSTALL_PREFIX:PATH="
(assoc-ref %outputs "out"))
"-UCMAKE_INSTALL_RPATH")))
(inputs
`(("freetype" ,freetype)
("glu" ,glu)
("libxmu" ,libxmu)
("mesa" ,mesa)
("tcl" ,tcl)
("tk" ,tk)))
(native-inputs
`(("python" ,python-wrapper)))
(home-page "https://github.com/tpaviot/oce")
(synopsis "Libraries for 3D modeling and numerical simulation")
(description
"Open CASCADE is a set of libraries for the development of applications
dealing with 3D CAD data or requiring industrial 3D capabilities. It includes
C++ class libraries providing services for 3D surface and solid modeling, CAD
data exchange, and visualization. It is used for development of specialized
software dealing with 3D models in design (CAD), manufacturing (CAM),
numerical simulation (CAE), measurement equipment (CMM), and quality
control (CAQ) domains.
This is the ``Community Edition'' (OCE) of Open CASCADE, which gathers
patches, improvements, and experiments contributed by users over the official
Open CASCADE library.")
(license (list license:lgpl2.1; OCE libraries, with an exception for the
; use of header files; see
; OCCT_LGPL_EXCEPTION.txt
license:public-domain; files
; src/Standard/Standard_StdAllocator.hxx and
; src/NCollection/NCollection_StdAllocator.hxx
license:expat; file src/OpenGl/OpenGl_glext.h
license:bsd-3)))); test framework gtest
(define-public gmsh (define-public gmsh
(package (package
(name "gmsh") (name "gmsh")
(version "2.15.0") (version "2.16.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "http://gmsh.info/src/gmsh-" (uri (string-append "http://gmsh.info/src/gmsh-"
version "-source.tgz")) version "-source.tgz"))
(sha256 (sha256
(base32 "02h7fk4vv8qwnq3ymm409c5sp4nksd0m9h2vkxqmy42l0ic4nalr")) (base32 "1slf0bfkwrcgn6296wb4qhbk4ahz6i4wfb10hnim08x05vrylag8"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
;; Remove non-free METIS code ;; Remove non-free METIS code
@ -977,6 +1035,7 @@ script files.")
("lapack" ,lapack) ("lapack" ,lapack)
("mesa" ,mesa) ("mesa" ,mesa)
("glu" ,glu) ("glu" ,glu)
("opencascade-oce" ,opencascade-oce)
("libx11" ,libx11) ("libx11" ,libx11)
("libxext" ,libxext))) ("libxext" ,libxext)))
(inputs (inputs
@ -985,15 +1044,7 @@ script files.")
(arguments (arguments
`(#:configure-flags `("-DENABLE_METIS:BOOL=OFF" `(#:configure-flags `("-DENABLE_METIS:BOOL=OFF"
"-DENABLE_BUILD_SHARED:BOOL=ON" "-DENABLE_BUILD_SHARED:BOOL=ON"
"-DENABLE_BUILD_DYNAMIC:BOOL=ON") "-DENABLE_BUILD_DYNAMIC:BOOL=ON")))
#:phases (modify-phases %standard-phases
(replace
'check
(lambda _
(zero? (system* "make" "test"
;; Disable this test. See
;; https://geuz.org/trac/gmsh/ticket/271
"ARGS=-E component8_in_a_box")))))))
(home-page "http://www.geuz.org/gmsh/") (home-page "http://www.geuz.org/gmsh/")
(synopsis "3D finite element grid generator") (synopsis "3D finite element grid generator")
(description "Gmsh is a 3D finite element grid generator with a built-in (description "Gmsh is a 3D finite element grid generator with a built-in
@ -1934,7 +1985,7 @@ point numbers.")
(define-public wxmaxima (define-public wxmaxima
(package (package
(name "wxmaxima") (name "wxmaxima")
(version "16.12.0") (version "16.12.2")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -1942,7 +1993,7 @@ point numbers.")
version "/" name "-" version ".tar.gz")) version "/" name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"01kas9viqabw5id6crbhz8ahjimmv78gqzizs5hgnj9kngrgrm1h")))) "0y22zhyhyxj2cbhzvs9c4pxr44i55ryfy5xi96d39bg2nbgs9h22"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
`(("wxwidgets" ,wxwidgets) `(("wxwidgets" ,wxwidgets)
@ -2840,3 +2891,45 @@ instruction sets. Thus, an application written with Vc can be compiled for:
@end enumerate\n") @end enumerate\n")
(home-page "https://github.com/VcDevel/Vc") (home-page "https://github.com/VcDevel/Vc")
(license license:bsd-3))) (license license:bsd-3)))
(define-public reducelcs
;; This is the last commit which is available upstream, no
;; release happened since 2010.
(let ((commit "474f88deb968061abe8cf11c959e02319b8ae5c0")
(revision "1"))
(package
(name "reducelcs")
(version (string-append "1.0-" revision "." (string-take commit 7)))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/gdv/Reduce-Expand-for-LCS")
(commit commit)))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"1rllzcfwc042c336mhq262a8ha90x6afq30kvk60r7i4761j4yjm"))))
(build-system gnu-build-system)
(inputs
`(("openlibm" ,openlibm)))
(arguments
`(#:tests? #f ; no tests
#:phases
(modify-phases %standard-phases
(delete 'configure) ; No configure script exists.
(replace 'install ; No install phase exists.
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin")))
(install-file "Approximation" bin)
(install-file "CollectResults" bin)
(install-file "GenerateInstances" bin)
#t))))))
(synopsis "Approximate Longest Commons Subsequence computation tool")
(description
"@code{reduceLCS} is an implementation of the Reduce-Expand
algorithm for LCS. It is a fast program to compute the approximate
Longest Commons Subsequence of a set of strings.")
(home-page "https://github.com/gdv/Reduce-Expand-for-LCS")
(license license:gpl3+))))

View File

@ -3,9 +3,9 @@
;;; Copyright © 2014 Julien Lepiller <julien@lepiller.eu> ;;; Copyright © 2014 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com> ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2015 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 ng0 <ng0@libertad.pw> ;;; Copyright © 2016, 2017 <contact.ng0@cryptolab.net>
;;; Copyright © 2016 Andy Patterson <ajpatter@uwaterloo.ca> ;;; Copyright © 2016 Andy Patterson <ajpatter@uwaterloo.ca>
;;; Copyright © 2016, 2017 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2016, 2017 Clément Lassieur <clement@lassieur.org>
;;; ;;;
@ -37,6 +37,7 @@
#:use-module (guix build-system cmake) #:use-module (guix build-system cmake)
#:use-module (gnu packages) #:use-module (gnu packages)
#:use-module (gnu packages aidc) #:use-module (gnu packages aidc)
#:use-module (gnu packages aspell)
#:use-module (gnu packages autotools) #:use-module (gnu packages autotools)
#:use-module (gnu packages avahi) #:use-module (gnu packages avahi)
#:use-module (gnu packages base) #:use-module (gnu packages base)
@ -77,7 +78,12 @@
#:use-module (gnu packages xiph) #:use-module (gnu packages xiph)
#:use-module (gnu packages audio) #:use-module (gnu packages audio)
#:use-module (gnu packages bison) #:use-module (gnu packages bison)
#:use-module (gnu packages fontutils)) #:use-module (gnu packages fontutils)
#:use-module (gnu packages bash)
#:use-module (gnu packages guile)
#:use-module (gnu packages less)
#:use-module (gnu packages readline)
#:use-module (gnu packages texinfo))
(define-public libotr (define-public libotr
(package (package
@ -110,37 +116,16 @@ keys, no previous conversation is compromised.")
(home-page "https://otr.cypherpunks.ca/") (home-page "https://otr.cypherpunks.ca/")
(license (list license:lgpl2.1 license:gpl2)))) (license (list license:lgpl2.1 license:gpl2))))
;; These patches together fix https://github.com/bitlbee/bitlbee/pull/55, are
;; already upstream, and should be unnecessary when the next bitlbee comes
;; out.
(define %bitlbee-buddy-nick-change-patch
(origin
(method url-fetch)
(uri "https://github.com/bitlbee/bitlbee/commit/a42fda42.patch")
(sha256
(base32
"1mzjhcdn0rxir5mzgqz9kv142ai38p1iq2lajqx89wb7x0bp51zx"))))
(define %bitlbee-always-use-nicks-patch
(origin
(method url-fetch)
(uri "https://github.com/bitlbee/bitlbee/commit/3320d6d9.patch")
(sha256
(base32
"14d9kb5zdzh5hzakdvrbviz83rix0j2lq9rzb58b2fn92fp8yixd"))))
(define-public bitlbee (define-public bitlbee
(package (package
(name "bitlbee") (name "bitlbee")
(version "3.4.2") (version "3.5.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://get.bitlbee.org/src/bitlbee-" (uri (string-append "https://get.bitlbee.org/src/bitlbee-"
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 "0mza8lnfwibmklz8hdzg4f7p83hblf4h6fbf7d732kzpvra5bj39")) (base32 "0sgsn0fv41rga46mih3fyv65cvfa6rvki8x92dn7bczbi7yxfdln"))))
(patches
(list %bitlbee-buddy-nick-change-patch
%bitlbee-always-use-nicks-patch))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs `(("pkg-config" ,pkg-config) (native-inputs `(("pkg-config" ,pkg-config)
("check" ,check))) ("check" ,check)))
@ -461,7 +446,7 @@ was initially a fork of xmpppy, but is using non-blocking sockets.")
(define-public gajim (define-public gajim
(package (package
(name "gajim") (name "gajim")
(version "0.16.6") (version "0.16.7")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://gajim.org/downloads/" (uri (string-append "https://gajim.org/downloads/"
@ -469,7 +454,7 @@ was initially a fork of xmpppy, but is using non-blocking sockets.")
"/gajim-" version ".tar.bz2")) "/gajim-" version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"1p3qwzy07f0wkika9yigyiq167l2k6wn12flqa7x55z4ihbysmqk")))) "13sxz0hpvyj2yvcbsfqq9yn0hp1d1zsxsj40r0v16jlibha5da9n"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:phases `(#:phases
@ -492,12 +477,11 @@ was initially a fork of xmpppy, but is using non-blocking sockets.")
#t))))) #t)))))
(native-inputs (native-inputs
`(("intltool" ,intltool))) `(("intltool" ,intltool)))
(propagated-inputs (inputs
`(("python2-nbxmpp" ,python2-nbxmpp) `(("python2-nbxmpp" ,python2-nbxmpp)
("python2-pyopenssl" ,python2-pyopenssl) ("python2-pyopenssl" ,python2-pyopenssl)
("python2-gnupg" ,python2-gnupg))) ("python2-gnupg" ,python2-gnupg)
(inputs ("python2-pygtk" ,python2-pygtk)
`(("python2-pygtk" ,python2-pygtk)
("python" ,python-2))) ("python" ,python-2)))
(home-page "https://gajim.org/") (home-page "https://gajim.org/")
(synopsis "Jabber (XMPP) client") (synopsis "Jabber (XMPP) client")
@ -824,7 +808,7 @@ connect with friends and family without anyone else listening in.")
(("mkdir -p \\$\\{DESTDIR\\}/usr") "") (("mkdir -p \\$\\{DESTDIR\\}/usr") "")
(("/usr/local") "") (("/usr/local") "")
(("/usr") "") (("/usr") "")
(("#!/bin/sh") (string-append "#!" (which "bash"))) (("#!/bin/sh") (string-append "#!" (which "sh")))
(("python2") (which "python")) (("python2") (which "python"))
(("/opt/openssl-compat-bitcoin/lib/") (("/opt/openssl-compat-bitcoin/lib/")
(string-append (assoc-ref inputs "openssl") "/lib/"))) (string-append (assoc-ref inputs "openssl") "/lib/")))
@ -1120,4 +1104,123 @@ Conferencing (PSYC). psycLPC is a fork of LDMud with some new features and
many bug fixes.") many bug fixes.")
(license license:gpl2)))) (license license:gpl2))))
(define-public loudmouth
(package
(name "loudmouth")
(version "1.5.3")
(source
(origin
(method url-fetch)
(uri (string-append "https://mcabber.com/files/loudmouth/"
name "-" version ".tar.bz2"))
(sha256
(base32
"0b6kd5gpndl9nzis3n6hcl0ldz74bnbiypqgqa1vgb0vrcar8cjl"))))
(build-system gnu-build-system)
(inputs
`(("glib" ,glib)
("gnutls" ,gnutls)
("libidn" ,libidn)))
(native-inputs
`(("pkg-config" ,pkg-config)
("check" ,check)
("glib" ,glib "bin") ; gtester
("gtk-doc" ,gtk-doc)))
(home-page "https://mcabber.com/")
(description
"Loudmouth is a lightweight and easy-to-use C library for programming
with the XMPP (formerly known as Jabber) protocol. It is designed to be
easy to get started with and yet extensible to let you do anything the XMPP
protocol allows.")
(synopsis "Asynchronous XMPP library")
;; The files have LGPL2.0+ headers, but COPYING specifies LGPL2.1.
(license license:lgpl2.0+)))
(define-public mcabber
(package
(name "mcabber")
(version "1.0.5")
(source
(origin
(method url-fetch)
(uri (string-append "https://mcabber.com/files/"
name "-" version ".tar.bz2"))
(sha256
(base32
"0ixdzk5b3s31a4bdfqgqrsiq7vbgdzhqr49p9pz9cq9bgn0h1wm0"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags (list "--enable-otr"
"--enable-aspell")))
(inputs
`(("gpgme" ,gpgme)
("libotr" ,libotr)
("aspell" ,aspell)
("libidn" ,libidn)
("glib" ,glib)
("ncurses" ,ncurses)
("loudmouth" ,loudmouth)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "https://mcabber.com")
(description
"Mcabber is a small XMPP (Jabber) console client, which includes features
such as SASL and TLS support, @dfn{Multi-User Chat} (MUC) support, logging,
command-completion, OpenPGP encryption, @dfn{Off-the-Record Messaging} (OTR)
support, and more.")
(synopsis "Small XMPP console client")
(license license:gpl2+)))
(define-public freetalk
(package
(name "freetalk")
(version "4.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/freetalk/freetalk-"
version ".tar.gz"))
(sha256
(base32
"1rmrn7a1bb7vm26yaklrvx008a9qhwc32s57dwrlf40lv9gffwny"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'configure 'autogen
(lambda _
(zero? (system* "sh" "autogen.sh"))))
;; For 'system' commands in Scheme code.
(add-after 'install 'wrap-program
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bash (assoc-ref inputs "bash"))
(coreutils (assoc-ref inputs "coreutils"))
(less (assoc-ref inputs "less")))
(wrap-program (string-append out "/bin/freetalk")
`("PATH" ":" prefix
,(map (lambda (dir)
(string-append dir "/bin"))
(list bash coreutils less))))
#t))))))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("pkg-config" ,pkg-config)
("texinfo" ,texinfo)))
(inputs
`(("bash" ,bash)
("glib" ,glib)
("guile" ,guile-2.0)
("less" ,less)
("loudmouth" ,loudmouth)
("readline" ,readline)))
(synopsis "Extensible console-based Jabber client")
(description
"GNU Freetalk is a command-line Jabber/XMPP chat client. It notably uses
the Readline library to handle input, so it features convenient navigation of
text as well as tab-completion of buddy names, commands and English words. It
is also scriptable and extensible via Guile.")
(home-page "https://www.gnu.org/software/freetalk")
(license license:gpl3+)))
;;; messaging.scm ends here ;;; messaging.scm ends here

View File

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.org> ;;; Copyright © 2014 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.org>
;;; Copyright © 2017 Eric Bavier <bavier@member.fsf.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -21,44 +22,55 @@
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (gnu packages libbsd)
#:use-module (gnu packages ncurses) #:use-module (gnu packages ncurses)
#:use-module (gnu packages pkg-config)) #:use-module (gnu packages pkg-config))
(define-public mg (define-public mg
(package (package
(name "mg") (name "mg")
(version "20050429") (version "20161005")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "http://homepage.boetes.org/software/mg/mg-" (uri (string-append "http://homepage.boetes.org/software/mg/mg-"
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"19kib0aha4a40izzds7r63qfb2akq4sily6k28fl0n0zdgq0cna1")) "0qaydk2cy765n9clghmi5gdnpwn15y2v0fj6r0jcm0v7d89vbz5p"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin
(substitute* "Makefile.in" (substitute* "GNUmakefile"
(("-Werror") "") (("/usr/bin/") ""))))))
(("-lcurses") "-lncurses")
(("/usr/bin/install") "install -D")
(("/usr/bin/strip") "strip"))))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs (inputs
`(("ncurses" ,ncurses))) `(("libbsd" ,libbsd)
("ncurses" ,ncurses)))
(arguments (arguments
;; No test suite available. ;; No test suite available.
'(#:tests? #f '(#:tests? #f
#:phases (alist-cons-before #:make-flags (list (string-append "prefix=" %output)
'configure 'pre-configure "CURSES_LIBS=-lncurses"
(lambda* (#:key outputs #:allow-other-keys) "CC=gcc")
(substitute* "Makefile.in" #:phases (modify-phases %standard-phases
(("(prefix=[[:blank:]]*)/usr/local" all prefix) (delete 'configure)
(string-append prefix (assoc-ref outputs "out"))))) (add-before 'install 'patch-tutorial-location
%standard-phases))) (lambda* (#:key outputs #:allow-other-keys)
(substitute* "mg.1"
(("/usr") (assoc-ref outputs "out")))
#t))
(add-after 'install 'install-tutorial
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(doc (string-append out "/share/doc/mg")))
(install-file "tutorial" doc)
#t))))))
(home-page "http://homepage.boetes.org/software/mg/") (home-page "http://homepage.boetes.org/software/mg/")
(synopsis "Microscopic GNU Emacs clone") (synopsis "Microscopic GNU Emacs clone")
(description (description
"mg is Micro GNU Emacs; this is a portable version of the mg maintained "Mg (mg) is a GNU Emacs style editor, with which it is \"broadly\"
by the OpenBSD team.") compatible. This is a portable version of the mg maintained by the OpenBSD
team.")
(license public-domain))) (license public-domain)))

View File

@ -1,86 +0,0 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015, 2016 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; 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 mit-krb5)
#:use-module (gnu packages)
#:use-module (gnu packages bison)
#:use-module (gnu packages perl)
#:use-module (guix licenses)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix utils)
#:use-module (guix build-system gnu))
(define-public mit-krb5
(package
(name "mit-krb5")
(version "1.14.3")
(source (origin
(method url-fetch)
(uri (string-append "http://web.mit.edu/kerberos/dist/krb5/"
(version-major+minor version)
"/krb5-" version ".tar.gz"))
(sha256
(base32
"1jgjiyh1sp72lkxvk437lz5hzcibvw99jc4ihzfz03fg43aj0ind"))))
(build-system gnu-build-system)
(native-inputs
`(("bison" ,bison)
("perl" ,perl)))
(arguments
`(;; Work around "No rule to make target '../../include/gssapi/gssapi.h',
;; needed by 'authgss_prot.so'."
#:parallel-build? #f
;; Likewise with tests.
#:parallel-tests? #f
;; XXX: On 32-bit systems, 'kdb5_util' hangs on an fcntl/F_SETLKW call
;; while running the tests in 'src/tests'.
#:tests? ,(string=? (%current-system) "x86_64-linux")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'enter-source-directory
(lambda _
(chdir "src")
#t))
(add-before 'check 'pre-check
(lambda* (#:key inputs #:allow-other-keys)
(let ((perl (assoc-ref inputs "perl")))
(substitute* "plugins/kdb/db2/libdb2/test/run.test"
(("/bin/cat") (string-append perl "/bin/perl"))
(("D/bin/sh") (string-append "D" (which "bash")))
(("bindir=/bin/.") (string-append "bindir=" perl "/bin"))))
;; avoid service names since /etc/services is unavailable
(substitute* "tests/resolve/Makefile"
(("-p telnet") "-p 23"))
#t)))))
(synopsis "MIT Kerberos 5")
(description
"Massachusetts Institute of Technology implementation of Kerberos.
Kerberos is a network authentication protocol designed to provide strong
authentication for client/server applications by using secret-key
cryptography.")
(license (non-copyleft "file://NOTICE"
"See NOTICE in the distribution."))
(home-page "http://web.mit.edu/kerberos/")))

View File

@ -31,6 +31,7 @@
#:use-module (guix build-system python) #:use-module (guix build-system python)
#:use-module (gnu packages avahi) #:use-module (gnu packages avahi)
#:use-module (gnu packages boost) #:use-module (gnu packages boost)
#:use-module (gnu packages gcc) ; GCC@5 for MPD >= 0.20
#:use-module (gnu packages gettext) #:use-module (gnu packages gettext)
#:use-module (gnu packages gnome) #:use-module (gnu packages gnome)
#:use-module (gnu packages gtk) #:use-module (gnu packages gtk)
@ -74,7 +75,7 @@ interfacing MPD in the C, C++ & Objective C languages.")
(define-public mpd (define-public mpd
(package (package
(name "mpd") (name "mpd")
(version "0.19.21") (version "0.20.4")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (uri
@ -83,7 +84,7 @@ interfacing MPD in the C, C++ & Objective C languages.")
"/mpd-" version ".tar.xz")) "/mpd-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0c0p61p3jfh89pnqwd9nrw55krfvvnzhkpdq53g6njvg0aybh1c3")))) "0a4psqsf71vc6hfgyv55jclsx8yb7lf4w840qlq6cq8j3hsjaavi"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:phases `(#:phases
@ -116,7 +117,8 @@ interfacing MPD in the C, C++ & Objective C languages.")
("pulseaudio" ,pulseaudio) ("pulseaudio" ,pulseaudio)
("sqlite" ,sqlite) ("sqlite" ,sqlite)
("zlib" ,zlib))) ("zlib" ,zlib)))
(native-inputs `(("pkg-config" ,pkg-config))) (native-inputs `(("gcc" ,gcc-5) ; Fails to build with GCC@4.
("pkg-config" ,pkg-config)))
;; Missing optional inputs: ;; Missing optional inputs:
;; libyajl ;; libyajl
;; libcdio_paranoia ;; libcdio_paranoia

View File

@ -48,7 +48,7 @@ FAT-specific file attributes.")
(define-public exfat-utils (define-public exfat-utils
(package (package
(name "exfat-utils") (name "exfat-utils")
(version "1.2.5") (version "1.2.6")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -56,7 +56,7 @@ FAT-specific file attributes.")
version "/" name "-" version ".tar.gz")) version "/" name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1qhvjd6dmzhxjdnm4cklajbr03wsjjvkxrsjij517a33napcl93s")))) "0hxcz0y3rd79nycjlzaca9wh9qj64rw8rzm0xk4jk9ljry96csxr"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(home-page "https://github.com/relan/exfat") (home-page "https://github.com/relan/exfat")
(synopsis "Utilities to manipulate exFAT file systems") (synopsis "Utilities to manipulate exFAT file systems")

Some files were not shown because too many files have changed in this diff Show More